diff --git a/README.adoc b/README.adoc index fe977292f0..1e1b59d3d0 100644 --- a/README.adoc +++ b/README.adoc @@ -155,7 +155,7 @@ image::doc/image/老寇IoT云平台业务架构图.png[架构图,align=center] |Spring Data |2025.1.3 |Spring Cloud |2025.1.0 |Spring Cloud Alibaba |2025.1.0.0 -|Spring Boot Admin |4.0.1 +|Spring Boot Admin |4.0.2 |Jackson |3.1.0 |Mybatis Plus |3.5.16 |Nacos |3.1.0 diff --git a/README.md b/README.md index fc6edcaa05..7fc29106b4 100644 --- a/README.md +++ b/README.md @@ -144,7 +144,7 @@ KCloud-Platform-IoT(老寇IoT云平台)是一个企业级单体架构和微 | Spring Data | 2025.1.3 | | Spring Cloud | 2025.1.0 | | Spring Cloud Alibaba | 2025.1.0.0 | -| Spring Boot Admin | 4.0.1 | +| Spring Boot Admin | 4.0.2 | | Jackson | 3.1.0 | | Mybatis Plus | 3.5.16 | | Nacos | 3.1.0 | diff --git "a/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/04.Docker\345\256\211\350\243\205.md" "b/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/04.Docker\345\256\211\350\243\205.md" index 75d2eefaec..02fb492463 100644 --- "a/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/04.Docker\345\256\211\350\243\205.md" +++ "b/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/04.Docker\345\256\211\350\243\205.md" @@ -57,7 +57,6 @@ sudo apt-get update sudo apt-get install docker-ce ``` - ##### 7.启动 Docker 服务 ```shell diff --git "a/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/05.Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" "b/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/05.Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" index ca996b086c..bf59b924e7 100644 --- "a/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/05.Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" +++ "b/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/05.Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" @@ -6,6 +6,8 @@ permalink: /pages/d55f5f/ 你好呀,我的老朋友!我是老寇,欢迎来到老寇IoT云平台! +### Linux命令 + ##### 目录和文件 ```shell @@ -202,4 +204,25 @@ userdel 用户名 => userdel mysql whomi ``` +### Ubuntu命令 + +###### 安装deb包 + +```shell +# 更新包索引 +sudo apt-get update +# 安装deb +sudo dpkg -i 包名.deb => sudo dpkg -i test.deb +# 修复deb安装依赖问题 +sudo apt --fix-broken install +``` + +### Arch Linux命令 + +###### 网络 +```shell +# 重启网络 +systemctl restart NetworkManager.service +``` + 我是老寇,我们下次再见啦! diff --git "a/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/06.Docker\345\270\270\347\224\250\345\221\275\344\273\244.md" "b/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/06.Docker\345\270\270\347\224\250\345\221\275\344\273\244.md" index f92fad53cc..0905444046 100644 --- "a/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/06.Docker\345\270\270\347\224\250\345\221\275\344\273\244.md" +++ "b/archive/docs/00.\344\272\214\345\274\200\346\214\207\345\215\227/02.\346\214\207\345\215\227/06.Docker\345\270\270\347\224\250\345\221\275\344\273\244.md" @@ -91,6 +91,21 @@ docker network disconnect 网络名称 容器名称/容器id => docker network d # 查看容器IP地址 docker exec 容器名称/容器id --hostname -i => docker exec -it myredis --hostname -i + +# 保存镜像 +docker save -o 文件名.tar 镜像名称:标签 => docker save -o jdk21.tar jdk:21 + +# 保存多个镜像 +docker save -o 文件名.tar 镜像名称1:标签 镜像名称2:标签 => docker save -o image.tar jdk:21 redis:7.0 + +# 保存压缩镜像 +docker save 镜像名称:标签 | gzip > 文件名.tar.gz => docker save jdk:21 | gzip > jdk21.tar.gz + +# 载入压缩镜像 +gunzip -c 文件名.tar.gz | docker load => gunzip -c jdk21.tar.gz | docker load + +# 加载镜像 +docker load -i 文件名.tar => docker load -i jdk21.tar ``` ##### Docker Compose diff --git a/doc/db/4.0.0/kcloud_platform.sql b/doc/db/4.0.0/kcloud_platform.sql index 8431177c0d..f9e39555d6 100644 --- a/doc/db/4.0.0/kcloud_platform.sql +++ b/doc/db/4.0.0/kcloud_platform.sql @@ -179,10 +179,10 @@ CREATE UNIQUE INDEX "sys_dict_type_tenantId_idx" ON "public"."sys_dict" USING bt COMMENT ON INDEX "public"."sys_dict_type_tenantId_idx" IS '类型_租户ID_唯一索引'; -- ---------------------------- --- -------------国际化消息------------ +-- -------------国际化菜单------------ -- ---------------------------- -DROP TABLE IF EXISTS "public"."sys_i18n_message"; -CREATE TABLE "public"."sys_i18n_message" ( +DROP TABLE IF EXISTS "public"."sys_i18n_menu"; +CREATE TABLE "public"."sys_i18n_menu" ( "id" int8 NOT NULL GENERATED BY DEFAULT AS IDENTITY, "creator" int8 NOT NULL DEFAULT 0, "editor" int8 NOT NULL DEFAULT 0, @@ -193,34 +193,58 @@ CREATE TABLE "public"."sys_i18n_message" ( "tenant_id" int8 NOT NULL DEFAULT 0, "dept_id" int8 NOT NULL DEFAULT 1, "code" varchar(50) NOT NULL, - "zh_message" varchar(50) NOT NULL, - "en_message" varchar(50) NOT NULL + "menu" varchar(50) NOT NULL ); -COMMENT ON COLUMN "public"."sys_i18n_message"."id" IS 'ID'; -COMMENT ON COLUMN "public"."sys_i18n_message"."creator" IS '创建人'; -COMMENT ON COLUMN "public"."sys_i18n_message"."editor" IS '编辑人'; -COMMENT ON COLUMN "public"."sys_i18n_message"."create_time" IS '创建时间'; -COMMENT ON COLUMN "public"."sys_i18n_message"."update_time" IS '修改时间'; -COMMENT ON COLUMN "public"."sys_i18n_message"."del_flag" IS '删除标识 0未删除 1已删除'; -COMMENT ON COLUMN "public"."sys_i18n_message"."version" IS '版本号'; -COMMENT ON COLUMN "public"."sys_i18n_message"."tenant_id" IS '租户ID'; -COMMENT ON COLUMN "public"."sys_i18n_message"."dept_id" IS '部门ID'; -COMMENT ON COLUMN "public"."sys_i18n_message"."code" IS '编码'; -COMMENT ON COLUMN "public"."sys_i18n_message"."zh_message" IS '中文'; -COMMENT ON COLUMN "public"."sys_i18n_message"."en_message" IS '英文'; -COMMENT ON TABLE "public"."sys_i18n_message" IS '国际化消息'; - -CREATE INDEX "sys_i18n_message_code_tenantId_idx" ON "public"."sys_i18n_message" USING btree ( +COMMENT ON COLUMN "public"."sys_i18n_menu"."id" IS 'ID'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."creator" IS '创建人'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."editor" IS '编辑人'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."create_time" IS '创建时间'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."update_time" IS '修改时间'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."del_flag" IS '删除标识 0未删除 1已删除'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."version" IS '版本号'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."tenant_id" IS '租户ID'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."dept_id" IS '部门ID'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."code" IS '编码'; +COMMENT ON COLUMN "public"."sys_i18n_menu"."menu" IS '菜单'; +COMMENT ON TABLE "public"."sys_i18n_menu" IS '国际化菜单'; + +CREATE INDEX "sys_i18n_menu_code_menu_idx" ON "public"."sys_i18n_menu" USING btree ( "code", - "tenant_id" + "menu" ); -COMMENT ON INDEX "public"."sys_i18n_message_code_tenantId_idx" IS '编码_租户ID_唯一索引'; - -ALTER TABLE "public"."sys_i18n_message" ADD CONSTRAINT "sys_i18n_message_pkey" PRIMARY KEY ("id"); - -INSERT INTO "public"."sys_i18n_message" VALUES (1, 1, 1, '2024-05-07 10:45:30', '2024-05-07 10:45:37', 0, 0, 0,0, 'sys.manage', '系统管理', 'System Management'); -INSERT INTO "public"."sys_i18n_message" VALUES (2, 1, 1, '2024-05-07 10:45:30', '2024-05-07 10:45:37', 0, 0, 0,0, 'menu.manage', '菜单管理', 'Menu Management'); -INSERT INTO "public"."sys_i18n_message" VALUES (4, 1, 1, '2024-05-07 10:45:30', '2024-05-07 10:45:37', 0, 0, 0,0, 'dict.manage', '字典管理', 'Dictionary Management'); +COMMENT ON INDEX "public"."sys_i18n_menu_code_menu_idx" IS '编码_菜单_唯一索引'; + +ALTER TABLE "public"."sys_i18n_menu" ADD CONSTRAINT "sys_i18n_menu_pkey" PRIMARY KEY ("id"); + +INSERT INTO "public"."sys_i18n_menu" VALUES (8, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.iot.device.thingModel', '物模型'); +INSERT INTO "public"."sys_i18n_menu" VALUES (10, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.iot.device.productCategory', '产品类别'); +INSERT INTO "public"."sys_i18n_menu" VALUES (1, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys', '系统管理'); +INSERT INTO "public"."sys_i18n_menu" VALUES (4, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.log.notice', '通知日志'); +INSERT INTO "public"."sys_i18n_menu" VALUES (3, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.log.login', '登录日志'); +INSERT INTO "public"."sys_i18n_menu" VALUES (2, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.log', '日志管理'); +INSERT INTO "public"."sys_i18n_menu" VALUES (5, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.iot', '物联管理'); +INSERT INTO "public"."sys_i18n_menu" VALUES (6, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.iot.device', '设备管理'); +INSERT INTO "public"."sys_i18n_menu" VALUES (11, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.permission', '权限管理'); +INSERT INTO "public"."sys_i18n_menu" VALUES (12, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.permission.menu', '菜单'); +INSERT INTO "public"."sys_i18n_menu" VALUES (13, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.permission.dept', '部门'); +INSERT INTO "public"."sys_i18n_menu" VALUES (14, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.permission.role', '角色'); +INSERT INTO "public"."sys_i18n_menu" VALUES (15, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.permission.user', '用户'); +INSERT INTO "public"."sys_i18n_menu" VALUES (9, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.iot.device.product', '产品'); +INSERT INTO "public"."sys_i18n_menu" VALUES (7, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.iot.device.device', '设备'); +INSERT INTO "public"."sys_i18n_menu" VALUES (16, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.tenant', '租户管理'); +INSERT INTO "public"."sys_i18n_menu" VALUES (17, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.tenant.source', '数据源'); +INSERT INTO "public"."sys_i18n_menu" VALUES (18, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.tenant.package', '套餐'); +INSERT INTO "public"."sys_i18n_menu" VALUES (19, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.tenant.tenant', '租户'); +INSERT INTO "public"."sys_i18n_menu" VALUES (20, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.base', '基础数据'); +INSERT INTO "public"."sys_i18n_menu" VALUES (21, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.base.dict', '数据字典'); +INSERT INTO "public"."sys_i18n_menu" VALUES (22, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.log.operate', '操作日志'); +INSERT INTO "public"."sys_i18n_menu" VALUES (23, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.base.i18n', '国际化'); +INSERT INTO "public"."sys_i18n_menu" VALUES (24, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.oss', '对象存储'); +INSERT INTO "public"."sys_i18n_menu" VALUES (25, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.oss.config', '对象存储配置'); +INSERT INTO "public"."sys_i18n_menu" VALUES (26, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.oss.log', '对象存储日志'); +INSERT INTO "public"."sys_i18n_menu" VALUES (28, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.config', '系统配置'); +INSERT INTO "public"."sys_i18n_menu" VALUES (29, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.config.generator', '代码生成器'); +INSERT INTO "public"."sys_i18n_menu" VALUES (27, 1, 1, '2026-03-07 12:06:37', '2026-03-07 12:06:37', 0, 0, 0, 1535887940687765505, 'menu.sys.cluster', '集群管理'); -- ---------------------------- -- -------------菜单------------ diff --git a/doc/db/4.0.0/kcloud_platform_nacos.sql b/doc/db/4.0.0/kcloud_platform_nacos.sql index ebba77d5cf..4795471528 100644 --- a/doc/db/4.0.0/kcloud_platform_nacos.sql +++ b/doc/db/4.0.0/kcloud_platform_nacos.sql @@ -817,7 +817,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (20, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages", + "resource": "/api/v1/i18n-menus", "limitApp": "default", "count": 500000, "grade": 1, @@ -825,7 +825,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (20, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/import", + "resource": "/api/v1/i18n-menus/import", "limitApp": "default", "count": 100000, "grade": 1, @@ -833,7 +833,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (20, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/export", + "resource": "/api/v1/i18n-menus/export", "limitApp": "default", "count": 100000, "grade": 1, @@ -841,7 +841,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (20, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/page", + "resource": "/api/v1/i18n-menus/page", "limitApp": "default", "count": 100000, "grade": 1, @@ -849,7 +849,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (20, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/{id}", + "resource": "/api/v1/i18n-menus/{id}", "limitApp": "default", "count": 100000, "grade": 1, @@ -1580,7 +1580,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (40, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages", + "resource": "/api/v1/i18n-menus", "limitApp": "default", "count": 500000, "grade": 1, @@ -1588,7 +1588,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (40, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/import", + "resource": "/api/v1/i18n-menus/import", "limitApp": "default", "count": 100000, "grade": 1, @@ -1596,7 +1596,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (40, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/export", + "resource": "/api/v1/i18n-menus/export", "limitApp": "default", "count": 100000, "grade": 1, @@ -1604,7 +1604,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (40, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/page", + "resource": "/api/v1/i18n-menus/page", "limitApp": "default", "count": 100000, "grade": 1, @@ -1612,7 +1612,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (40, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/{id}", + "resource": "/api/v1/i18n-menus/{id}", "limitApp": "default", "count": 100000, "grade": 1, @@ -2239,7 +2239,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (41, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages", + "resource": "/api/v1/i18n-menus", "limitApp": "default", "count": 500000, "grade": 1, @@ -2247,7 +2247,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (41, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/import", + "resource": "/api/v1/i18n-menus/import", "limitApp": "default", "count": 100000, "grade": 1, @@ -2255,7 +2255,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (41, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/export", + "resource": "/api/v1/i18n-menus/export", "limitApp": "default", "count": 100000, "grade": 1, @@ -2263,7 +2263,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (41, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/page", + "resource": "/api/v1/i18n-menus/page", "limitApp": "default", "count": 100000, "grade": 1, @@ -2271,7 +2271,7 @@ INSERT INTO "public"."config_info" OVERRIDING SYSTEM VALUE VALUES (41, 'admin- "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/{id}", + "resource": "/api/v1/i18n-menus/{id}", "limitApp": "default", "count": 100000, "grade": 1, diff --git "a/doc/db/4.0.0/kcloud_platform\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\346\226\207\346\241\243.html" "b/doc/db/4.0.0/kcloud_platform\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\346\226\207\346\241\243.html" index f8215d20a4..a56ba6f430 100644 --- "a/doc/db/4.0.0/kcloud_platform\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\346\226\207\346\241\243.html" +++ "b/doc/db/4.0.0/kcloud_platform\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\346\226\207\346\241\243.html" @@ -86,7 +86,7 @@

kcloud_platform数据库设计 5 sys_i18n_message - 国际化消息 + 国际化菜单 7 @@ -816,7 +816,7 @@

kcloud_platform数据库设计 返回目录 表名:sys_i18n_message -
说明:国际化消息
+
说明:国际化菜单
数据列:
diff --git a/laokou-common/laokou-common-data-cache/src/main/java/org/laokou/common/data/cache/aspectj/OperateType.java b/laokou-common/laokou-common-data-cache/src/main/java/org/laokou/common/data/cache/aspectj/OperateType.java index ac24f3c14b..16143273df 100644 --- a/laokou-common/laokou-common-data-cache/src/main/java/org/laokou/common/data/cache/aspectj/OperateType.java +++ b/laokou-common/laokou-common-data-cache/src/main/java/org/laokou/common/data/cache/aspectj/OperateType.java @@ -26,6 +26,9 @@ import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.locks.LockSupport; + /** * 操作类型枚举. * @@ -66,7 +69,8 @@ public Object execute(String name, String key, ProceedingJoinPoint point, CacheM @Override public Object execute(String name, String key, ProceedingJoinPoint point, CacheManager cacheManager) { try { - getCache(cacheManager, name).evictIfPresent(key); + getCache(cacheManager, name).evict(key); + LockSupport.parkNanos(TimeUnit.MILLISECONDS.toNanos(200)); return point.proceed(); } catch (GlobalException e) { diff --git a/laokou-common/laokou-common-data-cache/src/test/java/org/laokou/common/data/cache/aspectj/DataCacheAspectjTest.java b/laokou-common/laokou-common-data-cache/src/test/java/org/laokou/common/data/cache/aspectj/DataCacheAspectjTest.java index 0bd76a2fe0..ad03e82211 100644 --- a/laokou-common/laokou-common-data-cache/src/test/java/org/laokou/common/data/cache/aspectj/DataCacheAspectjTest.java +++ b/laokou-common/laokou-common-data-cache/src/test/java/org/laokou/common/data/cache/aspectj/DataCacheAspectjTest.java @@ -112,7 +112,7 @@ void test_doAround_delOperation_evictsCache() throws Throwable { // Then Assertions.assertThat(result).isEqualTo(expectedResult); - Mockito.verify(cache).evictIfPresent(cacheKey); + Mockito.verify(cache).evict(cacheKey); Mockito.verify(point).proceed(); } diff --git a/laokou-common/laokou-common-i18n/src/main/java/org/laokou/common/i18n/util/MessageUtils.java b/laokou-common/laokou-common-i18n/src/main/java/org/laokou/common/i18n/util/MessageUtils.java index 48d9dc83ad..045723555c 100644 --- a/laokou-common/laokou-common-i18n/src/main/java/org/laokou/common/i18n/util/MessageUtils.java +++ b/laokou-common/laokou-common-i18n/src/main/java/org/laokou/common/i18n/util/MessageUtils.java @@ -23,7 +23,7 @@ import java.util.Locale; /** - * 国际化消息工具类. ... * * @author laokou diff --git a/laokou-service/laokou-admin/laokou-admin-adapter/src/main/java/org/laokou/admin/web/I18nMenuController.java b/laokou-service/laokou-admin/laokou-admin-adapter/src/main/java/org/laokou/admin/web/I18nMenuController.java new file mode 100644 index 0000000000..48a084c661 --- /dev/null +++ b/laokou-service/laokou-admin/laokou-admin-adapter/src/main/java/org/laokou/admin/web/I18nMenuController.java @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. + * + * 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 org.laokou.admin.web; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.laokou.admin.i18nMenu.api.I18nMenusServiceI; +import org.laokou.admin.i18nMenu.dto.I18nMenuExportCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuGetQry; +import org.laokou.admin.i18nMenu.dto.I18nMenuImportCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuModifyCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuPageQry; +import org.laokou.admin.i18nMenu.dto.I18nMenuRemoveCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuSaveCmd; +import org.laokou.admin.i18nMenu.dto.clientobject.I18nMenuCO; +import org.laokou.common.i18n.dto.Page; +import org.laokou.common.i18n.dto.Result; +import org.laokou.common.idempotent.annotation.Idempotent; +import org.laokou.common.log.annotation.OperateLog; +import org.laokou.common.trace.annotation.TraceLog; +import org.springframework.http.MediaType; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +/** + * 国际化菜单管理控制器. + * + * @author laokou + */ +@RestController +@RequiredArgsConstructor +@Tag(name = "国际化菜单管理", description = "国际化菜单管理") +public class I18nMenuController { + + private final I18nMenusServiceI i18nMenusServiceI; + + @Idempotent + @PostMapping("/v1/i18n-menus") + @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-menu:save')") + @OperateLog(module = "国际化菜单管理", operation = "保存国际化菜单") + @Operation(summary = "保存国际化菜单", description = "保存国际化菜单") + public void saveI18nMenu(@RequestBody I18nMenuSaveCmd cmd) { + i18nMenusServiceI.saveI18nMenu(cmd); + } + + @PutMapping("/v1/i18n-menus") + @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-menu:modify')") + @OperateLog(module = "国际化菜单管理", operation = "修改国际化菜单") + @Operation(summary = "修改国际化菜单", description = "修改国际化菜单") + public void modifyI18nMenu(@RequestBody I18nMenuModifyCmd cmd) { + i18nMenusServiceI.modifyI18nMenu(cmd); + } + + @DeleteMapping("/v1/i18n-menus") + @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-menu:remove')") + @OperateLog(module = "国际化菜单管理", operation = "删除国际化菜单") + @Operation(summary = "删除国际化菜单", description = "删除国际化菜单") + public void removeI18nMenu(@RequestBody Long[] ids) { + i18nMenusServiceI.removeI18nMenu(new I18nMenuRemoveCmd(ids)); + } + + @PostMapping(value = "/v1/i18n-menus/import", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-menu:import')") + @OperateLog(module = "国际化菜单管理", operation = "导入国际化菜单") + @Operation(summary = "导入国际化菜单", description = "导入国际化菜单") + public void importI18nMenu(@RequestPart("files") MultipartFile[] files) { + i18nMenusServiceI.importI18nMenu(new I18nMenuImportCmd(files)); + } + + @PostMapping("/v1/i18n-menus/export") + @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-menu:export')") + @OperateLog(module = "国际化菜单管理", operation = "导出国际化菜单") + @Operation(summary = "导出国际化菜单", description = "导出国际化菜单") + public void exportI18nMenu(@RequestBody I18nMenuExportCmd cmd) { + i18nMenusServiceI.exportI18nMenu(cmd); + } + + @TraceLog + @PostMapping("/v1/i18n-menus/page") + @PreAuthorize("hasAuthority('read') and hasAuthority('sys:i18n-menu:page')") + @Operation(summary = "分页查询国际化菜单列表", description = "分页查询国际化菜单列表") + public Result> pageI18nMenu(@Validated @RequestBody I18nMenuPageQry qry) { + return i18nMenusServiceI.pageI18nMenu(qry); + } + + @TraceLog + @GetMapping("/v1/i18n-menus/{id}") + @PreAuthorize("hasAuthority('read') and hasAuthority('sys:i18n-menu:detail')") + @Operation(summary = "查看国际化菜单详情", description = "查看国际化菜单详情") + public Result getI18nMenuById(@PathVariable("id") Long id) { + return i18nMenusServiceI.getI18nMenuById(new I18nMenuGetQry(id)); + } + +} diff --git a/laokou-service/laokou-admin/laokou-admin-adapter/src/main/java/org/laokou/admin/web/I18nMessagesController.java b/laokou-service/laokou-admin/laokou-admin-adapter/src/main/java/org/laokou/admin/web/I18nMessagesController.java deleted file mode 100644 index f5e071307b..0000000000 --- a/laokou-service/laokou-admin/laokou-admin-adapter/src/main/java/org/laokou/admin/web/I18nMessagesController.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. - * - * 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 org.laokou.admin.web; - -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.api.I18nMessagesServiceI; -import org.laokou.admin.i18nMessage.dto.I18nMessageExportCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageGetQry; -import org.laokou.admin.i18nMessage.dto.I18nMessageImportCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageModifyCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessagePageQry; -import org.laokou.admin.i18nMessage.dto.I18nMessageRemoveCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageSaveCmd; -import org.laokou.admin.i18nMessage.dto.clientobject.I18nMessageCO; -import org.laokou.common.i18n.dto.Page; -import org.laokou.common.i18n.dto.Result; -import org.laokou.common.idempotent.annotation.Idempotent; -import org.laokou.common.log.annotation.OperateLog; -import org.laokou.common.trace.annotation.TraceLog; -import org.springframework.http.MediaType; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -/** - * 国际化消息管理控制器. - * - * @author laokou - */ -@RestController -@RequiredArgsConstructor -@Tag(name = "国际化消息管理", description = "国际化消息管理") -public class I18nMessagesController { - - private final I18nMessagesServiceI i18nMessagesServiceI; - - @Idempotent - @PostMapping("/v1/i18n-messages") - @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-message:save')") - @OperateLog(module = "国际化消息管理", operation = "保存国际化消息") - @Operation(summary = "保存国际化消息", description = "保存国际化消息") - public void saveI18nMessage(@RequestBody I18nMessageSaveCmd cmd) { - i18nMessagesServiceI.saveI18nMessage(cmd); - } - - @PutMapping("/v1/i18n-messages") - @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-message:modify')") - @OperateLog(module = "国际化消息管理", operation = "修改国际化消息") - @Operation(summary = "修改国际化消息", description = "修改国际化消息") - public void modifyI18nMessage(@RequestBody I18nMessageModifyCmd cmd) { - i18nMessagesServiceI.modifyI18nMessage(cmd); - } - - @DeleteMapping("/v1/i18n-messages") - @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-message:remove')") - @OperateLog(module = "国际化消息管理", operation = "删除国际化消息") - @Operation(summary = "删除国际化消息", description = "删除国际化消息") - public void removeI18nMessage(@RequestBody Long[] ids) { - i18nMessagesServiceI.removeI18nMessage(new I18nMessageRemoveCmd(ids)); - } - - @PostMapping(value = "/v1/i18n-messages/import", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-message:import')") - @OperateLog(module = "国际化消息管理", operation = "导入国际化消息") - @Operation(summary = "导入国际化消息", description = "导入国际化消息") - public void importI18nMessage(@RequestPart("files") MultipartFile[] files) { - i18nMessagesServiceI.importI18nMessage(new I18nMessageImportCmd(files)); - } - - @PostMapping("/v1/i18n-messages/export") - @PreAuthorize("hasAuthority('write') and hasAuthority('sys:i18n-message:export')") - @OperateLog(module = "国际化消息管理", operation = "导出国际化消息") - @Operation(summary = "导出国际化消息", description = "导出国际化消息") - public void exportI18nMessage(@RequestBody I18nMessageExportCmd cmd) { - i18nMessagesServiceI.exportI18nMessage(cmd); - } - - @TraceLog - @PostMapping("/v1/i18n-messages/page") - @PreAuthorize("hasAuthority('read') and hasAuthority('sys:i18n-message:page')") - @Operation(summary = "分页查询国际化消息列表", description = "分页查询国际化消息列表") - public Result> pageI18nMessage(@Validated @RequestBody I18nMessagePageQry qry) { - return i18nMessagesServiceI.pageI18nMessage(qry); - } - - @TraceLog - @GetMapping("/v1/i18n-messages/{id}") - @PreAuthorize("hasAuthority('read') and hasAuthority('sys:i18n-message:detail')") - @Operation(summary = "查看国际化消息详情", description = "查看国际化消息详情") - public Result getI18nMessageById(@PathVariable("id") Long id) { - return i18nMessagesServiceI.getI18nMessageById(new I18nMessageGetQry(id)); - } - -} diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageExportCmdExe.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuExportCmdExe.java similarity index 78% rename from laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageExportCmdExe.java rename to laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuExportCmdExe.java index 65ba5c4efb..6e5cb5e9f0 100644 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageExportCmdExe.java +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuExportCmdExe.java @@ -15,24 +15,24 @@ * */ -package org.laokou.admin.i18nMessage.command; +package org.laokou.admin.i18nMenu.command; import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.dto.I18nMessageExportCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuExportCmd; import org.laokou.common.domain.annotation.CommandLog; import org.springframework.stereotype.Component; /** - * 导出国际化消息命令执行器. + * 导出国际化菜单命令执行器. * * @author laokou */ @Component @RequiredArgsConstructor -public class I18nMessageExportCmdExe { +public class I18nMenuExportCmdExe { @CommandLog - public void executeVoid(I18nMessageExportCmd cmd) { + public void executeVoid(I18nMenuExportCmd cmd) { // 校验参数 } diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageImportCmdExe.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuImportCmdExe.java similarity index 78% rename from laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageImportCmdExe.java rename to laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuImportCmdExe.java index f0f88c4f4f..6eec9c2278 100644 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageImportCmdExe.java +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuImportCmdExe.java @@ -15,24 +15,24 @@ * */ -package org.laokou.admin.i18nMessage.command; +package org.laokou.admin.i18nMenu.command; import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.dto.I18nMessageImportCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuImportCmd; import org.laokou.common.domain.annotation.CommandLog; import org.springframework.stereotype.Component; /** - * 导入国际化消息命令执行器. + * 导入国际化菜单命令执行器. * * @author laokou */ @Component @RequiredArgsConstructor -public class I18nMessageImportCmdExe { +public class I18nMenuImportCmdExe { @CommandLog - public void executeVoid(I18nMessageImportCmd cmd) { + public void executeVoid(I18nMenuImportCmd cmd) { // 校验参数 } diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageSaveCmdExe.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuModifyCmdExe.java similarity index 63% rename from laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageSaveCmdExe.java rename to laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuModifyCmdExe.java index eae6a70432..d493186df7 100644 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageSaveCmdExe.java +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuModifyCmdExe.java @@ -15,34 +15,34 @@ * */ -package org.laokou.admin.i18nMessage.command; +package org.laokou.admin.i18nMenu.command; import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.ability.I18nMessageDomainService; -import org.laokou.admin.i18nMessage.convertor.I18nMessageConvertor; -import org.laokou.admin.i18nMessage.dto.I18nMessageSaveCmd; +import org.laokou.admin.i18nMenu.ability.I18nMenuDomainService; +import org.laokou.admin.i18nMenu.convertor.I18nMenuConvertor; +import org.laokou.admin.i18nMenu.dto.I18nMenuModifyCmd; import org.laokou.common.domain.annotation.CommandLog; import org.laokou.common.mybatisplus.util.TransactionalUtils; import org.springframework.stereotype.Component; /** - * 保存国际化消息命令执行器. + * 修改国际化菜单命令执行器. * * @author laokou */ @Component @RequiredArgsConstructor -public class I18nMessageSaveCmdExe { +public class I18nMenuModifyCmdExe { - private final I18nMessageDomainService i18nMessageDomainService; + private final I18nMenuDomainService i18nMenuDomainService; private final TransactionalUtils transactionalUtils; @CommandLog - public void executeVoid(I18nMessageSaveCmd cmd) { + public void executeVoid(I18nMenuModifyCmd cmd) { // 校验参数 - transactionalUtils.executeInTransaction( - () -> i18nMessageDomainService.createI18nMessage(I18nMessageConvertor.toEntity(cmd.getCo()))); + transactionalUtils + .executeInTransaction(() -> i18nMenuDomainService.updateI18nMenu(I18nMenuConvertor.toEntity(cmd.getCo()))); } } diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageRemoveCmdExe.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuRemoveCmdExe.java similarity index 67% rename from laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageRemoveCmdExe.java rename to laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuRemoveCmdExe.java index aeeb24864c..11f73b2bd4 100644 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageRemoveCmdExe.java +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuRemoveCmdExe.java @@ -15,32 +15,32 @@ * */ -package org.laokou.admin.i18nMessage.command; +package org.laokou.admin.i18nMenu.command; import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.ability.I18nMessageDomainService; -import org.laokou.admin.i18nMessage.dto.I18nMessageRemoveCmd; +import org.laokou.admin.i18nMenu.ability.I18nMenuDomainService; +import org.laokou.admin.i18nMenu.dto.I18nMenuRemoveCmd; import org.laokou.common.domain.annotation.CommandLog; import org.laokou.common.mybatisplus.util.TransactionalUtils; import org.springframework.stereotype.Component; /** - * 删除国际化消息命令执行器. + * 删除国际化菜单命令执行器. * * @author laokou */ @Component @RequiredArgsConstructor -public class I18nMessageRemoveCmdExe { +public class I18nMenuRemoveCmdExe { - private final I18nMessageDomainService i18nMessageDomainService; + private final I18nMenuDomainService i18nMenuDomainService; private final TransactionalUtils transactionalUtils; @CommandLog - public void executeVoid(I18nMessageRemoveCmd cmd) { + public void executeVoid(I18nMenuRemoveCmd cmd) { // 校验参数 - transactionalUtils.executeInTransaction(() -> i18nMessageDomainService.deleteI18nMessage(cmd.getIds())); + transactionalUtils.executeInTransaction(() -> i18nMenuDomainService.deleteI18nMenu(cmd.getIds())); } } diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageModifyCmdExe.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuSaveCmdExe.java similarity index 63% rename from laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageModifyCmdExe.java rename to laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuSaveCmdExe.java index 8d7e7dfd7f..5c70e3b28f 100644 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/I18nMessageModifyCmdExe.java +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/I18nMenuSaveCmdExe.java @@ -15,34 +15,34 @@ * */ -package org.laokou.admin.i18nMessage.command; +package org.laokou.admin.i18nMenu.command; import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.ability.I18nMessageDomainService; -import org.laokou.admin.i18nMessage.convertor.I18nMessageConvertor; -import org.laokou.admin.i18nMessage.dto.I18nMessageModifyCmd; +import org.laokou.admin.i18nMenu.ability.I18nMenuDomainService; +import org.laokou.admin.i18nMenu.convertor.I18nMenuConvertor; +import org.laokou.admin.i18nMenu.dto.I18nMenuSaveCmd; import org.laokou.common.domain.annotation.CommandLog; import org.laokou.common.mybatisplus.util.TransactionalUtils; import org.springframework.stereotype.Component; /** - * 修改国际化消息命令执行器. + * 保存国际化菜单命令执行器. * * @author laokou */ @Component @RequiredArgsConstructor -public class I18nMessageModifyCmdExe { +public class I18nMenuSaveCmdExe { - private final I18nMessageDomainService i18nMessageDomainService; + private final I18nMenuDomainService i18nMenuDomainService; private final TransactionalUtils transactionalUtils; @CommandLog - public void executeVoid(I18nMessageModifyCmd cmd) { + public void executeVoid(I18nMenuSaveCmd cmd) { // 校验参数 - transactionalUtils.executeInTransaction( - () -> i18nMessageDomainService.updateI18nMessage(I18nMessageConvertor.toEntity(cmd.getCo()))); + transactionalUtils + .executeInTransaction(() -> i18nMenuDomainService.createI18nMenu(I18nMenuConvertor.toEntity(cmd.getCo()))); } } diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/query/I18nMessageGetQryExe.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/query/I18nMenuGetQryExe.java similarity index 58% rename from laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/query/I18nMessageGetQryExe.java rename to laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/query/I18nMenuGetQryExe.java index 2a70afd028..e8ffb955a4 100644 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/query/I18nMessageGetQryExe.java +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/query/I18nMenuGetQryExe.java @@ -15,29 +15,29 @@ * */ -package org.laokou.admin.i18nMessage.command.query; +package org.laokou.admin.i18nMenu.command.query; import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.convertor.I18nMessageConvertor; -import org.laokou.admin.i18nMessage.dto.I18nMessageGetQry; -import org.laokou.admin.i18nMessage.dto.clientobject.I18nMessageCO; -import org.laokou.admin.i18nMessage.gatewayimpl.database.I18nMessageMapper; +import org.laokou.admin.i18nMenu.convertor.I18nMenuConvertor; +import org.laokou.admin.i18nMenu.dto.I18nMenuGetQry; +import org.laokou.admin.i18nMenu.dto.clientobject.I18nMenuCO; +import org.laokou.admin.i18nMenu.gatewayimpl.database.I18nMenuMapper; import org.laokou.common.i18n.dto.Result; import org.springframework.stereotype.Component; /** - * 查看国际化消息请求执行器. + * 查看国际化菜单请求执行器. * * @author laokou */ @Component @RequiredArgsConstructor -public class I18nMessageGetQryExe { +public class I18nMenuGetQryExe { - private final I18nMessageMapper i18nMessageMapper; + private final I18nMenuMapper i18nMenuMapper; - public Result execute(I18nMessageGetQry qry) { - return Result.ok(I18nMessageConvertor.toClientObject(i18nMessageMapper.selectById(qry.getId()))); + public Result execute(I18nMenuGetQry qry) { + return Result.ok(I18nMenuConvertor.toClientObject(i18nMenuMapper.selectById(qry.getId()))); } } diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/query/I18nMessagePageQryExe.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/query/I18nMenuPageQryExe.java similarity index 52% rename from laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/query/I18nMessagePageQryExe.java rename to laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/query/I18nMenuPageQryExe.java index 0591259d10..f6cb1e7ad0 100644 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/command/query/I18nMessagePageQryExe.java +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/command/query/I18nMenuPageQryExe.java @@ -15,14 +15,14 @@ * */ -package org.laokou.admin.i18nMessage.command.query; +package org.laokou.admin.i18nMenu.command.query; import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.convertor.I18nMessageConvertor; -import org.laokou.admin.i18nMessage.dto.I18nMessagePageQry; -import org.laokou.admin.i18nMessage.dto.clientobject.I18nMessageCO; -import org.laokou.admin.i18nMessage.gatewayimpl.database.I18nMessageMapper; -import org.laokou.admin.i18nMessage.gatewayimpl.database.dataobject.I18nMessageDO; +import org.laokou.admin.i18nMenu.convertor.I18nMenuConvertor; +import org.laokou.admin.i18nMenu.dto.I18nMenuPageQry; +import org.laokou.admin.i18nMenu.dto.clientobject.I18nMenuCO; +import org.laokou.admin.i18nMenu.gatewayimpl.database.I18nMenuMapper; +import org.laokou.admin.i18nMenu.gatewayimpl.database.dataobject.I18nMenuDO; import org.laokou.common.i18n.dto.Page; import org.laokou.common.i18n.dto.Result; import org.springframework.stereotype.Component; @@ -30,20 +30,20 @@ import java.util.List; /** - * 分页查询国际化消息请求执行器. + * 分页查询国际化菜单请求执行器. * * @author laokou */ @Component @RequiredArgsConstructor -public class I18nMessagePageQryExe { +public class I18nMenuPageQryExe { - private final I18nMessageMapper i18nMessageMapper; + private final I18nMenuMapper i18nMenuMapper; - public Result> execute(I18nMessagePageQry qry) { - List list = i18nMessageMapper.selectObjectPage(qry); - long total = i18nMessageMapper.selectObjectCount(qry); - return Result.ok(Page.create(list.stream().map(I18nMessageConvertor::toClientObject).toList(), total)); + public Result> execute(I18nMenuPageQry qry) { + List list = i18nMenuMapper.selectObjectPage(qry); + long total = i18nMenuMapper.selectObjectCount(qry); + return Result.ok(Page.create(list.stream().map(I18nMenuConvertor::toClientObject).toList(), total)); } } diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/service/I18nMenusServiceImpl.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/service/I18nMenusServiceImpl.java new file mode 100644 index 0000000000..9cf0801cce --- /dev/null +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMenu/service/I18nMenusServiceImpl.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. + * + * 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 org.laokou.admin.i18nMenu.service; + +import lombok.RequiredArgsConstructor; +import org.laokou.admin.i18nMenu.api.I18nMenusServiceI; +import org.laokou.admin.i18nMenu.command.I18nMenuExportCmdExe; +import org.laokou.admin.i18nMenu.command.I18nMenuImportCmdExe; +import org.laokou.admin.i18nMenu.command.I18nMenuModifyCmdExe; +import org.laokou.admin.i18nMenu.command.I18nMenuRemoveCmdExe; +import org.laokou.admin.i18nMenu.command.I18nMenuSaveCmdExe; +import org.laokou.admin.i18nMenu.command.query.I18nMenuGetQryExe; +import org.laokou.admin.i18nMenu.command.query.I18nMenuPageQryExe; +import org.laokou.admin.i18nMenu.dto.I18nMenuExportCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuGetQry; +import org.laokou.admin.i18nMenu.dto.I18nMenuImportCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuModifyCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuPageQry; +import org.laokou.admin.i18nMenu.dto.I18nMenuRemoveCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuSaveCmd; +import org.laokou.admin.i18nMenu.dto.clientobject.I18nMenuCO; +import org.laokou.common.i18n.dto.Page; +import org.laokou.common.i18n.dto.Result; +import org.springframework.stereotype.Service; + +/** + * 国际化菜单接口实现类. + * + * @author laokou + */ +@Service +@RequiredArgsConstructor +public class I18nMenusServiceImpl implements I18nMenusServiceI { + + private final I18nMenuSaveCmdExe i18nMenuSaveCmdExe; + + private final I18nMenuModifyCmdExe i18nMenuModifyCmdExe; + + private final I18nMenuRemoveCmdExe i18nMenuRemoveCmdExe; + + private final I18nMenuImportCmdExe i18nMenuImportCmdExe; + + private final I18nMenuExportCmdExe i18nMenuExportCmdExe; + + private final I18nMenuPageQryExe i18nMenuPageQryExe; + + private final I18nMenuGetQryExe i18nMenuGetQryExe; + + @Override + public void saveI18nMenu(I18nMenuSaveCmd cmd) { + i18nMenuSaveCmdExe.executeVoid(cmd); + } + + @Override + public void modifyI18nMenu(I18nMenuModifyCmd cmd) { + i18nMenuModifyCmdExe.executeVoid(cmd); + } + + @Override + public void removeI18nMenu(I18nMenuRemoveCmd cmd) { + i18nMenuRemoveCmdExe.executeVoid(cmd); + } + + @Override + public void importI18nMenu(I18nMenuImportCmd cmd) { + i18nMenuImportCmdExe.executeVoid(cmd); + } + + @Override + public void exportI18nMenu(I18nMenuExportCmd cmd) { + i18nMenuExportCmdExe.executeVoid(cmd); + } + + @Override + public Result> pageI18nMenu(I18nMenuPageQry qry) { + return i18nMenuPageQryExe.execute(qry); + } + + @Override + public Result getI18nMenuById(I18nMenuGetQry qry) { + return i18nMenuGetQryExe.execute(qry); + } + +} diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/service/I18nMessagesServiceImpl.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/service/I18nMessagesServiceImpl.java deleted file mode 100644 index 1ad9e50821..0000000000 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/i18nMessage/service/I18nMessagesServiceImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. - * - * 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 org.laokou.admin.i18nMessage.service; - -import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.api.I18nMessagesServiceI; -import org.laokou.admin.i18nMessage.command.I18nMessageExportCmdExe; -import org.laokou.admin.i18nMessage.command.I18nMessageImportCmdExe; -import org.laokou.admin.i18nMessage.command.I18nMessageModifyCmdExe; -import org.laokou.admin.i18nMessage.command.I18nMessageRemoveCmdExe; -import org.laokou.admin.i18nMessage.command.I18nMessageSaveCmdExe; -import org.laokou.admin.i18nMessage.command.query.I18nMessageGetQryExe; -import org.laokou.admin.i18nMessage.command.query.I18nMessagePageQryExe; -import org.laokou.admin.i18nMessage.dto.I18nMessageExportCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageGetQry; -import org.laokou.admin.i18nMessage.dto.I18nMessageImportCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageModifyCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessagePageQry; -import org.laokou.admin.i18nMessage.dto.I18nMessageRemoveCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageSaveCmd; -import org.laokou.admin.i18nMessage.dto.clientobject.I18nMessageCO; -import org.laokou.common.i18n.dto.Page; -import org.laokou.common.i18n.dto.Result; -import org.springframework.stereotype.Service; - -/** - * 国际化消息接口实现类. - * - * @author laokou - */ -@Service -@RequiredArgsConstructor -public class I18nMessagesServiceImpl implements I18nMessagesServiceI { - - private final I18nMessageSaveCmdExe i18nMessageSaveCmdExe; - - private final I18nMessageModifyCmdExe i18nMessageModifyCmdExe; - - private final I18nMessageRemoveCmdExe i18nMessageRemoveCmdExe; - - private final I18nMessageImportCmdExe i18nMessageImportCmdExe; - - private final I18nMessageExportCmdExe i18nMessageExportCmdExe; - - private final I18nMessagePageQryExe i18nMessagePageQryExe; - - private final I18nMessageGetQryExe i18nMessageGetQryExe; - - @Override - public void saveI18nMessage(I18nMessageSaveCmd cmd) { - i18nMessageSaveCmdExe.executeVoid(cmd); - } - - @Override - public void modifyI18nMessage(I18nMessageModifyCmd cmd) { - i18nMessageModifyCmdExe.executeVoid(cmd); - } - - @Override - public void removeI18nMessage(I18nMessageRemoveCmd cmd) { - i18nMessageRemoveCmdExe.executeVoid(cmd); - } - - @Override - public void importI18nMessage(I18nMessageImportCmd cmd) { - i18nMessageImportCmdExe.executeVoid(cmd); - } - - @Override - public void exportI18nMessage(I18nMessageExportCmd cmd) { - i18nMessageExportCmdExe.executeVoid(cmd); - } - - @Override - public Result> pageI18nMessage(I18nMessagePageQry qry) { - return i18nMessagePageQryExe.execute(qry); - } - - @Override - public Result getI18nMessageById(I18nMessageGetQry qry) { - return i18nMessageGetQryExe.execute(qry); - } - -} diff --git a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/menu/command/query/MenuTreeListQryExe.java b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/menu/command/query/MenuTreeListQryExe.java index b89fde6889..ffa12582f2 100644 --- a/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/menu/command/query/MenuTreeListQryExe.java +++ b/laokou-service/laokou-admin/laokou-admin-app/src/main/java/org/laokou/admin/menu/command/query/MenuTreeListQryExe.java @@ -50,9 +50,10 @@ public MenuTreeListQryExe(@Qualifier("userMenuTreeBuilder") MenuTree userMenuTre public Result> execute(MenuTreeListQry qry) { MenuTreeType menuMenuTreeTypeEnum = MenuTreeType.getByCode(qry.getCode()); Assert.notNull(menuMenuTreeTypeEnum, "菜单类型不存在"); + Long userId = UserUtils.getUserId(); return switch (menuMenuTreeTypeEnum) { - case USER -> Result.ok(userMenuTree.build(qry, UserUtils.getUserId()).getChildren()); - case SYSTEM -> Result.ok(systemMenuTree.build(qry, UserUtils.getUserId()).getChildren()); + case USER -> Result.ok(userMenuTree.build(qry, userId).getChildren()); + case SYSTEM -> Result.ok(systemMenuTree.build(qry, userId).getChildren()); }; } diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/api/I18nMenusServiceI.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/api/I18nMenusServiceI.java new file mode 100644 index 0000000000..3a37670b3d --- /dev/null +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/api/I18nMenusServiceI.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. + * + * 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 org.laokou.admin.i18nMenu.api; + +import org.laokou.admin.i18nMenu.dto.I18nMenuExportCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuGetQry; +import org.laokou.admin.i18nMenu.dto.I18nMenuImportCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuModifyCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuPageQry; +import org.laokou.admin.i18nMenu.dto.I18nMenuRemoveCmd; +import org.laokou.admin.i18nMenu.dto.I18nMenuSaveCmd; +import org.laokou.admin.i18nMenu.dto.clientobject.I18nMenuCO; +import org.laokou.common.i18n.dto.Page; +import org.laokou.common.i18n.dto.Result; + +/** + * 国际化菜单接口. + * + * @author laokou + */ +public interface I18nMenusServiceI { + + /** + * 保存国际化菜单. + * @param cmd 保存命令 + */ + void saveI18nMenu(I18nMenuSaveCmd cmd); + + /** + * 修改国际化菜单. + * @param cmd 修改命令 + */ + void modifyI18nMenu(I18nMenuModifyCmd cmd); + + /** + * 删除国际化菜单. + * @param cmd 删除命令 + */ + void removeI18nMenu(I18nMenuRemoveCmd cmd); + + /** + * 导入国际化菜单. + * @param cmd 导入命令 + */ + void importI18nMenu(I18nMenuImportCmd cmd); + + /** + * 导出国际化菜单. + * @param cmd 导出命令 + */ + void exportI18nMenu(I18nMenuExportCmd cmd); + + /** + * 分页查询国际化菜单. + * @param qry 分页查询请求 + */ + Result> pageI18nMenu(I18nMenuPageQry qry); + + /** + * 查看国际化菜单. + * @param qry 查看请求 + */ + Result getI18nMenuById(I18nMenuGetQry qry); + +} diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageExportCmd.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuExportCmd.java similarity index 85% rename from laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageExportCmd.java rename to laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuExportCmd.java index 958b13b290..3bfc0b0e0e 100644 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageExportCmd.java +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuExportCmd.java @@ -15,17 +15,17 @@ * */ -package org.laokou.admin.i18nMessage.dto; +package org.laokou.admin.i18nMenu.dto; import lombok.Data; import org.laokou.common.i18n.dto.PageQuery; /** - * 导出国际化消息命令. + * 导出国际化菜单命令. * * @author laokou */ @Data -public class I18nMessageExportCmd extends PageQuery { +public class I18nMenuExportCmd extends PageQuery { } diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageGetQry.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuGetQry.java similarity index 86% rename from laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageGetQry.java rename to laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuGetQry.java index 3712fc2c3e..a93c2837e6 100644 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageGetQry.java +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuGetQry.java @@ -15,20 +15,20 @@ * */ -package org.laokou.admin.i18nMessage.dto; +package org.laokou.admin.i18nMenu.dto; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.laokou.common.i18n.dto.CommonCommand; /** - * 查看国际化消息请求. + * 查看国际化菜单请求. * * @author laokou */ @Getter @RequiredArgsConstructor -public class I18nMessageGetQry extends CommonCommand { +public class I18nMenuGetQry extends CommonCommand { private final Long id; diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageImportCmd.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuImportCmd.java similarity index 87% rename from laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageImportCmd.java rename to laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuImportCmd.java index ff2cf2badc..2871e20485 100644 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageImportCmd.java +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuImportCmd.java @@ -15,7 +15,7 @@ * */ -package org.laokou.admin.i18nMessage.dto; +package org.laokou.admin.i18nMenu.dto; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -23,13 +23,13 @@ import org.springframework.web.multipart.MultipartFile; /** - * 导入国际化消息命令. + * 导入国际化菜单命令. * * @author laokou */ @Getter @RequiredArgsConstructor -public class I18nMessageImportCmd extends CommonCommand { +public class I18nMenuImportCmd extends CommonCommand { private final MultipartFile[] files; diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageSaveCmd.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuModifyCmd.java similarity index 77% rename from laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageSaveCmd.java rename to laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuModifyCmd.java index e6a8fc9948..7ca38740ca 100644 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageSaveCmd.java +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuModifyCmd.java @@ -15,20 +15,20 @@ * */ -package org.laokou.admin.i18nMessage.dto; +package org.laokou.admin.i18nMenu.dto; import lombok.Data; -import org.laokou.admin.i18nMessage.dto.clientobject.I18nMessageCO; +import org.laokou.admin.i18nMenu.dto.clientobject.I18nMenuCO; import org.laokou.common.i18n.dto.CommonCommand; /** - * 保存国际化消息命令. + * 修改国际化菜单命令. * * @author laokou */ @Data -public class I18nMessageSaveCmd extends CommonCommand { +public class I18nMenuModifyCmd extends CommonCommand { - private I18nMessageCO co; + private I18nMenuCO co; } diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessagePageQry.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuPageQry.java similarity index 85% rename from laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessagePageQry.java rename to laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuPageQry.java index c436266f45..654330201c 100644 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessagePageQry.java +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuPageQry.java @@ -15,17 +15,17 @@ * */ -package org.laokou.admin.i18nMessage.dto; +package org.laokou.admin.i18nMenu.dto; import lombok.Data; import org.laokou.common.i18n.dto.PageQuery; /** - * 分页查询国际化消息命令. + * 分页查询国际化菜单命令. * * @author laokou */ @Data -public class I18nMessagePageQry extends PageQuery { +public class I18nMenuPageQry extends PageQuery { } diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageRemoveCmd.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuRemoveCmd.java similarity index 86% rename from laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageRemoveCmd.java rename to laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuRemoveCmd.java index 0a179e8050..ea764dd57e 100644 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageRemoveCmd.java +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuRemoveCmd.java @@ -15,20 +15,20 @@ * */ -package org.laokou.admin.i18nMessage.dto; +package org.laokou.admin.i18nMenu.dto; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.laokou.common.i18n.dto.CommonCommand; /** - * 删除国际化消息命令. + * 删除国际化菜单命令. * * @author laokou */ @Getter @RequiredArgsConstructor -public class I18nMessageRemoveCmd extends CommonCommand { +public class I18nMenuRemoveCmd extends CommonCommand { private final Long[] ids; diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageModifyCmd.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuSaveCmd.java similarity index 77% rename from laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageModifyCmd.java rename to laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuSaveCmd.java index 1a7cfd3b0e..4622e8c025 100644 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/I18nMessageModifyCmd.java +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/I18nMenuSaveCmd.java @@ -15,20 +15,20 @@ * */ -package org.laokou.admin.i18nMessage.dto; +package org.laokou.admin.i18nMenu.dto; import lombok.Data; -import org.laokou.admin.i18nMessage.dto.clientobject.I18nMessageCO; +import org.laokou.admin.i18nMenu.dto.clientobject.I18nMenuCO; import org.laokou.common.i18n.dto.CommonCommand; /** - * 修改国际化消息命令. + * 保存国际化菜单命令. * * @author laokou */ @Data -public class I18nMessageModifyCmd extends CommonCommand { +public class I18nMenuSaveCmd extends CommonCommand { - private I18nMessageCO co; + private I18nMenuCO co; } diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/clientobject/I18nMessageCO.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/clientobject/I18nMenuCO.java similarity index 87% rename from laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/clientobject/I18nMessageCO.java rename to laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/clientobject/I18nMenuCO.java index f238b2e14a..7c987dfbca 100644 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/dto/clientobject/I18nMessageCO.java +++ b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMenu/dto/clientobject/I18nMenuCO.java @@ -15,18 +15,18 @@ * */ -package org.laokou.admin.i18nMessage.dto.clientobject; +package org.laokou.admin.i18nMenu.dto.clientobject; import lombok.Data; import org.laokou.common.i18n.dto.ClientObject; /** - * 国际化消息客户端对象. + * 国际化菜单客户端对象. * * @author laokou */ @Data -public class I18nMessageCO extends ClientObject { +public class I18nMenuCO extends ClientObject { /** * ID. diff --git a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/api/I18nMessagesServiceI.java b/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/api/I18nMessagesServiceI.java deleted file mode 100644 index 4761cf66bf..0000000000 --- a/laokou-service/laokou-admin/laokou-admin-client/src/main/java/org/laokou/admin/i18nMessage/api/I18nMessagesServiceI.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. - * - * 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 org.laokou.admin.i18nMessage.api; - -import org.laokou.admin.i18nMessage.dto.I18nMessageExportCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageGetQry; -import org.laokou.admin.i18nMessage.dto.I18nMessageImportCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageModifyCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessagePageQry; -import org.laokou.admin.i18nMessage.dto.I18nMessageRemoveCmd; -import org.laokou.admin.i18nMessage.dto.I18nMessageSaveCmd; -import org.laokou.admin.i18nMessage.dto.clientobject.I18nMessageCO; -import org.laokou.common.i18n.dto.Page; -import org.laokou.common.i18n.dto.Result; - -/** - * 国际化消息接口. - * - * @author laokou - */ -public interface I18nMessagesServiceI { - - /** - * 保存国际化消息. - * @param cmd 保存命令 - */ - void saveI18nMessage(I18nMessageSaveCmd cmd); - - /** - * 修改国际化消息. - * @param cmd 修改命令 - */ - void modifyI18nMessage(I18nMessageModifyCmd cmd); - - /** - * 删除国际化消息. - * @param cmd 删除命令 - */ - void removeI18nMessage(I18nMessageRemoveCmd cmd); - - /** - * 导入国际化消息. - * @param cmd 导入命令 - */ - void importI18nMessage(I18nMessageImportCmd cmd); - - /** - * 导出国际化消息. - * @param cmd 导出命令 - */ - void exportI18nMessage(I18nMessageExportCmd cmd); - - /** - * 分页查询国际化消息. - * @param qry 分页查询请求 - */ - Result> pageI18nMessage(I18nMessagePageQry qry); - - /** - * 查看国际化消息. - * @param qry 查看请求 - */ - Result getI18nMessageById(I18nMessageGetQry qry); - -} diff --git a/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/ability/I18nMessageDomainService.java b/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/ability/I18nMenuDomainService.java similarity index 57% rename from laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/ability/I18nMessageDomainService.java rename to laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/ability/I18nMenuDomainService.java index 8e9318bcf6..f9c7113677 100644 --- a/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/ability/I18nMessageDomainService.java +++ b/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/ability/I18nMenuDomainService.java @@ -15,34 +15,34 @@ * */ -package org.laokou.admin.i18nMessage.ability; +package org.laokou.admin.i18nMenu.ability; import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.gateway.I18nMessageGateway; -import org.laokou.admin.i18nMessage.model.I18nMessageE; +import org.laokou.admin.i18nMenu.gateway.I18nMenuGateway; +import org.laokou.admin.i18nMenu.model.I18nMenuE; import org.springframework.stereotype.Component; /** - * 国际化消息领域服务. + * 国际化菜单领域服务. * * @author laokou */ @Component @RequiredArgsConstructor -public class I18nMessageDomainService { +public class I18nMenuDomainService { - private final I18nMessageGateway i18nMessageGateway; + private final I18nMenuGateway i18nMenuGateway; - public void createI18nMessage(I18nMessageE i18nMessageE) { - i18nMessageGateway.createI18nMessage(i18nMessageE); + public void createI18nMenu(I18nMenuE i18nMenuE) { + i18nMenuGateway.createI18nMenu(i18nMenuE); } - public void updateI18nMessage(I18nMessageE i18nMessageE) { - i18nMessageGateway.updateI18nMessage(i18nMessageE); + public void updateI18nMenu(I18nMenuE i18nMenuE) { + i18nMenuGateway.updateI18nMenu(i18nMenuE); } - public void deleteI18nMessage(Long[] ids) { - i18nMessageGateway.deleteI18nMessage(ids); + public void deleteI18nMenu(Long[] ids) { + i18nMenuGateway.deleteI18nMenu(ids); } } diff --git a/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/gateway/I18nMessageGateway.java b/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/gateway/I18nMenuGateway.java similarity index 64% rename from laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/gateway/I18nMessageGateway.java rename to laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/gateway/I18nMenuGateway.java index 6bf5409f20..5fd03c7931 100644 --- a/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/gateway/I18nMessageGateway.java +++ b/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/gateway/I18nMenuGateway.java @@ -15,30 +15,30 @@ * */ -package org.laokou.admin.i18nMessage.gateway; +package org.laokou.admin.i18nMenu.gateway; -import org.laokou.admin.i18nMessage.model.I18nMessageE; +import org.laokou.admin.i18nMenu.model.I18nMenuE; /** - * 国际化消息网关【防腐】. + * 国际化菜单网关【防腐】. * * @author laokou */ -public interface I18nMessageGateway { +public interface I18nMenuGateway { /** - * 新增国际化消息. + * 新增国际化菜单. */ - void createI18nMessage(I18nMessageE i18nMessageE); + void createI18nMenu(I18nMenuE i18nMenuE); /** - * 修改国际化消息. + * 修改国际化菜单. */ - void updateI18nMessage(I18nMessageE i18nMessageE); + void updateI18nMenu(I18nMenuE i18nMenuE); /** - * 删除国际化消息. + * 删除国际化菜单. */ - void deleteI18nMessage(Long[] ids); + void deleteI18nMenu(Long[] ids); } diff --git a/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/model/I18nMessageE.java b/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/model/I18nMenuE.java similarity index 88% rename from laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/model/I18nMessageE.java rename to laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/model/I18nMenuE.java index 36200e5543..845c6a9cda 100644 --- a/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMessage/model/I18nMessageE.java +++ b/laokou-service/laokou-admin/laokou-admin-domain/src/main/java/org/laokou/admin/i18nMenu/model/I18nMenuE.java @@ -15,17 +15,17 @@ * */ -package org.laokou.admin.i18nMessage.model; +package org.laokou.admin.i18nMenu.model; import lombok.Data; /** - * 国际化消息领域对象【实体】. + * 国际化菜单领域对象【实体】. * * @author laokou */ @Data -public class I18nMessageE { +public class I18nMenuE { /** * ID. diff --git a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/convertor/I18nMenuConvertor.java b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/convertor/I18nMenuConvertor.java new file mode 100644 index 0000000000..2a8ea421c6 --- /dev/null +++ b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/convertor/I18nMenuConvertor.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. + * + * 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 org.laokou.admin.i18nMenu.convertor; + +import org.laokou.admin.i18nMenu.dto.clientobject.I18nMenuCO; +import org.laokou.admin.i18nMenu.gatewayimpl.database.dataobject.I18nMenuDO; +import org.laokou.admin.i18nMenu.model.I18nMenuE; +import org.laokou.common.core.util.ConvertUtils; +import org.laokou.common.i18n.util.ObjectUtils; + +/** + * 国际化菜单转换器. + * + * @author laokou + */ +public final class I18nMenuConvertor { + + private I18nMenuConvertor() { + } + + public static I18nMenuDO toDataObject(Long id, I18nMenuE i18nMenuE) { + I18nMenuDO i18nMenuDO = ConvertUtils.sourceToTarget(i18nMenuE, I18nMenuDO.class); + if (ObjectUtils.isNull(i18nMenuDO.getId())) { + i18nMenuDO.setId(id); + } + return i18nMenuDO; + } + + public static I18nMenuCO toClientObject(I18nMenuDO i18nMenuDO) { + return ConvertUtils.sourceToTarget(i18nMenuDO, I18nMenuCO.class); + } + + public static I18nMenuE toEntity(I18nMenuCO i18nMenuCO) { + return ConvertUtils.sourceToTarget(i18nMenuCO, I18nMenuE.class); + } + +} diff --git a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/I18nMenuGatewayImpl.java b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/I18nMenuGatewayImpl.java new file mode 100644 index 0000000000..b2d2b6fb23 --- /dev/null +++ b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/I18nMenuGatewayImpl.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. + * + * 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 org.laokou.admin.i18nMenu.gatewayimpl; + +import lombok.RequiredArgsConstructor; +import org.laokou.admin.i18nMenu.convertor.I18nMenuConvertor; +import org.laokou.admin.i18nMenu.gateway.I18nMenuGateway; +import org.laokou.admin.i18nMenu.gatewayimpl.database.I18nMenuMapper; +import org.laokou.admin.i18nMenu.gatewayimpl.database.dataobject.I18nMenuDO; +import org.laokou.admin.i18nMenu.model.I18nMenuE; +import org.springframework.stereotype.Component; + +import java.util.Arrays; + +/** + * 国际化菜单网关实现. + * + * @author laokou + */ +@Component +@RequiredArgsConstructor +public class I18nMenuGatewayImpl implements I18nMenuGateway { + + private final I18nMenuMapper i18nMenuMapper; + + @Override + public void createI18nMenu(I18nMenuE i18nMenuE) { + i18nMenuMapper.insert(I18nMenuConvertor.toDataObject(1L, i18nMenuE)); + } + + @Override + public void updateI18nMenu(I18nMenuE i18nMenuE) { + I18nMenuDO i18nMenuDO = I18nMenuConvertor.toDataObject(null, i18nMenuE); + i18nMenuDO.setVersion(i18nMenuMapper.selectVersion(i18nMenuE.getId())); + i18nMenuMapper.updateById(i18nMenuDO); + } + + @Override + public void deleteI18nMenu(Long[] ids) { + i18nMenuMapper.deleteByIds(Arrays.asList(ids)); + } + +} diff --git a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/database/I18nMessageMapper.java b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/database/I18nMenuMapper.java similarity index 76% rename from laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/database/I18nMessageMapper.java rename to laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/database/I18nMenuMapper.java index c448e045fc..b2f78e0c7a 100644 --- a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/database/I18nMessageMapper.java +++ b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/database/I18nMenuMapper.java @@ -15,20 +15,20 @@ * */ -package org.laokou.admin.i18nMessage.gatewayimpl.database; +package org.laokou.admin.i18nMenu.gatewayimpl.database; import org.apache.ibatis.annotations.Mapper; -import org.laokou.admin.i18nMessage.gatewayimpl.database.dataobject.I18nMessageDO; +import org.laokou.admin.i18nMenu.gatewayimpl.database.dataobject.I18nMenuDO; import org.laokou.common.mybatisplus.mapper.CrudMapper; import org.springframework.stereotype.Repository; /** - * 国际化消息数据库映射. + * 国际化菜单数据库映射. * * @author laokou */ @Mapper @Repository -public interface I18nMessageMapper extends CrudMapper { +public interface I18nMenuMapper extends CrudMapper { } diff --git a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/database/dataobject/I18nMessageDO.java b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/database/dataobject/I18nMenuDO.java similarity index 87% rename from laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/database/dataobject/I18nMessageDO.java rename to laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/database/dataobject/I18nMenuDO.java index 38e8a950db..ca0f9402d2 100644 --- a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/database/dataobject/I18nMessageDO.java +++ b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMenu/gatewayimpl/database/dataobject/I18nMenuDO.java @@ -15,20 +15,20 @@ * */ -package org.laokou.admin.i18nMessage.gatewayimpl.database.dataobject; +package org.laokou.admin.i18nMenu.gatewayimpl.database.dataobject; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import org.laokou.common.mybatisplus.mapper.BaseDO; /** - * 国际化消息数据对象. + * 国际化菜单数据对象. * * @author laokou */ @Data @TableName("sys_i18n_message") -public class I18nMessageDO extends BaseDO { +public class I18nMenuDO extends BaseDO { /** * 编码. diff --git a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/convertor/I18nMessageConvertor.java b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/convertor/I18nMessageConvertor.java deleted file mode 100644 index 1637ec55e7..0000000000 --- a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/convertor/I18nMessageConvertor.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. - * - * 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 org.laokou.admin.i18nMessage.convertor; - -import org.laokou.admin.i18nMessage.dto.clientobject.I18nMessageCO; -import org.laokou.admin.i18nMessage.gatewayimpl.database.dataobject.I18nMessageDO; -import org.laokou.admin.i18nMessage.model.I18nMessageE; -import org.laokou.common.core.util.ConvertUtils; -import org.laokou.common.i18n.util.ObjectUtils; - -/** - * 国际化消息转换器. - * - * @author laokou - */ -public class I18nMessageConvertor { - - public static I18nMessageDO toDataObject(Long id, I18nMessageE i18nMessageE) { - I18nMessageDO i18nMessageDO = ConvertUtils.sourceToTarget(i18nMessageE, I18nMessageDO.class); - if (ObjectUtils.isNull(i18nMessageDO.getId())) { - i18nMessageDO.setId(id); - } - return i18nMessageDO; - } - - public static I18nMessageCO toClientObject(I18nMessageDO i18nMessageDO) { - return ConvertUtils.sourceToTarget(i18nMessageDO, I18nMessageCO.class); - } - - public static I18nMessageE toEntity(I18nMessageCO i18nMessageCO) { - return ConvertUtils.sourceToTarget(i18nMessageCO, I18nMessageE.class); - } - -} diff --git a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/I18nMessageGatewayImpl.java b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/I18nMessageGatewayImpl.java deleted file mode 100644 index d48a4b0ddb..0000000000 --- a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/java/org/laokou/admin/i18nMessage/gatewayimpl/I18nMessageGatewayImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2022-2026 KCloud-Platform-IoT Author or Authors. All Rights Reserved. - * - * 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 org.laokou.admin.i18nMessage.gatewayimpl; - -import lombok.RequiredArgsConstructor; -import org.laokou.admin.i18nMessage.convertor.I18nMessageConvertor; -import org.laokou.admin.i18nMessage.gateway.I18nMessageGateway; -import org.laokou.admin.i18nMessage.gatewayimpl.database.I18nMessageMapper; -import org.laokou.admin.i18nMessage.gatewayimpl.database.dataobject.I18nMessageDO; -import org.laokou.admin.i18nMessage.model.I18nMessageE; -import org.springframework.stereotype.Component; - -import java.util.Arrays; - -/** - * 国际化消息网关实现. - * - * @author laokou - */ -@Component -@RequiredArgsConstructor -public class I18nMessageGatewayImpl implements I18nMessageGateway { - - private final I18nMessageMapper i18nMessageMapper; - - @Override - public void createI18nMessage(I18nMessageE i18nMessageE) { - i18nMessageMapper.insert(I18nMessageConvertor.toDataObject(1L, i18nMessageE)); - } - - @Override - public void updateI18nMessage(I18nMessageE i18nMessageE) { - I18nMessageDO i18nMessageDO = I18nMessageConvertor.toDataObject(null, i18nMessageE); - i18nMessageDO.setVersion(i18nMessageMapper.selectVersion(i18nMessageE.getId())); - i18nMessageMapper.updateById(i18nMessageDO); - } - - @Override - public void deleteI18nMessage(Long[] ids) { - i18nMessageMapper.deleteByIds(Arrays.asList(ids)); - } - -} diff --git a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/resources/mapper/i18nMessage/I18nMessageMapper.xml b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/resources/mapper/i18nMenu/I18nMenuMapper.xml similarity index 87% rename from laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/resources/mapper/i18nMessage/I18nMessageMapper.xml rename to laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/resources/mapper/i18nMenu/I18nMenuMapper.xml index fcd57b33ba..a4644ac300 100644 --- a/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/resources/mapper/i18nMessage/I18nMessageMapper.xml +++ b/laokou-service/laokou-admin/laokou-admin-infrastructure/src/main/resources/mapper/i18nMenu/I18nMenuMapper.xml @@ -18,10 +18,10 @@ */ --> - + diff --git a/laokou-service/laokou-admin/laokou-admin-start/src/main/resources/admin-flow.json b/laokou-service/laokou-admin/laokou-admin-start/src/main/resources/admin-flow.json index 2f0feba5c1..535bd66375 100644 --- a/laokou-service/laokou-admin/laokou-admin-start/src/main/resources/admin-flow.json +++ b/laokou-service/laokou-admin/laokou-admin-start/src/main/resources/admin-flow.json @@ -416,7 +416,7 @@ "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages", + "resource": "/api/v1/i18n-menus", "limitApp": "default", "count": 500000, "grade": 1, @@ -424,7 +424,7 @@ "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/import", + "resource": "/api/v1/i18n-menus/import", "limitApp": "default", "count": 100000, "grade": 1, @@ -432,7 +432,7 @@ "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/export", + "resource": "/api/v1/i18n-menus/export", "limitApp": "default", "count": 100000, "grade": 1, @@ -440,7 +440,7 @@ "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/page", + "resource": "/api/v1/i18n-menus/page", "limitApp": "default", "count": 100000, "grade": 1, @@ -448,7 +448,7 @@ "controlBehavior": 0 }, { - "resource": "/api/v1/i18n-messages/{id}", + "resource": "/api/v1/i18n-menus/{id}", "limitApp": "default", "count": 100000, "grade": 1, diff --git a/laokou-service/laokou-auth/laokou-auth-app/src/main/java/org/laokou/auth/command/TokenRemoveCmdExe.java b/laokou-service/laokou-auth/laokou-auth-app/src/main/java/org/laokou/auth/command/TokenRemoveCmdExe.java index 3d3824874b..6c755f44ae 100644 --- a/laokou-service/laokou-auth/laokou-auth-app/src/main/java/org/laokou/auth/command/TokenRemoveCmdExe.java +++ b/laokou-service/laokou-auth/laokou-auth-app/src/main/java/org/laokou/auth/command/TokenRemoveCmdExe.java @@ -33,6 +33,8 @@ import org.springframework.stereotype.Component; import java.security.Principal; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.locks.LockSupport; /** * 退出登录执行器. @@ -74,7 +76,8 @@ public void executeVoid(TokenRemoveCmd cmd) { private void evictCache(OAuth2Authorization authorization) { if (authorization.getAttribute(Principal.class.getName()) instanceof User user) { - OperateType.getCache(redisCacheManager, NameConstants.USER_MENU).evictIfPresent(user.id()); + OperateType.getCache(redisCacheManager, NameConstants.USER_MENU).evict(user.id()); + LockSupport.parkNanos(TimeUnit.MILLISECONDS.toNanos(200)); } } diff --git a/ui/.eslintrc.js b/ui/.eslintrc.js index 85ba500e7a..fc65997100 100644 --- a/ui/.eslintrc.js +++ b/ui/.eslintrc.js @@ -1,3 +1,3 @@ module.exports = { - extends: require.resolve('@umijs/max/eslint'), + extends: require.resolve('@umijs/max/eslint'), }; diff --git a/ui/.lintstagedrc b/ui/.lintstagedrc index f2037b01b4..229c1cce6d 100644 --- a/ui/.lintstagedrc +++ b/ui/.lintstagedrc @@ -1,17 +1,12 @@ { - "*.{md,json}": [ - "prettier --cache --write" - ], - "*.{js,jsx}": [ - "max lint --fix --eslint-only", - "prettier --cache --write" - ], - "*.{css,less}": [ - "max lint --fix --stylelint-only", - "prettier --cache --write" - ], - "*.ts?(x)": [ - "max lint --fix --eslint-only", - "prettier --cache --parser=typescript --write" - ] + "*.{md,json}": ["prettier --cache --write"], + "*.{js,jsx}": ["max lint --fix --eslint-only", "prettier --cache --write"], + "*.{css,less}": [ + "max lint --fix --stylelint-only", + "prettier --cache --write" + ], + "*.ts?(x)": [ + "max lint --fix --eslint-only", + "prettier --cache --parser=typescript --write" + ] } diff --git a/ui/.prettierrc b/ui/.prettierrc index 70767cdf75..54d100a4e9 100644 --- a/ui/.prettierrc +++ b/ui/.prettierrc @@ -1,8 +1,11 @@ { - "printWidth": 80, - "singleQuote": true, - "trailingComma": "all", - "proseWrap": "never", - "overrides": [{ "files": ".prettierrc", "options": { "parser": "json" } }], - "plugins": ["prettier-plugin-organize-imports", "prettier-plugin-packagejson"] + "printWidth": 80, + "singleQuote": true, + "trailingComma": "all", + "proseWrap": "never", + "overrides": [{ "files": ".prettierrc", "options": { "parser": "json" } }], + "plugins": [ + "prettier-plugin-organize-imports", + "prettier-plugin-packagejson" + ] } diff --git a/ui/.stylelintrc.js b/ui/.stylelintrc.js index 08bc02ce7b..4302f0a1bd 100644 --- a/ui/.stylelintrc.js +++ b/ui/.stylelintrc.js @@ -1,3 +1,3 @@ module.exports = { - extends: require.resolve('@umijs/max/stylelint'), + extends: require.resolve('@umijs/max/stylelint'), }; diff --git a/ui/config/config.ts b/ui/config/config.ts index c20bf9a39d..ab6f610cdc 100644 --- a/ui/config/config.ts +++ b/ui/config/config.ts @@ -1,8 +1,8 @@ -import {defineConfig} from '@umijs/max'; +import { defineConfig } from '@umijs/max'; import proxy from './proxy'; import routes from './routes'; -const {REACT_APP_ENV = 'dev'} = process.env; +const { REACT_APP_ENV = 'dev' } = process.env; export default defineConfig({ antd: { @@ -17,7 +17,7 @@ export default defineConfig({ theme: { // 如果不想要 configProvide 动态设置主题需要把这个设置为 default // 只有设置为 variable, 才能使用 configProvide 动态设置主色调 - 'root-entry-name': 'default' + 'root-entry-name': 'default', }, /** * 开启 hash 模式. diff --git a/ui/config/proxy.ts b/ui/config/proxy.ts index 794da874ea..472a1092f2 100644 --- a/ui/config/proxy.ts +++ b/ui/config/proxy.ts @@ -17,7 +17,7 @@ export default { // 微服务代理地址 target: 'http://gateway:5555', changeOrigin: true, - pathRewrite: {'^/apis': ''} + pathRewrite: { '^/apis': '' }, }, }, }; diff --git a/ui/config/routes.ts b/ui/config/routes.ts index 12d5879c6a..afd74251ec 100644 --- a/ui/config/routes.ts +++ b/ui/config/routes.ts @@ -21,7 +21,7 @@ export default [ title: 'menu.home', path: '/home', component: './Home', - icon: 'home' + icon: 'home', }, { name: 'menu.login', @@ -45,27 +45,27 @@ export default [ name: 'menu.sys.permission.menu', title: 'menu.sys.permission.menu', path: '/sys/permission/menu', - component: './Sys/Permission/menu' + component: './Sys/Permission/menu', }, { name: 'menu.sys.permission.dept', title: 'menu.sys.permission.dept', path: '/sys/permission/dept', - component: './Sys/Permission/dept' + component: './Sys/Permission/dept', }, { name: 'menu.sys.permission.role', title: 'menu.sys.permission.role', path: '/sys/permission/role', - component: './Sys/Permission/role' + component: './Sys/Permission/role', }, { name: 'menu.sys.permission.user', title: 'menu.sys.permission.user', path: '/sys/permission/user', - component: './Sys/Permission/user' + component: './Sys/Permission/user', }, - ] + ], }, { name: 'menu.sys.log', @@ -76,21 +76,21 @@ export default [ name: 'menu.sys.log.login', title: 'menu.sys.log.login', path: '/sys/log/login', - component: './Sys/Log/login' + component: './Sys/Log/login', }, { name: 'menu.sys.log.notice', title: 'menu.sys.log.notice', path: '/sys/log/notice', - component: './Sys/Log/notice' + component: './Sys/Log/notice', }, { name: 'menu.sys.log.operate', title: 'menu.sys.log.operate', path: '/sys/log/operate', - component: './Sys/Log/operate' - } - ] + component: './Sys/Log/operate', + }, + ], }, { name: 'menu.sys.oss', @@ -101,15 +101,15 @@ export default [ name: 'menu.sys.oss.config', title: 'menu.sys.oss.config', path: '/sys/oss/config', - component: './Sys/Oss/config' + component: './Sys/Oss/config', }, { name: 'menu.sys.oss.log', title: 'menu.sys.oss.log', path: '/sys/oss/log', - component: './Sys/Oss/log' - } - ] + component: './Sys/Oss/log', + }, + ], }, { name: 'menu.sys.config', @@ -120,11 +120,11 @@ export default [ name: 'menu.sys.config.generator', title: 'menu.sys.config.generator', path: '/sys/config/generator', - component: './Sys/Config/generator' - } - ] - } - ] + component: './Sys/Config/generator', + }, + ], + }, + ], }, { name: 'menu.iot', @@ -141,16 +141,16 @@ export default [ name: 'menu.iot.device.thingModel', title: 'menu.iot.device.thingModel', path: '/iot/device/thingModel', - component: './IoT/Device/thingModel' + component: './IoT/Device/thingModel', }, { name: 'menu.iot.device.productCategory', title: 'menu.iot.device.productCategory', path: '/iot/device/productCategory', - component: './IoT/Device/productCategory' + component: './IoT/Device/productCategory', }, - ] - } - ] - } + ], + }, + ], + }, ]; diff --git a/ui/pnpm-lock.yaml b/ui/pnpm-lock.yaml index d2548e9f08..c5ff943b98 100644 --- a/ui/pnpm-lock.yaml +++ b/ui/pnpm-lock.yaml @@ -5,12 +5,11 @@ settings: excludeLinksFromLockfile: false importers: - .: dependencies: '@ant-design/charts': specifier: ^2.3.0 - version: 2.6.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.104.1)) + version: 2.6.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.105.4)) '@ant-design/icons': specifier: ^6.0.0 version: 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -34,25 +33,25 @@ importers: version: 6.0.2 '@codemirror/lang-javascript': specifier: ^6.2.3 - version: 6.2.4 + version: 6.2.5 '@uiw/react-codemirror': specifier: ^4.23.10 - version: 4.25.4(@babel/runtime@7.28.6)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.11)(codemirror@6.0.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.25.7(@babel/runtime@7.28.6)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.16)(codemirror@6.0.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@umijs/max': specifier: ^4.4.6 - version: 4.6.26(@babel/core@7.29.0)(@types/node@25.2.0)(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(dva@2.5.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(prettier@2.8.8)(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1) + version: 4.6.31(@babel/core@7.29.0)(@types/node@25.3.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(dva@2.5.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(lightningcss@1.22.1)(prettier@2.8.8)(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4) '@umijs/plugin-openapi': specifier: ^1.3.3 - version: 1.3.3(chokidar@3.6.0)(encoding@0.1.13)(typescript@5.9.3)(umi@4.6.26(@babel/core@7.29.0)(@types/node@25.2.0)(@types/react@19.2.13)(eslint@8.35.0)(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1)) + version: 1.3.3(chokidar@3.6.0)(encoding@0.1.13)(typescript@5.9.3)(umi@4.6.31(@babel/core@7.29.0)(@types/node@25.3.5)(@types/react@19.2.14)(eslint@8.35.0)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4)) antd: specifier: ^5.24.4 version: 5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) antd-img-crop: specifier: ^4.24.0 - version: 4.28.0(antd@5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.29.0(antd@5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) axios: specifier: ^1.12.0 - version: 1.13.4 + version: 1.13.6 js-export-excel: specifier: ^1.1.4 version: 1.1.4 @@ -71,19 +70,19 @@ importers: devDependencies: '@types/react': specifier: ^19.0.0 - version: 19.2.13 + version: 19.2.14 '@types/react-dom': specifier: ^19.0.0 - version: 19.2.3(@types/react@19.2.13) + version: 19.2.3(@types/react@19.2.14) '@umijs/lint': specifier: ^4.4.6 - version: 4.6.25(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3) + version: 4.6.31(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3) husky: specifier: ^9.1.7 version: 9.1.7 lint-staged: specifier: ^16.0.0 - version: 16.2.7 + version: 16.3.2 prettier: specifier: ^2.8.8 version: 2.8.8 @@ -98,132 +97,206 @@ importers: version: 5.9.3 packages: - '@ahooksjs/use-request@2.8.15': - resolution: {integrity: sha512-xhVaM4fyIiAMdVFuuU5i3CFUdFa/IblF+fvITVMFaUEO3w/V5tVCAF6WIA3T03n1/RPuzRkA7Ao1PFtSGtGelw==} + resolution: + { + integrity: sha512-xhVaM4fyIiAMdVFuuU5i3CFUdFa/IblF+fvITVMFaUEO3w/V5tVCAF6WIA3T03n1/RPuzRkA7Ao1PFtSGtGelw==, + } peerDependencies: react: ^16.8.0 || ^17.0.0 '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: '>=6.0.0' } '@ant-design/antd-theme-variable@1.0.0': - resolution: {integrity: sha512-0vr5GCwM7xlAl6NxG1lPbABO+SYioNJL3HVy2FA8wTlsIMoZvQwcwsxTw6eLQCiN9V2UQ8kBtfz8DW8utVVE5w==} + resolution: + { + integrity: sha512-0vr5GCwM7xlAl6NxG1lPbABO+SYioNJL3HVy2FA8wTlsIMoZvQwcwsxTw6eLQCiN9V2UQ8kBtfz8DW8utVVE5w==, + } '@ant-design/charts-util@0.0.1-alpha.7': - resolution: {integrity: sha512-Yh0o6EdO6SvdSnStFZMbnUzjyymkVzV+TQ9ymVW9hlVgO/fUkUII3JYSdV+UVcFnYwUF0YiDKuSTLCZNAzg2bQ==} + resolution: + { + integrity: sha512-Yh0o6EdO6SvdSnStFZMbnUzjyymkVzV+TQ9ymVW9hlVgO/fUkUII3JYSdV+UVcFnYwUF0YiDKuSTLCZNAzg2bQ==, + } peerDependencies: react: '>=16.8.4' react-dom: '>=16.8.4' '@ant-design/charts-util@0.0.3': - resolution: {integrity: sha512-x1H7UT6t4dXAyGRoHqlOnEsEqBSTANFGTZEAMI0CWYhYUpp13n0o9grl9oPtoL6FEQMjUBTY+zGJKlHkz8smMw==} + resolution: + { + integrity: sha512-x1H7UT6t4dXAyGRoHqlOnEsEqBSTANFGTZEAMI0CWYhYUpp13n0o9grl9oPtoL6FEQMjUBTY+zGJKlHkz8smMw==, + } peerDependencies: react: '>=16.8.4' react-dom: '>=16.8.4' '@ant-design/charts@2.6.7': - resolution: {integrity: sha512-XfmsnspUpfrMlRFGTwmHJ2TPKcosq5a5nSxAfIOpEXAvmJBT2N16oejGTZhUFTzba8W3XtBOziwRAXmDmLUqvA==} + resolution: + { + integrity: sha512-XfmsnspUpfrMlRFGTwmHJ2TPKcosq5a5nSxAfIOpEXAvmJBT2N16oejGTZhUFTzba8W3XtBOziwRAXmDmLUqvA==, + } peerDependencies: react: '>=16.8.4' react-dom: '>=16.8.4' '@ant-design/colors@6.0.0': - resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} + resolution: + { + integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==, + } '@ant-design/colors@7.2.1': - resolution: {integrity: sha512-lCHDcEzieu4GA3n8ELeZ5VQ8pKQAWcGGLRTQ50aQM2iqPpq2evTxER84jfdPvsPAtEcZ7m44NI45edFMo8oOYQ==} + resolution: + { + integrity: sha512-lCHDcEzieu4GA3n8ELeZ5VQ8pKQAWcGGLRTQ50aQM2iqPpq2evTxER84jfdPvsPAtEcZ7m44NI45edFMo8oOYQ==, + } '@ant-design/colors@8.0.1': - resolution: {integrity: sha512-foPVl0+SWIslGUtD/xBr1p9U4AKzPhNYEseXYRRo5QSzGACYZrQbe11AYJbYfAWnWSpGBx6JjBmSeugUsD9vqQ==} + resolution: + { + integrity: sha512-foPVl0+SWIslGUtD/xBr1p9U4AKzPhNYEseXYRRo5QSzGACYZrQbe11AYJbYfAWnWSpGBx6JjBmSeugUsD9vqQ==, + } '@ant-design/cssinjs-utils@1.1.3': - resolution: {integrity: sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==} + resolution: + { + integrity: sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' '@ant-design/cssinjs@1.24.0': - resolution: {integrity: sha512-K4cYrJBsgvL+IoozUXYjbT6LHHNt+19a9zkvpBPxLjFHas1UpPM2A5MlhROb0BT8N8WoavM5VsP9MeSeNK/3mg==} + resolution: + { + integrity: sha512-K4cYrJBsgvL+IoozUXYjbT6LHHNt+19a9zkvpBPxLjFHas1UpPM2A5MlhROb0BT8N8WoavM5VsP9MeSeNK/3mg==, + } peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' '@ant-design/fast-color@2.0.6': - resolution: {integrity: sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==} - engines: {node: '>=8.x'} - - '@ant-design/fast-color@3.0.0': - resolution: {integrity: sha512-eqvpP7xEDm2S7dUzl5srEQCBTXZMmY3ekf97zI+M2DHOYyKdJGH0qua0JACHTqbkRnD/KHFQP9J1uMJ/XWVzzA==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==, + } + engines: { node: '>=8.x' } + + '@ant-design/fast-color@3.0.1': + resolution: + { + integrity: sha512-esKJegpW4nckh0o6kV3Tkb7NPIZYbPnnFxmQDUmL08ukXZAvV85TZBr70eGuke/CIArLaP6aw8lt9KILjnWuOw==, + } + engines: { node: '>=8.x' } '@ant-design/graphs@2.1.1': - resolution: {integrity: sha512-qT3Oo8BWeoAmZEy9gfR6uIk+rczbNJ3sWXKonoOD5koATWv7dY0kgvS1JnhdM1QW4FkfPPJTeQVSlRRUtvWDwA==} + resolution: + { + integrity: sha512-qT3Oo8BWeoAmZEy9gfR6uIk+rczbNJ3sWXKonoOD5koATWv7dY0kgvS1JnhdM1QW4FkfPPJTeQVSlRRUtvWDwA==, + } peerDependencies: react: '>=16.8.4' react-dom: '>=16.8.4' '@ant-design/icons-svg@4.4.2': - resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} + resolution: + { + integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==, + } '@ant-design/icons@4.8.3': - resolution: {integrity: sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==, + } + engines: { node: '>=8' } peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' '@ant-design/icons@5.6.1': - resolution: {integrity: sha512-0/xS39c91WjPAZOWsvi1//zjx6kAp4kxWwctR6kuU6p133w8RU0D2dSCvZC19uQyharg/sAvYxGYWl01BbZZfg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-0/xS39c91WjPAZOWsvi1//zjx6kAp4kxWwctR6kuU6p133w8RU0D2dSCvZC19uQyharg/sAvYxGYWl01BbZZfg==, + } + engines: { node: '>=8' } peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' '@ant-design/icons@6.1.0': - resolution: {integrity: sha512-KrWMu1fIg3w/1F2zfn+JlfNDU8dDqILfA5Tg85iqs1lf8ooyGlbkA+TkwfOKKgqpUmAiRY1PTFpuOU2DAIgSUg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-KrWMu1fIg3w/1F2zfn+JlfNDU8dDqILfA5Tg85iqs1lf8ooyGlbkA+TkwfOKKgqpUmAiRY1PTFpuOU2DAIgSUg==, + } + engines: { node: '>=8' } peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' '@ant-design/moment-webpack-plugin@0.0.3': - resolution: {integrity: sha512-MLm1FUpg02fP615ShQnCUN9la2E4RylDxKyolkGqAWTIHO4HyGM0A5x71AMALEyP/bC+UEEWBGSQ+D4/8hQ+ww==} + resolution: + { + integrity: sha512-MLm1FUpg02fP615ShQnCUN9la2E4RylDxKyolkGqAWTIHO4HyGM0A5x71AMALEyP/bC+UEEWBGSQ+D4/8hQ+ww==, + } '@ant-design/plots@2.6.8': - resolution: {integrity: sha512-QsunUs2d5rbq/1BwVhga/siA5H50OaG23YopMYwPD4sPsza6NQzPQ8FM3elNIsD/BIk298tihqX1cJ/MmvVJbQ==} + resolution: + { + integrity: sha512-QsunUs2d5rbq/1BwVhga/siA5H50OaG23YopMYwPD4sPsza6NQzPQ8FM3elNIsD/BIk298tihqX1cJ/MmvVJbQ==, + } peerDependencies: react: '>=16.8.4' react-dom: '>=16.8.4' '@ant-design/pro-card@2.10.0': - resolution: {integrity: sha512-sLONn1odmE0Wkbse8pol4WiaEzBV8JU5s3FAMflPpycfUcbSaa1ktXzQ7LCo2SAvOS7gkfmpFjBPtrfbigKh4g==} + resolution: + { + integrity: sha512-sLONn1odmE0Wkbse8pol4WiaEzBV8JU5s3FAMflPpycfUcbSaa1ktXzQ7LCo2SAvOS7gkfmpFjBPtrfbigKh4g==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' '@ant-design/pro-components@2.8.10': - resolution: {integrity: sha512-QHnnIXdmC5GTAtm6i8eeJy5yT9npPlFyxpDm+duiDrTRKRFaAQBduArxlH3DA/hoRCCypzPONxfK9BQNIhIyZA==} + resolution: + { + integrity: sha512-QHnnIXdmC5GTAtm6i8eeJy5yT9npPlFyxpDm+duiDrTRKRFaAQBduArxlH3DA/hoRCCypzPONxfK9BQNIhIyZA==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' react-dom: '>=17.0.0' '@ant-design/pro-descriptions@2.6.10': - resolution: {integrity: sha512-+4MbiOfumnWlW0Awm4m8JML5o3lR649FD24AaivCmr8BQvIAAXdTITnDMXEg8BqvdP4KOvNsStZrvYfqoev33A==} + resolution: + { + integrity: sha512-+4MbiOfumnWlW0Awm4m8JML5o3lR649FD24AaivCmr8BQvIAAXdTITnDMXEg8BqvdP4KOvNsStZrvYfqoev33A==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' '@ant-design/pro-field@3.1.0': - resolution: {integrity: sha512-+Dgp31WjD+iwg9KIRAMgNkfQivkJKMcYBrIBmho1e8ep/O0HgWSp48g70tBIWi/Lfem/Ky2schF7O8XCFouczw==} + resolution: + { + integrity: sha512-+Dgp31WjD+iwg9KIRAMgNkfQivkJKMcYBrIBmho1e8ep/O0HgWSp48g70tBIWi/Lfem/Ky2schF7O8XCFouczw==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' '@ant-design/pro-form@2.32.0': - resolution: {integrity: sha512-GZnVAMeYv+YHJb17lJ7rX5PYuQPvEA6EotQnPbHi9tGLN3PfexcAd21rqzuO+OrulU2x7TEMDIxtY9MzvvOGbg==} + resolution: + { + integrity: sha512-GZnVAMeYv+YHJb17lJ7rX5PYuQPvEA6EotQnPbHi9tGLN3PfexcAd21rqzuO+OrulU2x7TEMDIxtY9MzvvOGbg==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 rc-field-form: '>=1.22.0' @@ -231,35 +304,50 @@ packages: react-dom: '>=17.0.0' '@ant-design/pro-layout@7.22.7': - resolution: {integrity: sha512-fvmtNA1r9SaasVIQIQt611VSlNxtVxDbQ3e+1GhYQza3tVJi/3gCZuDyfMfTnbLmf3PaW/YvLkn7MqDbzAzoLA==} + resolution: + { + integrity: sha512-fvmtNA1r9SaasVIQIQt611VSlNxtVxDbQ3e+1GhYQza3tVJi/3gCZuDyfMfTnbLmf3PaW/YvLkn7MqDbzAzoLA==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' react-dom: '>=17.0.0' '@ant-design/pro-list@2.6.10': - resolution: {integrity: sha512-xSWwnqCr+hPEYR4qY7nFUaxO5RQBxNlFaPNmobP2i+Im31slk9JuAusgWeIYO0mNhLJuLbxd8CCma2AZij3fBQ==} + resolution: + { + integrity: sha512-xSWwnqCr+hPEYR4qY7nFUaxO5RQBxNlFaPNmobP2i+Im31slk9JuAusgWeIYO0mNhLJuLbxd8CCma2AZij3fBQ==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' react-dom: '>=17.0.0' '@ant-design/pro-provider@2.16.2': - resolution: {integrity: sha512-0KmCH1EaOND787Jz6VRMYtLNZmqfT0JPjdUfxhyOxFfnBRfrjyfZgIa6CQoAJLEUMWv57PccWS8wRHVUUk2Yiw==} + resolution: + { + integrity: sha512-0KmCH1EaOND787Jz6VRMYtLNZmqfT0JPjdUfxhyOxFfnBRfrjyfZgIa6CQoAJLEUMWv57PccWS8wRHVUUk2Yiw==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' react-dom: '>=17.0.0' '@ant-design/pro-skeleton@2.2.1': - resolution: {integrity: sha512-3M2jNOZQZWEDR8pheY00OkHREfb0rquvFZLCa6DypGmiksiuuYuR9Y4iA82ZF+mva2FmpHekdwbje/GpbxqBeg==} + resolution: + { + integrity: sha512-3M2jNOZQZWEDR8pheY00OkHREfb0rquvFZLCa6DypGmiksiuuYuR9Y4iA82ZF+mva2FmpHekdwbje/GpbxqBeg==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' react-dom: '>=17.0.0' '@ant-design/pro-table@3.21.0': - resolution: {integrity: sha512-sI81d3FYRv5sXamUc+M5CsHZ9CchuUQgOAPzo5H4oPAVL5h+mkYGRsBzPsxQX7khTNpWjrAtPoRm5ipx3vvWog==} + resolution: + { + integrity: sha512-sI81d3FYRv5sXamUc+M5CsHZ9CchuUQgOAPzo5H4oPAVL5h+mkYGRsBzPsxQX7khTNpWjrAtPoRm5ipx3vvWog==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 rc-field-form: '>=1.22.0' @@ -267,1251 +355,2007 @@ packages: react-dom: '>=17.0.0' '@ant-design/pro-utils@2.18.0': - resolution: {integrity: sha512-8+ikyrN8L8a8Ph4oeHTOJEiranTj18+9+WHCHjKNdEfukI7Rjn8xpYdLJWb2AUJkb9d4eoAqjd5+k+7w81Df0w==} + resolution: + { + integrity: sha512-8+ikyrN8L8a8Ph4oeHTOJEiranTj18+9+WHCHjKNdEfukI7Rjn8xpYdLJWb2AUJkb9d4eoAqjd5+k+7w81Df0w==, + } peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' react-dom: '>=17.0.0' '@ant-design/react-slick@1.0.2': - resolution: {integrity: sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==} + resolution: + { + integrity: sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==, + } peerDependencies: react: '>=16.9.0' '@ant-design/react-slick@1.1.2': - resolution: {integrity: sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==} + resolution: + { + integrity: sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==, + } peerDependencies: react: '>=16.9.0' '@antfu/install-pkg@0.1.1': - resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + resolution: + { + integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==, + } '@antfu/utils@0.7.10': - resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + resolution: + { + integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==, + } '@antv/algorithm@0.1.26': - resolution: {integrity: sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg==} + resolution: + { + integrity: sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg==, + } '@antv/component@2.1.11': - resolution: {integrity: sha512-dTdz8VAd3rpjOaGEZTluz82mtzrP4XCtNlNQyrxY7VNRNcjtvpTLDn57bUL2lRu1T+iklKvgbE2llMriWkq9vQ==} + resolution: + { + integrity: sha512-dTdz8VAd3rpjOaGEZTluz82mtzrP4XCtNlNQyrxY7VNRNcjtvpTLDn57bUL2lRu1T+iklKvgbE2llMriWkq9vQ==, + } '@antv/coord@0.4.7': - resolution: {integrity: sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==} + resolution: + { + integrity: sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==, + } '@antv/event-emitter@0.1.3': - resolution: {integrity: sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==} + resolution: + { + integrity: sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==, + } '@antv/expr@1.0.2': - resolution: {integrity: sha512-vrfdmPHkTuiS5voVutKl2l06w1ihBh9A8SFdQPEE+2KMVpkymzGOF1eWpfkbGZ7tiFE15GodVdhhHomD/hdIwg==} + resolution: + { + integrity: sha512-vrfdmPHkTuiS5voVutKl2l06w1ihBh9A8SFdQPEE+2KMVpkymzGOF1eWpfkbGZ7tiFE15GodVdhhHomD/hdIwg==, + } '@antv/g-canvas@2.2.0': - resolution: {integrity: sha512-h7zVBBo2aO64DuGKvq9sG+yTU3sCUb9DALCVm7nz8qGPs8hhLuFOkKPEzUDNfNYZGJUGzY8UDtJ3QRGRFcvEQg==} + resolution: + { + integrity: sha512-h7zVBBo2aO64DuGKvq9sG+yTU3sCUb9DALCVm7nz8qGPs8hhLuFOkKPEzUDNfNYZGJUGzY8UDtJ3QRGRFcvEQg==, + } '@antv/g-lite@2.7.0': - resolution: {integrity: sha512-uSzgHYa5bwR5L2Au7/5tsOhFmXKZKLPBH90+Q9bP9teVs5VT4kOAi0isPSpDI8uhdDC2/VrfTWu5K9HhWI6FWw==} + resolution: + { + integrity: sha512-uSzgHYa5bwR5L2Au7/5tsOhFmXKZKLPBH90+Q9bP9teVs5VT4kOAi0isPSpDI8uhdDC2/VrfTWu5K9HhWI6FWw==, + } '@antv/g-math@3.1.0': - resolution: {integrity: sha512-DtN1Gj/yI0UiK18nSBsZX8RK0LszGwqfb+cBYWgE+ddyTm8dZnW4tPUhV7QXePsS6/A5hHC+JFpAAK7OEGo5ZQ==} + resolution: + { + integrity: sha512-DtN1Gj/yI0UiK18nSBsZX8RK0LszGwqfb+cBYWgE+ddyTm8dZnW4tPUhV7QXePsS6/A5hHC+JFpAAK7OEGo5ZQ==, + } '@antv/g-plugin-dragndrop@2.1.1': - resolution: {integrity: sha512-+aesDUJVQDs6UJ2bOBbDlaGAPCfHmU0MbrMTlQlfpwNplWueqtgVAZ3L57oZ2ZGHRWUHiRwZGPjXMBM3O2LELw==} + resolution: + { + integrity: sha512-+aesDUJVQDs6UJ2bOBbDlaGAPCfHmU0MbrMTlQlfpwNplWueqtgVAZ3L57oZ2ZGHRWUHiRwZGPjXMBM3O2LELw==, + } '@antv/g-svg@2.1.1': - resolution: {integrity: sha512-gVzBkjqA8FzDTbkuIxj6L0Omz/X/hFbYLzK6alWr0sHTfywqP6czcjDUJU8DF2MRIY1Twy55uZYW4dqqLXOXXg==} + resolution: + { + integrity: sha512-gVzBkjqA8FzDTbkuIxj6L0Omz/X/hFbYLzK6alWr0sHTfywqP6czcjDUJU8DF2MRIY1Twy55uZYW4dqqLXOXXg==, + } '@antv/g2-extension-plot@0.2.2': - resolution: {integrity: sha512-KJXCXO7as+h0hDqirGXf1omrNuYzQmY3VmBmp7lIvkepbQ7sz3pPwy895r1FWETGF3vTk5UeFcAF5yzzBHWgbw==} + resolution: + { + integrity: sha512-KJXCXO7as+h0hDqirGXf1omrNuYzQmY3VmBmp7lIvkepbQ7sz3pPwy895r1FWETGF3vTk5UeFcAF5yzzBHWgbw==, + } '@antv/g2@5.4.8': - resolution: {integrity: sha512-IvgIpwmT4M5/QAd3Mn2WiHIDeBqFJ4WA2gcZhRRSZuZ2KmgCqZWZwwIT0hc+kIGxwYeDoCQqf//t6FMVu3ryBg==} + resolution: + { + integrity: sha512-IvgIpwmT4M5/QAd3Mn2WiHIDeBqFJ4WA2gcZhRRSZuZ2KmgCqZWZwwIT0hc+kIGxwYeDoCQqf//t6FMVu3ryBg==, + } '@antv/g6-extension-react@0.2.6': - resolution: {integrity: sha512-JWOiWMz/r4jG+Nn2Y28LfohpxfUaf9M/0brLdKBshSVa4DraQFfQvA9OTIbzahLLoxIXsKKG2KteQ9QcXL26Kw==} + resolution: + { + integrity: sha512-JWOiWMz/r4jG+Nn2Y28LfohpxfUaf9M/0brLdKBshSVa4DraQFfQvA9OTIbzahLLoxIXsKKG2KteQ9QcXL26Kw==, + } peerDependencies: '@antv/g6': ^5.0.50 react: '>=16.8' react-dom: '>=16.8' '@antv/g6@5.0.51': - resolution: {integrity: sha512-/88LJDZ7FHKtpyJibXOnJWZ8gFRp32mLb8KzEFrMuiIC/dsZgTf/oYVw6L4tLKooPXfXqUtrJb2tWFMGR04EMg==} + resolution: + { + integrity: sha512-/88LJDZ7FHKtpyJibXOnJWZ8gFRp32mLb8KzEFrMuiIC/dsZgTf/oYVw6L4tLKooPXfXqUtrJb2tWFMGR04EMg==, + } '@antv/g@6.3.1': - resolution: {integrity: sha512-WYEKqy86LHB2PzTmrZXrIsIe+3Epeds2f68zceQ+BJtRoGki7Sy4IhlC8LrUMztgfT1t3d/0L745NWZwITroKA==} + resolution: + { + integrity: sha512-WYEKqy86LHB2PzTmrZXrIsIe+3Epeds2f68zceQ+BJtRoGki7Sy4IhlC8LrUMztgfT1t3d/0L745NWZwITroKA==, + } '@antv/graphin@3.0.5': - resolution: {integrity: sha512-V/j8R8Ty44wUqxVIYLdpPuIO8WWCTIVq1eBJg5YRunL5t5o5qAFpC/qkQxslbBMWyKdIH0oWBnvHA74riGi7cw==} + resolution: + { + integrity: sha512-V/j8R8Ty44wUqxVIYLdpPuIO8WWCTIVq1eBJg5YRunL5t5o5qAFpC/qkQxslbBMWyKdIH0oWBnvHA74riGi7cw==, + } peerDependencies: react: ^18.0.0 || ^19.1.0 react-dom: ^18.0.0 || ^19.1.0 '@antv/graphlib@2.0.4': - resolution: {integrity: sha512-zc/5oQlsdk42Z0ib1mGklwzhJ5vczLFiPa1v7DgJkTbgJ2YxRh9xdarf86zI49sKVJmgbweRpJs7Nu5bIiwv4w==} + resolution: + { + integrity: sha512-zc/5oQlsdk42Z0ib1mGklwzhJ5vczLFiPa1v7DgJkTbgJ2YxRh9xdarf86zI49sKVJmgbweRpJs7Nu5bIiwv4w==, + } '@antv/hierarchy@0.7.1': - resolution: {integrity: sha512-7r22r+HxfcRZp79ZjGmsn97zgC1Iajrv0Mm9DIgx3lPfk+Kme2MG/+EKdZj1iEBsN0rJRzjWVPGL5YrBdVHchw==} + resolution: + { + integrity: sha512-7r22r+HxfcRZp79ZjGmsn97zgC1Iajrv0Mm9DIgx3lPfk+Kme2MG/+EKdZj1iEBsN0rJRzjWVPGL5YrBdVHchw==, + } '@antv/layout@1.2.14-beta.9': - resolution: {integrity: sha512-wPlwBFMtq2lWZFc89/7Lzb8fjHnyKVZZ9zBb2h+zZIP0YWmVmHRE8+dqCiPKOyOGUXEdDtn813f1g107dCHZlg==} + resolution: + { + integrity: sha512-wPlwBFMtq2lWZFc89/7Lzb8fjHnyKVZZ9zBb2h+zZIP0YWmVmHRE8+dqCiPKOyOGUXEdDtn813f1g107dCHZlg==, + } '@antv/scale@0.4.16': - resolution: {integrity: sha512-5wg/zB5kXHxpTV5OYwJD3ja6R8yTiqIOkjOhmpEJiowkzRlbEC/BOyMvNUq5fqFIHnMCE9woO7+c3zxEQCKPjw==} + resolution: + { + integrity: sha512-5wg/zB5kXHxpTV5OYwJD3ja6R8yTiqIOkjOhmpEJiowkzRlbEC/BOyMvNUq5fqFIHnMCE9woO7+c3zxEQCKPjw==, + } '@antv/scale@0.5.2': - resolution: {integrity: sha512-rTHRAwvpHWC5PGZF/mJ2ZuTDqwwvVBDRph0Uu5PV9BXwzV7K8+9lsqGJ+XHVLxe8c6bKog5nlzvV/dcYb0d5Ow==} + resolution: + { + integrity: sha512-rTHRAwvpHWC5PGZF/mJ2ZuTDqwwvVBDRph0Uu5PV9BXwzV7K8+9lsqGJ+XHVLxe8c6bKog5nlzvV/dcYb0d5Ow==, + } '@antv/util@2.0.17': - resolution: {integrity: sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==} + resolution: + { + integrity: sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==, + } '@antv/util@3.3.11': - resolution: {integrity: sha512-FII08DFM4ABh2q5rPYdr0hMtKXRgeZazvXaFYCs7J7uTcWDHUhczab2qOCJLNDugoj8jFag1djb7wS9ehaRYBg==} + resolution: + { + integrity: sha512-FII08DFM4ABh2q5rPYdr0hMtKXRgeZazvXaFYCs7J7uTcWDHUhczab2qOCJLNDugoj8jFag1djb7wS9ehaRYBg==, + } '@antv/vendor@1.0.11': - resolution: {integrity: sha512-LmhPEQ+aapk3barntaiIxJ5VHno/Tyab2JnfdcPzp5xONh/8VSfed4bo/9xKo5HcUAEydko38vYLfj6lJliLiw==} + resolution: + { + integrity: sha512-LmhPEQ+aapk3barntaiIxJ5VHno/Tyab2JnfdcPzp5xONh/8VSfed4bo/9xKo5HcUAEydko38vYLfj6lJliLiw==, + } '@babel/code-frame@7.22.5': - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} - engines: {node: '>=6.9.0'} - - '@babel/code-frame@7.28.6': - resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==, + } + engines: { node: '>=6.9.0' } '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.28.6': - resolution: {integrity: sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==, + } + engines: { node: '>=6.9.0' } + + '@babel/compat-data@7.29.0': + resolution: + { + integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==, + } + engines: { node: '>=6.9.0' } '@babel/core@7.23.6': - resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==, + } + engines: { node: '>=6.9.0' } '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==, + } + engines: { node: '>=6.9.0' } '@babel/eslint-parser@7.23.3': - resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} - engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + resolution: + { + integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==, + } + engines: { node: ^10.13.0 || ^12.13.0 || >=14.0.0 } peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 '@babel/generator@7.2.0': - resolution: {integrity: sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==} - - '@babel/generator@7.28.6': - resolution: {integrity: sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.29.0': - resolution: {integrity: sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==, + } + + '@babel/generator@7.29.1': + resolution: + { + integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==, + } + engines: { node: '>=6.9.0' } '@babel/helper-annotate-as-pure@7.27.3': - resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==, + } + engines: { node: '>=6.9.0' } '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==, + } + engines: { node: '>=6.9.0' } '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==, + } + engines: { node: '>=6.9.0' } '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==, + } + engines: { node: '>=6.9.0' } '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==, + } + engines: { node: '>=6.9.0' } '@babel/helper-simple-access@7.27.1': - resolution: {integrity: sha512-OU4zVQrJgFBNXMjrHs1yFSdlTgufO4tefcUZoqNhukVfw0p8x1Asht/gcGZ3bpHbi8gu/76m4JhrlKPqkrs/WQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-OU4zVQrJgFBNXMjrHs1yFSdlTgufO4tefcUZoqNhukVfw0p8x1Asht/gcGZ3bpHbi8gu/76m4JhrlKPqkrs/WQ==, + } + engines: { node: '>=6.9.0' } '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==, + } + engines: { node: '>=6.9.0' } '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==, + } + engines: { node: '>=6.9.0' } '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==, + } + engines: { node: '>=6.9.0' } '@babel/helpers@7.28.6': - resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==, + } + engines: { node: '>=6.9.0' } '@babel/highlight@7.25.9': - resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.28.6': - resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==} - engines: {node: '>=6.0.0'} - hasBin: true + resolution: + { + integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==, + } + engines: { node: '>=6.9.0' } '@babel/parser@7.29.0': - resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==, + } + engines: { node: '>=6.0.0' } hasBin: true '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + resolution: + { + integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-bigint@7.8.3': - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + resolution: + { + integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + resolution: + { + integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-import-attributes@7.28.6': - resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + resolution: + { + integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + resolution: + { + integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-jsx@7.28.6': - resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + resolution: + { + integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + resolution: + { + integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + resolution: + { + integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + resolution: + { + integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + resolution: + { + integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + resolution: + { + integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, + } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-modules-commonjs@7.23.3': - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-jsx-self@7.27.1': - resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-react-jsx-source@7.27.1': - resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/runtime@7.23.6': - resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==, + } + engines: { node: '>=6.9.0' } '@babel/runtime@7.28.6': - resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==, + } + engines: { node: '>=6.9.0' } '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.28.6': - resolution: {integrity: sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==, + } + engines: { node: '>=6.9.0' } '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.28.6': - resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==, + } + engines: { node: '>=6.9.0' } '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==, + } + engines: { node: '>=6.9.0' } '@bloomberg/record-tuple-polyfill@0.0.4': - resolution: {integrity: sha512-h0OYmPR3A5Dfbetra/GzxBAzQk8sH7LhRkRUTdagX6nrtlUgJGYCTv4bBK33jsTQw9HDd8PE2x1Ma+iRKEDUsw==} + resolution: + { + integrity: sha512-h0OYmPR3A5Dfbetra/GzxBAzQk8sH7LhRkRUTdagX6nrtlUgJGYCTv4bBK33jsTQw9HDd8PE2x1Ma+iRKEDUsw==, + } '@chenshuai2144/sketch-color@1.0.9': - resolution: {integrity: sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==} + resolution: + { + integrity: sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==, + } peerDependencies: react: '>=16.12.0' - '@codemirror/autocomplete@6.20.0': - resolution: {integrity: sha512-bOwvTOIJcG5FVo5gUUupiwYh8MioPLQ4UcqbcRf7UQ98X90tCa9E1kZ3Z7tqwpZxYyOvh1YTYbmZE9RTfTp5hg==} + '@codemirror/autocomplete@6.20.1': + resolution: + { + integrity: sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==, + } - '@codemirror/commands@6.10.1': - resolution: {integrity: sha512-uWDWFypNdQmz2y1LaNJzK7fL7TYKLeUAU0npEC685OKTF3KcQ2Vu3klIM78D7I6wGhktme0lh3CuQLv0ZCrD9Q==} + '@codemirror/commands@6.10.2': + resolution: + { + integrity: sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==, + } '@codemirror/lang-java@6.0.2': - resolution: {integrity: sha512-m5Nt1mQ/cznJY7tMfQTJchmrjdjQ71IDs+55d1GAa8DGaB8JXWsVCkVT284C3RTASaY43YknrK2X3hPO/J3MOQ==} - - '@codemirror/lang-javascript@6.2.4': - resolution: {integrity: sha512-0WVmhp1QOqZ4Rt6GlVGwKJN3KW7Xh4H2q8ZZNGZaP6lRdxXJzmjm4FqvmOojVj6khWJHIb9sp7U/72W7xQgqAA==} - - '@codemirror/language@6.12.1': - resolution: {integrity: sha512-Fa6xkSiuGKc8XC8Cn96T+TQHYj4ZZ7RdFmXA3i9xe/3hLHfwPZdM+dqfX0Cp0zQklBKhVD8Yzc8LS45rkqcwpQ==} - - '@codemirror/lint@6.9.2': - resolution: {integrity: sha512-sv3DylBiIyi+xKwRCJAAsBZZZWo82shJ/RTMymLabAdtbkV5cSKwWDeCgtUq3v8flTaXS2y1kKkICuRYtUswyQ==} + resolution: + { + integrity: sha512-m5Nt1mQ/cznJY7tMfQTJchmrjdjQ71IDs+55d1GAa8DGaB8JXWsVCkVT284C3RTASaY43YknrK2X3hPO/J3MOQ==, + } + + '@codemirror/lang-javascript@6.2.5': + resolution: + { + integrity: sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==, + } + + '@codemirror/language@6.12.2': + resolution: + { + integrity: sha512-jEPmz2nGGDxhRTg3lTpzmIyGKxz3Gp3SJES4b0nAuE5SWQoKdT5GoQ69cwMmFd+wvFUhYirtDTr0/DRHpQAyWg==, + } + + '@codemirror/lint@6.9.5': + resolution: + { + integrity: sha512-GElsbU9G7QT9xXhpUg1zWGmftA/7jamh+7+ydKRuT0ORpWS3wOSP0yT1FOlIZa7mIJjpVPipErsyvVqB9cfTFA==, + } '@codemirror/search@6.6.0': - resolution: {integrity: sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==} + resolution: + { + integrity: sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==, + } '@codemirror/state@6.5.4': - resolution: {integrity: sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==} + resolution: + { + integrity: sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==, + } '@codemirror/theme-one-dark@6.1.3': - resolution: {integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==} + resolution: + { + integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==, + } - '@codemirror/view@6.39.11': - resolution: {integrity: sha512-bWdeR8gWM87l4DB/kYSF9A+dVackzDb/V56Tq7QVrQ7rn86W0rgZFtlL3g3pem6AeGcb9NQNoy3ao4WpW4h5tQ==} + '@codemirror/view@6.39.16': + resolution: + { + integrity: sha512-m6S22fFpKtOWhq8HuhzsI1WzUP/hB9THbDj0Tl5KX4gbO6Y91hwBl7Yky33NdvB6IffuRFiBxf1R8kJMyXmA4Q==, + } '@csstools/postcss-color-function@1.1.1': - resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/postcss-font-format-keywords@1.0.1': - resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/postcss-hwb-function@1.0.2': - resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/postcss-ic-unit@1.0.1': - resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/postcss-is-pseudo-class@2.0.7': - resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/postcss-normalize-display-values@1.0.1': - resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/postcss-oklab-function@1.1.1': - resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/postcss-progressive-custom-properties@1.3.0': - resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.3 '@csstools/postcss-stepped-value-functions@1.0.1': - resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/postcss-unset-value@1.0.2': - resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 '@csstools/selector-specificity@2.2.0': - resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} - engines: {node: ^14 || ^16 || >=18} + resolution: + { + integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==, + } + engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss-selector-parser: ^6.0.10 '@ctrl/tinycolor@3.6.1': - resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==, + } + engines: { node: '>=10' } '@dnd-kit/accessibility@3.1.1': - resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} + resolution: + { + integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==, + } peerDependencies: react: '>=16.8.0' '@dnd-kit/core@6.3.1': - resolution: {integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==} + resolution: + { + integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==, + } peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' '@dnd-kit/modifiers@6.0.1': - resolution: {integrity: sha512-rbxcsg3HhzlcMHVHWDuh9LCjpOVAgqbV78wLGI8tziXY3+qcMQ61qVXIvNKQFuhj75dSfD+o+PYZQ/NUk2A23A==} + resolution: + { + integrity: sha512-rbxcsg3HhzlcMHVHWDuh9LCjpOVAgqbV78wLGI8tziXY3+qcMQ61qVXIvNKQFuhj75dSfD+o+PYZQ/NUk2A23A==, + } peerDependencies: '@dnd-kit/core': ^6.0.6 react: '>=16.8.0' '@dnd-kit/sortable@7.0.2': - resolution: {integrity: sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==} + resolution: + { + integrity: sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==, + } peerDependencies: '@dnd-kit/core': ^6.0.7 react: '>=16.8.0' '@dnd-kit/utilities@3.2.2': - resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} + resolution: + { + integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==, + } peerDependencies: react: '>=16.8.0' '@emotion/hash@0.8.0': - resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + resolution: + { + integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==, + } '@emotion/is-prop-valid@1.4.0': - resolution: {integrity: sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==} + resolution: + { + integrity: sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==, + } '@emotion/memoize@0.9.0': - resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + resolution: + { + integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==, + } '@emotion/unitless@0.10.0': - resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + resolution: + { + integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==, + } '@emotion/unitless@0.7.5': - resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} + resolution: + { + integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==, + } '@emotion/unitless@0.8.1': - resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + resolution: + { + integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==, + } '@esbuild-kit/cjs-loader@2.4.4': - resolution: {integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==} + resolution: + { + integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==, + } deprecated: 'Merged into tsx: https://tsx.is' '@esbuild-kit/core-utils@3.3.2': - resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + resolution: + { + integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==, + } deprecated: 'Merged into tsx: https://tsx.is' '@esbuild-kit/esm-loader@2.6.5': - resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + resolution: + { + integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==, + } deprecated: 'Merged into tsx: https://tsx.is' '@esbuild/aix-ppc64@0.21.4': - resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==, + } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==, + } + engines: { node: '>=12' } cpu: [arm64] os: [android] '@esbuild/android-arm64@0.21.4': - resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==, + } + engines: { node: '>=12' } cpu: [arm64] os: [android] '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==, + } + engines: { node: '>=12' } cpu: [arm] os: [android] '@esbuild/android-arm@0.21.4': - resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==, + } + engines: { node: '>=12' } cpu: [arm] os: [android] '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==, + } + engines: { node: '>=12' } cpu: [x64] os: [android] '@esbuild/android-x64@0.21.4': - resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==, + } + engines: { node: '>=12' } cpu: [x64] os: [android] '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==, + } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] '@esbuild/darwin-arm64@0.21.4': - resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==, + } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [darwin] '@esbuild/darwin-x64@0.21.4': - resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==, + } + engines: { node: '>=12' } cpu: [x64] os: [darwin] '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==, + } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] '@esbuild/freebsd-arm64@0.21.4': - resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==, + } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] '@esbuild/freebsd-x64@0.21.4': - resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==, + } + engines: { node: '>=12' } cpu: [arm64] os: [linux] '@esbuild/linux-arm64@0.21.4': - resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==, + } + engines: { node: '>=12' } cpu: [arm64] os: [linux] '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==, + } + engines: { node: '>=12' } cpu: [arm] os: [linux] '@esbuild/linux-arm@0.21.4': - resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==, + } + engines: { node: '>=12' } cpu: [arm] os: [linux] '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==, + } + engines: { node: '>=12' } cpu: [ia32] os: [linux] '@esbuild/linux-ia32@0.21.4': - resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==, + } + engines: { node: '>=12' } cpu: [ia32] os: [linux] '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==, + } + engines: { node: '>=12' } cpu: [loong64] os: [linux] '@esbuild/linux-loong64@0.21.4': - resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==, + } + engines: { node: '>=12' } cpu: [loong64] os: [linux] '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==, + } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] '@esbuild/linux-mips64el@0.21.4': - resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==, + } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==, + } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] '@esbuild/linux-ppc64@0.21.4': - resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==, + } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==, + } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] '@esbuild/linux-riscv64@0.21.4': - resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==, + } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==, + } + engines: { node: '>=12' } cpu: [s390x] os: [linux] '@esbuild/linux-s390x@0.21.4': - resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==, + } + engines: { node: '>=12' } cpu: [s390x] os: [linux] '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==, + } + engines: { node: '>=12' } cpu: [x64] os: [linux] '@esbuild/linux-x64@0.21.4': - resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==, + } + engines: { node: '>=12' } cpu: [x64] os: [linux] '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==, + } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] '@esbuild/netbsd-x64@0.21.4': - resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==, + } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==, + } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] '@esbuild/openbsd-x64@0.21.4': - resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==, + } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [sunos] '@esbuild/sunos-x64@0.21.4': - resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==, + } + engines: { node: '>=12' } cpu: [x64] os: [sunos] '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==, + } + engines: { node: '>=12' } cpu: [arm64] os: [win32] '@esbuild/win32-arm64@0.21.4': - resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==, + } + engines: { node: '>=12' } cpu: [arm64] os: [win32] '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==, + } + engines: { node: '>=12' } cpu: [ia32] os: [win32] '@esbuild/win32-ia32@0.21.4': - resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==, + } + engines: { node: '>=12' } cpu: [ia32] os: [win32] '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [win32] '@esbuild/win32-x64@0.21.4': - resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==, + } + engines: { node: '>=12' } cpu: [x64] os: [win32] '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 '@eslint-community/regexpp@4.12.2': - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + resolution: + { + integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } '@eslint/js@8.35.0': - resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } '@exodus/schemasafe@1.3.0': - resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + resolution: + { + integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==, + } '@floating-ui/core@0.6.2': - resolution: {integrity: sha512-jktYRmZwmau63adUG3GKOAVCofBXkk55S/zQ94XOorAHhwqFIOFAy1rSp2N0Wp6/tGbe9V3u/ExlGZypyY17rg==} + resolution: + { + integrity: sha512-jktYRmZwmau63adUG3GKOAVCofBXkk55S/zQ94XOorAHhwqFIOFAy1rSp2N0Wp6/tGbe9V3u/ExlGZypyY17rg==, + } '@floating-ui/dom@0.4.5': - resolution: {integrity: sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw==} + resolution: + { + integrity: sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw==, + } '@floating-ui/react-dom-interactions@0.3.1': - resolution: {integrity: sha512-tP2KEh7EHJr5hokSBHcPGojb+AorDNUf0NYfZGg/M+FsMvCOOsSEeEF0O1NDfETIzDnpbHnCs0DuvCFhSMSStg==} + resolution: + { + integrity: sha512-tP2KEh7EHJr5hokSBHcPGojb+AorDNUf0NYfZGg/M+FsMvCOOsSEeEF0O1NDfETIzDnpbHnCs0DuvCFhSMSStg==, + } deprecated: Package renamed to @floating-ui/react '@floating-ui/react-dom@0.6.3': - resolution: {integrity: sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==} + resolution: + { + integrity: sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==, + } peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' '@formatjs/intl-displaynames@1.2.10': - resolution: {integrity: sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==} + resolution: + { + integrity: sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==, + } '@formatjs/intl-listformat@1.4.8': - resolution: {integrity: sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==} + resolution: + { + integrity: sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==, + } '@formatjs/intl-relativetimeformat@4.5.16': - resolution: {integrity: sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==} + resolution: + { + integrity: sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==, + } '@formatjs/intl-unified-numberformat@3.3.7': - resolution: {integrity: sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==} + resolution: + { + integrity: sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==, + } deprecated: We have renamed the package to @formatjs/intl-numberformat '@formatjs/intl-utils@2.3.0': - resolution: {integrity: sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==} + resolution: + { + integrity: sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==, + } deprecated: the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: '>=10.10.0' } deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: '>=12.22' } '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + resolution: + { + integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==, + } deprecated: Use @eslint/object-schema instead '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + resolution: + { + integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==, + } '@iconify/utils@2.1.1': - resolution: {integrity: sha512-H8xz74JDzDw8f0qLxwIaxFMnFkbXTZNWEufOk3WxaLFHV4h0A2FjIDgNk5LzC0am4jssnjdeJJdRs3UFu3582Q==} + resolution: + { + integrity: sha512-H8xz74JDzDw8f0qLxwIaxFMnFkbXTZNWEufOk3WxaLFHV4h0A2FjIDgNk5LzC0am4jssnjdeJJdRs3UFu3582Q==, + } '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, + } + engines: { node: '>=12' } '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, + } + engines: { node: '>=8' } '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: '>=8' } '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } '@jest/transform@29.7.0': - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } '@jest/types@24.9.0': - resolution: {integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==, + } + engines: { node: '>= 6' } '@jest/types@27.5.1': - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + resolution: + { + integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==, + } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + resolution: + { + integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==, + } '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + resolution: + { + integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==, + } '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: '>=6.0.0' } '@jridgewell/source-map@0.3.11': - resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + resolution: + { + integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==, + } '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + resolution: + { + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, + } '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + resolution: + { + integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==, + } - '@lezer/common@1.5.0': - resolution: {integrity: sha512-PNGcolp9hr4PJdXR4ix7XtixDrClScvtSCYW3rQG106oVMOOI+jFb+0+J3mbeL/53g1Zd6s0kJzaw6Ri68GmAA==} + '@lezer/common@1.5.1': + resolution: + { + integrity: sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==, + } '@lezer/highlight@1.2.3': - resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==} + resolution: + { + integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==, + } '@lezer/java@1.1.3': - resolution: {integrity: sha512-yHquUfujwg6Yu4Fd1GNHCvidIvJwi/1Xu2DaKl/pfWIA2c1oXkVvawH3NyXhCaFx4OdlYBVX5wvz2f7Aoa/4Xw==} + resolution: + { + integrity: sha512-yHquUfujwg6Yu4Fd1GNHCvidIvJwi/1Xu2DaKl/pfWIA2c1oXkVvawH3NyXhCaFx4OdlYBVX5wvz2f7Aoa/4Xw==, + } '@lezer/javascript@1.5.4': - resolution: {integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==} + resolution: + { + integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==, + } - '@lezer/lr@1.4.7': - resolution: {integrity: sha512-wNIFWdSUfX9Jc6ePMzxSPVgTVB4EOfDIwLQLWASyiUdHKaMsiilj9bYiGkGQCKVodd0x6bgQCV207PILGFCF9Q==} + '@lezer/lr@1.4.8': + resolution: + { + integrity: sha512-bPWa0Pgx69ylNlMlPvBPryqeLYQjyJjqPx+Aupm5zydLIF3NE+6MMLT8Yi23Bd9cif9VS00aUebn+6fDIGBcDA==, + } '@loadable/component@5.15.2': - resolution: {integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==, + } + engines: { node: '>=8' } peerDependencies: react: '>=16.3.0' '@marijn/find-cluster-break@1.0.2': - resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} + resolution: + { + integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==, + } '@module-federation/error-codes@0.8.12': - resolution: {integrity: sha512-K+F4iiV62KY+IpjK6ggn3vI5Yt/T/LUb6xuazY78bhAGwLaHe1DYr7BfSutKMpiB+Dcs6U4dYOBogSMnnl0j4Q==} + resolution: + { + integrity: sha512-K+F4iiV62KY+IpjK6ggn3vI5Yt/T/LUb6xuazY78bhAGwLaHe1DYr7BfSutKMpiB+Dcs6U4dYOBogSMnnl0j4Q==, + } '@module-federation/runtime-core@0.6.20': - resolution: {integrity: sha512-rX7sd/i7tpkAbfMD4TtFt/57SWNC/iv7UYS8g+ad7mnCJggWE1YEKsKSFgcvp4zU3thwR+j2y+kOCwd1sQvxEA==} + resolution: + { + integrity: sha512-rX7sd/i7tpkAbfMD4TtFt/57SWNC/iv7UYS8g+ad7mnCJggWE1YEKsKSFgcvp4zU3thwR+j2y+kOCwd1sQvxEA==, + } '@module-federation/runtime@0.8.12': - resolution: {integrity: sha512-eYohRfambj/qzxz6tEakDn459ROcixWO4zL5gmTEOmwG+jCDnxGR14j1guopyrrpjb6EKFNrPVWtYZTPPfGdQQ==} + resolution: + { + integrity: sha512-eYohRfambj/qzxz6tEakDn459ROcixWO4zL5gmTEOmwG+jCDnxGR14j1guopyrrpjb6EKFNrPVWtYZTPPfGdQQ==, + } '@module-federation/sdk@0.8.12': - resolution: {integrity: sha512-zFgXYBHbzwIqlrLfn6ewIRXDZCctDDQT2nFhbsZr29yWQgpmW1fm2kJCxQsG0DENGGN1KpzfDoxjjvSKJS/ZHA==} + resolution: + { + integrity: sha512-zFgXYBHbzwIqlrLfn6ewIRXDZCctDDQT2nFhbsZr29yWQgpmW1fm2kJCxQsG0DENGGN1KpzfDoxjjvSKJS/ZHA==, + } '@module-federation/webpack-bundler-runtime@0.8.12': - resolution: {integrity: sha512-zd343RO7/R7Xjh5ym5KdnYQ70z4LBmMxWsa44FS0nyNv04sOq6V1eZSCGKbEhbfqqhbS5Wfj8OzJyedeVvV/OQ==} + resolution: + { + integrity: sha512-zd343RO7/R7Xjh5ym5KdnYQ70z4LBmMxWsa44FS0nyNv04sOq6V1eZSCGKbEhbfqqhbS5Wfj8OzJyedeVvV/OQ==, + } '@naoak/workerize-transferable@0.1.0': - resolution: {integrity: sha512-fDLfuP71IPNP5+zSfxFb52OHgtjZvauRJWbVnpzQ7G7BjcbLjTny0OW1d3ZO806XKpLWNKmeeW3MhE0sy8iwYQ==} + resolution: + { + integrity: sha512-fDLfuP71IPNP5+zSfxFb52OHgtjZvauRJWbVnpzQ7G7BjcbLjTny0OW1d3ZO806XKpLWNKmeeW3MhE0sy8iwYQ==, + } peerDependencies: workerize-loader: '*' '@napi-rs/nice-android-arm-eabi@1.1.1': - resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==, + } + engines: { node: '>= 10' } cpu: [arm] os: [android] '@napi-rs/nice-android-arm64@1.1.1': - resolution: {integrity: sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [android] '@napi-rs/nice-darwin-arm64@1.1.1': - resolution: {integrity: sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [darwin] '@napi-rs/nice-darwin-x64@1.1.1': - resolution: {integrity: sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==, + } + engines: { node: '>= 10' } cpu: [x64] os: [darwin] '@napi-rs/nice-freebsd-x64@1.1.1': - resolution: {integrity: sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==, + } + engines: { node: '>= 10' } cpu: [x64] os: [freebsd] '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': - resolution: {integrity: sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==, + } + engines: { node: '>= 10' } cpu: [arm] os: [linux] '@napi-rs/nice-linux-arm64-gnu@1.1.1': - resolution: {integrity: sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] libc: [glibc] '@napi-rs/nice-linux-arm64-musl@1.1.1': - resolution: {integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] libc: [musl] '@napi-rs/nice-linux-ppc64-gnu@1.1.1': - resolution: {integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==, + } + engines: { node: '>= 10' } cpu: [ppc64] os: [linux] libc: [glibc] '@napi-rs/nice-linux-riscv64-gnu@1.1.1': - resolution: {integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==, + } + engines: { node: '>= 10' } cpu: [riscv64] os: [linux] libc: [glibc] '@napi-rs/nice-linux-s390x-gnu@1.1.1': - resolution: {integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==, + } + engines: { node: '>= 10' } cpu: [s390x] os: [linux] libc: [glibc] '@napi-rs/nice-linux-x64-gnu@1.1.1': - resolution: {integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] libc: [glibc] '@napi-rs/nice-linux-x64-musl@1.1.1': - resolution: {integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] libc: [musl] '@napi-rs/nice-openharmony-arm64@1.1.1': - resolution: {integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [openharmony] '@napi-rs/nice-win32-arm64-msvc@1.1.1': - resolution: {integrity: sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [win32] '@napi-rs/nice-win32-ia32-msvc@1.1.1': - resolution: {integrity: sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==, + } + engines: { node: '>= 10' } cpu: [ia32] os: [win32] '@napi-rs/nice-win32-x64-msvc@1.1.1': - resolution: {integrity: sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==, + } + engines: { node: '>= 10' } cpu: [x64] os: [win32] '@napi-rs/nice@1.1.1': - resolution: {integrity: sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==, + } + engines: { node: '>= 10' } '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': - resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + resolution: + { + integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==, + } '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: '>= 8' } '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: '>= 8' } '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: '>= 8' } '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, + } + engines: { node: '>=14' } '@pkgr/utils@2.4.2': - resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } '@rc-component/async-validator@5.1.0': - resolution: {integrity: sha512-n4HcR5siNUXRX23nDizbZBQPO0ZM/5oTtmKZ6/eqL0L2bo747cklFdZGRN2f+c9qWGICwDzrhW0H7tE9PptdcA==} - engines: {node: '>=14.x'} + resolution: + { + integrity: sha512-n4HcR5siNUXRX23nDizbZBQPO0ZM/5oTtmKZ6/eqL0L2bo747cklFdZGRN2f+c9qWGICwDzrhW0H7tE9PptdcA==, + } + engines: { node: '>=14.x' } '@rc-component/color-picker@2.0.1': - resolution: {integrity: sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==} + resolution: + { + integrity: sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' '@rc-component/context@1.4.0': - resolution: {integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==} + resolution: + { + integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' '@rc-component/mini-decimal@1.1.0': - resolution: {integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==, + } + engines: { node: '>=8.x' } '@rc-component/mutate-observer@1.1.0': - resolution: {integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' '@rc-component/portal@1.1.2': - resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' '@rc-component/qrcode@1.1.1': - resolution: {integrity: sha512-LfLGNymzKdUPjXUbRP+xOhIWY4jQ+YMj5MmWAcgcAq1Ij8XP7tRmAXqyuv96XvLUBE/5cA8hLFl9eO1JQMujrA==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-LfLGNymzKdUPjXUbRP+xOhIWY4jQ+YMj5MmWAcgcAq1Ij8XP7tRmAXqyuv96XvLUBE/5cA8hLFl9eO1JQMujrA==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' '@rc-component/tour@1.15.1': - resolution: {integrity: sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' '@rc-component/trigger@2.3.1': - resolution: {integrity: sha512-ORENF39PeXTzM+gQEshuk460Z8N4+6DkjpxlpE7Q3gYy1iBpLrx0FOJz3h62ryrJZ/3zCAUIkT1Pb/8hHWpb3A==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-ORENF39PeXTzM+gQEshuk460Z8N4+6DkjpxlpE7Q3gYy1iBpLrx0FOJz3h62ryrJZ/3zCAUIkT1Pb/8hHWpb3A==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - '@rc-component/util@1.7.0': - resolution: {integrity: sha512-tIvIGj4Vl6fsZFvWSkYw9sAfiCKUXMyhVz6kpKyZbwyZyRPqv2vxYZROdaO1VB4gqTNvUZFXh6i3APUiterw5g==} + '@rc-component/util@1.9.0': + resolution: + { + integrity: sha512-5uW6AfhIigCWeEQDthTozlxiT4Prn6xYQWeO0xokjcaa186OtwPRHBZJ2o0T0FhbjGhZ3vXdbkv0sx3gAYW7Vg==, + } peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sinclair/typebox@0.27.10': + resolution: + { + integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==, + } '@stagewise/toolbar@0.6.2': - resolution: {integrity: sha512-WN7PWaOT6YQKjJYL4/85V5UU0eZEws+/UBT/J4wJOEbFxoluLuchqh7xVTmUZTtw0q0xpzlgX8Vb0kAZf/pjmw==} + resolution: + { + integrity: sha512-WN7PWaOT6YQKjJYL4/85V5UU0eZEws+/UBT/J4wJOEbFxoluLuchqh7xVTmUZTtw0q0xpzlgX8Vb0kAZf/pjmw==, + } deprecated: 'This package is deprecated and has been replaced by the stagewise CLI. Get started with the CLI here: https://stagewise.io/docs' '@stylelint/postcss-css-in-js@0.38.0': - resolution: {integrity: sha512-XOz5CAe49kS95p5yRd+DAIWDojTjfmyAQ4bbDlXMdbZTQ5t0ThjSLvWI6JI2uiS7MFurVBkZ6zUqcimzcLTBoQ==} + resolution: + { + integrity: sha512-XOz5CAe49kS95p5yRd+DAIWDojTjfmyAQ4bbDlXMdbZTQ5t0ThjSLvWI6JI2uiS7MFurVBkZ6zUqcimzcLTBoQ==, + } deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. peerDependencies: postcss: '>=7.0.0' postcss-syntax: '>=0.36.2' '@svgr/babel-plugin-add-jsx-attribute@6.5.1': - resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==, + } + engines: { node: '>=10' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==, + } + engines: { node: '>=14' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==, + } + engines: { node: '>=14' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1': - resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==, + } + engines: { node: '>=10' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-svg-dynamic-title@6.5.1': - resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==, + } + engines: { node: '>=10' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-svg-em-dimensions@6.5.1': - resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==, + } + engines: { node: '>=10' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-transform-react-native-svg@6.5.1': - resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==, + } + engines: { node: '>=10' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-plugin-transform-svg-component@6.5.1': - resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==, + } + engines: { node: '>=12' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/babel-preset@6.5.1': - resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==, + } + engines: { node: '>=10' } peerDependencies: '@babel/core': ^7.0.0-0 '@svgr/core@6.5.1': - resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==, + } + engines: { node: '>=10' } '@svgr/hast-util-to-babel-ast@6.5.1': - resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==, + } + engines: { node: '>=10' } '@svgr/plugin-jsx@6.5.1': - resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==, + } + engines: { node: '>=10' } peerDependencies: '@svgr/core': ^6.0.0 '@svgr/plugin-svgo@6.5.1': - resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==, + } + engines: { node: '>=10' } peerDependencies: '@svgr/core': '*' '@swc/helpers@0.5.1': - resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} + resolution: + { + integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==, + } '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + resolution: + { + integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==, + } '@tanstack/match-sorter-utils@8.19.4': - resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==, + } + engines: { node: '>=12' } '@tanstack/query-core@4.43.0': - resolution: {integrity: sha512-m1QeUUIpNXDYxmfuuWNFZLky0EwVmbE0hj8ulZ2nIGA1183raJgDCn0IKlxug80NotRqzodxAaoYTKHbE1/P/Q==} + resolution: + { + integrity: sha512-m1QeUUIpNXDYxmfuuWNFZLky0EwVmbE0hj8ulZ2nIGA1183raJgDCn0IKlxug80NotRqzodxAaoYTKHbE1/P/Q==, + } '@tanstack/react-query-devtools@4.43.0': - resolution: {integrity: sha512-UwoY7qMysWMjuIE0lb+8NqTuovC1Uj1761lDybAMYsDPFQVAmahTeIzrclYKSK7CsW4mk9LvKAa1Z7E3141/VQ==} + resolution: + { + integrity: sha512-UwoY7qMysWMjuIE0lb+8NqTuovC1Uj1761lDybAMYsDPFQVAmahTeIzrclYKSK7CsW4mk9LvKAa1Z7E3141/VQ==, + } peerDependencies: '@tanstack/react-query': ^4.43.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 '@tanstack/react-query@4.43.0': - resolution: {integrity: sha512-Lj8luFKHQL27oZbw5T8xdTbsfAPp2+bCtSCa2bAVvIwnvNfRP0hpB1GxfKFgCktat8lPcYBHAu8eMTXzz2sQtQ==} + resolution: + { + integrity: sha512-Lj8luFKHQL27oZbw5T8xdTbsfAPp2+bCtSCa2bAVvIwnvNfRP0hpB1GxfKFgCktat8lPcYBHAu8eMTXzz2sQtQ==, + } peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1522,192 +2366,359 @@ packages: react-native: optional: true - '@trysound/sax@0.2.0': - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + resolution: + { + integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, + } '@types/babel__generator@7.27.0': - resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + resolution: + { + integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==, + } '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + resolution: + { + integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, + } '@types/babel__traverse@7.28.0': - resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + resolution: + { + integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==, + } '@types/d3-array@3.2.2': - resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + resolution: + { + integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==, + } '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + resolution: + { + integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==, + } '@types/d3-dispatch@3.0.7': - resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + resolution: + { + integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==, + } '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + resolution: + { + integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==, + } '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + resolution: + { + integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==, + } '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + resolution: + { + integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==, + } '@types/d3-force@3.0.10': - resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + resolution: + { + integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==, + } '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + resolution: + { + integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==, + } '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + resolution: + { + integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==, + } '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + resolution: + { + integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==, + } '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + resolution: + { + integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==, + } '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + resolution: + { + integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==, + } '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + resolution: + { + integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==, + } '@types/d3-random@3.0.3': - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + resolution: + { + integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==, + } '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + resolution: + { + integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==, + } '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + resolution: + { + integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==, + } '@types/d3-shape@3.1.8': - resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + resolution: + { + integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==, + } '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + resolution: + { + integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==, + } '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + resolution: + { + integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==, + } '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + resolution: + { + integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==, + } '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + resolution: + { + integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==, + } '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + resolution: + { + integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, + } '@types/geojson@7946.0.16': - resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + resolution: + { + integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==, + } '@types/graceful-fs@4.1.9': - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + resolution: + { + integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==, + } '@types/hapi__joi@17.1.9': - resolution: {integrity: sha512-oOMFT8vmCTFncsF1engrs04jatz8/Anwx3De9uxnOK4chgSEgWBvFtpSoJo8u3784JNO+ql5tzRR6phHoRnscQ==} + resolution: + { + integrity: sha512-oOMFT8vmCTFncsF1engrs04jatz8/Anwx3De9uxnOK4chgSEgWBvFtpSoJo8u3784JNO+ql5tzRR6phHoRnscQ==, + } '@types/history@4.7.11': - resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + resolution: + { + integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==, + } '@types/history@5.0.0': - resolution: {integrity: sha512-hy8b7Y1J8OGe6LbAjj3xniQrj3v6lsivCcrmf4TzSgPzLkhIeKgc5IZnT7ReIqmEuodjfO8EYAuoFvIrHi/+jQ==} + resolution: + { + integrity: sha512-hy8b7Y1J8OGe6LbAjj3xniQrj3v6lsivCcrmf4TzSgPzLkhIeKgc5IZnT7ReIqmEuodjfO8EYAuoFvIrHi/+jQ==, + } deprecated: This is a stub types definition. history provides its own type definitions, so you do not need this installed. '@types/hoist-non-react-statics@3.3.7': - resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==} + resolution: + { + integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==, + } peerDependencies: '@types/react': '*' '@types/html-minifier-terser@6.1.0': - resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + resolution: + { + integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==, + } '@types/invariant@2.2.37': - resolution: {integrity: sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==} + resolution: + { + integrity: sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==, + } '@types/isomorphic-fetch@0.0.34': - resolution: {integrity: sha512-BmJKuPCZCR6pbYYgi5nKFJrPC4pLoBgsi/B1nFN64Ba+hLLGUcKPIh7eVlR2xG763Ap08hgQafq/Wx4RFb0omQ==} + resolution: + { + integrity: sha512-BmJKuPCZCR6pbYYgi5nKFJrPC4pLoBgsi/B1nFN64Ba+hLLGUcKPIh7eVlR2xG763Ap08hgQafq/Wx4RFb0omQ==, + } '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + resolution: + { + integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==, + } '@types/istanbul-reports@1.1.2': - resolution: {integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==} + resolution: + { + integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==, + } '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + resolution: + { + integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==, + } '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + resolution: + { + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, + } '@types/minimist@1.2.5': - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + resolution: + { + integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==, + } - '@types/node@25.2.0': - resolution: {integrity: sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==} + '@types/node@25.3.5': + resolution: + { + integrity: sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==, + } '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + resolution: + { + integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==, + } '@types/parse-json@4.0.2': - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + resolution: + { + integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==, + } '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + resolution: + { + integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==, + } peerDependencies: '@types/react': ^19.2.0 '@types/react-router-dom@4.3.5': - resolution: {integrity: sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA==} + resolution: + { + integrity: sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA==, + } '@types/react-router-redux@5.0.27': - resolution: {integrity: sha512-qC5lbuP2K/kMR/HE3e5ltCJptyiQhmfV0wbklqcqWDbNdpJBDwUsBGP4f/0RDYJf09+OTbz43u6iG+8E0Zcwqw==} + resolution: + { + integrity: sha512-qC5lbuP2K/kMR/HE3e5ltCJptyiQhmfV0wbklqcqWDbNdpJBDwUsBGP4f/0RDYJf09+OTbz43u6iG+8E0Zcwqw==, + } '@types/react-router@5.1.20': - resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} - - '@types/react@19.2.13': - resolution: {integrity: sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ==} + resolution: + { + integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==, + } - '@types/react@19.2.13': - resolution: {integrity: sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ==} + '@types/react@19.2.14': + resolution: + { + integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==, + } '@types/resolve@1.20.6': - resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} + resolution: + { + integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==, + } '@types/semver@7.7.1': - resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} + resolution: + { + integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==, + } '@types/stylis@4.2.7': - resolution: {integrity: sha512-VgDNokpBoKF+wrdvhAAfS55OMQpL6QRglwTwNC3kIgBrzZxA4WsFj+2eLfEA/uMUDzBcEhYmjSbwQakn/i3ajA==} + resolution: + { + integrity: sha512-VgDNokpBoKF+wrdvhAAfS55OMQpL6QRglwTwNC3kIgBrzZxA4WsFj+2eLfEA/uMUDzBcEhYmjSbwQakn/i3ajA==, + } '@types/use-sync-external-store@0.0.3': - resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} + resolution: + { + integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==, + } '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + resolution: + { + integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==, + } '@types/yargs@13.0.12': - resolution: {integrity: sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==} + resolution: + { + integrity: sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==, + } '@types/yargs@16.0.11': - resolution: {integrity: sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==} + resolution: + { + integrity: sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==, + } '@types/yargs@17.0.35': - resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + resolution: + { + integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==, + } '@typescript-eslint/eslint-plugin@5.62.0': - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: '@typescript-eslint/parser': ^5.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1717,8 +2728,11 @@ packages: optional: true '@typescript-eslint/parser@5.62.0': - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '*' @@ -1727,12 +2741,18 @@ packages: optional: true '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } '@typescript-eslint/type-utils@5.62.0': - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: '*' typescript: '*' @@ -1741,12 +2761,18 @@ packages: optional: true '@typescript-eslint/types@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1754,17 +2780,26 @@ packages: optional: true '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 '@typescript-eslint/visitor-keys@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@uiw/codemirror-extensions-basic-setup@4.25.4': - resolution: {integrity: sha512-YzNwkm0AbPv1EXhCHYR5v0nqfemG2jEB0Z3Att4rBYqKrlG7AA9Rhjc3IyBaOzsBu18wtrp9/+uhTyu7TXSRng==} + resolution: + { + integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + '@uiw/codemirror-extensions-basic-setup@4.25.7': + resolution: + { + integrity: sha512-tPV/AGjF4yM22D5mnyH7EuYBkWO05wF5Y4x3lmQJo6LuHmhjh0RQsVDjqeIgNOkXT3UO9OdkL4dzxw465/JZVg==, + } peerDependencies: '@codemirror/autocomplete': '>=6.0.0' '@codemirror/commands': '>=6.0.0' @@ -1774,8 +2809,11 @@ packages: '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' - '@uiw/react-codemirror@4.25.4': - resolution: {integrity: sha512-ipO067oyfUw+DVaXhQCxkB0ZD9b7RnY+ByrprSYSKCHaULvJ3sqWYC/Zen6zVQ8/XC4o5EPBfatGiX20kC7XGA==} + '@uiw/react-codemirror@4.25.7': + resolution: + { + integrity: sha512-s/EbEe0dFANWEgfLbfdIrrOGv0R7M1XhkKG3ShroBeH6uP9pVNQy81YHOLRCSVcytTp9zAWRNfXR/+XxZTvV7w==, + } peerDependencies: '@babel/runtime': '>=7.11.0' '@codemirror/state': '>=6.0.0' @@ -1785,204 +2823,315 @@ packages: react: '>=17.0.0' react-dom: '>=17.0.0' - '@umijs/ast@4.6.26': - resolution: {integrity: sha512-7fk52I3eQkC5fbL+vAgOWmZIKUqRiWhgzYY4qiUk7VozKAHQIbdD6j9oe7pWhomfU+l2XeIt2GuGmkQz4zY/JQ==} - - '@umijs/babel-preset-umi@4.6.25': - resolution: {integrity: sha512-q1guW0Qn3jM0vOJPoTmKEwwhv65p162ejjrkPXWkaeBey8LaFzzAJfIHf4dF7f3EB/Qt19GpIZHw4WGxKO/3BQ==} - - '@umijs/babel-preset-umi@4.6.26': - resolution: {integrity: sha512-eon3Jc5OresfshUZrAZmExsJUESkJ//HBtor4rLnHTDDDimseOCEMJ2iBaBI+YObZuU0s+k2ZjDjOpxZ62dLwQ==} - - '@umijs/bundler-esbuild@4.6.26': - resolution: {integrity: sha512-m5B/i5F00g4o/oIXMedkOv1sWF3a3u/Rw48NsML9XgLmKbxKjjmht+ZCFYssteKGx6SFqCV81/ERIuNco75K3A==} + '@umijs/ast@4.6.31': + resolution: + { + integrity: sha512-QoZ/T9RHJaAypVVhiCsWRIO6GSQ7PEpRe1ReCoSDrnUnEAa5fH1OvuN9HpeccvbdOiwpERHtFjUfta/oVXcg0w==, + } + + '@umijs/babel-preset-umi@4.6.31': + resolution: + { + integrity: sha512-2kh/1iVZK0BPBU5BEauMDacrmcO+wnYN0/GJcwMN7s+9vvNVxI9AVR3an90T5/5QHxuoVuNK34dQ0ouAfWPtdA==, + } + + '@umijs/bundler-esbuild@4.6.31': + resolution: + { + integrity: sha512-iGk4WD4GgTsxPNawuyNJESwdOxgYcvdQ77IMN1VWHWg6RxuxGttDE2eFVSiKhiAm0zl7TBM2I/aZSW/DHw463g==, + } hasBin: true '@umijs/bundler-mako@0.11.10': - resolution: {integrity: sha512-RNop0kmMXJUOLQYp61ZW3NVdD8ikOPW0zoCmgkN+nIUVw+QKcA+9tSPEcT6Rr8id9+Ed3lMjLqktev20guRp1g==} - - '@umijs/bundler-utils@4.6.25': - resolution: {integrity: sha512-egWisHU2yUVePTLWGsjHT3ooJc5/a8cZELFB6+BlQiZg0RZujFqU05CIogPlkMY8KxP0+CX4Evh7s8TcW6sDGA==} - - '@umijs/bundler-utils@4.6.26': - resolution: {integrity: sha512-I6rw7L5VKrwkNm1BoMIAQ/G2Sy7UbqqEzj84yoJ8X9osI4ysg7Ko8DOwaD/41Y/DXVSuCiUZd5tlGxEESBjheA==} - - '@umijs/bundler-utoopack@4.6.26': - resolution: {integrity: sha512-rHraPpEWAlS94OOmgT8PZ7J4cGBdoGh9hxk3b3Z5oNsyJI9bC8kMFDmUFJFf4Y4Jd2UAwGKn/Bykdyv2xGd3Wg==} - - '@umijs/bundler-vite@4.6.26': - resolution: {integrity: sha512-0FtSFL6KN77YGZECQ+6MSO98j9wTl14Sp4VJ6i2OWmOgne0uA+2tBiar7/2l12te3lDr6Ni4wTwBDGBbnQpOvA==} + resolution: + { + integrity: sha512-RNop0kmMXJUOLQYp61ZW3NVdD8ikOPW0zoCmgkN+nIUVw+QKcA+9tSPEcT6Rr8id9+Ed3lMjLqktev20guRp1g==, + } + + '@umijs/bundler-utils@4.6.31': + resolution: + { + integrity: sha512-5RsOut1EETD4fAyshUQNQUCE19osobcDBwudZbqIpth/Ofbo9x37OJnvU7RBWMtzOGQFIZGMkFkPqH6xllI+HQ==, + } + + '@umijs/bundler-utoopack@4.6.31': + resolution: + { + integrity: sha512-PCx0XunuJORFeaeLSmpw/pBujvmbY+k0bO4x9rPPN3dSKABgKvvcKj4+QHHVsxtHEnCvL+dM3FozapUNPvnJqQ==, + } + + '@umijs/bundler-vite@4.6.31': + resolution: + { + integrity: sha512-Rpy5YBjvu9z42fXrZcNP6SHJ+BRxYXH8be+y+SdzwkFGNsMyNAkWsj4tz4uRVjOlQXx86HIo0JMXSytciKeW4g==, + } hasBin: true - '@umijs/bundler-webpack@4.6.26': - resolution: {integrity: sha512-t5c2Ms5B2sAW+WvoXrP0RacvAV7lfRr1Fq0XqLb+Y6g8q2dV1BbLbOrtwsJuXM7WGCPrHmTIqKorPD/V5+XL0g==} + '@umijs/bundler-webpack@4.6.31': + resolution: + { + integrity: sha512-Tlb4b0u8bXR1Vs4zWSuHhkktjbuww+rMRqgGykG2w/6A4UcW2cRKcbIlgzeRbWq/+3hvIu3Rpi7Py0UvNqQHkA==, + } hasBin: true '@umijs/case-sensitive-paths-webpack-plugin@1.0.1': - resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==} + resolution: + { + integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==, + } - '@umijs/core@4.6.26': - resolution: {integrity: sha512-g5bDfdtEFKEk5G+CyBVSp/Efx5Nk7/tRnwQ1waXk1bYsN9LVVIYyvug2GPPsQigScVxv1y+RHJBAdxHxOIfeoQ==} + '@umijs/core@4.6.31': + resolution: + { + integrity: sha512-pW0d/MOzUOpD1tQGcjVbZb68aqFvDHIRXIBEMORToP37YToqikRp8SKx9QUJ+h5RwuyA3UJRbWKfMNvgfcOq4Q==, + } '@umijs/did-you-know@1.0.4': - resolution: {integrity: sha512-eAHGNRZe9b7nOXINBIWNga/Nh0LWyTILXtFVcEDiJBXhehUi5OtpPHnA18KCgfmsOFxYPt5fzdumHTYQKm92Vw==} + resolution: + { + integrity: sha512-eAHGNRZe9b7nOXINBIWNga/Nh0LWyTILXtFVcEDiJBXhehUi5OtpPHnA18KCgfmsOFxYPt5fzdumHTYQKm92Vw==, + } '@umijs/es-module-parser-darwin-arm64@0.0.7': - resolution: {integrity: sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [darwin] '@umijs/es-module-parser-darwin-x64@0.0.7': - resolution: {integrity: sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA==, + } + engines: { node: '>= 10' } cpu: [x64] os: [darwin] '@umijs/es-module-parser-linux-arm-gnueabihf@0.0.7': - resolution: {integrity: sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ==, + } + engines: { node: '>= 10' } cpu: [arm] os: [linux] '@umijs/es-module-parser-linux-arm64-gnu@0.0.7': - resolution: {integrity: sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] libc: [glibc] '@umijs/es-module-parser-linux-arm64-musl@0.0.7': - resolution: {integrity: sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] libc: [musl] '@umijs/es-module-parser-linux-x64-gnu@0.0.7': - resolution: {integrity: sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] libc: [glibc] '@umijs/es-module-parser-linux-x64-musl@0.0.7': - resolution: {integrity: sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] libc: [musl] '@umijs/es-module-parser-win32-arm64-msvc@0.0.7': - resolution: {integrity: sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [win32] '@umijs/es-module-parser-win32-x64-msvc@0.0.7': - resolution: {integrity: sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA==, + } + engines: { node: '>= 10' } cpu: [x64] os: [win32] '@umijs/es-module-parser@0.0.7': - resolution: {integrity: sha512-x47CMi/Hw7Nkz3RXTUqlldH/UM+Tcmw2PziV3k+itJqTFJc8oVx3lzdUgCnG+eL3ZtmLPbOEBhPb30V0NytNDQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-x47CMi/Hw7Nkz3RXTUqlldH/UM+Tcmw2PziV3k+itJqTFJc8oVx3lzdUgCnG+eL3ZtmLPbOEBhPb30V0NytNDQ==, + } + engines: { node: '>= 10' } '@umijs/history@5.3.1': - resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==} + resolution: + { + integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==, + } - '@umijs/lint@4.6.25': - resolution: {integrity: sha512-LofWh5JFtj/gZjSJqFyYMcWSq4vW2LSBf+ACgQ/nml/Sx2O1j3z7QRuUIhUjWaObPpxguRIALgkbwhhSCSihGg==} - - '@umijs/lint@4.6.26': - resolution: {integrity: sha512-46leryMXuEfwTiVN2aZklMzTv2Yfz+uV+k9pPZPmZL7hPtS/rLJWU1M8gJz0YRV9CA5Lqj7aApLiK1/4ajsBKw==} + '@umijs/lint@4.6.31': + resolution: + { + integrity: sha512-6bHwzZi98MvB+vJ+wRQG43bgv/dFPuQ1m4CMllVvsEYzklr2vibz2nFltRt1De/gFR7nE+T+npyro+noPPkfFQ==, + } '@umijs/mako-darwin-arm64@0.11.10': - resolution: {integrity: sha512-kCn0mJx2Hq4RIkMNIzMDOdO4JSWq120auFmSEleHkfrFFFqSWX2qgz5mR5VI7kaPH0GUh0+hwfRkjEVGysJGjA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-kCn0mJx2Hq4RIkMNIzMDOdO4JSWq120auFmSEleHkfrFFFqSWX2qgz5mR5VI7kaPH0GUh0+hwfRkjEVGysJGjA==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [darwin] '@umijs/mako-darwin-x64@0.11.10': - resolution: {integrity: sha512-SKgadN/mAU8YxrQnsGQ2lFuR8I12EQSsaei41Ke5qBtXhbSxAxt5MMxBKWdB+dUe74dh6dXnllwAk/ts34vCog==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-SKgadN/mAU8YxrQnsGQ2lFuR8I12EQSsaei41Ke5qBtXhbSxAxt5MMxBKWdB+dUe74dh6dXnllwAk/ts34vCog==, + } + engines: { node: '>= 10' } cpu: [x64] os: [darwin] '@umijs/mako-linux-arm64-gnu@0.11.10': - resolution: {integrity: sha512-h6TEyMe9zIuH6w5to+XeZciWDD99RaMdfwvqdcHHyJaLH9wfGwSsiHuf/z3Evwkxy8xoNAvBOngwUD35RGYa/A==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-h6TEyMe9zIuH6w5to+XeZciWDD99RaMdfwvqdcHHyJaLH9wfGwSsiHuf/z3Evwkxy8xoNAvBOngwUD35RGYa/A==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] libc: [glibc] '@umijs/mako-linux-arm64-musl@0.11.10': - resolution: {integrity: sha512-kqI1Jw6IHtDwrcsqPZrYxsV3pHzZyOR+6fCFnF5MSURnXbUbJb6Rk66VsKKpMqbyfsEO6nt0WT9FrRBlFvRU2A==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-kqI1Jw6IHtDwrcsqPZrYxsV3pHzZyOR+6fCFnF5MSURnXbUbJb6Rk66VsKKpMqbyfsEO6nt0WT9FrRBlFvRU2A==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] libc: [musl] '@umijs/mako-linux-x64-gnu@0.11.10': - resolution: {integrity: sha512-jlhXVvWJuumMmiE3z3ViugOMx9ZasNM1anng0PsusCgDwfy0IOfGzfwfwagqtzfsC5MwyRcfnRQyDdbfbroaSA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-jlhXVvWJuumMmiE3z3ViugOMx9ZasNM1anng0PsusCgDwfy0IOfGzfwfwagqtzfsC5MwyRcfnRQyDdbfbroaSA==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] libc: [glibc] '@umijs/mako-linux-x64-musl@0.11.10': - resolution: {integrity: sha512-SLV/PRdL12dFEKlQGenW3OboZXmdYi25y+JblgVJLBhpdxZrHFqpCsTZn4L3hVEhyl0/ksR1iY0wtfK3urR29g==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-SLV/PRdL12dFEKlQGenW3OboZXmdYi25y+JblgVJLBhpdxZrHFqpCsTZn4L3hVEhyl0/ksR1iY0wtfK3urR29g==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] libc: [musl] '@umijs/mako-win32-ia32-msvc@0.11.10': - resolution: {integrity: sha512-quCWpVl7yQjG+ccGhkF81GxO3orXdPW1OZWXWxJgOI0uPk7Hczh2EYMEVqqQGbi/83eJ1e3iE1jRTl/+2eHryQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-quCWpVl7yQjG+ccGhkF81GxO3orXdPW1OZWXWxJgOI0uPk7Hczh2EYMEVqqQGbi/83eJ1e3iE1jRTl/+2eHryQ==, + } + engines: { node: '>= 10' } cpu: [ia32] os: [win32] '@umijs/mako-win32-x64-msvc@0.11.10': - resolution: {integrity: sha512-NjUfV1vwUeDk5IXyleGb+pa/DZkGpjkclY/TJcK/X2OQ0Yh7Cr3sfZykhCoTEN2Y74k5rEKWYNQA0nTb6akj9Q==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-NjUfV1vwUeDk5IXyleGb+pa/DZkGpjkclY/TJcK/X2OQ0Yh7Cr3sfZykhCoTEN2Y74k5rEKWYNQA0nTb6akj9Q==, + } + engines: { node: '>= 10' } cpu: [x64] os: [win32] '@umijs/mako@0.11.10': - resolution: {integrity: sha512-qh0DzCtwwYjxey7Hn6B+66KVwDhMa/cIZQYgaeUVs76Ut5WDuUlfkFfJh4VA9k1F9YLBHXMaW2IeKIWTTIPVDg==} - engines: {node: '>= 16'} + resolution: + { + integrity: sha512-qh0DzCtwwYjxey7Hn6B+66KVwDhMa/cIZQYgaeUVs76Ut5WDuUlfkFfJh4VA9k1F9YLBHXMaW2IeKIWTTIPVDg==, + } + engines: { node: '>= 16' } hasBin: true - '@umijs/max@4.6.26': - resolution: {integrity: sha512-l+/UEu/YZ1BB6EYJWbeIsgpoRuM3eV1MceOPrTZtOQiMI3+ofoN7xk2yD2d1GIMWRX62POBwKZTAZksDbuZqdA==} + '@umijs/max@4.6.31': + resolution: + { + integrity: sha512-CTmF2EHi2MqEZXXvKKNVBu/cmTgJAqYrZOdA3d2e5k12lObwUj6LG6MdouScVhx514shXluZoaMKnag/q36PHA==, + } hasBin: true - '@umijs/mfsu@4.6.26': - resolution: {integrity: sha512-g8YiEybEoJp9kt+2YY9MsScDMCsB76NcNLsxBe/dBXlohNHFThUdgy13WyAjbZzuLEoZjhR53b8/IbMIA1HERw==} + '@umijs/mfsu@4.6.31': + resolution: + { + integrity: sha512-HOmn+iygt71x2Sn3yqiE81avW7Kn4vqp1dRskFbx7AfiTsUYAP5aIrRiLS9R+3letUl60qDVJ9b7e7N67d9qoA==, + } '@umijs/openapi@1.14.1': - resolution: {integrity: sha512-riFsBjdg6OLNKWCxSyZ4BFmVKd1KkkGebxUCoDiKfz1p6L5CBiw8yVZd8J22Q/fwxKdYQ75GOCkjNouL3bGoYg==} + resolution: + { + integrity: sha512-riFsBjdg6OLNKWCxSyZ4BFmVKd1KkkGebxUCoDiKfz1p6L5CBiw8yVZd8J22Q/fwxKdYQ75GOCkjNouL3bGoYg==, + } hasBin: true '@umijs/plugin-openapi@1.3.3': - resolution: {integrity: sha512-z1gJpX1MDAO5YlJH+zsQ4bq0jgmIoy89k5lyTylVvP22M31h7sC9cAwNHmQeJMzGatYooGJu//rnThsSlRdIUg==} + resolution: + { + integrity: sha512-z1gJpX1MDAO5YlJH+zsQ4bq0jgmIoy89k5lyTylVvP22M31h7sC9cAwNHmQeJMzGatYooGJu//rnThsSlRdIUg==, + } peerDependencies: umi: 3.x - '@umijs/plugin-run@4.6.26': - resolution: {integrity: sha512-8e9hLTxAjyktw7VAgpVUO70wVAEyIInrLB1a/LOaUwhOtJyPn+yKfk9Y+hlxZ+ZmDytdWcEQGQGxB46DK9DfqA==} + '@umijs/plugin-run@4.6.31': + resolution: + { + integrity: sha512-axpNq0wowuSLau6g8mx1vMBfJBbNh/p5AkyeFTSCjFWr/EsrZ47JIK3rzof+qy/BQqImVfZCzzqQbf8EtU0iHQ==, + } - '@umijs/plugins@4.6.26': - resolution: {integrity: sha512-jsJ1ZC2SNUuP6D67NmtTLC/q8qyvpGsjL71QHoJ9E09gAuu8MM+wAMz9RoYwdR81ET64mOt+DkpFx1dT7+zkWA==} + '@umijs/plugins@4.6.31': + resolution: + { + integrity: sha512-sgw3WgU6sothmGARqLO/UcLr2B15TdjosLayTUYdgmeOTf3x3V7D2qm+J1x2sRyh8djlkOPHlejUJJ8xLifG3Q==, + } - '@umijs/preset-umi@4.6.26': - resolution: {integrity: sha512-ULXweUqmVjoxz/cwnzLmuGv81agsTlCGr/DwI4BakrbwG9i50Gmek9m5dMjnNl2kq8NgQnmInjmL9YSejhOZsA==} + '@umijs/preset-umi@4.6.31': + resolution: + { + integrity: sha512-UkEEHzsJPAiM3gxcz4WRYrqDvZzXisEjZJ0wHUxvOQ5MsWza0ZXQ3SuXR3uDVS+hkUQdHY2Cz+WYxohHR8GOlA==, + } '@umijs/react-refresh-webpack-plugin@0.5.11': - resolution: {integrity: sha512-RtFvB+/GmjRhpHcqNgnw8iWZpTlxOnmNxi8eDcecxMmxmSgeDj25LV0jr4Q6rOhv3GTIfVGBhkwz+khGT5tfmg==} - engines: {node: '>= 10.13'} + resolution: + { + integrity: sha512-RtFvB+/GmjRhpHcqNgnw8iWZpTlxOnmNxi8eDcecxMmxmSgeDj25LV0jr4Q6rOhv3GTIfVGBhkwz+khGT5tfmg==, + } + engines: { node: '>= 10.13' } peerDependencies: '@types/webpack': 4.x || 5.x react-refresh: '>=0.10.0 <1.0.0' @@ -2006,94 +3155,145 @@ packages: webpack-plugin-serve: optional: true - '@umijs/renderer-react@4.6.26': - resolution: {integrity: sha512-zt7MKq2vhibaF0Meni6+wXMVQlkO2emU/zsEzKvSNE4Em9zt0F4rphok+3y1w1WyTsrdlD7zWH+6TPmNp0eOFw==} + '@umijs/renderer-react@4.6.31': + resolution: + { + integrity: sha512-l5kPQq8kBmVF5BOzVgjLrQQlhkhV21p7EBFi8jWbEURcHRES4pxvcNVMh3lVQdtbfVILQuJ6scjafCRy7WykfQ==, + } peerDependencies: react: '>=16.8' react-dom: '>=16.8' '@umijs/route-utils@4.0.3': - resolution: {integrity: sha512-zPEcYhl1cSfkSRDzzGgoD1mDvGjxoOTJFvkn55srfgdQ3NZe2ZMCScCU6DEnOxuKP1XDVf8pqyqCDVd2+RCQIw==} - - '@umijs/server@4.6.26': - resolution: {integrity: sha512-ZbRXMzJVYqt2EM38yCqJXu6FhiVKQINtlqkrZah5rm6vaAPwMe2/BZ/uqhgvS05lb0QZluM51ZATv0UoqjBLpw==} - - '@umijs/test@4.6.26': - resolution: {integrity: sha512-TC+S/oYtQHarptxq+wBm9UHz22esiwk49RfS9TqyX4qJHZr5aFFUZ91119iWYllZEERWG/NC/R0fayrE8Hmv9A==} + resolution: + { + integrity: sha512-zPEcYhl1cSfkSRDzzGgoD1mDvGjxoOTJFvkn55srfgdQ3NZe2ZMCScCU6DEnOxuKP1XDVf8pqyqCDVd2+RCQIw==, + } + + '@umijs/server@4.6.31': + resolution: + { + integrity: sha512-Yv90zfFyHpvzrzQbFyWpeeEaUKdXNWh+yjO+V0I19gg5s4IO5iksqsvPyeY//XtroH+UfW1pGZeszW6Bpjfb1A==, + } + + '@umijs/test@4.6.31': + resolution: + { + integrity: sha512-si3U87SsjwbF4V4m36WX7xQZrDocLiHhEsY25dSX3ZLkeBqg/xyNh1ry4x1ov7bWqlDILZK02InvXEns0ghP6Q==, + } '@umijs/ui@3.0.1': - resolution: {integrity: sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw==} + resolution: + { + integrity: sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw==, + } '@umijs/use-params@1.0.9': - resolution: {integrity: sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==} + resolution: + { + integrity: sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==, + } peerDependencies: react: '*' - '@umijs/utils@4.6.25': - resolution: {integrity: sha512-hnPYaDOSb1wHuE2etI17pIlaH3lRUbniQ1RJUxIU2snGpWa1QbEGElVJiS0g44XBoU0HyP8S07TAQ6taMlxCFw==} - - '@umijs/utils@4.6.26': - resolution: {integrity: sha512-7z1+Lxo3VHJQvY3kaP4dohaoO6OuRPRQ91xwgwlLGZR5SuCDwnxfRuyENNGU11D3NXgOEcu9y8BMgvIv9GCqXg==} + '@umijs/utils@4.6.31': + resolution: + { + integrity: sha512-KXbdyRqk+ZxEemnQeXcVQu8owmnfXE8aaIM1AuKvaMzfE5pdwCdNPryXhdgx/CYI0YQS0tzOTTTOztiQugE1wg==, + } '@umijs/valtio@1.0.4': - resolution: {integrity: sha512-2PmAU4rNQbBqrWpJ86Si9UGC23JapkYw8k7Hna6V8DHLaEYJENdp2e/IKLPHSPghzrdQtbUHSoOAUsBd4i4OzQ==} - - '@umijs/zod2ts@4.6.26': - resolution: {integrity: sha512-pjujeXi11m9yUwVDpSvgZ4xnGAtR9R4mLM7KJ9kKGtgrirWzogQxTBgEh5MNQpPwWX9NZ3sWamqomR/ETGtN4Q==} - - '@utoo/pack-darwin-arm64@1.2.5': - resolution: {integrity: sha512-/+kiAAKzoMhcDOu+hXpo8Y5qP9vKnt+Q7OsWRTIzF5jtQShy2T12PZ8BQp8shrNo38UZP2MKFxebmgC3PiuOBA==} - engines: {node: '>= 20'} + resolution: + { + integrity: sha512-2PmAU4rNQbBqrWpJ86Si9UGC23JapkYw8k7Hna6V8DHLaEYJENdp2e/IKLPHSPghzrdQtbUHSoOAUsBd4i4OzQ==, + } + + '@umijs/zod2ts@4.6.31': + resolution: + { + integrity: sha512-0ceWIArDahXi9jJIzBWBQYpfb7usk7+nUWGj4u1ik0TCgfs3qDaPYepSPIkZmZbBIx9g2OJO8y4Xn8qBONxXHg==, + } + + '@utoo/pack-darwin-arm64@1.2.12': + resolution: + { + integrity: sha512-xjqh9xJ0iuxfyNFaP5KJ+zMtYTbx5ntYWkJgkIg4eBl3UfeEQhSHjkS5Kgv2Aib+Pc7ejJapvAom3Otuhgoopw==, + } + engines: { node: '>= 20' } cpu: [arm64] os: [darwin] - '@utoo/pack-darwin-x64@1.2.5': - resolution: {integrity: sha512-RYNXv8B53O9j+jl6m9z0DlT+K4fdB32FS8hl4n3DnhTc2qYmC5STxIKXQMYM2FVyFMwhHX5gwlswbIGNtXqMYg==} - engines: {node: '>= 20'} + '@utoo/pack-darwin-x64@1.2.12': + resolution: + { + integrity: sha512-IsEp3cYFB91H59K1LzD6bKrJuXVIZyv1Tdn0FG/V69KUKiRSKN6TqXmRaE04XM6XY/ZvGMVKmFZi+XNNr+13lg==, + } + engines: { node: '>= 20' } cpu: [x64] os: [darwin] - '@utoo/pack-linux-arm64-gnu@1.2.5': - resolution: {integrity: sha512-oT4EAPAQXadrUscUysQ5zrgCLgqDdJVPQkCo3de5jWQqHP0YhDjwBPZoXyT3/SEsUGoAq9DebE5QD+C8xZUdZg==} - engines: {node: '>= 20'} + '@utoo/pack-linux-arm64-gnu@1.2.12': + resolution: + { + integrity: sha512-iBt4gwvAymXf8pxCG5PJbDaAS20D1UehMsrR9Oqh5PFAumBORW2ehKw2GKmdXdvETCM/ow4TmDV+mkG9v3S3sA==, + } + engines: { node: '>= 20' } cpu: [arm64] os: [linux] libc: [glibc] - '@utoo/pack-linux-arm64-musl@1.2.5': - resolution: {integrity: sha512-XRtksuEVvwvKatls+DKFMLYIwtsHemklEkHBztKblWKdqEhw8tSg9SqiKE81FiKDAsVAOCVS+lxsl0NAnNf0uA==} - engines: {node: '>= 20'} + '@utoo/pack-linux-arm64-musl@1.2.12': + resolution: + { + integrity: sha512-oAP614anoeP6VaISOvttGgh+8ugCryCP+vrbsX/tSqXyogEtd4f9VRuqWWhFtQW5Bq5s/3bvcQWGk5VKWucqhg==, + } + engines: { node: '>= 20' } cpu: [arm64] os: [linux] libc: [musl] - '@utoo/pack-linux-x64-gnu@1.2.5': - resolution: {integrity: sha512-u/540KBnKuLcEtSzqMFNpLNvYkD16lXJRSUsNAM9+Ohf1opLT54H9QOtOhbPlqc2+aX/oRMpSshFIonAvIktNA==} - engines: {node: '>= 20'} + '@utoo/pack-linux-x64-gnu@1.2.12': + resolution: + { + integrity: sha512-81xhW4fWwNkRDrqxK+GnlNyR5BKw3Msoe1OpuWa+79BQBOCsVIvf/9PV/CI7KhTUZv5BCUhKwXGeEWhAnV52jw==, + } + engines: { node: '>= 20' } cpu: [x64] os: [linux] libc: [glibc] - '@utoo/pack-linux-x64-musl@1.2.5': - resolution: {integrity: sha512-2wuv0acUaAPa8+3LFUBsg3LoPhpGAw9QB4oxJuHbuu/3zMnfgoQ4f8y5X6d5y2pUh8ZvEtLwAVONzK6onMOjug==} - engines: {node: '>= 20'} + '@utoo/pack-linux-x64-musl@1.2.12': + resolution: + { + integrity: sha512-d515UYVV51u4+HFzqGF1YcyNTi5QAeEfV28xjiUqUN0zdxswH6uF71e8uT8rqR1B5vcFl4RUSOMpuo+QwlCqNA==, + } + engines: { node: '>= 20' } cpu: [x64] os: [linux] libc: [musl] - '@utoo/pack-shared@1.2.5': - resolution: {integrity: sha512-pT2XL4SY1neS0UgNVOQjWzMWY+xR96zOuY1eKrJ35pGQmROS9Fz74OHZHs21eWmu3x5O7rsvROKb78caOrBHzA==} - engines: {node: '>= 20'} - - '@utoo/pack-win32-x64-msvc@1.2.5': - resolution: {integrity: sha512-NJ03wspra9cVUONRww8saLBfq6XrbG9bs7RwL09zbVV+alzZqcOe5wStgjT9WOEhrTu2+BZ2/488zLwdWFpSbA==} - engines: {node: '>= 20'} + '@utoo/pack-shared@1.2.12': + resolution: + { + integrity: sha512-bGuvDW/EWzGPg0ZZzfr9XVpqZ26lQ5U8bVAcfl5+uwSsR7OE4CP0HwkDi8zljnfSCcnHrCxU20D5pEy62sCZ2w==, + } + engines: { node: '>= 20' } + + '@utoo/pack-win32-x64-msvc@1.2.12': + resolution: + { + integrity: sha512-rkw/KRYzWlB0oOOy6q/Xey3d+JEinDsbXZbRIvLdRhimqzEU8/YP+KMnJvtK62WdmYw7yKKTnTXGJp5nvYq2YA==, + } + engines: { node: '>= 20' } cpu: [x64] os: [win32] - '@utoo/pack@1.2.5': - resolution: {integrity: sha512-Heq4j+GGLXTovJD2XnNMzhulu3iErigpPBbj/ceGaXAZbjCrUAvN35nPQWg1+4uwAfbUu2tTG/JsGdWW2E+IAg==} - engines: {node: '>= 20'} + '@utoo/pack@1.2.12': + resolution: + { + integrity: sha512-L90bLzThtWzaqGyCsUxsUygJ5an+9w6r5s2eym16+mdXj7tz8WV/vCxefOS1cqpZ6WHjp+CUVB/8smxuDMCuNw==, + } + engines: { node: '>= 20' } peerDependencies: less: ^4.0.0 less-loader: ^12.0.0 @@ -2103,107 +3303,194 @@ packages: sass-loader: ^13.2.0 '@utoo/style-loader@1.0.1': - resolution: {integrity: sha512-qdDE7tzJYXXT/1U02TdLbWa2eSa1WJznWRo95MzL19rVSr5osxZDwz7Xj8yp4YDy+6IgE5SIBgWFc50O58YgYw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-qdDE7tzJYXXT/1U02TdLbWa2eSa1WJznWRo95MzL19rVSr5osxZDwz7Xj8yp4YDy+6IgE5SIBgWFc50O58YgYw==, + } + engines: { node: '>= 10' } '@vitejs/plugin-react@4.0.0': - resolution: {integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: vite: ^4.2.0 '@webassemblyjs/ast@1.14.1': - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + resolution: + { + integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==, + } '@webassemblyjs/floating-point-hex-parser@1.13.2': - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + resolution: + { + integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==, + } '@webassemblyjs/helper-api-error@1.13.2': - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + resolution: + { + integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==, + } '@webassemblyjs/helper-buffer@1.14.1': - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + resolution: + { + integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==, + } '@webassemblyjs/helper-numbers@1.13.2': - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + resolution: + { + integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==, + } '@webassemblyjs/helper-wasm-bytecode@1.13.2': - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + resolution: + { + integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==, + } '@webassemblyjs/helper-wasm-section@1.14.1': - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + resolution: + { + integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==, + } '@webassemblyjs/ieee754@1.13.2': - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + resolution: + { + integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==, + } '@webassemblyjs/leb128@1.13.2': - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + resolution: + { + integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==, + } '@webassemblyjs/utf8@1.13.2': - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + resolution: + { + integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==, + } '@webassemblyjs/wasm-edit@1.14.1': - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + resolution: + { + integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==, + } '@webassemblyjs/wasm-gen@1.14.1': - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + resolution: + { + integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==, + } '@webassemblyjs/wasm-opt@1.14.1': - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + resolution: + { + integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==, + } '@webassemblyjs/wasm-parser@1.14.1': - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + resolution: + { + integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==, + } '@webassemblyjs/wast-printer@1.14.1': - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + resolution: + { + integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==, + } '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + resolution: + { + integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==, + } '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + resolution: + { + integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==, + } a-sync-waterfall@1.0.1: - resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} + resolution: + { + integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==, + } accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, + } + engines: { node: '>= 0.6' } acorn-import-phases@1.0.4: - resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==, + } + engines: { node: '>=10.13.0' } peerDependencies: acorn: ^8.14.0 acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} + acorn@8.16.0: + resolution: + { + integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==, + } + engines: { node: '>=0.4.0' } hasBin: true add-dom-event-listener@1.1.0: - resolution: {integrity: sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==} + resolution: + { + integrity: sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==, + } adjust-sourcemap-loader@4.0.0: - resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} - engines: {node: '>=8.9'} + resolution: + { + integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==, + } + engines: { node: '>=8.9' } adler-32@1.2.0: - resolution: {integrity: sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==, + } + engines: { node: '>=0.8' } hasBin: true adler-32@1.3.1: - resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==, + } + engines: { node: '>=0.8' } ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -2211,581 +3498,1044 @@ packages: optional: true ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + resolution: + { + integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==, + } peerDependencies: ajv: ^6.9.1 ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + resolution: + { + integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==, + } peerDependencies: ajv: ^8.8.2 - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - - ansi-escapes@7.2.0: - resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} - engines: {node: '>=18'} + ajv@6.14.0: + resolution: + { + integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==, + } + + ajv@8.18.0: + resolution: + { + integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==, + } + + ansi-escapes@7.3.0: + resolution: + { + integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==, + } + engines: { node: '>=18' } ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} + resolution: + { + integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==, + } + engines: { '0': node >= 0.8.0 } hasBin: true ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==, + } + engines: { node: '>=6' } ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: '>=8' } ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==, + } + engines: { node: '>=12' } ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, + } + engines: { node: '>=4' } ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: '>=8' } ansi-styles@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==, + } + engines: { node: '>=12' } antd-dayjs-webpack-plugin@1.0.6: - resolution: {integrity: sha512-UlK3BfA0iE2c5+Zz/Bd2iPAkT6cICtrKG4/swSik5MZweBHtgmu1aUQCHvICdiv39EAShdZy/edfP6mlkS/xXg==} + resolution: + { + integrity: sha512-UlK3BfA0iE2c5+Zz/Bd2iPAkT6cICtrKG4/swSik5MZweBHtgmu1aUQCHvICdiv39EAShdZy/edfP6mlkS/xXg==, + } peerDependencies: dayjs: '*' - antd-img-crop@4.28.0: - resolution: {integrity: sha512-WOpmph4rFO7E3SY0+O8Iw76YHLpnMj1xDspCp4T1qKlmAQrCWt948BpxWlXNNUmXI64rTLg3AqJi55v35JgQqA==} + antd-img-crop@4.29.0: + resolution: + { + integrity: sha512-f+3Gx3VHVYlF8wnv2yBEMMjcxtoryM8jbx2urdhhAeTT4hZnHBbf2gLG6sEtD8RNTENvjTOgEMhey1R1JA9Swg==, + } peerDependencies: antd: '>=4.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' antd@4.24.16: - resolution: {integrity: sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==} + resolution: + { + integrity: sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' antd@5.29.3: - resolution: {integrity: sha512-3DdbGCa9tWAJGcCJ6rzR8EJFsv2CtyEbkVabZE14pfgUHfCicWCj0/QzQVLDYg8CPfQk9BH7fHCoTXHTy7MP/A==} + resolution: + { + integrity: sha512-3DdbGCa9tWAJGcCJ6rzR8EJFsv2CtyEbkVabZE14pfgUHfCicWCj0/QzQVLDYg8CPfQk9BH7fHCoTXHTy7MP/A==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, + } + engines: { node: '>= 8' } argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } aria-hidden@1.2.6: - resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==, + } + engines: { node: '>=10' } array-buffer-byte-length@1.0.2: - resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==, + } + engines: { node: '>= 0.4' } array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + resolution: + { + integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==, + } array-includes@3.1.9: - resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==, + } + engines: { node: '>= 0.4' } array-tree-filter@2.1.0: - resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} + resolution: + { + integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==, + } array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, + } + engines: { node: '>=8' } array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==, + } + engines: { node: '>= 0.4' } array.prototype.flatmap@1.3.3: - resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==, + } + engines: { node: '>= 0.4' } array.prototype.tosorted@1.1.4: - resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==, + } + engines: { node: '>= 0.4' } arraybuffer.prototype.slice@1.0.4: - resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==, + } + engines: { node: '>= 0.4' } arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==, + } + engines: { node: '>=0.10.0' } asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + resolution: + { + integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==, + } asn1.js@4.10.1: - resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + resolution: + { + integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==, + } assert-okam@1.5.0: - resolution: {integrity: sha512-pchhPo40i8GsTj/7h6P8LSSzwRErnh2nCEiwXNTxy4VYw6lSesSac4rTKqwsA+fOZdj6FT81Mb9U1vIZEua1EQ==} + resolution: + { + integrity: sha512-pchhPo40i8GsTj/7h6P8LSSzwRErnh2nCEiwXNTxy4VYw6lSesSac4rTKqwsA+fOZdj6FT81Mb9U1vIZEua1EQ==, + } assert@1.5.1: - resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + resolution: + { + integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==, + } astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, + } + engines: { node: '>=8' } async-function@1.0.0: - resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==, + } + engines: { node: '>= 0.4' } async-validator@4.2.5: - resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + resolution: + { + integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==, + } asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - - autoprefixer@10.4.24: - resolution: {integrity: sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: '>=8.0.0' } + + autoprefixer@10.4.27: + resolution: + { + integrity: sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==, + } + engines: { node: ^10 || ^12 || >=14 } hasBin: true peerDependencies: postcss: ^8.1.0 available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, + } + engines: { node: '>= 0.4' } axios@0.27.2: - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + resolution: + { + integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==, + } - axios@1.13.4: - resolution: {integrity: sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==} + axios@1.13.6: + resolution: + { + integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==, + } babel-jest@29.7.0: - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@babel/core': ^7.8.0 babel-plugin-dynamic-import-node@2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + resolution: + { + integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==, + } babel-plugin-import@1.13.8: - resolution: {integrity: sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==} + resolution: + { + integrity: sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==, + } babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, + } + engines: { node: '>=8' } babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } babel-plugin-react-compiler@0.0.0-experimental-c23de8d-20240515: - resolution: {integrity: sha512-0XN2gmpT55QtAz5n7d5g91y1AuO9tRhWBaLgCRyc4ExHrlr7+LfxW+YTb3mOwxngkkiggwM8HyYsaEK9MqhnlQ==} + resolution: + { + integrity: sha512-0XN2gmpT55QtAz5n7d5g91y1AuO9tRhWBaLgCRyc4ExHrlr7+LfxW+YTb3mOwxngkkiggwM8HyYsaEK9MqhnlQ==, + } babel-plugin-styled-components@2.1.4: - resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} + resolution: + { + integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==, + } peerDependencies: styled-components: '>= 2' babel-preset-current-node-syntax@1.2.0: - resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + resolution: + { + integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==, + } peerDependencies: '@babel/core': ^7.0.0 || ^8.0.0-0 babel-preset-jest@29.6.3: - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@babel/core': ^7.0.0 balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } balanced-match@2.0.0: - resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + resolution: + { + integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==, + } base64-arraybuffer@1.0.2: - resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==, + } + engines: { node: '>= 0.6.0' } base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - baseline-browser-mapping@2.9.18: - resolution: {integrity: sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==} + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + + baseline-browser-mapping@2.10.0: + resolution: + { + integrity: sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==, + } + engines: { node: '>=6.0.0' } hasBin: true big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==, + } + engines: { node: '>=0.6' } big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + resolution: + { + integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==, + } binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, + } + engines: { node: '>=8' } blob.js@1.0.1: - resolution: {integrity: sha512-TkPuWPeCHBbN+LWFg7BlXdSh6stRxwmAbuirKfiiHTMmo/uQfKFQMx2jrxVUkueKRiG+Tc7Os1Zn618Yc0MZpg==} - - bn.js@4.12.2: - resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} - - bn.js@5.2.2: - resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + resolution: + { + integrity: sha512-TkPuWPeCHBbN+LWFg7BlXdSh6stRxwmAbuirKfiiHTMmo/uQfKFQMx2jrxVUkueKRiG+Tc7Os1Zn618Yc0MZpg==, + } + + bn.js@4.12.3: + resolution: + { + integrity: sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==, + } + + bn.js@5.2.3: + resolution: + { + integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==, + } body-parser@1.20.4: - resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + resolution: + { + integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==, + } + engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + resolution: + { + integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, + } bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} + resolution: + { + integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==, + } + engines: { node: '>= 5.10.0' } brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + resolution: + { + integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==, + } brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + resolution: + { + integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==, + } braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, + } + engines: { node: '>=8' } brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + resolution: + { + integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==, + } browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + resolution: + { + integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==, + } browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + resolution: + { + integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==, + } browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + resolution: + { + integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==, + } browserify-rsa@4.1.1: - resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==, + } + engines: { node: '>= 0.10' } browserify-sign@4.2.5: - resolution: {integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==, + } + engines: { node: '>= 0.10' } browserify-zlib@0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + resolution: + { + integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==, + } browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + resolution: + { + integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + resolution: + { + integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, + } bubblesets-js@2.3.4: - resolution: {integrity: sha512-DyMjHmpkS2+xcFNtyN00apJYL3ESdp9fTrkDr5+9Qg/GPqFmcWgGsK1akZnttE1XFxJ/VMy4DNNGMGYtmFp1Sg==} + resolution: + { + integrity: sha512-DyMjHmpkS2+xcFNtyN00apJYL3ESdp9fTrkDr5+9Qg/GPqFmcWgGsK1akZnttE1XFxJ/VMy4DNNGMGYtmFp1Sg==, + } buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + resolution: + { + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, + } buffer-okam@4.9.2: - resolution: {integrity: sha512-t+vozme+an7flUs6GXHGMiP3PdodTse1NgRHSDWioIFJAtmMlj3pj7qD20Mkr9hZy0+9HA4R0xcumpMewrRdZQ==} + resolution: + { + integrity: sha512-t+vozme+an7flUs6GXHGMiP3PdodTse1NgRHSDWioIFJAtmMlj3pj7qD20Mkr9hZy0+9HA4R0xcumpMewrRdZQ==, + } buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + resolution: + { + integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==, + } buffer@4.9.2: - resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} + resolution: + { + integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==, + } builtin-status-codes@3.0.0: - resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + resolution: + { + integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==, + } bundle-name@3.0.0: - resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==, + } + engines: { node: '>=12' } bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, + } + engines: { node: '>= 0.8' } call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==, + } + engines: { node: '>= 0.4' } call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==, + } + engines: { node: '>= 0.4' } call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==, + } + engines: { node: '>= 0.4' } call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + resolution: + { + integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==, + } callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: '>=6' } camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + resolution: + { + integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==, + } camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==, + } + engines: { node: '>=8' } camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, + } + engines: { node: '>=6' } camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, + } + engines: { node: '>=10' } camelize@1.0.1: - resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - - caniuse-lite@1.0.30001766: - resolution: {integrity: sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==} + resolution: + { + integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==, + } - caniuse-lite@1.0.30001767: - resolution: {integrity: sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==} + caniuse-lite@1.0.30001777: + resolution: + { + integrity: sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==, + } cfb@1.2.2: - resolution: {integrity: sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==, + } + engines: { node: '>=0.8' } chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, + } + engines: { node: '>=4' } chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: '>=10' } chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + resolution: + { + integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, + } + engines: { node: '>= 8.10.0' } chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + resolution: + { + integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, + } + engines: { node: '>= 8.10.0' } chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==, + } + engines: { node: '>=6.0' } ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, + } + engines: { node: '>=8' } cipher-base@1.0.7: - resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==, + } + engines: { node: '>= 0.10' } classnames@2.5.1: - resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + resolution: + { + integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==, + } clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} - engines: {node: '>= 10.0'} + resolution: + { + integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==, + } + engines: { node: '>= 10.0' } cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} - - cli-truncate@5.1.1: - resolution: {integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==, + } + engines: { node: '>=18' } + + cli-truncate@5.2.0: + resolution: + { + integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==, + } + engines: { node: '>=20' } click-to-react-component@1.1.0: - resolution: {integrity: sha512-/DjZemufS1BkxyRgZL3r7HXVVOFRWVQi5Xd4EBnjxZMwrHEh0OlUVA2N9CjXkZ0x8zMf8dL1cKnnx+xUWUg4VA==} + resolution: + { + integrity: sha512-/DjZemufS1BkxyRgZL3r7HXVVOFRWVQi5Xd4EBnjxZMwrHEh0OlUVA2N9CjXkZ0x8zMf8dL1cKnnx+xUWUg4VA==, + } peerDependencies: react: '>=16.8.0' cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: '>=12' } clone-regexp@2.2.0: - resolution: {integrity: sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==, + } + engines: { node: '>=6' } clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==, + } + engines: { node: '>=6' } codemirror@6.0.2: - resolution: {integrity: sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==} + resolution: + { + integrity: sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==, + } codepage@1.14.0: - resolution: {integrity: sha512-iz3zJLhlrg37/gYRWgEPkaFTtzmnEv1h+r7NgZum2lFElYQPi0/5bnmuDfODHxfp0INEfnRqyfyeIJDbb7ahRw==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-iz3zJLhlrg37/gYRWgEPkaFTtzmnEv1h+r7NgZum2lFElYQPi0/5bnmuDfODHxfp0INEfnRqyfyeIJDbb7ahRw==, + } + engines: { node: '>=0.8' } hasBin: true color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + resolution: + { + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, + } color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: '>=7.0.0' } color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + resolution: + { + integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, + } color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + resolution: + { + integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==, + } colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + resolution: + { + integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==, + } colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: '>= 0.8' } comlink@4.4.2: - resolution: {integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==} - - commander@14.0.2: - resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==, + } + + commander@14.0.3: + resolution: + { + integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==, + } + engines: { node: '>=20' } commander@2.14.1: - resolution: {integrity: sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==} + resolution: + { + integrity: sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==, + } commander@2.17.1: - resolution: {integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==} + resolution: + { + integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==, + } commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + resolution: + { + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, + } commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==, + } + engines: { node: '>= 6' } commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, + } + engines: { node: '>= 10' } commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==, + } + engines: { node: '>= 12' } common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + resolution: + { + integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==, + } compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==, + } + engines: { node: '>= 0.6' } compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==, + } + engines: { node: '>= 0.8.0' } compute-scroll-into-view@1.0.20: - resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + resolution: + { + integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==, + } compute-scroll-into-view@3.1.1: - resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} + resolution: + { + integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==, + } concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==, + } + engines: { node: '>=0.8' } console-browserify@1.2.0: - resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + resolution: + { + integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==, + } constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + resolution: + { + integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==, + } content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, + } + engines: { node: '>= 0.6' } content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, + } + engines: { node: '>= 0.6' } convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + resolution: + { + integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, + } convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } cookie-signature@1.0.7: - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + resolution: + { + integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==, + } cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==, + } + engines: { node: '>= 0.6' } copy-anything@2.0.6: - resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + resolution: + { + integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==, + } copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} + resolution: + { + integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==, + } + engines: { node: '>=12.13' } copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + resolution: + { + integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==, + } core-js-pure@3.48.0: - resolution: {integrity: sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw==} + resolution: + { + integrity: sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw==, + } core-js@3.34.0: - resolution: {integrity: sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==} + resolution: + { + integrity: sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==, + } core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolution: + { + integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, + } cors@2.8.6: - resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==, + } + engines: { node: '>= 0.10' } cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - - cosmiconfig@9.0.0: - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==, + } + engines: { node: '>=10' } + + cosmiconfig@9.0.1: + resolution: + { + integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==, + } + engines: { node: '>=14' } peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -2793,231 +4543,402 @@ packages: optional: true crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==, + } + engines: { node: '>=0.8' } hasBin: true create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + resolution: + { + integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==, + } create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + resolution: + { + integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==, + } create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + resolution: + { + integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==, + } crelt@1.0.6: - resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + resolution: + { + integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==, + } cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, + } + engines: { node: '>= 8' } crypto-browserify@3.12.1: - resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==, + } + engines: { node: '>= 0.10' } css-blank-pseudo@3.0.3: - resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==, + } + engines: { node: ^12 || ^14 || >=16 } hasBin: true peerDependencies: postcss: ^8.4 css-color-keywords@1.0.0: - resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} - engines: {node: '>=4'} - - css-functions-list@3.2.3: - resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==} - engines: {node: '>=12 || >=16'} + resolution: + { + integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==, + } + engines: { node: '>=4' } + + css-functions-list@3.3.3: + resolution: + { + integrity: sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==, + } + engines: { node: '>=12' } css-has-pseudo@3.0.4: - resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==, + } + engines: { node: ^12 || ^14 || >=16 } hasBin: true peerDependencies: postcss: ^8.4 css-line-break@2.1.0: - resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==} + resolution: + { + integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==, + } css-loader@6.7.1: - resolution: {integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==} - engines: {node: '>= 12.13.0'} + resolution: + { + integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==, + } + engines: { node: '>= 12.13.0' } peerDependencies: webpack: ^5.0.0 css-prefers-color-scheme@6.0.3: - resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==, + } + engines: { node: ^12 || ^14 || >=16 } hasBin: true peerDependencies: postcss: ^8.4 css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + resolution: + { + integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==, + } css-to-react-native@3.2.0: - resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + resolution: + { + integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==, + } css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==, + } + engines: { node: '>=8.0.0' } css-what@6.2.2: - resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==, + } + engines: { node: '>= 6' } cssdb@6.6.3: - resolution: {integrity: sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==} + resolution: + { + integrity: sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==, + } cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, + } + engines: { node: '>=4' } hasBin: true csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==, + } + engines: { node: '>=8.0.0' } csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + resolution: + { + integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==, + } current-script-polyfill@1.0.0: - resolution: {integrity: sha512-qv8s+G47V6Hq+g2kRE5th+ASzzrL7b6l+tap1DHKK25ZQJv3yIFhH96XaQ7NGL+zRW3t/RDbweJf/dJDe5Z5KA==} + resolution: + { + integrity: sha512-qv8s+G47V6Hq+g2kRE5th+ASzzrL7b6l+tap1DHKK25ZQJv3yIFhH96XaQ7NGL+zRW3t/RDbweJf/dJDe5Z5KA==, + } d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==, + } + engines: { node: '>=12' } d3-binarytree@1.0.2: - resolution: {integrity: sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==} + resolution: + { + integrity: sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==, + } d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==, + } + engines: { node: '>=12' } d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==, + } + engines: { node: '>=12' } d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==, + } + engines: { node: '>=12' } hasBin: true d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==, + } + engines: { node: '>=12' } d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==, + } + engines: { node: '>=12' } d3-force-3d@3.0.6: - resolution: {integrity: sha512-4tsKHUPLOVkyfEffZo1v6sFHvGFwAIIjt/W8IThbp08DYAsXZck+2pSHEG5W1+gQgEvFLdZkYvmJAbRM2EzMnA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-4tsKHUPLOVkyfEffZo1v6sFHvGFwAIIjt/W8IThbp08DYAsXZck+2pSHEG5W1+gQgEvFLdZkYvmJAbRM2EzMnA==, + } + engines: { node: '>=12' } d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==, + } + engines: { node: '>=12' } d3-format@3.1.2: - resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==, + } + engines: { node: '>=12' } d3-geo-projection@4.0.0: - resolution: {integrity: sha512-p0bK60CEzph1iqmnxut7d/1kyTmm3UWtPlwdkM31AU+LW+BXazd5zJdoCn7VFxNCHXRngPHRnsNn5uGjLRGndg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-p0bK60CEzph1iqmnxut7d/1kyTmm3UWtPlwdkM31AU+LW+BXazd5zJdoCn7VFxNCHXRngPHRnsNn5uGjLRGndg==, + } + engines: { node: '>=12' } hasBin: true d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==, + } + engines: { node: '>=12' } d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==, + } + engines: { node: '>=12' } d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==, + } + engines: { node: '>=12' } d3-octree@1.1.0: - resolution: {integrity: sha512-F8gPlqpP+HwRPMO/8uOu5wjH110+6q4cgJvgJT6vlpy3BEaDIKlTZrgHKZSp/i1InRpVfh4puY/kvL6MxK930A==} + resolution: + { + integrity: sha512-F8gPlqpP+HwRPMO/8uOu5wjH110+6q4cgJvgJT6vlpy3BEaDIKlTZrgHKZSp/i1InRpVfh4puY/kvL6MxK930A==, + } d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==, + } + engines: { node: '>=12' } d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==, + } + engines: { node: '>=12' } d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==, + } + engines: { node: '>=12' } d3-regression@1.3.10: - resolution: {integrity: sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw==} + resolution: + { + integrity: sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw==, + } d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==, + } + engines: { node: '>=12' } d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==, + } + engines: { node: '>=12' } d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==, + } + engines: { node: '>=12' } d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==, + } + engines: { node: '>=12' } d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==, + } + engines: { node: '>=12' } d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==, + } + engines: { node: '>=12' } d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} + resolution: + { + integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==, + } + engines: { node: '>=0.12' } dagre@0.8.5: - resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} + resolution: + { + integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==, + } data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==, + } + engines: { node: '>= 12' } data-view-buffer@1.0.2: - resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==, + } + engines: { node: '>= 0.4' } data-view-byte-length@1.0.2: - resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==, + } + engines: { node: '>= 0.4' } data-view-byte-offset@1.0.1: - resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==, + } + engines: { node: '>= 0.4' } date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} + resolution: + { + integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==, + } + engines: { node: '>=0.11' } dayjs@1.11.19: - resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} + resolution: + { + integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==, + } debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + resolution: + { + integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, + } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -3025,7 +4946,10 @@ packages: optional: true debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + resolution: + { + integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, + } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -3033,8 +4957,11 @@ packages: optional: true debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, + } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -3042,392 +4969,679 @@ packages: optional: true decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==, + } + engines: { node: '>=0.10.0' } decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, + } + engines: { node: '>=0.10.0' } decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==, + } + engines: { node: '>=0.10' } deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } deepmerge@1.5.2: - resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==, + } + engines: { node: '>=0.10.0' } deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, + } + engines: { node: '>=0.10.0' } default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==, + } + engines: { node: '>=12' } default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==, + } + engines: { node: '>=14.16' } define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, + } + engines: { node: '>= 0.4' } define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, + } + engines: { node: '>=8' } define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==, + } + engines: { node: '>=12' } define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, + } + engines: { node: '>= 0.4' } delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: '>=0.4.0' } depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==, + } + engines: { node: '>= 0.6' } depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: '>= 0.8' } dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, + } + engines: { node: '>=6' } des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + resolution: + { + integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==, + } destroy@1.0.4: - resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} + resolution: + { + integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==, + } destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + resolution: + { + integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, + } + engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } detect-indent@7.0.2: - resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} - engines: {node: '>=12.20'} + resolution: + { + integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==, + } + engines: { node: '>=12.20' } detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==, + } + engines: { node: '>=0.10' } hasBin: true detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + resolution: + { + integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==, + } diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + resolution: + { + integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==, + } dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, + } + engines: { node: '>=8' } doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, + } + engines: { node: '>=0.10.0' } doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: '>=6.0.0' } dom-align@1.12.4: - resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==} + resolution: + { + integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==, + } dom-converter@0.2.0: - resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + resolution: + { + integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==, + } dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + resolution: + { + integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==, + } dom-walk@0.1.2: - resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + resolution: + { + integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==, + } domain-browser@1.2.0: - resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} - engines: {node: '>=0.4', npm: '>=1.2'} + resolution: + { + integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==, + } + engines: { node: '>=0.4', npm: '>=1.2' } domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + resolution: + { + integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, + } domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - - domparser-darwin-arm64@0.0.5: - resolution: {integrity: sha512-7dNROB7Cv0MJOFkKBKYoO8RhljZmwwwybOUSQGmUoSm0DhFn3ahqPp/W4RNX/4P849EpYdWFxYmRF+s3omeOMA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==, + } + engines: { node: '>= 4' } + + domparser-darwin-arm64@0.0.7: + resolution: + { + integrity: sha512-6lsDppVTrqV9G688q3OWYxghFd3g6gmelA9SR87waAic+eZ+FB7Goco3UxW936lJ0GvSpokiJlqcFX+QnkCfEw==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [darwin] - domparser-darwin-x64@0.0.5: - resolution: {integrity: sha512-qjzgFLcp6nnYaZq5YHLrlZYnNxU6CdCOQ+vCM0ySK96XB0xlz87VYi347ylyO2boThHlenDVLiDoC6/eq7IvxQ==} - engines: {node: '>= 10'} + domparser-darwin-x64@0.0.7: + resolution: + { + integrity: sha512-BSw91pFsEU56LSRtnqqn2I3pxv+zIh48V2Mp7Ku8q6XbHqUxSWR1POxRjtdjkntmJisTKg2LzezthJODxWMFUA==, + } + engines: { node: '>= 10' } cpu: [x64] os: [darwin] - domparser-linux-arm64-gnu@0.0.5: - resolution: {integrity: sha512-ogEcw0I98MktYhHunyDw+uwsdRxM22HO4RYZPuEDUR6mrw+WFXMdgsl6FqsF4HXxS9d09FITAZvH1B1eRw21pQ==} - engines: {node: '>= 10'} + domparser-linux-arm64-gnu@0.0.7: + resolution: + { + integrity: sha512-F9Znw5XHqyVS/kMqstedfuy4sgqiLyPZVmG6fpvpNqkMX57pZaSPJlys9/OLwT2Fx+8oB8+8Byb/4E/vnPYqJQ==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] libc: [glibc] - domparser-linux-arm64-musl@0.0.5: - resolution: {integrity: sha512-9LkweiOrR86FLNibNEaX34YTfee7ypweTHCkNfQKOhwGbqHawz9bNtz0bhcj6zW0QQBGXgNJmxabvsLoPCGb6w==} - engines: {node: '>= 10'} + domparser-linux-arm64-musl@0.0.7: + resolution: + { + integrity: sha512-dV14s5WwfotBFGrp5SCGLk0J6LCAj+ZcuuLmpQOsbekPCbiZksk7XOoE2RrZ03ny+/bWN+Sh+jaU9IGiryMVxQ==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] libc: [musl] - domparser-linux-x64-gnu@0.0.5: - resolution: {integrity: sha512-md2XaziFXXd/1UkmkWWEGQ915UiEoFHAjIS6gLTVkv85UKuH664I8uqJp0cnahhzmOAnZEVy192HuoHyf3KGmw==} - engines: {node: '>= 10'} + domparser-linux-x64-gnu@0.0.7: + resolution: + { + integrity: sha512-Ugu95+nsEyWgEsZ0v6cDp9rUHong0HeWMbjmzjICNIvAdbXfaCjbSk+m10YeOTk2N3O4svLvwfnCLYbRcvUTTg==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] libc: [glibc] - domparser-linux-x64-musl@0.0.5: - resolution: {integrity: sha512-grluiaobq8ERZu6IKEEtSgrwAAH+RcnXPFN0UU2144D2bH4bBI7rJHijDxK+ghnR+kYLecWNesXH8u4PPEjVAg==} - engines: {node: '>= 10'} + domparser-linux-x64-musl@0.0.7: + resolution: + { + integrity: sha512-ssuCW0QL1ZB7MjOL0F5o06uy6qreaRsiA8EIGl5rfQstoWrQeKWEtI0yh7dIxvN++Zz0GLFY9IdbSj8GUuY4Kg==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] libc: [musl] - domparser-rs@0.0.5: - resolution: {integrity: sha512-6RNWPBIsu7vcDa4SYs3/SFh9Ha0WuFzAfuZJeIg/alCDCrfSfDduR1CBkgbkD9wwDpowwbVKZS0YHHWqdTOgfg==} - engines: {node: '>= 10'} - - domparser-win32-arm64-msvc@0.0.5: - resolution: {integrity: sha512-r5PUqGd6txpXMAKzT2UKlk3FXPDPYBAdz0WH//Ci58WAJWP7PQ9Eys5HT5jUZTl30eVjltjRm7JwoEy9112ooA==} - engines: {node: '>= 10'} + domparser-rs@0.0.7: + resolution: + { + integrity: sha512-OGXsNHyFLGHGzi/zdPRw+Nv4jQdh7DCgmJAQYHXTIGXX1nW4RFwPyocv+VvemRHqs2QFOH6MDhpkzhiXiI6caA==, + } + engines: { node: '>= 10' } + + domparser-win32-arm64-msvc@0.0.7: + resolution: + { + integrity: sha512-tqr1ltXk0PG9U3kCFXzF6tEzA0AWVrV4Oa+jbyNb1JeVeuALf6uCQO0XjVdb0nknll5iMjwVXR2y2Mw+CEwTAw==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [win32] - domparser-win32-x64-msvc@0.0.5: - resolution: {integrity: sha512-gMHFDh7D0e86iNErgHW/kO98nlzQS6WAG8SuDb/sGNPULDDaTSXX81MS70B2iUosdgbi90jnRtQJ7sDTz6G08g==} - engines: {node: '>= 10'} + domparser-win32-x64-msvc@0.0.7: + resolution: + { + integrity: sha512-69XAew+0MublYlx7Mywe/9qkc/lo6L5QYsBBgwHDK96QPy4MFv5U4WgsXWXbKoeKEbBlRMyLA0iohF0qvU+Veg==, + } + engines: { node: '>= 10' } cpu: [x64] os: [win32] domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + resolution: + { + integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==, + } dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + resolution: + { + integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==, + } dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, + } + engines: { node: '>= 0.4' } duplexify@4.1.3: - resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} + resolution: + { + integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==, + } dva-core@1.5.0-beta.2: - resolution: {integrity: sha512-xmtr/J63EZXBdVXNBW+QCD7p9CaE8kAo2U1faRyv3PIGcy0G3Y6IBDNtoBB/Cj3nzk/jvX0dv96Hnh1kpSnI7Q==} + resolution: + { + integrity: sha512-xmtr/J63EZXBdVXNBW+QCD7p9CaE8kAo2U1faRyv3PIGcy0G3Y6IBDNtoBB/Cj3nzk/jvX0dv96Hnh1kpSnI7Q==, + } peerDependencies: redux: 3.x dva-core@2.0.4: - resolution: {integrity: sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==} + resolution: + { + integrity: sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==, + } peerDependencies: redux: 4.x dva-immer@1.0.2: - resolution: {integrity: sha512-FljpX5ZKm0APjq4Vpli1Ii4XNiWY/2goDI92LU5bkc4pzR4njDdTaZ0+J1bpgTDVWHmF8tmug6rD9kry0DKt4g==} + resolution: + { + integrity: sha512-FljpX5ZKm0APjq4Vpli1Ii4XNiWY/2goDI92LU5bkc4pzR4njDdTaZ0+J1bpgTDVWHmF8tmug6rD9kry0DKt4g==, + } peerDependencies: dva: ^2.5.0-0 dva-loading@3.0.25: - resolution: {integrity: sha512-RYbpSjvPj2NF+3YSc9QkDpwM1wO8uRAVfU6VGSgIxA2kA/Xd6yoY+VQM7GDRnvCvT579pESeBZBXk+8WKWOdDA==} + resolution: + { + integrity: sha512-RYbpSjvPj2NF+3YSc9QkDpwM1wO8uRAVfU6VGSgIxA2kA/Xd6yoY+VQM7GDRnvCvT579pESeBZBXk+8WKWOdDA==, + } peerDependencies: dva-core: ^1.1.0 || ^1.5.0-0 || ^1.6.0-0 dva@2.5.0-beta.2: - resolution: {integrity: sha512-kc2+CHhF1cNIU3Rg1miMhHgOKJ/VDrq9d6ynVBZf1EN2YKWU3MVFq/uTTBqMr2qkR0m9f8VKHOFmfKLtfMI93Q==} + resolution: + { + integrity: sha512-kc2+CHhF1cNIU3Rg1miMhHgOKJ/VDrq9d6ynVBZf1EN2YKWU3MVFq/uTTBqMr2qkR0m9f8VKHOFmfKLtfMI93Q==, + } peerDependencies: react: 15.x || ^16.0.0-0 react-dom: 15.x || ^16.0.0-0 eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + resolution: + { + integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, + } ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + resolution: + { + integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, + } - electron-to-chromium@1.5.279: - resolution: {integrity: sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg==} + electron-to-chromium@1.5.307: + resolution: + { + integrity: sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==, + } elliptic@6.6.1: - resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + resolution: + { + integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==, + } emoji-regex@10.6.0: - resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + resolution: + { + integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==, + } emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + resolution: + { + integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, + } emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==, + } + engines: { node: '>= 4' } encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, + } + engines: { node: '>= 0.8' } encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==, + } + engines: { node: '>= 0.8' } encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + resolution: + { + integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==, + } end-of-stream@1.4.5: - resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - - enhanced-resolve@5.18.4: - resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} - engines: {node: '>=10.13.0'} - - enhanced-resolve@5.19.0: - resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==, + } + + enhanced-resolve@5.20.0: + resolution: + { + integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==, + } + engines: { node: '>=10.13.0' } enhanced-resolve@5.9.3: - resolution: {integrity: sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==, + } + engines: { node: '>=10.13.0' } entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + resolution: + { + integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==, + } entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + resolution: + { + integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, + } + engines: { node: '>=0.12' } env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, + } + engines: { node: '>=6' } environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==, + } + engines: { node: '>=18' } errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + resolution: + { + integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, + } hasBin: true error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + resolution: + { + integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==, + } error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + resolution: + { + integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==, + } es-abstract@1.24.1: - resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==, + } + engines: { node: '>= 0.4' } es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==, + } + engines: { node: '>= 0.4' } es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, + } + engines: { node: '>= 0.4' } es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + resolution: + { + integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==, + } es-iterator-helpers@1.2.2: - resolution: {integrity: sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==, + } + engines: { node: '>= 0.4' } es-module-lexer@2.0.0: - resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + resolution: + { + integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==, + } es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==, + } + engines: { node: '>= 0.4' } es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==, + } + engines: { node: '>= 0.4' } es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==, + } + engines: { node: '>= 0.4' } es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==, + } + engines: { node: '>= 0.4' } es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==, + } + engines: { node: '>=0.10' } es5-imcompatible-versions@0.1.90: - resolution: {integrity: sha512-2MPI0t/VV4j/oz1qbMekb4gCW81dewTpM2XJHKnPpZiPGu+1rVWmhTnwcq1vt8AFwWrkNF4RE7OZ9ibnKFYKwg==} + resolution: + { + integrity: sha512-2MPI0t/VV4j/oz1qbMekb4gCW81dewTpM2XJHKnPpZiPGu+1rVWmhTnwcq1vt8AFwWrkNF4RE7OZ9ibnKFYKwg==, + } es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + resolution: + { + integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==, + } es6-promise@3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + resolution: + { + integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==, + } es6-promise@4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + resolution: + { + integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==, + } es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} + resolution: + { + integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==, + } + engines: { node: '>=0.12' } es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + resolution: + { + integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==, + } esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==, + } + engines: { node: '>=12' } hasBin: true esbuild@0.21.4: - resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==, + } + engines: { node: '>=12' } hasBin: true escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, + } + engines: { node: '>=6' } escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + resolution: + { + integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, + } escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: '>=0.8.0' } escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: '>=10' } eslint-plugin-jest@27.2.3: - resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 eslint: ^7.0.0 || ^8.0.0 @@ -3439,166 +5653,289 @@ packages: optional: true eslint-plugin-react-hooks@4.6.0: - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==, + } + engines: { node: '>=10' } peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 eslint-plugin-react@7.33.2: - resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==, + } + engines: { node: '>=4' } peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, + } + engines: { node: '>=8.0.0' } eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + resolution: + { + integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==, + } + engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } peerDependencies: eslint: '>=5' eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, + } + engines: { node: '>=10' } eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } eslint@8.35.0: - resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==, + } + engines: { node: '>=0.10' } espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, + } + engines: { node: '>=4' } hasBin: true esquery@1.7.0: - resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==, + } + engines: { node: '>=0.10' } esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: '>=4.0' } estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, + } + engines: { node: '>=4.0' } estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: '>=4.0' } esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: '>=0.10.0' } etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, + } + engines: { node: '>= 0.6' } event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + resolution: + { + integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==, + } eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + resolution: + { + integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==, + } events-okam@3.3.0: - resolution: {integrity: sha512-6iR7z9hAJEwrT+D2Ywg6Fx62HSmN86OlcvPdrnq1JBeFr30dMF6l+j7M3VabjHfIi2KMtF8rO0J1rIZEfwMAwg==} - engines: {node: '>=0.8.x'} + resolution: + { + integrity: sha512-6iR7z9hAJEwrT+D2Ywg6Fx62HSmN86OlcvPdrnq1JBeFr30dMF6l+j7M3VabjHfIi2KMtF8rO0J1rIZEfwMAwg==, + } + engines: { node: '>=0.8.x' } events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: '>=0.8.x' } evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + resolution: + { + integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==, + } execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, + } + engines: { node: '>=10' } execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + resolution: + { + integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==, + } + engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } execall@2.0.0: - resolution: {integrity: sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==, + } + engines: { node: '>=8' } exit-on-epipe@1.0.1: - resolution: {integrity: sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==, + } + engines: { node: '>=0.8' } express-http-proxy@2.1.2: - resolution: {integrity: sha512-FXcAcs7Nf/hF73Mzh0WDWPwaOlsEUL/fCHW3L4wU6DH79dypsaxmbnAildCLniFs7HQuuvoiR6bjNVUvGuTb5g==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-FXcAcs7Nf/hF73Mzh0WDWPwaOlsEUL/fCHW3L4wU6DH79dypsaxmbnAildCLniFs7HQuuvoiR6bjNVUvGuTb5g==, + } + engines: { node: '>=6.0.0' } express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} - engines: {node: '>= 0.10.0'} + resolution: + { + integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==, + } + engines: { node: '>= 0.10.0' } ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + resolution: + { + integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==, + } fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} + resolution: + { + integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, + } + engines: { node: '>=8.6.0' } fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} + resolution: + { + integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==, + } + engines: { node: '>=8.6.0' } fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==, + } + engines: { node: '>=6' } fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + resolution: + { + integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, + } fast-uri@3.1.0: - resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + resolution: + { + integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==, + } fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} + resolution: + { + integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==, + } + engines: { node: '>= 4.9.1' } fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + resolution: + { + integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==, + } fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + resolution: + { + integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==, + } fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, + } + engines: { node: '>=12.0.0' } peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -3606,57 +5943,99 @@ packages: optional: true fecha@4.2.3: - resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + resolution: + { + integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==, + } fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + resolution: + { + integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==, + } + engines: { node: ^12.20 || >= 14.13 } file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } file-saver@1.3.8: - resolution: {integrity: sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==} + resolution: + { + integrity: sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==, + } fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, + } + engines: { node: '>=8' } filter-obj@1.1.0: - resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==, + } + engines: { node: '>=0.10.0' } finalhandler@1.3.2: - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==, + } + engines: { node: '>= 0.8' } find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, + } + engines: { node: '>=8' } find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: '>=10' } flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - - flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + + flatted@3.3.4: + resolution: + { + integrity: sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==, + } flatten@1.0.3: - resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} + resolution: + { + integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==, + } deprecated: flatten is deprecated in favor of utility frameworks such as lodash. flru@1.0.2: - resolution: {integrity: sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==, + } + engines: { node: '>=6' } follow-redirects@1.15.11: - resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==, + } + engines: { node: '>=4.0' } peerDependencies: debug: '*' peerDependenciesMeta: @@ -3664,778 +6043,1415 @@ packages: optional: true for-each@0.3.5: - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==, + } + engines: { node: '>= 0.4' } foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==, + } + engines: { node: '>=14' } fork-ts-checker-webpack-plugin@8.0.0: - resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} - engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + resolution: + { + integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==, + } + engines: { node: '>=12.13.0', yarn: '>=1.0.0' } peerDependencies: typescript: '>3.6.0' webpack: ^5.11.0 form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==, + } + engines: { node: '>= 6' } formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + resolution: + { + integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, + } + engines: { node: '>=12.20.0' } forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: '>= 0.6' } frac@1.1.2: - resolution: {integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==, + } + engines: { node: '>=0.8' } fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + resolution: + { + integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==, + } fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, + } + engines: { node: '>= 0.6' } fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, + } + engines: { node: '>=12' } fs-monkey@1.1.0: - resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + resolution: + { + integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==, + } fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==, + } + engines: { node: '>= 0.4' } functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + resolution: + { + integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, + } generator-function@2.0.1: - resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==, + } + engines: { node: '>= 0.4' } gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, + } + engines: { node: '>=6.9.0' } get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-east-asian-width@1.4.0: - resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } + + get-east-asian-width@1.5.0: + resolution: + { + integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==, + } + engines: { node: '>=18' } get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==, + } + engines: { node: '>= 0.4' } get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==, + } + engines: { node: '>=8.0.0' } get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==, + } + engines: { node: '>= 0.4' } get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==, + } + engines: { node: '>=10' } get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, + } + engines: { node: '>=10' } get-symbol-description@1.1.0: - resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} - engines: {node: '>= 0.4'} - - get-tsconfig@4.13.1: - resolution: {integrity: sha512-EoY1N2xCn44xU6750Sx7OjOIT59FkmstNc3X6y5xpz7D5cBtZRe/3pSlTkDJgqsOk3WwZPkWfonhhUJfttQo3w==} + resolution: + { + integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==, + } + engines: { node: '>= 0.4' } + + get-tsconfig@4.13.6: + resolution: + { + integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==, + } get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + resolution: + { + integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==, + } git-hooks-list@3.2.0: - resolution: {integrity: sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ==} + resolution: + { + integrity: sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ==, + } git-hooks-list@4.2.1: - resolution: {integrity: sha512-WNvqJjOxxs/8ZP9+DWdwWJ7cDsd60NHf39XnD82pDVrKO5q7xfPqpkK6hwEAmBa/ZSEE4IOoR75EzbbIuwGlMw==} + resolution: + { + integrity: sha512-WNvqJjOxxs/8ZP9+DWdwWJ7cDsd60NHf39XnD82pDVrKO5q7xfPqpkK6hwEAmBa/ZSEE4IOoR75EzbbIuwGlMw==, + } gl-matrix@3.4.4: - resolution: {integrity: sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==} + resolution: + { + integrity: sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==, + } glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, + } + engines: { node: '>= 6' } glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: '>=10.13.0' } glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - - glob@10.5.0: - resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + resolution: + { + integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==, + } + + glob@10.4.5: + resolution: + { + integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==, + } hasBin: true glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } deprecated: Glob versions prior to v9 are no longer supported global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==, + } + engines: { node: '>=6' } global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==, + } + engines: { node: '>=6' } global@4.4.0: - resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + resolution: + { + integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==, + } globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: '>=8' } globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==, + } + engines: { node: '>= 0.4' } globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, + } + engines: { node: '>=10' } globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } globjoin@0.1.4: - resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + resolution: + { + integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==, + } gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==, + } + engines: { node: '>= 0.4' } graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + resolution: + { + integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, + } graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } graphlib@2.1.8: - resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + resolution: + { + integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==, + } handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + resolution: + { + integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==, + } hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==, + } + engines: { node: '>=6' } harmony-reflect@1.6.2: - resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} + resolution: + { + integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==, + } has-bigints@1.1.0: - resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==, + } + engines: { node: '>= 0.4' } has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, + } + engines: { node: '>=4' } has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: '>=8' } has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + resolution: + { + integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, + } has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==, + } + engines: { node: '>= 0.4' } has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==, + } + engines: { node: '>= 0.4' } has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, + } + engines: { node: '>= 0.4' } hash-base@3.0.5: - resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==, + } + engines: { node: '>= 0.10' } hash-base@3.1.2: - resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==, + } + engines: { node: '>= 0.8' } hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + resolution: + { + integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==, + } hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, + } + engines: { node: '>= 0.4' } he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + resolution: + { + integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, + } hasBin: true history@4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + resolution: + { + integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==, + } history@5.3.0: - resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} + resolution: + { + integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==, + } hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + resolution: + { + integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==, + } hoist-non-react-statics@2.5.5: - resolution: {integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==} + resolution: + { + integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==, + } hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + resolution: + { + integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==, + } hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + resolution: + { + integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, + } hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, + } + engines: { node: '>=10' } hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + resolution: + { + integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==, + } htm@3.1.1: - resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} + resolution: + { + integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==, + } html-entities@2.6.0: - resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + resolution: + { + integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==, + } html-minifier-terser@6.1.0: - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==, + } + engines: { node: '>=12' } hasBin: true html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==, + } + engines: { node: '>=8' } html-webpack-plugin@5.5.0: - resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==, + } + engines: { node: '>=10.13.0' } peerDependencies: webpack: ^5.20.0 html2canvas@1.4.1: - resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==, + } + engines: { node: '>=8.0.0' } htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + resolution: + { + integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==, + } http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + resolution: + { + integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==, + } http-errors@1.7.3: - resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==, + } + engines: { node: '>= 0.6' } http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==, + } + engines: { node: '>= 0.8' } http2-client@1.3.5: - resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} + resolution: + { + integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==, + } https-browserify@1.0.0: - resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + resolution: + { + integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==, + } human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + resolution: + { + integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, + } + engines: { node: '>=10.17.0' } human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} + resolution: + { + integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==, + } + engines: { node: '>=14.18.0' } husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==, + } + engines: { node: '>=18' } hasBin: true iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, + } + engines: { node: '>=0.10.0' } iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, + } + engines: { node: '>=0.10.0' } icss-utils@5.1.0: - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} + resolution: + { + integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==, + } + engines: { node: ^10 || ^12 || >= 14 } peerDependencies: postcss: ^8.1.0 identity-obj-proxy@3.0.0: - resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==, + } + engines: { node: '>=4' } ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, + } + engines: { node: '>= 4' } image-size@0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, + } + engines: { node: '>=0.10.0' } hasBin: true immer@8.0.4: - resolution: {integrity: sha512-jMfL18P+/6P6epANRvRk6q8t+3gGhqsJ9EuJ25AXE+9bNTYtssvzeYbEd0mXRYWCmmXSIbnlpz6vd6iJlmGGGQ==} + resolution: + { + integrity: sha512-jMfL18P+/6P6epANRvRk6q8t+3gGhqsJ9EuJ25AXE+9bNTYtssvzeYbEd0mXRYWCmmXSIbnlpz6vd6iJlmGGGQ==, + } - immutable@4.3.7: - resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} + immutable@4.3.8: + resolution: + { + integrity: sha512-d/Ld9aLbKpNwyl0KiM2CT1WYvkitQ1TSvmRtkcV8FKStiDoA7Slzgjmb/1G2yhKM1p0XeNOieaTbFZmU1d3Xuw==, + } import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==, + } + engines: { node: '>=6' } import-html-entry@1.17.0: - resolution: {integrity: sha512-2SDsRlGlE8bqdnGqsOyiDPEWlzJR0jNW4LWopnZl5QE1Yd0nJ7fykWo2GaKUF7Jq7pR0g3dElhuJHyamTt1gPQ==} + resolution: + { + integrity: sha512-2SDsRlGlE8bqdnGqsOyiDPEWlzJR0jNW4LWopnZl5QE1Yd0nJ7fykWo2GaKUF7Jq7pR0g3dElhuJHyamTt1gPQ==, + } import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, + } + engines: { node: '>=8' } imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: '>=0.8.19' } indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, + } + engines: { node: '>=8' } inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.1: - resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + resolution: + { + integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==, + } inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + resolution: + { + integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==, + } inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + resolution: + { + integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, + } internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==, + } + engines: { node: '>= 0.4' } internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==, + } + engines: { node: '>=12' } intl-format-cache@4.3.1: - resolution: {integrity: sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==} + resolution: + { + integrity: sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==, + } intl-messageformat-parser@3.6.4: - resolution: {integrity: sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==} + resolution: + { + integrity: sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==, + } deprecated: We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser intl-messageformat@7.8.4: - resolution: {integrity: sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==} + resolution: + { + integrity: sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==, + } intl@1.2.5: - resolution: {integrity: sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==} + resolution: + { + integrity: sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==, + } invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + resolution: + { + integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, + } ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: '>= 0.10' } is-any-array@2.0.1: - resolution: {integrity: sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==} + resolution: + { + integrity: sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==, + } is-arguments@1.2.0: - resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==, + } + engines: { node: '>= 0.4' } is-array-buffer@3.0.5: - resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==, + } + engines: { node: '>= 0.4' } is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + resolution: + { + integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, + } is-arrayish@0.3.4: - resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} + resolution: + { + integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==, + } is-arrow-function@2.0.3: - resolution: {integrity: sha512-iDStzcT1FJMzx+TjCOK//uDugSe/Mif/8a+T0htydQ3qkJGvSweTZpVYz4hpJH0baloSPiAFQdA8WslAgJphvQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-iDStzcT1FJMzx+TjCOK//uDugSe/Mif/8a+T0htydQ3qkJGvSweTZpVYz4hpJH0baloSPiAFQdA8WslAgJphvQ==, + } + engines: { node: '>= 0.4' } is-async-function@2.1.1: - resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==, + } + engines: { node: '>= 0.4' } is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==, + } + engines: { node: '>= 0.4' } is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, + } + engines: { node: '>=8' } is-boolean-object@1.2.2: - resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==, + } + engines: { node: '>= 0.4' } is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, + } + engines: { node: '>= 0.4' } is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==, + } + engines: { node: '>= 0.4' } is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==, + } + engines: { node: '>= 0.4' } is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==, + } + engines: { node: '>= 0.4' } is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, + } + engines: { node: '>=8' } hasBin: true is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } hasBin: true is-equal@1.7.0: - resolution: {integrity: sha512-hErktGR9jmoYXNWlbrwGjc8eHh09mbY6TWSTTFtnMcKaCuSMN8z+Ni5ma/8mkbVpe4CbB7V6kN1MkCg9bCx5bA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-hErktGR9jmoYXNWlbrwGjc8eHh09mbY6TWSTTFtnMcKaCuSMN8z+Ni5ma/8mkbVpe4CbB7V6kN1MkCg9bCx5bA==, + } + engines: { node: '>= 0.4' } is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: '>=0.10.0' } is-finalizationregistry@1.1.1: - resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==, + } + engines: { node: '>= 0.4' } is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: '>=8' } is-fullwidth-code-point@5.1.0: - resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==, + } + engines: { node: '>=18' } is-generator-function@1.1.2: - resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==, + } + engines: { node: '>= 0.4' } is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: '>=0.10.0' } is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==, + } + engines: { node: '>=14.16' } hasBin: true is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==, + } + engines: { node: '>= 0.4' } is-mobile@5.0.0: - resolution: {integrity: sha512-Tz/yndySvLAEXh+Uk8liFCxOwVH6YutuR74utvOcu7I9Di+DwM0mtdPVZNaVvvBUM2OXxne/NhOs1zAO7riusQ==} + resolution: + { + integrity: sha512-Tz/yndySvLAEXh+Uk8liFCxOwVH6YutuR74utvOcu7I9Di+DwM0mtdPVZNaVvvBUM2OXxne/NhOs1zAO7riusQ==, + } is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==, + } + engines: { node: '>= 0.4' } is-number-object@1.1.1: - resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==, + } + engines: { node: '>= 0.4' } is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: '>=0.12.0' } is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: '>=8' } is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==, + } + engines: { node: '>=0.10.0' } is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, + } + engines: { node: '>=12' } is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==, + } + engines: { node: '>=0.10.0' } is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, + } + engines: { node: '>=0.10.0' } is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + resolution: + { + integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==, + } is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==, + } + engines: { node: '>= 0.4' } is-regexp@2.1.0: - resolution: {integrity: sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==, + } + engines: { node: '>=6' } is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==, + } + engines: { node: '>= 0.4' } is-shared-array-buffer@1.0.4: - resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==, + } + engines: { node: '>= 0.4' } is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==, + } + engines: { node: '>=0.10.0' } is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, + } + engines: { node: '>=8' } is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } is-string@1.1.1: - resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==, + } + engines: { node: '>= 0.4' } is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==, + } + engines: { node: '>= 0.4' } is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==, + } + engines: { node: '>= 0.4' } is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==, + } + engines: { node: '>= 0.4' } is-weakref@1.1.1: - resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==, + } + engines: { node: '>= 0.4' } is-weakset@2.0.4: - resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==, + } + engines: { node: '>= 0.4' } is-what@3.14.1: - resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + resolution: + { + integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==, + } is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} + resolution: + { + integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==, + } + engines: { node: '>=12.13' } is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, + } + engines: { node: '>=8' } isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + resolution: + { + integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==, + } isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + resolution: + { + integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, + } isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + resolution: + { + integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, + } isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==, + } + engines: { node: '>=0.10.0' } isomorphic-fetch@2.2.1: - resolution: {integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==} + resolution: + { + integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==, + } isomorphic-rslog@0.0.7: - resolution: {integrity: sha512-n6/XnKnZ5eLEj6VllG4XmamXG7/F69nls8dcynHyhcTpsPUYgcgx4ifEaCo4lQJ2uzwfmIT+F0KBGwBcMKmt5g==} - engines: {node: '>=14.17.6'} + resolution: + { + integrity: sha512-n6/XnKnZ5eLEj6VllG4XmamXG7/F69nls8dcynHyhcTpsPUYgcgx4ifEaCo4lQJ2uzwfmIT+F0KBGwBcMKmt5g==, + } + engines: { node: '>=14.17.6' } isomorphic-unfetch@4.0.2: - resolution: {integrity: sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==} + resolution: + { + integrity: sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==, + } istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: '>=8' } istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==, + } + engines: { node: '>=8' } iterator.prototype@1.1.5: - resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==, + } + engines: { node: '>= 0.4' } jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + resolution: + { + integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==, + } javascript-stringify@2.1.0: - resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} + resolution: + { + integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==, + } jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + resolution: + { + integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, + } + engines: { node: '>= 10.13.0' } jest-worker@29.4.3: - resolution: {integrity: sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } jiti@2.6.1: - resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + resolution: + { + integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==, + } hasBin: true js-export-excel@1.1.4: - resolution: {integrity: sha512-19m7e3Gnn4CRfHXoFrLYj4fFfJ/KpvI7HRRn25p4GXYD+AlTV+1oU24NH6S904Ksi44tSx7futxhouOPAQ22oQ==} + resolution: + { + integrity: sha512-19m7e3Gnn4CRfHXoFrLYj4fFfJ/KpvI7HRRn25p4GXYD+AlTV+1oU24NH6S904Ksi44tSx7futxhouOPAQ22oQ==, + } js-sdsl@4.4.2: - resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} + resolution: + { + integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==, + } js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + resolution: + { + integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==, + } hasBin: true js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + resolution: + { + integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==, + } hasBin: true jsencrypt@3.5.4: - resolution: {integrity: sha512-kNjfYEMNASxrDGsmcSQh/rUTmcoRfSUkxnAz+MMywM8jtGu+fFEZ3nJjHM58zscVnwR0fYmG9sGkTDjqUdpiwA==} + resolution: + { + integrity: sha512-kNjfYEMNASxrDGsmcSQh/rUTmcoRfSUkxnAz+MMywM8jtGu+fFEZ3nJjHM58zscVnwR0fYmG9sGkTDjqUdpiwA==, + } jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, + } + engines: { node: '>=4' } hasBin: true jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==, + } + engines: { node: '>=6' } hasBin: true json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + resolution: + { + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, + } json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } json2mq@0.2.0: - resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} + resolution: + { + integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==, + } json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: '>=6' } hasBin: true jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + resolution: + { + integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==, + } jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==, + } + engines: { node: '>=4.0' } keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, + } + engines: { node: '>=0.10.0' } + + klona@2.0.6: + resolution: + { + integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==, + } + engines: { node: '>= 8' } known-css-properties@0.25.0: - resolution: {integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==} + resolution: + { + integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==, + } kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + resolution: + { + integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==, + } + + less-loader@11.1.0: + resolution: + { + integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==, + } + engines: { node: '>= 14.15.0' } + peerDependencies: + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 - less-loader@12.3.0: - resolution: {integrity: sha512-0M6+uYulvYIWs52y0LqN4+QM9TqWAohYSNTo4htE8Z7Cn3G/qQMEmktfHmyJT23k+20kU9zHH2wrfFXkxNLtVw==} - engines: {node: '>= 18.12.0'} + less-loader@12.3.1: + resolution: + { + integrity: sha512-JZZmG7gMzoDP3VGeEG8Sh6FW5wygB5jYL7Wp29FFihuRTsIBacqO3LbRPr2yStYD11riVf13selLm/CPFRDBRQ==, + } + engines: { node: '>= 18.12.0' } peerDependencies: - '@rspack/core': 0.x || 1.x + '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 less: ^3.5.0 || ^4.0.0 webpack: ^5.0.0 peerDependenciesMeta: @@ -4445,371 +7461,653 @@ packages: optional: true less-plugin-resolve@1.0.2: - resolution: {integrity: sha512-e1AHq0XNTU8S3d9JCc8CFYajoUBr0EK3pcuLT5PogyBBeE0knzZJL105kKKSZWfq2lQLq3/uEDrMK3JPq+fHaA==} + resolution: + { + integrity: sha512-e1AHq0XNTU8S3d9JCc8CFYajoUBr0EK3pcuLT5PogyBBeE0knzZJL105kKKSZWfq2lQLq3/uEDrMK3JPq+fHaA==, + } less@4.1.3: - resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==, + } + engines: { node: '>=6' } hasBin: true less@4.5.1: - resolution: {integrity: sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==, + } + engines: { node: '>=14' } hasBin: true levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: '>= 0.8.0' } lightningcss-darwin-arm64@1.22.1: - resolution: {integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==, + } + engines: { node: '>= 12.0.0' } cpu: [arm64] os: [darwin] lightningcss-darwin-x64@1.22.1: - resolution: {integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==, + } + engines: { node: '>= 12.0.0' } cpu: [x64] os: [darwin] lightningcss-freebsd-x64@1.22.1: - resolution: {integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==, + } + engines: { node: '>= 12.0.0' } cpu: [x64] os: [freebsd] lightningcss-linux-arm-gnueabihf@1.22.1: - resolution: {integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==, + } + engines: { node: '>= 12.0.0' } cpu: [arm] os: [linux] lightningcss-linux-arm64-gnu@1.22.1: - resolution: {integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==, + } + engines: { node: '>= 12.0.0' } cpu: [arm64] os: [linux] libc: [glibc] lightningcss-linux-arm64-musl@1.22.1: - resolution: {integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==, + } + engines: { node: '>= 12.0.0' } cpu: [arm64] os: [linux] libc: [musl] lightningcss-linux-x64-gnu@1.22.1: - resolution: {integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==, + } + engines: { node: '>= 12.0.0' } cpu: [x64] os: [linux] libc: [glibc] lightningcss-linux-x64-musl@1.22.1: - resolution: {integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==, + } + engines: { node: '>= 12.0.0' } cpu: [x64] os: [linux] libc: [musl] lightningcss-win32-x64-msvc@1.22.1: - resolution: {integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==, + } + engines: { node: '>= 12.0.0' } cpu: [x64] os: [win32] lightningcss@1.22.1: - resolution: {integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==, + } + engines: { node: '>= 12.0.0' } lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - lint-staged@16.2.7: - resolution: {integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==} - engines: {node: '>=20.17'} + resolution: + { + integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, + } + + lint-staged@16.3.2: + resolution: + { + integrity: sha512-xKqhC2AeXLwiAHXguxBjuChoTTWFC6Pees0SHPwOpwlvI3BH7ZADFPddAdN3pgo3aiKgPUx/bxE78JfUnxQnlg==, + } + engines: { node: '>=20.17' } hasBin: true listr2@9.0.5: - resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} - engines: {node: '>=20.0.0'} + resolution: + { + integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==, + } + engines: { node: '>=20.0.0' } loader-runner@4.3.1: - resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} - engines: {node: '>=6.11.5'} + resolution: + { + integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==, + } + engines: { node: '>=6.11.5' } loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} + resolution: + { + integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==, + } + engines: { node: '>=8.9.0' } loader-utils@3.3.1: - resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} - engines: {node: '>= 12.13.0'} + resolution: + { + integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==, + } + engines: { node: '>= 12.13.0' } local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==, + } + engines: { node: '>=14' } locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, + } + engines: { node: '>=8' } locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: '>=10' } lodash-es@4.17.23: - resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} + resolution: + { + integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==, + } lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + resolution: + { + integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, + } lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } lodash.throttle@4.1.1: - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + resolution: + { + integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==, + } lodash.truncate@4.4.2: - resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + resolution: + { + integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==, + } lodash@4.17.23: - resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} + resolution: + { + integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==, + } log-update@6.1.0: - resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==, + } + engines: { node: '>=18' } loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + resolution: + { + integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, + } hasBin: true lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + resolution: + { + integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==, + } lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + resolution: + { + integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, + } lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: '>=10' } lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + resolution: + { + integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==, + } make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, + } + engines: { node: '>=6' } makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + resolution: + { + integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, + } map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==, + } + engines: { node: '>=0.10.0' } map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==, + } + engines: { node: '>=8' } math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==, + } + engines: { node: '>= 0.4' } mathml-tag-names@2.1.3: - resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + resolution: + { + integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==, + } md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + resolution: + { + integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==, + } mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + resolution: + { + integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==, + } media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: '>= 0.6' } memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} + resolution: + { + integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==, + } + engines: { node: '>= 4.0.0' } memoizee@0.4.17: - resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} - engines: {node: '>=0.12'} + resolution: + { + integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==, + } + engines: { node: '>=0.12' } meow@9.0.0: - resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==, + } + engines: { node: '>=10' } merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + resolution: + { + integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==, + } merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + } + engines: { node: '>= 8' } methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==, + } + engines: { node: '>= 0.6' } micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, + } + engines: { node: '>=8.6' } miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + resolution: + { + integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==, + } hasBin: true mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: '>= 0.6' } mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==, + } + engines: { node: '>= 0.6' } mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: '>= 0.6' } mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, + } + engines: { node: '>=4' } hasBin: true mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: '>=6' } mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: '>=12' } mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, + } + engines: { node: '>=18' } min-document@2.19.2: - resolution: {integrity: sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==} + resolution: + { + integrity: sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==, + } min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, + } + engines: { node: '>=4' } minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + resolution: + { + integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==, + } minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==, + } + + minimatch@3.1.5: + resolution: + { + integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==, + } + + minimatch@9.0.9: + resolution: + { + integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==, + } + engines: { node: '>=16 || 14 >=14.17' } minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==, + } + engines: { node: '>= 6' } + + minipass@7.1.3: + resolution: + { + integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==, + } + engines: { node: '>=16 || 14 >=14.17' } ml-array-max@1.2.4: - resolution: {integrity: sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==} + resolution: + { + integrity: sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==, + } ml-array-min@1.2.3: - resolution: {integrity: sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==} + resolution: + { + integrity: sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==, + } ml-array-rescale@1.3.7: - resolution: {integrity: sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==} + resolution: + { + integrity: sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==, + } ml-matrix@6.12.1: - resolution: {integrity: sha512-TJ+8eOFdp+INvzR4zAuwBQJznDUfktMtOB6g/hUcGh3rcyjxbz4Te57Pgri8Q9bhSQ7Zys4IYOGhFdnlgeB6Lw==} + resolution: + { + integrity: sha512-TJ+8eOFdp+INvzR4zAuwBQJznDUfktMtOB6g/hUcGh3rcyjxbz4Te57Pgri8Q9bhSQ7Zys4IYOGhFdnlgeB6Lw==, + } mock.js@0.2.0: - resolution: {integrity: sha512-DKI8Rh/h7Mma+fg+6aD0uUvwn0QXAjKG6q3s+lTaCboCQ/kvQMBN9IXRBzgEaz4aPiYoRnKU9jVsfZp0mHpWrQ==} + resolution: + { + integrity: sha512-DKI8Rh/h7Mma+fg+6aD0uUvwn0QXAjKG6q3s+lTaCboCQ/kvQMBN9IXRBzgEaz4aPiYoRnKU9jVsfZp0mHpWrQ==, + } mockjs@1.1.0: - resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + resolution: + { + integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==, + } hasBin: true moment@2.30.1: - resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + resolution: + { + integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==, + } ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + resolution: + { + integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, + } ms@2.1.1: - resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + resolution: + { + integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==, + } ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - nano-spawn@2.0.0: - resolution: {integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==} - engines: {node: '>=20.17'} + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { + integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + resolution: + { + integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, + } natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } needle@3.3.1: - resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} - engines: {node: '>= 4.4.x'} + resolution: + { + integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==, + } + engines: { node: '>= 4.4.x' } hasBin: true negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, + } + engines: { node: '>= 0.6' } negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==, + } + engines: { node: '>= 0.6' } neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + resolution: + { + integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, + } next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + resolution: + { + integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==, + } no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + resolution: + { + integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, + } node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + resolution: + { + integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==, + } node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} + resolution: + { + integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, + } + engines: { node: '>=10.5.0' } deprecated: Use your platform's native DOMException instead + node-exports-info@1.6.0: + resolution: + { + integrity: sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==, + } + engines: { node: '>= 0.4' } + node-fetch-h2@2.3.0: - resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} - engines: {node: 4.x || >=6.0.0} + resolution: + { + integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==, + } + engines: { node: 4.x || >=6.0.0 } node-fetch@1.7.3: - resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} + resolution: + { + integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==, + } node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} + resolution: + { + integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, + } + engines: { node: 4.x || >=6.0.0 } peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -4817,58 +8115,106 @@ packages: optional: true node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + resolution: + { + integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, + } node-libs-browser-okam@2.2.5: - resolution: {integrity: sha512-kD+WXACEThc6C5DA146KoCNbubjpXeYzXDrukvtXWr6MRzV3uvHCI0eb/GuugWVYnMoD4g3/uaIzvDYOpC4QWw==} + resolution: + { + integrity: sha512-kD+WXACEThc6C5DA146KoCNbubjpXeYzXDrukvtXWr6MRzV3uvHCI0eb/GuugWVYnMoD4g3/uaIzvDYOpC4QWw==, + } node-libs-browser@2.2.1: - resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} + resolution: + { + integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==, + } node-readfiles@0.2.0: - resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + resolution: + { + integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==, + } - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + node-releases@2.0.36: + resolution: + { + integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==, + } normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + resolution: + { + integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, + } normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==, + } + engines: { node: '>=10' } normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, + } + engines: { node: '>=0.10.0' } normalize-selector@0.2.0: - resolution: {integrity: sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==} + resolution: + { + integrity: sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==, + } normalize-wheel@1.0.1: - resolution: {integrity: sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==} + resolution: + { + integrity: sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==, + } npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: '>=8' } npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + resolution: + { + integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, + } number-to-words@1.2.4: - resolution: {integrity: sha512-/fYevVkXRcyBiZDg6yzZbm0RuaD6i0qRfn8yr+6D0KgBMOndFPxuW10qCHpzs50nN8qKuv78k8MuotZhcVX6Pw==} + resolution: + { + integrity: sha512-/fYevVkXRcyBiZDg6yzZbm0RuaD6i0qRfn8yr+6D0KgBMOndFPxuW10qCHpzs50nN8qKuv78k8MuotZhcVX6Pw==, + } nunjucks@3.2.4: - resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==} - engines: {node: '>= 6.9.0'} + resolution: + { + integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==, + } + engines: { node: '>= 6.9.0' } hasBin: true peerDependencies: chokidar: ^3.3.0 @@ -4877,374 +8223,633 @@ packages: optional: true oas-kit-common@1.0.8: - resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + resolution: + { + integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==, + } oas-linter@3.2.2: - resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + resolution: + { + integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==, + } oas-resolver@2.5.6: - resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + resolution: + { + integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==, + } hasBin: true oas-schema-walker@1.1.5: - resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + resolution: + { + integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==, + } oas-validator@5.0.8: - resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + resolution: + { + integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==, + } object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, + } + engines: { node: '>=0.10.0' } object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==, + } + engines: { node: '>= 0.4' } object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, + } + engines: { node: '>= 0.4' } object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==, + } + engines: { node: '>= 0.4' } object.entries@1.1.9: - resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==, + } + engines: { node: '>= 0.4' } object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==, + } + engines: { node: '>= 0.4' } object.getprototypeof@1.0.7: - resolution: {integrity: sha512-AS2h2hzryA95Z5SCy8DykYpdv82hHysDeMTBV5uWII4ljKiS0y2TC5aBQ+tHpCj0PfOy2/IPPY/O86F8uxx2gg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-AS2h2hzryA95Z5SCy8DykYpdv82hHysDeMTBV5uWII4ljKiS0y2TC5aBQ+tHpCj0PfOy2/IPPY/O86F8uxx2gg==, + } + engines: { node: '>= 0.4' } object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==, + } + engines: { node: '>= 0.4' } object.values@1.2.1: - resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==, + } + engines: { node: '>= 0.4' } obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } on-exit-leak-free@0.2.0: - resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + resolution: + { + integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==, + } on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==, + } + engines: { node: '>= 0.8' } on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, + } + engines: { node: '>= 0.8' } on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==, + } + engines: { node: '>= 0.8' } once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: '>=6' } onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: '>=12' } onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==, + } + engines: { node: '>=18' } open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, + } + engines: { node: '>=12' } open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==, + } + engines: { node: '>=14.16' } openapi3-ts@2.0.2: - resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} + resolution: + { + integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==, + } optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, + } + engines: { node: '>= 0.8.0' } os-browserify@0.3.0: - resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + resolution: + { + integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==, + } own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==, + } + engines: { node: '>= 0.4' } p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, + } + engines: { node: '>=6' } p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: '>=10' } p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, + } + engines: { node: '>=8' } p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: '>=10' } p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, + } + engines: { node: '>=6' } package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + resolution: + { + integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==, + } pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + resolution: + { + integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==, + } param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + resolution: + { + integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==, + } parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: '>=6' } parse-asn1@5.1.9: - resolution: {integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==, + } + engines: { node: '>= 0.10' } parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, + } + engines: { node: '>=8' } parse-node-version@1.0.1: - resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==, + } + engines: { node: '>= 0.10' } parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, + } + engines: { node: '>= 0.8' } pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + resolution: + { + integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==, + } path-browserify@0.0.1: - resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} + resolution: + { + integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==, + } path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: '>=8' } path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: '>=0.10.0' } path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: '>=8' } path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: '>=12' } path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + resolution: + { + integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==, + } + engines: { node: '>=16 || 14 >=14.18' } path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + resolution: + { + integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==, + } path-to-regexp@1.7.0: - resolution: {integrity: sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q==} + resolution: + { + integrity: sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q==, + } path-to-regexp@1.9.0: - resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + resolution: + { + integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==, + } path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==, + } + engines: { node: '>=16' } path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, + } + engines: { node: '>=8' } pbkdf2@3.1.5: - resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==, + } + engines: { node: '>= 0.10' } pdfast@0.2.0: - resolution: {integrity: sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==} + resolution: + { + integrity: sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==, + } picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, + } + engines: { node: '>=8.6' } picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} - - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true + resolution: + { + integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, + } + engines: { node: '>=12' } pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, + } + engines: { node: '>=6' } pino-abstract-transport@0.5.0: - resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + resolution: + { + integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==, + } pino-std-serializers@4.0.0: - resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + resolution: + { + integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==, + } pino@7.11.0: - resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + resolution: + { + integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==, + } hasBin: true pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==, + } + engines: { node: '>= 6' } piscina@4.9.2: - resolution: {integrity: sha512-Fq0FERJWFEUpB4eSY59wSNwXD4RYqR+nR/WiEVcZW8IWfVBxJJafcgTEZDQo8k3w0sUarJ8RyVbbUF4GQ2LGbQ==} + resolution: + { + integrity: sha512-Fq0FERJWFEUpB4eSY59wSNwXD4RYqR+nR/WiEVcZW8IWfVBxJJafcgTEZDQo8k3w0sUarJ8RyVbbUF4GQ2LGbQ==, + } point-in-polygon@1.1.0: - resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==} + resolution: + { + integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==, + } possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==, + } + engines: { node: '>= 0.4' } postcss-attribute-case-insensitive@5.0.2: - resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-clamp@4.1.0: - resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} - engines: {node: '>=7.6.0'} + resolution: + { + integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==, + } + engines: { node: '>=7.6.0' } peerDependencies: postcss: ^8.4.6 postcss-color-functional-notation@4.2.4: - resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-color-hex-alpha@8.0.4: - resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.4 postcss-color-rebeccapurple@7.1.1: - resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-custom-media@8.0.2: - resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.3 postcss-custom-properties@12.1.11: - resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-custom-selectors@6.0.3: - resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.3 postcss-dir-pseudo-class@6.0.5: - resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-double-position-gradients@3.1.2: - resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-env-function@4.0.6: - resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.4 postcss-flexbugs-fixes@5.0.2: - resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} + resolution: + { + integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==, + } peerDependencies: postcss: ^8.1.4 postcss-focus-visible@6.0.4: - resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.4 postcss-focus-within@5.0.4: - resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.4 postcss-font-variant@5.0.0: - resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + resolution: + { + integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==, + } peerDependencies: postcss: ^8.1.0 postcss-gap-properties@3.0.5: - resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-image-set-function@4.0.7: - resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-initial@4.0.1: - resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} + resolution: + { + integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==, + } peerDependencies: postcss: ^8.0.0 postcss-lab-function@4.2.1: - resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 - postcss-loader@8.2.0: - resolution: {integrity: sha512-tHX+RkpsXVcc7st4dSdDGliI+r4aAQDuv+v3vFYHixb6YgjreG5AG4SEB0kDK8u2s6htqEEpKlkhSBUTvWKYnA==} - engines: {node: '>= 18.12.0'} + postcss-loader@8.2.1: + resolution: + { + integrity: sha512-k98jtRzthjj3f76MYTs9JTpRqV1RaaMhEU0Lpw9OTmQZQdppg4B30VZ74BojuBHt3F4KyubHJoXCMUeM8Bqeow==, + } + engines: { node: '>= 18.12.0' } peerDependencies: - '@rspack/core': 0.x || 1.x + '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 peerDependenciesMeta: @@ -5254,119 +8859,185 @@ packages: optional: true postcss-logical@5.0.4: - resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.4 postcss-media-minmax@5.0.0: - resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==, + } + engines: { node: '>=10.0.0' } peerDependencies: postcss: ^8.1.0 postcss-media-query-parser@0.2.3: - resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + resolution: + { + integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==, + } postcss-modules-extract-imports@3.1.0: - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} - engines: {node: ^10 || ^12 || >= 14} + resolution: + { + integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==, + } + engines: { node: ^10 || ^12 || >= 14 } peerDependencies: postcss: ^8.1.0 postcss-modules-local-by-default@4.2.0: - resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} - engines: {node: ^10 || ^12 || >= 14} + resolution: + { + integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==, + } + engines: { node: ^10 || ^12 || >= 14 } peerDependencies: postcss: ^8.1.0 postcss-modules-scope@3.2.1: - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} - engines: {node: ^10 || ^12 || >= 14} + resolution: + { + integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==, + } + engines: { node: ^10 || ^12 || >= 14 } peerDependencies: postcss: ^8.1.0 postcss-modules-values@4.0.0: - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} + resolution: + { + integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==, + } + engines: { node: ^10 || ^12 || >= 14 } peerDependencies: postcss: ^8.1.0 postcss-nesting@10.2.0: - resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-opacity-percentage@1.1.3: - resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-overflow-shorthand@3.0.4: - resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-page-break@3.0.4: - resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + resolution: + { + integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==, + } peerDependencies: postcss: ^8 postcss-place@7.0.5: - resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-prefix-selector@1.16.0: - resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} + resolution: + { + integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==, + } peerDependencies: postcss: '>4 <9' postcss-preset-env@7.5.0: - resolution: {integrity: sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.4 postcss-pseudo-class-any-link@7.1.6: - resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} - engines: {node: ^12 || ^14 || >=16} + resolution: + { + integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==, + } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: postcss: ^8.2 postcss-replace-overflow-wrap@4.0.0: - resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + resolution: + { + integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==, + } peerDependencies: postcss: ^8.0.3 postcss-resolve-nested-selector@0.1.6: - resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} + resolution: + { + integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==, + } postcss-safe-parser@6.0.0: - resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} - engines: {node: '>=12.0'} + resolution: + { + integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==, + } + engines: { node: '>=12.0' } peerDependencies: postcss: ^8.3.3 postcss-selector-not@5.0.0: - resolution: {integrity: sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==} + resolution: + { + integrity: sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==, + } peerDependencies: postcss: ^8.1.0 postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==, + } + engines: { node: '>=4' } postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==, + } + engines: { node: '>=4' } postcss-syntax@0.36.2: - resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==} + resolution: + { + integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==, + } peerDependencies: postcss: '>=5.0.0' postcss-html: '*' @@ -5387,22 +9058,37 @@ packages: optional: true postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + resolution: + { + integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, + } postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} - engines: {node: ^10 || ^12 || >=14} - - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { + integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==, + } + engines: { node: ^10 || ^12 || >=14 } + + postcss@8.5.8: + resolution: + { + integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==, + } + engines: { node: ^10 || ^12 || >=14 } prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: '>= 0.8.0' } prettier-plugin-organize-imports@3.2.4: - resolution: {integrity: sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==} + resolution: + { + integrity: sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==, + } peerDependencies: '@volar/vue-language-plugin-pug': ^1.0.4 '@volar/vue-typescript': ^1.0.4 @@ -5415,7 +9101,10 @@ packages: optional: true prettier-plugin-organize-imports@4.3.0: - resolution: {integrity: sha512-FxFz0qFhyBsGdIsb697f/EkvHzi5SZOhWAjxcx2dLt+Q532bAlhswcXGYB1yzjZ69kW8UoadFBw7TyNwlq96Iw==} + resolution: + { + integrity: sha512-FxFz0qFhyBsGdIsb697f/EkvHzi5SZOhWAjxcx2dLt+Q532bAlhswcXGYB1yzjZ69kW8UoadFBw7TyNwlq96Iw==, + } peerDependencies: prettier: '>=2.0' typescript: '>=2.9' @@ -5425,7 +9114,10 @@ packages: optional: true prettier-plugin-packagejson@2.4.3: - resolution: {integrity: sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ==} + resolution: + { + integrity: sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ==, + } peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: @@ -5433,7 +9125,10 @@ packages: optional: true prettier-plugin-packagejson@2.5.22: - resolution: {integrity: sha512-G6WalmoUssKF8ZXkni0+n4324K+gG143KPysSQNW+FrR0XyNb3BdRxchGC/Q1FE/F702p7/6KU7r4mv0WSWbzA==} + resolution: + { + integrity: sha512-G6WalmoUssKF8ZXkni0+n4324K+gG143KPysSQNW+FrR0XyNb3BdRxchGC/Q1FE/F702p7/6KU7r4mv0WSWbzA==, + } peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: @@ -5441,307 +9136,500 @@ packages: optional: true prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==, + } + engines: { node: '>=10.13.0' } hasBin: true pretty-error@4.0.0: - resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + resolution: + { + integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==, + } pretty-format@24.9.0: - resolution: {integrity: sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==, + } + engines: { node: '>= 6' } printj@1.1.2: - resolution: {integrity: sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==, + } + engines: { node: '>=0.8' } hasBin: true process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, + } process-okam@0.11.10: - resolution: {integrity: sha512-p8e5nl6/OCeMalVb9dSojND5B9m/nq64WsyUfRmrTdLMKcNYcDN++/2I8WV1mTQDqrh2PQ6tIIb2A7/A38eSvw==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-p8e5nl6/OCeMalVb9dSojND5B9m/nq64WsyUfRmrTdLMKcNYcDN++/2I8WV1mTQDqrh2PQ6tIIb2A7/A38eSvw==, + } + engines: { node: '>= 0.6.0' } process-warning@1.0.0: - resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + resolution: + { + integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==, + } process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: '>= 0.6.0' } prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + resolution: + { + integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, + } proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: '>= 0.10' } proxy-compare@2.5.1: - resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} + resolution: + { + integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==, + } proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + resolution: + { + integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, + } prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + resolution: + { + integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==, + } public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + resolution: + { + integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==, + } punycode-okam@1.4.1: - resolution: {integrity: sha512-e4mSfzGfrVBJmhjp+8PHjXIz5WrvEEWB2FT+RJ6YS/ozGttTcnocuj0CtMo3dujWYe2708bTd79zeIrKBtRzCg==} + resolution: + { + integrity: sha512-e4mSfzGfrVBJmhjp+8PHjXIz5WrvEEWB2FT+RJ6YS/ozGttTcnocuj0CtMo3dujWYe2708bTd79zeIrKBtRzCg==, + } punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + resolution: + { + integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==, + } punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: '>=6' } qiankun@2.10.16: - resolution: {integrity: sha512-Q3tSVUrPnzx8ckEOKIoPnhb5LE28FPKyan/r6jEuGJGqTbIy+3rp6E2/KfU82ZI4yZpef9LFTrnxdj49jAEsmw==} - - qs@6.14.1: - resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-Q3tSVUrPnzx8ckEOKIoPnhb5LE28FPKyan/r6jEuGJGqTbIy+3rp6E2/KfU82ZI4yZpef9LFTrnxdj49jAEsmw==, + } + + qs@6.14.2: + resolution: + { + integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==, + } + engines: { node: '>=0.6' } + + qs@6.15.0: + resolution: + { + integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==, + } + engines: { node: '>=0.6' } query-string@6.14.1: - resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==, + } + engines: { node: '>=6' } querystring-es3@0.2.1: - resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} - engines: {node: '>=0.4.x'} + resolution: + { + integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==, + } + engines: { node: '>=0.4.x' } queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==, + } + engines: { node: '>=8' } randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + resolution: + { + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, + } randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + resolution: + { + integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==, + } range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, + } + engines: { node: '>= 0.6' } raw-body@2.5.3: - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==, + } + engines: { node: '>= 0.8' } raw-loader@0.5.1: - resolution: {integrity: sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==} + resolution: + { + integrity: sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==, + } rc-align@4.0.15: - resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==} + resolution: + { + integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-cascader@3.34.0: - resolution: {integrity: sha512-KpXypcvju9ptjW9FaN2NFcA2QH9E9LHKq169Y0eWtH4e/wHQ5Wh5qZakAgvb8EKZ736WZ3B0zLLOBsrsja5Dag==} + resolution: + { + integrity: sha512-KpXypcvju9ptjW9FaN2NFcA2QH9E9LHKq169Y0eWtH4e/wHQ5Wh5qZakAgvb8EKZ736WZ3B0zLLOBsrsja5Dag==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-cascader@3.7.3: - resolution: {integrity: sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==} + resolution: + { + integrity: sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-checkbox@3.0.1: - resolution: {integrity: sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==} + resolution: + { + integrity: sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-checkbox@3.5.0: - resolution: {integrity: sha512-aOAQc3E98HteIIsSqm6Xk2FPKIER6+5vyEFMZfo73TqM+VVAIqOkHoPjgKLqSNtVLWScoaM7vY2ZrGEheI79yg==} + resolution: + { + integrity: sha512-aOAQc3E98HteIIsSqm6Xk2FPKIER6+5vyEFMZfo73TqM+VVAIqOkHoPjgKLqSNtVLWScoaM7vY2ZrGEheI79yg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-collapse@3.4.2: - resolution: {integrity: sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==} + resolution: + { + integrity: sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-collapse@3.9.0: - resolution: {integrity: sha512-swDdz4QZ4dFTo4RAUMLL50qP0EY62N2kvmk2We5xYdRwcRn8WcYtuetCJpwpaCbUfUt5+huLpVxhvmnK+PHrkA==} + resolution: + { + integrity: sha512-swDdz4QZ4dFTo4RAUMLL50qP0EY62N2kvmk2We5xYdRwcRn8WcYtuetCJpwpaCbUfUt5+huLpVxhvmnK+PHrkA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-dialog@9.0.4: - resolution: {integrity: sha512-pmnPRZKd9CGzGgf4a1ysBvMhxm8Afx5fF6M7AzLtJ0qh8X1bshurDlqnK4MBNAB4hAeAMMbz6Ytb1rkGMvKFbQ==} + resolution: + { + integrity: sha512-pmnPRZKd9CGzGgf4a1ysBvMhxm8Afx5fF6M7AzLtJ0qh8X1bshurDlqnK4MBNAB4hAeAMMbz6Ytb1rkGMvKFbQ==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-dialog@9.6.0: - resolution: {integrity: sha512-ApoVi9Z8PaCQg6FsUzS8yvBEQy0ZL2PkuvAgrmohPkN3okps5WZ5WQWPc1RNuiOKaAYv8B97ACdsFU5LizzCqg==} + resolution: + { + integrity: sha512-ApoVi9Z8PaCQg6FsUzS8yvBEQy0ZL2PkuvAgrmohPkN3okps5WZ5WQWPc1RNuiOKaAYv8B97ACdsFU5LizzCqg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-drawer@6.3.0: - resolution: {integrity: sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==} + resolution: + { + integrity: sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-drawer@7.3.0: - resolution: {integrity: sha512-DX6CIgiBWNpJIMGFO8BAISFkxiuKitoizooj4BDyee8/SnBn0zwO2FHrNDpqqepj0E/TFTDpmEBCyFuTgC7MOg==} + resolution: + { + integrity: sha512-DX6CIgiBWNpJIMGFO8BAISFkxiuKitoizooj4BDyee8/SnBn0zwO2FHrNDpqqepj0E/TFTDpmEBCyFuTgC7MOg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-dropdown@4.0.1: - resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==} + resolution: + { + integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==, + } peerDependencies: react: '>=16.11.0' react-dom: '>=16.11.0' rc-dropdown@4.2.1: - resolution: {integrity: sha512-YDAlXsPv3I1n42dv1JpdM7wJ+gSUBfeyPK59ZpBD9jQhK9jVuxpjj3NmWQHOBceA1zEPVX84T2wbdb2SD0UjmA==} + resolution: + { + integrity: sha512-YDAlXsPv3I1n42dv1JpdM7wJ+gSUBfeyPK59ZpBD9jQhK9jVuxpjj3NmWQHOBceA1zEPVX84T2wbdb2SD0UjmA==, + } peerDependencies: react: '>=16.11.0' react-dom: '>=16.11.0' rc-field-form@1.38.2: - resolution: {integrity: sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-field-form@2.7.1: - resolution: {integrity: sha512-vKeSifSJ6HoLaAB+B8aq/Qgm8a3dyxROzCtKNCsBQgiverpc4kWDQihoUwzUj+zNWJOykwSY4dNX3QrGwtVb9A==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-vKeSifSJ6HoLaAB+B8aq/Qgm8a3dyxROzCtKNCsBQgiverpc4kWDQihoUwzUj+zNWJOykwSY4dNX3QrGwtVb9A==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-image@5.13.0: - resolution: {integrity: sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==} + resolution: + { + integrity: sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-image@7.12.0: - resolution: {integrity: sha512-cZ3HTyyckPnNnUb9/DRqduqzLfrQRyi+CdHjdqgsyDpI3Ln5UX1kXnAhPBSJj9pVRzwRFgqkN7p9b6HBDjmu/Q==} + resolution: + { + integrity: sha512-cZ3HTyyckPnNnUb9/DRqduqzLfrQRyi+CdHjdqgsyDpI3Ln5UX1kXnAhPBSJj9pVRzwRFgqkN7p9b6HBDjmu/Q==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-input-number@7.3.11: - resolution: {integrity: sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==} + resolution: + { + integrity: sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-input-number@9.5.0: - resolution: {integrity: sha512-bKaEvB5tHebUURAEXw35LDcnRZLq3x1k7GxfAqBMzmpHkDGzjAtnUL8y4y5N15rIFIg5IJgwr211jInl3cipag==} + resolution: + { + integrity: sha512-bKaEvB5tHebUURAEXw35LDcnRZLq3x1k7GxfAqBMzmpHkDGzjAtnUL8y4y5N15rIFIg5IJgwr211jInl3cipag==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-input@0.1.4: - resolution: {integrity: sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==} + resolution: + { + integrity: sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==, + } peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' rc-input@1.8.0: - resolution: {integrity: sha512-KXvaTbX+7ha8a/k+eg6SYRVERK0NddX8QX7a7AnRvUa/rEH0CNMlpcBzBkhI0wp2C8C4HlMoYl8TImSN+fuHKA==} + resolution: + { + integrity: sha512-KXvaTbX+7ha8a/k+eg6SYRVERK0NddX8QX7a7AnRvUa/rEH0CNMlpcBzBkhI0wp2C8C4HlMoYl8TImSN+fuHKA==, + } peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' rc-mentions@1.13.1: - resolution: {integrity: sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==} + resolution: + { + integrity: sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-mentions@2.20.0: - resolution: {integrity: sha512-w8HCMZEh3f0nR8ZEd466ATqmXFCMGMN5UFCzEUL0bM/nGw/wOS2GgRzKBcm19K++jDyuWCOJOdgcKGXU3fXfbQ==} + resolution: + { + integrity: sha512-w8HCMZEh3f0nR8ZEd466ATqmXFCMGMN5UFCzEUL0bM/nGw/wOS2GgRzKBcm19K++jDyuWCOJOdgcKGXU3fXfbQ==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-menu@9.16.1: - resolution: {integrity: sha512-ghHx6/6Dvp+fw8CJhDUHFHDJ84hJE3BXNCzSgLdmNiFErWSOaZNsihDAsKq9ByTALo/xkNIwtDFGIl6r+RPXBg==} + resolution: + { + integrity: sha512-ghHx6/6Dvp+fw8CJhDUHFHDJ84hJE3BXNCzSgLdmNiFErWSOaZNsihDAsKq9ByTALo/xkNIwtDFGIl6r+RPXBg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-menu@9.8.4: - resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==} + resolution: + { + integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-motion@2.9.5: - resolution: {integrity: sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==} + resolution: + { + integrity: sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-notification@4.6.1: - resolution: {integrity: sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-notification@5.6.4: - resolution: {integrity: sha512-KcS4O6B4qzM3KH7lkwOB7ooLPZ4b6J+VMmQgT51VZCeEcmghdeR4IrMcFq0LG+RPdnbe/ArT086tGM8Snimgiw==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-KcS4O6B4qzM3KH7lkwOB7ooLPZ4b6J+VMmQgT51VZCeEcmghdeR4IrMcFq0LG+RPdnbe/ArT086tGM8Snimgiw==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-overflow@1.5.0: - resolution: {integrity: sha512-Lm/v9h0LymeUYJf0x39OveU52InkdRXqnn2aYXfWmo8WdOonIKB2kfau+GF0fWq6jPgtdO9yMqveGcK6aIhJmg==} + resolution: + { + integrity: sha512-Lm/v9h0LymeUYJf0x39OveU52InkdRXqnn2aYXfWmo8WdOonIKB2kfau+GF0fWq6jPgtdO9yMqveGcK6aIhJmg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-pagination@3.2.0: - resolution: {integrity: sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==} + resolution: + { + integrity: sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-pagination@5.1.0: - resolution: {integrity: sha512-8416Yip/+eclTFdHXLKTxZvn70duYVGTvUUWbckCCZoIl3jagqke3GLsFrMs0bsQBikiYpZLD9206Ej4SOdOXQ==} + resolution: + { + integrity: sha512-8416Yip/+eclTFdHXLKTxZvn70duYVGTvUUWbckCCZoIl3jagqke3GLsFrMs0bsQBikiYpZLD9206Ej4SOdOXQ==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-picker@2.7.6: - resolution: {integrity: sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-picker@4.11.3: - resolution: {integrity: sha512-MJ5teb7FlNE0NFHTncxXQ62Y5lytq6sh5nUw0iH8OkHL/TjARSEvSHpr940pWgjGANpjCwyMdvsEV55l5tYNSg==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-MJ5teb7FlNE0NFHTncxXQ62Y5lytq6sh5nUw0iH8OkHL/TjARSEvSHpr940pWgjGANpjCwyMdvsEV55l5tYNSg==, + } + engines: { node: '>=8.x' } peerDependencies: date-fns: '>= 2.x' dayjs: '>= 1.x' @@ -5760,273 +9648,414 @@ packages: optional: true rc-progress@3.4.2: - resolution: {integrity: sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==} + resolution: + { + integrity: sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-progress@4.0.0: - resolution: {integrity: sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==} + resolution: + { + integrity: sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-rate@2.13.1: - resolution: {integrity: sha512-QUhQ9ivQ8Gy7mtMZPAjLbxBt5y9GRp65VcUyGUMF3N3fhiftivPHdpuDIaWIMOTEprAjZPC08bls1dQB+I1F2Q==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-QUhQ9ivQ8Gy7mtMZPAjLbxBt5y9GRp65VcUyGUMF3N3fhiftivPHdpuDIaWIMOTEprAjZPC08bls1dQB+I1F2Q==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-rate@2.9.3: - resolution: {integrity: sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-resize-observer@0.2.6: - resolution: {integrity: sha512-YX6nYnd6fk7zbuvT6oSDMKiZjyngjHoy+fz+vL3Tez38d/G5iGdaDJa2yE7345G6sc4Mm1IGRUIwclvltddhmA==} + resolution: + { + integrity: sha512-YX6nYnd6fk7zbuvT6oSDMKiZjyngjHoy+fz+vL3Tez38d/G5iGdaDJa2yE7345G6sc4Mm1IGRUIwclvltddhmA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-resize-observer@1.4.3: - resolution: {integrity: sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==} + resolution: + { + integrity: sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-segmented@2.3.0: - resolution: {integrity: sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==} + resolution: + { + integrity: sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==, + } peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' rc-segmented@2.7.1: - resolution: {integrity: sha512-izj1Nw/Dw2Vb7EVr+D/E9lUTkBe+kKC+SAFSU9zqr7WV2W5Ktaa9Gc7cB2jTqgk8GROJayltaec+DBlYKc6d+g==} + resolution: + { + integrity: sha512-izj1Nw/Dw2Vb7EVr+D/E9lUTkBe+kKC+SAFSU9zqr7WV2W5Ktaa9Gc7cB2jTqgk8GROJayltaec+DBlYKc6d+g==, + } peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' rc-select@14.1.18: - resolution: {integrity: sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==, + } + engines: { node: '>=8.x' } peerDependencies: react: '*' react-dom: '*' rc-select@14.16.8: - resolution: {integrity: sha512-NOV5BZa1wZrsdkKaiK7LHRuo5ZjZYMDxPP6/1+09+FB4KoNi8jcG1ZqLE3AVCxEsYMBe65OBx71wFoHRTP3LRg==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-NOV5BZa1wZrsdkKaiK7LHRuo5ZjZYMDxPP6/1+09+FB4KoNi8jcG1ZqLE3AVCxEsYMBe65OBx71wFoHRTP3LRg==, + } + engines: { node: '>=8.x' } peerDependencies: react: '*' react-dom: '*' rc-slider@10.0.1: - resolution: {integrity: sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-slider@11.1.9: - resolution: {integrity: sha512-h8IknhzSh3FEM9u8ivkskh+Ef4Yo4JRIY2nj7MrH6GQmrwV6mcpJf5/4KgH5JaVI1H3E52yCdpOlVyGZIeph5A==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-h8IknhzSh3FEM9u8ivkskh+Ef4Yo4JRIY2nj7MrH6GQmrwV6mcpJf5/4KgH5JaVI1H3E52yCdpOlVyGZIeph5A==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-steps@5.0.0: - resolution: {integrity: sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-steps@6.0.1: - resolution: {integrity: sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-switch@3.2.2: - resolution: {integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==} + resolution: + { + integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-switch@4.1.0: - resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} + resolution: + { + integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-table@7.26.0: - resolution: {integrity: sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-table@7.54.0: - resolution: {integrity: sha512-/wDTkki6wBTjwylwAGjpLKYklKo9YgjZwAU77+7ME5mBoS32Q4nAwoqhA2lSge6fobLW3Tap6uc5xfwaL2p0Sw==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-/wDTkki6wBTjwylwAGjpLKYklKo9YgjZwAU77+7ME5mBoS32Q4nAwoqhA2lSge6fobLW3Tap6uc5xfwaL2p0Sw==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-tabs@12.5.10: - resolution: {integrity: sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-tabs@15.7.0: - resolution: {integrity: sha512-ZepiE+6fmozYdWf/9gVp7k56PKHB1YYoDsKeQA1CBlJ/POIhjkcYiv0AGP0w2Jhzftd3AVvZP/K+V+Lpi2ankA==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-ZepiE+6fmozYdWf/9gVp7k56PKHB1YYoDsKeQA1CBlJ/POIhjkcYiv0AGP0w2Jhzftd3AVvZP/K+V+Lpi2ankA==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-textarea@0.4.7: - resolution: {integrity: sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==} + resolution: + { + integrity: sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-textarea@1.10.2: - resolution: {integrity: sha512-HfaeXiaSlpiSp0I/pvWpecFEHpVysZ9tpDLNkxQbMvMz6gsr7aVZ7FpWP9kt4t7DB+jJXesYS0us1uPZnlRnwQ==} + resolution: + { + integrity: sha512-HfaeXiaSlpiSp0I/pvWpecFEHpVysZ9tpDLNkxQbMvMz6gsr7aVZ7FpWP9kt4t7DB+jJXesYS0us1uPZnlRnwQ==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-tooltip@5.2.2: - resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==} + resolution: + { + integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-tooltip@6.4.0: - resolution: {integrity: sha512-kqyivim5cp8I5RkHmpsp1Nn/Wk+1oeloMv9c7LXNgDxUpGm+RbXJGL+OPvDlcRnx9DBeOe4wyOIl4OKUERyH1g==} + resolution: + { + integrity: sha512-kqyivim5cp8I5RkHmpsp1Nn/Wk+1oeloMv9c7LXNgDxUpGm+RbXJGL+OPvDlcRnx9DBeOe4wyOIl4OKUERyH1g==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-tree-select@5.27.0: - resolution: {integrity: sha512-2qTBTzwIT7LRI1o7zLyrCzmo5tQanmyGbSaGTIf7sYimCklAToVVfpMC6OAldSKolcnjorBYPNSKQqJmN3TCww==} + resolution: + { + integrity: sha512-2qTBTzwIT7LRI1o7zLyrCzmo5tQanmyGbSaGTIf7sYimCklAToVVfpMC6OAldSKolcnjorBYPNSKQqJmN3TCww==, + } peerDependencies: react: '*' react-dom: '*' rc-tree-select@5.5.5: - resolution: {integrity: sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==} + resolution: + { + integrity: sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==, + } peerDependencies: react: '*' react-dom: '*' rc-tree@5.13.1: - resolution: {integrity: sha512-FNhIefhftobCdUJshO7M8uZTA9F4OPGVXqGfZkkD/5soDeOhwO06T/aKTrg0WD8gRg/pyfq+ql3aMymLHCTC4A==} - engines: {node: '>=10.x'} + resolution: + { + integrity: sha512-FNhIefhftobCdUJshO7M8uZTA9F4OPGVXqGfZkkD/5soDeOhwO06T/aKTrg0WD8gRg/pyfq+ql3aMymLHCTC4A==, + } + engines: { node: '>=10.x' } peerDependencies: react: '*' react-dom: '*' rc-tree@5.7.12: - resolution: {integrity: sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==} - engines: {node: '>=10.x'} + resolution: + { + integrity: sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==, + } + engines: { node: '>=10.x' } peerDependencies: react: '*' react-dom: '*' rc-trigger@5.3.4: - resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-upload@4.11.0: - resolution: {integrity: sha512-ZUyT//2JAehfHzjWowqROcwYJKnZkIUGWaTE/VogVrepSl7AFNbQf4+zGfX4zl9Vrj/Jm8scLO0R6UlPDKK4wA==} + resolution: + { + integrity: sha512-ZUyT//2JAehfHzjWowqROcwYJKnZkIUGWaTE/VogVrepSl7AFNbQf4+zGfX4zl9Vrj/Jm8scLO0R6UlPDKK4wA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-upload@4.3.6: - resolution: {integrity: sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==} + resolution: + { + integrity: sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-util@4.21.1: - resolution: {integrity: sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==} + resolution: + { + integrity: sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==, + } rc-util@5.44.4: - resolution: {integrity: sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==} + resolution: + { + integrity: sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==, + } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' rc-virtual-list@3.19.2: - resolution: {integrity: sha512-Ys6NcjwGkuwkeaWBDqfI3xWuZ7rDiQXlH1o2zLfFzATfEgXcqpk8CkgMfbJD81McqjcJVez25a3kPxCR807evA==} - engines: {node: '>=8.x'} + resolution: + { + integrity: sha512-Ys6NcjwGkuwkeaWBDqfI3xWuZ7rDiQXlH1o2zLfFzATfEgXcqpk8CkgMfbJD81McqjcJVez25a3kPxCR807evA==, + } + engines: { node: '>=8.x' } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' react-amap@1.2.8: - resolution: {integrity: sha512-uHPEUXti+CcwFyCeqGGqR0ACnXJA9D8S/lQYal9AG3XEOrwkaOFbWUavrvXxjcfAclROIWg8uKxzlRpMQnkHFg==} + resolution: + { + integrity: sha512-uHPEUXti+CcwFyCeqGGqR0ACnXJA9D8S/lQYal9AG3XEOrwkaOFbWUavrvXxjcfAclROIWg8uKxzlRpMQnkHFg==, + } react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + resolution: + { + integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==, + } peerDependencies: react: ^18.3.1 react-easy-crop@5.5.6: - resolution: {integrity: sha512-Jw3/ozs8uXj3NpL511Suc4AHY+mLRO23rUgipXvNYKqezcFSYHxe4QXibBymkOoY6oOtLVMPO2HNPRHYvMPyTw==} + resolution: + { + integrity: sha512-Jw3/ozs8uXj3NpL511Suc4AHY+mLRO23rUgipXvNYKqezcFSYHxe4QXibBymkOoY6oOtLVMPO2HNPRHYvMPyTw==, + } peerDependencies: react: '>=16.4.0' react-dom: '>=16.4.0' react-error-overlay@6.0.9: - resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==} + resolution: + { + integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==, + } react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + resolution: + { + integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==, + } react-helmet-async@1.3.0: - resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + resolution: + { + integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==, + } peerDependencies: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 react-intl@3.12.1: - resolution: {integrity: sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==} + resolution: + { + integrity: sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==, + } peerDependencies: react: ^16.3.0 react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + resolution: + { + integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, + } react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + resolution: + { + integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==, + } react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + resolution: + { + integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==, + } react-merge-refs@1.1.0: - resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==} + resolution: + { + integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==, + } react-redux@5.1.2: - resolution: {integrity: sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==} + resolution: + { + integrity: sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==, + } peerDependencies: react: ^0.14.0 || ^15.0.0-0 || ^16.0.0-0 redux: ^2.0.0 || ^3.0.0 || ^4.0.0-0 react-redux@8.1.3: - resolution: {integrity: sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==} + resolution: + { + integrity: sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==, + } peerDependencies: '@types/react': ^16.8 || ^17.0 || ^18.0 '@types/react-dom': ^16.8 || ^17.0 || ^18.0 @@ -6047,195 +10076,343 @@ packages: optional: true react-refresh@0.14.0: - resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==, + } + engines: { node: '>=0.10.0' } react-refresh@0.14.2: - resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==, + } + engines: { node: '>=0.10.0' } react-router-dom@4.3.1: - resolution: {integrity: sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==} + resolution: + { + integrity: sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==, + } peerDependencies: react: '>=15' react-router-dom@6.3.0: - resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} + resolution: + { + integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==, + } peerDependencies: react: '>=16.8' react-dom: '>=16.8' react-router-redux@5.0.0-alpha.9: - resolution: {integrity: sha512-euSgNIANnRXr4GydIuwA7RZCefrLQzIw5WdXspS8NPYbV+FxrKSS9MKG7U9vb6vsKHONnA4VxrVNWfnMUnUQAw==} + resolution: + { + integrity: sha512-euSgNIANnRXr4GydIuwA7RZCefrLQzIw5WdXspS8NPYbV+FxrKSS9MKG7U9vb6vsKHONnA4VxrVNWfnMUnUQAw==, + } deprecated: This project is no longer maintained. peerDependencies: react: '>=15' react-router@4.3.1: - resolution: {integrity: sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==} + resolution: + { + integrity: sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==, + } peerDependencies: react: '>=15' react-router@6.3.0: - resolution: {integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==} + resolution: + { + integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==, + } peerDependencies: react: '>=16.8' react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==, + } + engines: { node: '>=0.10.0' } reactcss@1.2.3: - resolution: {integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==} + resolution: + { + integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==, + } peerDependencies: react: '*' read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==, + } + engines: { node: '>=8' } read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==, + } + engines: { node: '>=8' } readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + resolution: + { + integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, + } readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, + } + engines: { node: '>= 6' } readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + resolution: + { + integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, + } + engines: { node: '>=8.10.0' } real-require@0.1.0: - resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} - engines: {node: '>= 12.13.0'} + resolution: + { + integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==, + } + engines: { node: '>= 12.13.0' } redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==, + } + engines: { node: '>=8' } redux-saga@0.16.2: - resolution: {integrity: sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w==} + resolution: + { + integrity: sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w==, + } redux@3.7.2: - resolution: {integrity: sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==} + resolution: + { + integrity: sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==, + } redux@4.2.1: - resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + resolution: + { + integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==, + } reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==, + } + engines: { node: '>= 0.4' } reftools@1.1.9: - resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + resolution: + { + integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==, + } regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==, + } + engines: { node: '>=4' } regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + resolution: + { + integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==, + } regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + resolution: + { + integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, + } regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + resolution: + { + integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, + } regex-parser@2.3.1: - resolution: {integrity: sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==} + resolution: + { + integrity: sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==, + } regexp.prototype.flags@1.5.4: - resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==, + } + engines: { node: '>= 0.4' } regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, + } + engines: { node: '>=8' } relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==, + } + engines: { node: '>= 0.10' } remove-accents@0.5.0: - resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} + resolution: + { + integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==, + } renderkid@3.0.0: - resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + resolution: + { + integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==, + } require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: '>=0.10.0' } require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: '>=0.10.0' } reserved-words@0.1.2: - resolution: {integrity: sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==} + resolution: + { + integrity: sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==, + } resize-observer-polyfill@1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + resolution: + { + integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==, + } resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: '>=4' } resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, + } + engines: { node: '>=8' } resolve-pathname@3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + resolution: + { + integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==, + } resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } resolve-url-loader@5.0.0: - resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==, + } + engines: { node: '>=12' } resolve@1.22.11: - resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==, + } + engines: { node: '>= 0.4' } hasBin: true - resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + resolve@2.0.0-next.6: + resolution: + { + integrity: sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==, + } + engines: { node: '>= 0.4' } hasBin: true restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==, + } + engines: { node: '>=18' } reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { + integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==, + } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + resolution: + { + integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==, + } rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@5.0.1: - resolution: {integrity: sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==, + } + engines: { node: '>=14' } hasBin: true ripemd160@2.0.3: - resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==, + } + engines: { node: '>= 0.8' } rollup-plugin-visualizer@5.9.0: - resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==, + } + engines: { node: '>=14' } hasBin: true peerDependencies: rollup: 2.x || 3.x @@ -6243,51 +10420,109 @@ packages: rollup: optional: true - rollup@3.29.5: - resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} + rollup@3.30.0: + resolution: + { + integrity: sha512-kQvGasUgN+AlWGliFn2POSajRQEsULVYFGTvOZmK06d7vCD+YhZztt70kGk3qaeAXeWYL5eO7zx+rAubBc55eA==, + } + engines: { node: '>=14.18.0', npm: '>=8.0.0' } hasBin: true run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==, + } + engines: { node: '>=12' } run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + resolution: + { + integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==, + } safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} + resolution: + { + integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==, + } + engines: { node: '>=0.4' } safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, + } safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==, + } + engines: { node: '>= 0.4' } safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==, + } + engines: { node: '>= 0.4' } safe-stable-stringify@2.5.0: - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==, + } + engines: { node: '>=10' } safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, + } + + sass-loader@13.2.0: + resolution: + { + integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==, + } + engines: { node: '>= 14.15.0' } + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true - sass-loader@16.0.6: - resolution: {integrity: sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==} - engines: {node: '>= 18.12.0'} + sass-loader@16.0.7: + resolution: + { + integrity: sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==, + } + engines: { node: '>= 18.12.0' } peerDependencies: - '@rspack/core': 0.x || 1.x + '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 sass: ^1.3.0 sass-embedded: '*' @@ -6305,363 +10540,658 @@ packages: optional: true sass@1.54.0: - resolution: {integrity: sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ==, + } + engines: { node: '>=12.0.0' } hasBin: true - sax@1.4.4: - resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==} - engines: {node: '>=11.0.0'} + sax@1.5.0: + resolution: + { + integrity: sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==, + } + engines: { node: '>=11.0.0' } scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + resolution: + { + integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==, + } schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} + resolution: + { + integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==, + } + engines: { node: '>= 10.13.0' } schema-utils@4.3.3: - resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} - engines: {node: '>= 10.13.0'} + resolution: + { + integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==, + } + engines: { node: '>= 10.13.0' } script-loader@0.7.2: - resolution: {integrity: sha512-UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==} + resolution: + { + integrity: sha512-UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==, + } scroll-into-view-if-needed@2.2.31: - resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + resolution: + { + integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==, + } scroll-into-view-if-needed@3.1.0: - resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + resolution: + { + integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==, + } select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + resolution: + { + integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==, + } semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + resolution: + { + integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, + } hasBin: true semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } hasBin: true - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} - engines: {node: '>=10'} + semver@7.7.4: + resolution: + { + integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==, + } + engines: { node: '>=10' } hasBin: true send@0.17.1: - resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==, + } + engines: { node: '>= 0.8.0' } send@0.19.2: - resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} - engines: {node: '>= 0.8.0'} - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + resolution: + { + integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==, + } + engines: { node: '>= 0.8.0' } serve-static@1.16.3: - resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==, + } + engines: { node: '>= 0.8.0' } set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, + } + engines: { node: '>= 0.4' } set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, + } + engines: { node: '>= 0.4' } set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==, + } + engines: { node: '>= 0.4' } setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + resolution: + { + integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==, + } setprototypeof@1.1.1: - resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + resolution: + { + integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==, + } setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } sha.js@2.4.12: - resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==, + } + engines: { node: '>= 0.10' } hasBin: true shallow-equal@1.2.1: - resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==} + resolution: + { + integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==, + } shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + resolution: + { + integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==, + } shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: '>=8' } shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: '>=8' } should-equal@2.0.0: - resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + resolution: + { + integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==, + } should-format@3.0.3: - resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + resolution: + { + integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==, + } should-type-adaptors@1.1.0: - resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + resolution: + { + integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==, + } should-type@1.4.0: - resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + resolution: + { + integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==, + } should-util@1.0.1: - resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + resolution: + { + integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==, + } should@13.2.3: - resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + resolution: + { + integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==, + } side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==, + } + engines: { node: '>= 0.4' } side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==, + } + engines: { node: '>= 0.4' } side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==, + } + engines: { node: '>= 0.4' } side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==, + } + engines: { node: '>= 0.4' } signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: '>=14' } simple-swizzle@0.2.4: - resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} + resolution: + { + integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==, + } single-spa@5.9.5: - resolution: {integrity: sha512-9SQdmsyz4HSP+3gs6PJzhkaMEg+6zTlu9oxIghnwUX3eq+ajq4ft5egl0iyR55LAmO/UwvU8NgIWs/ZyQMa6dw==} + resolution: + { + integrity: sha512-9SQdmsyz4HSP+3gs6PJzhkaMEg+6zTlu9oxIghnwUX3eq+ajq4ft5egl0iyR55LAmO/UwvU8NgIWs/ZyQMa6dw==, + } slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, + } + engines: { node: '>=8' } slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==, + } + engines: { node: '>=12' } slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, + } + engines: { node: '>=10' } slice-ansi@7.1.2: - resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==, + } + engines: { node: '>=18' } + + slice-ansi@8.0.0: + resolution: + { + integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==, + } + engines: { node: '>=20' } sonic-boom@2.8.0: - resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + resolution: + { + integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==, + } sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + resolution: + { + integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==, + } sort-object-keys@2.1.0: - resolution: {integrity: sha512-SOiEnthkJKPv2L6ec6HMwhUcN0/lppkeYuN1x63PbyPRrgSPIuBJCiYxYyvWRTtjMlOi14vQUCGUJqS6PLVm8g==} + resolution: + { + integrity: sha512-SOiEnthkJKPv2L6ec6HMwhUcN0/lppkeYuN1x63PbyPRrgSPIuBJCiYxYyvWRTtjMlOi14vQUCGUJqS6PLVm8g==, + } sort-package-json@2.4.1: - resolution: {integrity: sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==} + resolution: + { + integrity: sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==, + } hasBin: true sort-package-json@3.6.0: - resolution: {integrity: sha512-fyJsPLhWvY7u2KsKPZn1PixbXp+1m7V8NWqU8CvgFRbMEX41Ffw1kD8n0CfJiGoaSfoAvbrqRRl/DcHO8omQOQ==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-fyJsPLhWvY7u2KsKPZn1PixbXp+1m7V8NWqU8CvgFRbMEX41Ffw1kD8n0CfJiGoaSfoAvbrqRRl/DcHO8omQOQ==, + } + engines: { node: '>=20' } hasBin: true source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, + } + engines: { node: '>=0.10.0' } source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + resolution: + { + integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, + } source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==, + } + engines: { node: '>=0.10.0' } source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: '>=0.10.0' } source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==, + } + engines: { node: '>= 12' } spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + resolution: + { + integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, + } spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + resolution: + { + integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==, + } spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + resolution: + { + integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, + } - spdx-license-ids@3.0.22: - resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} + spdx-license-ids@3.0.23: + resolution: + { + integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==, + } spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + resolution: + { + integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==, + } spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==, + } + engines: { node: '>=6.0.0' } specificity@0.4.1: - resolution: {integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==} + resolution: + { + integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==, + } hasBin: true split-on-first@1.1.0: - resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==, + } + engines: { node: '>=6' } split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: '>= 10.x' } sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } ssf@0.11.2: - resolution: {integrity: sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==, + } + engines: { node: '>=0.8' } stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + resolution: + { + integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==, + } deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + resolution: + { + integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==, + } statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==, + } + engines: { node: '>= 0.6' } statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==, + } + engines: { node: '>= 0.8' } stop-iteration-iterator@1.1.0: - resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==, + } + engines: { node: '>= 0.4' } stream-browserify@2.0.2: - resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} + resolution: + { + integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==, + } stream-http@2.8.3: - resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} + resolution: + { + integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==, + } stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + resolution: + { + integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==, + } strict-uri-encode@2.0.0: - resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==, + } + engines: { node: '>=4' } string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: '>=0.6.19' } string-convert@0.2.1: - resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} + resolution: + { + integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==, + } string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: '>=8' } string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, + } + engines: { node: '>=12' } string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} - - string-width@8.1.1: - resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==, + } + engines: { node: '>=18' } + + string-width@8.2.0: + resolution: + { + integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==, + } + engines: { node: '>=20' } string.prototype.matchall@4.0.12: - resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==, + } + engines: { node: '>= 0.4' } string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==, + } + engines: { node: '>= 0.4' } string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==, + } + engines: { node: '>= 0.4' } string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, + } + engines: { node: '>= 0.4' } string_decoder-okam@1.3.0: - resolution: {integrity: sha512-N5lJgLJ02sIs9xNyqPgIywlGaLUW6s5cYRpnmM3gbfhGA3sggW0+E2go26D7oZgEH7jHpXDe+ArDrBXeCaP9QA==} + resolution: + { + integrity: sha512-N5lJgLJ02sIs9xNyqPgIywlGaLUW6s5cYRpnmM3gbfhGA3sggW0+E2go26D7oZgEH7jHpXDe+ArDrBXeCaP9QA==, + } string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, + } string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: '>=8' } + + strip-ansi@7.2.0: + resolution: + { + integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==, + } + engines: { node: '>=12' } strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, + } + engines: { node: '>=6' } strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: '>=12' } strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, + } + engines: { node: '>=8' } strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: '>=8' } style-mod@4.1.3: - resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} + resolution: + { + integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==, + } style-search@0.1.0: - resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} + resolution: + { + integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==, + } styled-components@6.1.1: - resolution: {integrity: sha512-cpZZP5RrKRIClBW5Eby4JM1wElLVP4NQrJbJ0h10TidTyJf4SIIwa3zLXOoPb4gJi8MsJ8mjq5mu2IrEhZIAcQ==} - engines: {node: '>= 16'} + resolution: + { + integrity: sha512-cpZZP5RrKRIClBW5Eby4JM1wElLVP4NQrJbJ0h10TidTyJf4SIIwa3zLXOoPb4gJi8MsJ8mjq5mu2IrEhZIAcQ==, + } + engines: { node: '>= 16' } peerDependencies: react: '>= 16.8.0' react-dom: '>= 16.8.0' - styled-components@6.3.8: - resolution: {integrity: sha512-Kq/W41AKQloOqKM39zfaMdJ4BcYDw/N5CIq4/GTI0YjU6pKcZ1KKhk6b4du0a+6RA9pIfOP/eu94Ge7cu+PDCA==} - engines: {node: '>= 16'} + styled-components@6.3.11: + resolution: + { + integrity: sha512-opzgceGlQ5rdZdGwf9ddLW7EM2F4L7tgsgLn6fFzQ2JgE5EVQ4HZwNkcgB1p8WfOBx1GEZP3fa66ajJmtXhSrA==, + } + engines: { node: '>= 16' } peerDependencies: react: '>= 16.8.0' react-dom: '>= 16.8.0' @@ -6670,95 +11200,164 @@ packages: optional: true stylelint-config-recommended@7.0.0: - resolution: {integrity: sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==} + resolution: + { + integrity: sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==, + } peerDependencies: stylelint: ^14.4.0 stylelint-config-standard@25.0.0: - resolution: {integrity: sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==} + resolution: + { + integrity: sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==, + } peerDependencies: stylelint: ^14.4.0 stylelint@14.8.2: - resolution: {integrity: sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } hasBin: true stylis@4.3.6: - resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} + resolution: + { + integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==, + } superjson@1.13.3: - resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==, + } + engines: { node: '>=10' } supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, + } + engines: { node: '>=4' } supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: '>=8' } supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: '>=10' } supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==, + } + engines: { node: '>=8' } supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: '>= 0.4' } svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + resolution: + { + integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==, + } svg-path-parser@1.1.0: - resolution: {integrity: sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A==} + resolution: + { + integrity: sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A==, + } svg-tags@1.0.0: - resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} - - svgo@2.8.0: - resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==, + } + + svgo@2.8.2: + resolution: + { + integrity: sha512-TyzE4NVGLUFy+H/Uy4N6c3G0HEeprsVfge6Lmq+0FdQQ/zqoVYB62IsBZORsiL+o96s6ff/V6/3UQo/C0cgCAA==, + } + engines: { node: '>=10.13.0' } hasBin: true swagger-ui-dist@4.19.1: - resolution: {integrity: sha512-n/gFn+R7G/BXWwl5UZLw6F1YgWOlf3zkwGlsPhTMhNtAAolBGKg0JS5b2RKt5NI6/hSopVaSrki2wTIMUDDy2w==} + resolution: + { + integrity: sha512-n/gFn+R7G/BXWwl5UZLw6F1YgWOlf3zkwGlsPhTMhNtAAolBGKg0JS5b2RKt5NI6/hSopVaSrki2wTIMUDDy2w==, + } swagger2openapi@7.0.8: - resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + resolution: + { + integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==, + } hasBin: true - swr@2.3.8: - resolution: {integrity: sha512-gaCPRVoMq8WGDcWj9p4YWzCMPHzE0WNl6W8ADIx9c3JBEIdMkJGMzW+uzXvxHMltwcYACr9jP+32H8/hgwMR7w==} + swr@2.4.1: + resolution: + { + integrity: sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA==, + } peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 symbol-observable@1.2.0: - resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==, + } + engines: { node: '>=0.10.0' } synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==, + } + engines: { node: ^14.18.0 || >=16.0.0 } systemjs@6.15.1: - resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==} + resolution: + { + integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==, + } table@6.9.0: - resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==, + } + engines: { node: '>=10.0.0' } tapable@2.3.0: - resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} - engines: {node: '>=6'} - - terser-webpack-plugin@5.3.16: - resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==} - engines: {node: '>= 10.13.0'} + resolution: + { + integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==, + } + engines: { node: '>=6' } + + terser-webpack-plugin@5.3.17: + resolution: + { + integrity: sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==, + } + engines: { node: '>= 10.13.0' } peerDependencies: '@swc/core': '*' esbuild: '*' @@ -6773,203 +11372,369 @@ packages: optional: true terser@5.46.0: - resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==, + } + engines: { node: '>=10' } hasBin: true test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: '>=8' } text-segmentation@1.0.3: - resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==} + resolution: + { + integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==, + } text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } thread-stream@0.15.2: - resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + resolution: + { + integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==, + } throttle-debounce@5.0.2: - resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==} - engines: {node: '>=12.22'} + resolution: + { + integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==, + } + engines: { node: '>=12.22' } timers-browserify@2.0.12: - resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} - engines: {node: '>=0.6.0'} + resolution: + { + integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==, + } + engines: { node: '>=0.6.0' } timers-ext@0.1.8: - resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} - engines: {node: '>=0.12'} + resolution: + { + integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==, + } + engines: { node: '>=0.12' } tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + resolution: + { + integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==, + } tiny-pinyin@1.3.2: - resolution: {integrity: sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA==} + resolution: + { + integrity: sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA==, + } tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + resolution: + { + integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==, + } tinycolor2@1.6.0: - resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + resolution: + { + integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==, + } + + tinyexec@1.0.2: + resolution: + { + integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==, + } + engines: { node: '>=18' } tinyglobby@0.2.15: - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, + } + engines: { node: '>=12.0.0' } titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==, + } + engines: { node: '>=12' } tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + resolution: + { + integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, + } to-arraybuffer@1.0.1: - resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} + resolution: + { + integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==, + } to-buffer@1.2.2: - resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==, + } + engines: { node: '>= 0.4' } to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: '>=8.0' } toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + resolution: + { + integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==, + } toidentifier@1.0.0: - resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==, + } + engines: { node: '>=0.6' } toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: '>=0.6' } tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + resolution: + { + integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, + } trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==, + } + engines: { node: '>=8' } trim-right@1.0.1: - resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==, + } + engines: { node: '>=0.10.0' } tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + resolution: + { + integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, + } tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + resolution: + { + integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, + } tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, + } + engines: { node: '>= 6' } peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' tsx@3.12.2: - resolution: {integrity: sha512-ykAEkoBg30RXxeOMVeZwar+JH632dZn9EUJVyJwhfag62k6UO/dIyJEV58YuLF6e5BTdV/qmbQrpkWqjq9cUnQ==} + resolution: + { + integrity: sha512-ykAEkoBg30RXxeOMVeZwar+JH632dZn9EUJVyJwhfag62k6UO/dIyJEV58YuLF6e5BTdV/qmbQrpkWqjq9cUnQ==, + } hasBin: true tty-browserify@0.0.0: - resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} + resolution: + { + integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==, + } type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: '>= 0.8.0' } type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==, + } + engines: { node: '>=10' } type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: '>=10' } type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, + } + engines: { node: '>=8' } type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, + } + engines: { node: '>=8' } type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: '>= 0.6' } type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + resolution: + { + integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==, + } typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==, + } + engines: { node: '>= 0.4' } typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==, + } + engines: { node: '>= 0.4' } typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==, + } + engines: { node: '>= 0.4' } typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==, + } + engines: { node: '>= 0.4' } typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} + resolution: + { + integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==, + } + engines: { node: '>=14.17' } hasBin: true - umi@4.6.26: - resolution: {integrity: sha512-jjgrQBjzGIw1ShxT7Nte+gnTbkBLqNTDav1vN2Z2bUEbxeyV4G6W+KgqgDenTtfNg1BOhNWHaCRtLWnXcEWAiQ==} - engines: {node: '>=14'} + umi@4.6.31: + resolution: + { + integrity: sha512-MOzC5TUBuUU4JvkHa0/SFZozNlf8Ni1zlQsuNe06pP7/9qPJNNlGdm3OHMoRf74UIrtA5V/PFxtTclS1JRE0WA==, + } + engines: { node: '>=14' } hasBin: true unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} - - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + resolution: + { + integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==, + } + engines: { node: '>= 0.4' } + + undici-types@7.18.2: + resolution: + { + integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==, + } unfetch@5.0.0: - resolution: {integrity: sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==} + resolution: + { + integrity: sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==, + } universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, + } + engines: { node: '>= 10.0.0' } unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, + } + engines: { node: '>= 0.8' } untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==, + } + engines: { node: '>=8' } update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + resolution: + { + integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==, + } hasBin: true peerDependencies: browserslist: '>= 4.21.0' uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } url-okam@0.11.1: - resolution: {integrity: sha512-AM6OVeZNwKiirK3IwKxHuopgjX1jB0F8srK9OlCXN+wdmTNg6vgnN9xyQ5abhxq8Oj/kTleLU8OCfZ1FaEW37w==} + resolution: + { + integrity: sha512-AM6OVeZNwKiirK3IwKxHuopgjX1jB0F8srK9OlCXN+wdmTNg6vgnN9xyQ5abhxq8Oj/kTleLU8OCfZ1FaEW37w==, + } url@0.11.4: - resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==, + } + engines: { node: '>= 0.4' } use-isomorphic-layout-effect@1.2.1: - resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} + resolution: + { + integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==, + } peerDependencies: '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -6978,53 +11743,95 @@ packages: optional: true use-sync-external-store@1.2.0: - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + resolution: + { + integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==, + } peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 use-sync-external-store@1.6.0: - resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + resolution: + { + integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==, + } peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } util-okam@0.11.1: - resolution: {integrity: sha512-e2bG47F03vYx2MbA6znK6t6dwffnXGsVzh8BLpi0pcQ7dDRQf0zSAQ9IR7M+aoozALNibw8eCY53gEK8bBpSjg==} + resolution: + { + integrity: sha512-e2bG47F03vYx2MbA6znK6t6dwffnXGsVzh8BLpi0pcQ7dDRQf0zSAQ9IR7M+aoozALNibw8eCY53gEK8bBpSjg==, + } util@0.10.3: - resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} + resolution: + { + integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==, + } util@0.10.4: - resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + resolution: + { + integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==, + } util@0.11.1: - resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} + resolution: + { + integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==, + } utila@0.4.0: - resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + resolution: + { + integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==, + } utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} + resolution: + { + integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==, + } + engines: { node: '>= 0.4.0' } utrie@1.0.2: - resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==} + resolution: + { + integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==, + } uuid@13.0.0: - resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} + resolution: + { + integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==, + } hasBin: true v8-compile-cache@2.4.0: - resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + resolution: + { + integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==, + } validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + resolution: + { + integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, + } valtio@1.11.2: - resolution: {integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==} - engines: {node: '>=12.20.0'} + resolution: + { + integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==, + } + engines: { node: '>=12.20.0' } peerDependencies: '@types/react': '>=16.8' react: '>=16.8' @@ -7035,15 +11842,24 @@ packages: optional: true value-equal@1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + resolution: + { + integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==, + } vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: '>= 0.8' } vite@4.5.2: - resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==, + } + engines: { node: ^14.18.0 || >=16.0.0 } hasBin: true peerDependencies: '@types/node': '>= 14' @@ -7070,45 +11886,81 @@ packages: optional: true vm-browserify@1.1.2: - resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + resolution: + { + integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==, + } w3c-keyname@2.2.8: - resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + resolution: + { + integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==, + } walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + resolution: + { + integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, + } warning@3.0.0: - resolution: {integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==} + resolution: + { + integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==, + } warning@4.0.3: - resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + resolution: + { + integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==, + } watchpack@2.5.1: - resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==, + } + engines: { node: '>=10.13.0' } wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + resolution: + { + integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==, + } web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==, + } + engines: { node: '>= 8' } webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + resolution: + { + integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, + } webpack-5-chain@8.0.1: - resolution: {integrity: sha512-Tu1w80WA2Z+X6e7KzGy+cc0A0z+npVJA/fh55q2azMJ030gqz343Kx+yNAstDCeugsepmtDWY2J2IBRW/O+DEA==} - engines: {node: '>=10'} - - webpack-sources@3.3.3: - resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} - engines: {node: '>=10.13.0'} - - webpack@5.104.1: - resolution: {integrity: sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-Tu1w80WA2Z+X6e7KzGy+cc0A0z+npVJA/fh55q2azMJ030gqz343Kx+yNAstDCeugsepmtDWY2J2IBRW/O+DEA==, + } + engines: { node: '>=10' } + + webpack-sources@3.3.4: + resolution: + { + integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==, + } + engines: { node: '>=10.13.0' } + + webpack@5.105.4: + resolution: + { + integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==, + } + engines: { node: '>=10.13.0' } hasBin: true peerDependencies: webpack-cli: '*' @@ -7117,75 +11969,129 @@ packages: optional: true whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + resolution: + { + integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==, + } whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + resolution: + { + integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, + } which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==, + } + engines: { node: '>= 0.4' } which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==, + } + engines: { node: '>= 0.4' } which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==, + } + engines: { node: '>= 0.4' } which-typed-array@1.1.20: - resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==, + } + engines: { node: '>= 0.4' } which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + resolution: + { + integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==, + } hasBin: true which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: '>= 8' } hasBin: true wmf@1.0.2: - resolution: {integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==, + } + engines: { node: '>=0.8' } word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, + } + engines: { node: '>=0.10.0' } word@0.3.0: - resolution: {integrity: sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==, + } + engines: { node: '>=0.8' } workerize-loader@2.0.2: - resolution: {integrity: sha512-HoZ6XY4sHWxA2w0WpzgBwUiR3dv1oo7bS+oCwIpb6n54MclQ/7KXdXsVIChTCygyuHtVuGBO1+i3HzTt699UJQ==} + resolution: + { + integrity: sha512-HoZ6XY4sHWxA2w0WpzgBwUiR3dv1oo7bS+oCwIpb6n54MclQ/7KXdXsVIChTCygyuHtVuGBO1+i3HzTt699UJQ==, + } peerDependencies: webpack: '*' wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: '>=10' } wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, + } + engines: { node: '>=12' } wrap-ansi@9.0.2: - resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==, + } + engines: { node: '>=18' } wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } ws@8.19.0: - resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==, + } + engines: { node: '>=10.0.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -7196,60 +12102,98 @@ packages: optional: true xlsx@0.16.3: - resolution: {integrity: sha512-LInZ1OK6vpe+Em8XDZ5gDH3WixARwxI7UWc+3chLeafI6gUwECEgL43k4Tjbs1uRfkxpM7wQFy5DLE0hFBRqRw==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-LInZ1OK6vpe+Em8XDZ5gDH3WixARwxI7UWc+3chLeafI6gUwECEgL43k4Tjbs1uRfkxpM7wQFy5DLE0hFBRqRw==, + } + engines: { node: '>=0.8' } hasBin: true xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: '>=0.4' } y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: '>=10' } yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, + } + engines: { node: '>= 6' } yaml@2.8.2: - resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} - engines: {node: '>= 14.6'} + resolution: + { + integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==, + } + engines: { node: '>= 14.6' } hasBin: true yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==, + } + engines: { node: '>=10' } yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: '>=12' } yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, + } + engines: { node: '>=12' } yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: '>=10' } zod-validation-error@2.1.0: - resolution: {integrity: sha512-VJh93e2wb4c3tWtGgTa0OF/dTt/zoPCPzXq4V11ZjxmEAFaPi/Zss1xIZdEB5RD8GD00U0/iVXgqkF77RV7pdQ==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-VJh93e2wb4c3tWtGgTa0OF/dTt/zoPCPzXq4V11ZjxmEAFaPi/Zss1xIZdEB5RD8GD00U0/iVXgqkF77RV7pdQ==, + } + engines: { node: '>=18.0.0' } peerDependencies: zod: ^3.18.0 zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + resolution: + { + integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==, + } snapshots: - '@ahooksjs/use-request@2.8.15(react@18.3.1)': dependencies: lodash.debounce: 4.0.8 @@ -7275,9 +12219,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@ant-design/charts@2.6.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.104.1))': + '@ant-design/charts@2.6.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.105.4))': dependencies: - '@ant-design/graphs': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.104.1)) + '@ant-design/graphs': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.105.4)) '@ant-design/plots': 2.6.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lodash: 4.17.23 react: 18.3.1 @@ -7295,7 +12239,7 @@ snapshots: '@ant-design/colors@8.0.1': dependencies: - '@ant-design/fast-color': 3.0.0 + '@ant-design/fast-color': 3.0.1 '@ant-design/cssinjs-utils@1.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -7321,18 +12265,18 @@ snapshots: dependencies: '@babel/runtime': 7.28.6 - '@ant-design/fast-color@3.0.0': {} + '@ant-design/fast-color@3.0.1': {} - '@ant-design/graphs@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.104.1))': + '@ant-design/graphs@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.105.4))': dependencies: '@ant-design/charts-util': 0.0.1-alpha.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@antv/g6': 5.0.51(workerize-loader@2.0.2(webpack@5.104.1)) - '@antv/g6-extension-react': 0.2.6(@antv/g6@5.0.51(workerize-loader@2.0.2(webpack@5.104.1)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@antv/graphin': 3.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.104.1)) + '@antv/g6': 5.0.51(workerize-loader@2.0.2(webpack@5.105.4)) + '@antv/g6-extension-react': 0.2.6(@antv/g6@5.0.51(workerize-loader@2.0.2(webpack@5.105.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@antv/graphin': 3.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.105.4)) lodash: 4.17.23 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-components: 6.3.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.3.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - workerize-loader @@ -7363,7 +12307,7 @@ snapshots: dependencies: '@ant-design/colors': 8.0.1 '@ant-design/icons-svg': 4.4.2 - '@rc-component/util': 1.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@rc-component/util': 1.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7495,7 +12439,7 @@ snapshots: lodash-es: 4.17.23 rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - swr: 2.3.8(react@18.3.1) + swr: 2.4.1(react@18.3.1) transitivePeerDependencies: - react-dom @@ -7513,7 +12457,7 @@ snapshots: lodash-es: 4.17.23 rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - swr: 2.3.8(react@18.3.1) + swr: 2.4.1(react@18.3.1) transitivePeerDependencies: - react-dom @@ -7575,7 +12519,7 @@ snapshots: rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - swr: 2.3.8(react@18.3.1) + swr: 2.4.1(react@18.3.1) warning: 4.0.3 '@ant-design/pro-layout@7.22.7(antd@5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -7596,7 +12540,7 @@ snapshots: rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - swr: 2.3.8(react@18.3.1) + swr: 2.4.1(react@18.3.1) warning: 4.0.3 '@ant-design/pro-list@2.6.10(antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -7647,7 +12591,7 @@ snapshots: rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - swr: 2.3.8(react@18.3.1) + swr: 2.4.1(react@18.3.1) '@ant-design/pro-provider@2.16.2(antd@5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -7659,7 +12603,7 @@ snapshots: rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - swr: 2.3.8(react@18.3.1) + swr: 2.4.1(react@18.3.1) '@ant-design/pro-skeleton@2.2.1(antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -7739,7 +12683,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) safe-stable-stringify: 2.5.0 - swr: 2.3.8(react@18.3.1) + swr: 2.4.1(react@18.3.1) '@ant-design/pro-utils@2.18.0(antd@5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -7755,7 +12699,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) safe-stable-stringify: 2.5.0 - swr: 2.3.8(react@18.3.1) + swr: 2.4.1(react@18.3.1) '@ant-design/react-slick@1.0.2(react@18.3.1)': dependencies: @@ -7866,15 +12810,15 @@ snapshots: flru: 1.0.2 pdfast: 0.2.0 - '@antv/g6-extension-react@0.2.6(@antv/g6@5.0.51(workerize-loader@2.0.2(webpack@5.104.1)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@antv/g6-extension-react@0.2.6(@antv/g6@5.0.51(workerize-loader@2.0.2(webpack@5.105.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@antv/g': 6.3.1 '@antv/g-svg': 2.1.1 - '@antv/g6': 5.0.51(workerize-loader@2.0.2(webpack@5.104.1)) + '@antv/g6': 5.0.51(workerize-loader@2.0.2(webpack@5.105.4)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@antv/g6@5.0.51(workerize-loader@2.0.2(webpack@5.104.1))': + '@antv/g6@5.0.51(workerize-loader@2.0.2(webpack@5.105.4))': dependencies: '@antv/algorithm': 0.1.26 '@antv/component': 2.1.11 @@ -7884,7 +12828,7 @@ snapshots: '@antv/g-plugin-dragndrop': 2.1.1 '@antv/graphlib': 2.0.4 '@antv/hierarchy': 0.7.1 - '@antv/layout': 1.2.14-beta.9(workerize-loader@2.0.2(webpack@5.104.1)) + '@antv/layout': 1.2.14-beta.9(workerize-loader@2.0.2(webpack@5.105.4)) '@antv/util': 3.3.11 bubblesets-js: 2.3.4 transitivePeerDependencies: @@ -7898,9 +12842,9 @@ snapshots: gl-matrix: 3.4.4 html2canvas: 1.4.1 - '@antv/graphin@3.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.104.1))': + '@antv/graphin@3.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(workerize-loader@2.0.2(webpack@5.105.4))': dependencies: - '@antv/g6': 5.0.51(workerize-loader@2.0.2(webpack@5.104.1)) + '@antv/g6': 5.0.51(workerize-loader@2.0.2(webpack@5.105.4)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -7912,12 +12856,12 @@ snapshots: '@antv/hierarchy@0.7.1': {} - '@antv/layout@1.2.14-beta.9(workerize-loader@2.0.2(webpack@5.104.1))': + '@antv/layout@1.2.14-beta.9(workerize-loader@2.0.2(webpack@5.105.4))': dependencies: '@antv/event-emitter': 0.1.3 '@antv/graphlib': 2.0.4 '@antv/util': 3.3.11 - '@naoak/workerize-transferable': 0.1.0(workerize-loader@2.0.2(webpack@5.104.1)) + '@naoak/workerize-transferable': 0.1.0(workerize-loader@2.0.2(webpack@5.105.4)) comlink: 4.4.2 d3-force: 3.0.0 d3-force-3d: 3.0.6 @@ -8000,32 +12944,26 @@ snapshots: dependencies: '@babel/highlight': 7.25.9 - '@babel/code-frame@7.28.6': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - '@babel/code-frame@7.29.0': dependencies: '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.6': {} + '@babel/compat-data@7.29.0': {} '@babel/core@7.23.6': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.28.6 - '@babel/generator': 7.28.6 + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.23.6) '@babel/helpers': 7.28.6 - '@babel/parser': 7.28.6 + '@babel/parser': 7.29.0 '@babel/template': 7.28.6 - '@babel/traverse': 7.28.6 - '@babel/types': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 convert-source-map: 2.0.0 debug: 4.4.3 gensync: 1.0.0-beta.2 @@ -8037,7 +12975,7 @@ snapshots: '@babel/core@7.29.0': dependencies: '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.0 + '@babel/generator': 7.29.1 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helpers': 7.28.6 @@ -8070,15 +13008,7 @@ snapshots: source-map: 0.5.7 trim-right: 1.0.1 - '@babel/generator@7.28.6': - dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.6 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/generator@7.29.0': + '@babel/generator@7.29.1': dependencies: '@babel/parser': 7.29.0 '@babel/types': 7.29.0 @@ -8092,7 +13022,7 @@ snapshots: '@babel/helper-compilation-targets@7.28.6': dependencies: - '@babel/compat-data': 7.28.6 + '@babel/compat-data': 7.29.0 '@babel/helper-validator-option': 7.27.1 browserslist: 4.28.1 lru-cache: 5.1.1 @@ -8102,8 +13032,8 @@ snapshots: '@babel/helper-module-imports@7.28.6': dependencies: - '@babel/traverse': 7.28.6 - '@babel/types': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -8112,7 +13042,7 @@ snapshots: '@babel/core': 7.23.6 '@babel/helper-module-imports': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -8121,7 +13051,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -8143,7 +13073,7 @@ snapshots: '@babel/helpers@7.28.6': dependencies: '@babel/template': 7.28.6 - '@babel/types': 7.28.6 + '@babel/types': 7.29.0 '@babel/highlight@7.25.9': dependencies: @@ -8152,10 +13082,6 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/parser@7.28.6': - dependencies: - '@babel/types': 7.28.6 - '@babel/parser@7.29.0': dependencies: '@babel/types': 7.29.0 @@ -8267,26 +13193,14 @@ snapshots: '@babel/template@7.28.6': dependencies: - '@babel/code-frame': 7.28.6 - '@babel/parser': 7.28.6 - '@babel/types': 7.28.6 - - '@babel/traverse@7.28.6': - dependencies: - '@babel/code-frame': 7.28.6 - '@babel/generator': 7.28.6 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.6 - '@babel/template': 7.28.6 - '@babel/types': 7.28.6 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color + '@babel/code-frame': 7.29.0 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 '@babel/traverse@7.29.0': dependencies: '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.0 + '@babel/generator': 7.29.1 '@babel/helper-globals': 7.28.0 '@babel/parser': 7.29.0 '@babel/template': 7.28.6 @@ -8295,11 +13209,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.28.6': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -8313,54 +13222,54 @@ snapshots: reactcss: 1.2.3(react@18.3.1) tinycolor2: 1.6.0 - '@codemirror/autocomplete@6.20.0': + '@codemirror/autocomplete@6.20.1': dependencies: - '@codemirror/language': 6.12.1 + '@codemirror/language': 6.12.2 '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 - '@lezer/common': 1.5.0 + '@codemirror/view': 6.39.16 + '@lezer/common': 1.5.1 - '@codemirror/commands@6.10.1': + '@codemirror/commands@6.10.2': dependencies: - '@codemirror/language': 6.12.1 + '@codemirror/language': 6.12.2 '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 - '@lezer/common': 1.5.0 + '@codemirror/view': 6.39.16 + '@lezer/common': 1.5.1 '@codemirror/lang-java@6.0.2': dependencies: - '@codemirror/language': 6.12.1 + '@codemirror/language': 6.12.2 '@lezer/java': 1.1.3 - '@codemirror/lang-javascript@6.2.4': + '@codemirror/lang-javascript@6.2.5': dependencies: - '@codemirror/autocomplete': 6.20.0 - '@codemirror/language': 6.12.1 - '@codemirror/lint': 6.9.2 + '@codemirror/autocomplete': 6.20.1 + '@codemirror/language': 6.12.2 + '@codemirror/lint': 6.9.5 '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 - '@lezer/common': 1.5.0 + '@codemirror/view': 6.39.16 + '@lezer/common': 1.5.1 '@lezer/javascript': 1.5.4 - '@codemirror/language@6.12.1': + '@codemirror/language@6.12.2': dependencies: '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 - '@lezer/common': 1.5.0 + '@codemirror/view': 6.39.16 + '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.7 + '@lezer/lr': 1.4.8 style-mod: 4.1.3 - '@codemirror/lint@6.9.2': + '@codemirror/lint@6.9.5': dependencies: '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 + '@codemirror/view': 6.39.16 crelt: 1.0.6 '@codemirror/search@6.6.0': dependencies: '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 + '@codemirror/view': 6.39.16 crelt: 1.0.6 '@codemirror/state@6.5.4': @@ -8369,70 +13278,70 @@ snapshots: '@codemirror/theme-one-dark@6.1.3': dependencies: - '@codemirror/language': 6.12.1 + '@codemirror/language': 6.12.2 '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 + '@codemirror/view': 6.39.16 '@lezer/highlight': 1.2.3 - '@codemirror/view@6.39.11': + '@codemirror/view@6.39.16': dependencies: '@codemirror/state': 6.5.4 crelt: 1.0.6 style-mod: 4.1.3 w3c-keyname: 2.2.8 - '@csstools/postcss-color-function@1.1.1(postcss@8.5.6)': + '@csstools/postcss-color-function@1.1.1(postcss@8.5.8)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.8) + postcss: 8.5.8 postcss-value-parser: 4.2.0 - '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.5.6)': + '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.5.8)': dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - '@csstools/postcss-hwb-function@1.0.2(postcss@8.5.6)': + '@csstools/postcss-hwb-function@1.0.2(postcss@8.5.8)': dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - '@csstools/postcss-ic-unit@1.0.1(postcss@8.5.6)': + '@csstools/postcss-ic-unit@1.0.1(postcss@8.5.8)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.8) + postcss: 8.5.8 postcss-value-parser: 4.2.0 - '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.5.6)': + '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.5.8)': dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 - '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.5.6)': + '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.5.8)': dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - '@csstools/postcss-oklab-function@1.1.1(postcss@8.5.6)': + '@csstools/postcss-oklab-function@1.1.1(postcss@8.5.8)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.8) + postcss: 8.5.8 postcss-value-parser: 4.2.0 - '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.5.6)': + '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.5.8)': dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.5.6)': + '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.5.8)': dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - '@csstools/postcss-unset-value@1.0.2(postcss@8.5.6)': + '@csstools/postcss-unset-value@1.0.2(postcss@8.5.8)': dependencies: - postcss: 8.5.6 + postcss: 8.5.8 '@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.1.2)': dependencies: @@ -8489,7 +13398,7 @@ snapshots: '@esbuild-kit/cjs-loader@2.4.4': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.13.1 + get-tsconfig: 4.13.6 '@esbuild-kit/core-utils@3.3.2': dependencies: @@ -8499,7 +13408,7 @@ snapshots: '@esbuild-kit/esm-loader@2.6.5': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.13.1 + get-tsconfig: 4.13.6 '@esbuild/aix-ppc64@0.21.4': optional: true @@ -8645,14 +13554,14 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: - ajv: 6.12.6 + ajv: 6.14.0 debug: 4.4.3 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 import-fresh: 3.3.1 js-yaml: 4.1.1 - minimatch: 3.1.2 + minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color @@ -8667,23 +13576,23 @@ snapshots: dependencies: '@floating-ui/core': 0.6.2 - '@floating-ui/react-dom-interactions@0.3.1(@types/react@19.2.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom-interactions@0.3.1(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 0.6.3(@types/react@19.2.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react-dom': 0.6.3(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) aria-hidden: 1.2.6 point-in-polygon: 1.1.0 - use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.13)(react@18.3.1) + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.14)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react - react-dom - '@floating-ui/react-dom@0.6.3(@types/react@19.2.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@0.6.3(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@floating-ui/dom': 0.4.5 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.13)(react@18.3.1) + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.14)(react@18.3.1) transitivePeerDependencies: - '@types/react' @@ -8709,7 +13618,7 @@ snapshots: dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.4.3 - minimatch: 3.1.2 + minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -8734,7 +13643,7 @@ snapshots: dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 @@ -8751,7 +13660,7 @@ snapshots: '@jest/schemas@29.6.3': dependencies: - '@sinclair/typebox': 0.27.8 + '@sinclair/typebox': 0.27.10 '@jest/transform@29.7.0': dependencies: @@ -8783,7 +13692,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 25.2.0 + '@types/node': 25.3.5 '@types/yargs': 16.0.11 chalk: 4.1.2 @@ -8792,7 +13701,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 25.2.0 + '@types/node': 25.3.5 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -8820,27 +13729,27 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@lezer/common@1.5.0': {} + '@lezer/common@1.5.1': {} '@lezer/highlight@1.2.3': dependencies: - '@lezer/common': 1.5.0 + '@lezer/common': 1.5.1 '@lezer/java@1.1.3': dependencies: - '@lezer/common': 1.5.0 + '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.7 + '@lezer/lr': 1.4.8 '@lezer/javascript@1.5.4': dependencies: - '@lezer/common': 1.5.0 + '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.7 + '@lezer/lr': 1.4.8 - '@lezer/lr@1.4.7': + '@lezer/lr@1.4.8': dependencies: - '@lezer/common': 1.5.0 + '@lezer/common': 1.5.1 '@loadable/component@5.15.2(react@18.3.1)': dependencies: @@ -8873,9 +13782,9 @@ snapshots: '@module-federation/runtime': 0.8.12 '@module-federation/sdk': 0.8.12 - '@naoak/workerize-transferable@0.1.0(workerize-loader@2.0.2(webpack@5.104.1))': + '@naoak/workerize-transferable@0.1.0(workerize-loader@2.0.2(webpack@5.105.4))': dependencies: - workerize-loader: 2.0.2(webpack@5.104.1) + workerize-loader: 2.0.2(webpack@5.105.4) '@napi-rs/nice-android-arm-eabi@1.1.1': optional: true @@ -9044,22 +13953,22 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@rc-component/util@1.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@rc-component/util@1.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: is-mobile: 5.0.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-is: 18.3.1 - '@sinclair/typebox@0.27.8': {} + '@sinclair/typebox@0.27.10': {} '@stagewise/toolbar@0.6.2': {} - '@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2(postcss@8.5.6))(postcss@8.5.6)': + '@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2(postcss@8.5.8))(postcss@8.5.8)': dependencies: '@babel/core': 7.23.6 - postcss: 8.5.6 - postcss-syntax: 0.36.2(postcss@8.5.6) + postcss: 8.5.8 + postcss-syntax: 0.36.2(postcss@8.5.8) transitivePeerDependencies: - supports-color @@ -9137,7 +14046,7 @@ snapshots: '@svgr/core': 6.5.1 cosmiconfig: 7.1.0 deepmerge: 4.3.1 - svgo: 2.8.0 + svgo: 2.8.2 '@swc/helpers@0.5.1': dependencies: @@ -9170,8 +14079,6 @@ snapshots: optionalDependencies: react-dom: 18.3.1(react@18.3.1) - '@trysound/sax@0.2.0': {} - '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.29.0 @@ -9257,7 +14164,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 25.2.0 + '@types/node': 25.3.5 '@types/hapi__joi@17.1.9': {} @@ -9267,9 +14174,9 @@ snapshots: dependencies: history: 4.10.1 - '@types/hoist-non-react-statics@3.3.7(@types/react@19.2.13)': + '@types/hoist-non-react-statics@3.3.7(@types/react@19.2.14)': dependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 hoist-non-react-statics: 3.3.2 '@types/html-minifier-terser@6.1.0': {} @@ -9297,41 +14204,37 @@ snapshots: '@types/minimist@1.2.5': {} - '@types/node@25.2.0': + '@types/node@25.3.5': dependencies: - undici-types: 7.16.0 + undici-types: 7.18.2 '@types/normalize-package-data@2.4.4': {} '@types/parse-json@4.0.2': {} - '@types/react-dom@19.2.3(@types/react@19.2.13)': + '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 '@types/react-router-dom@4.3.5': dependencies: '@types/history': 5.0.0 - '@types/react': 19.2.13 + '@types/react': 19.2.14 '@types/react-router': 5.1.20 '@types/react-router-redux@5.0.27': dependencies: '@types/history': 4.7.11 - '@types/react': 19.2.13 + '@types/react': 19.2.14 '@types/react-router': 5.1.20 redux: 3.7.2 '@types/react-router@5.1.20': dependencies: '@types/history': 4.7.11 - '@types/react': 19.2.13 - - '@types/react@19.2.13': - dependencies: - csstype: 3.2.3 + '@types/react': 19.2.14 - '@types/react@19.2.13': + '@types/react@19.2.14': dependencies: csstype: 3.2.3 @@ -9369,7 +14272,7 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.2 natural-compare-lite: 1.4.0 - semver: 7.7.3 + semver: 7.7.4 tsutils: 3.21.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 @@ -9414,7 +14317,7 @@ snapshots: debug: 4.4.3 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.7.3 + semver: 7.7.4 tsutils: 3.21.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 @@ -9431,7 +14334,7 @@ snapshots: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) eslint: 8.35.0 eslint-scope: 5.1.1 - semver: 7.7.3 + semver: 7.7.4 transitivePeerDependencies: - supports-color - typescript @@ -9441,24 +14344,24 @@ snapshots: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - '@uiw/codemirror-extensions-basic-setup@4.25.4(@codemirror/autocomplete@6.20.0)(@codemirror/commands@6.10.1)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/view@6.39.11)': + '@uiw/codemirror-extensions-basic-setup@4.25.7(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.2)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)': dependencies: - '@codemirror/autocomplete': 6.20.0 - '@codemirror/commands': 6.10.1 - '@codemirror/language': 6.12.1 - '@codemirror/lint': 6.9.2 + '@codemirror/autocomplete': 6.20.1 + '@codemirror/commands': 6.10.2 + '@codemirror/language': 6.12.2 + '@codemirror/lint': 6.9.5 '@codemirror/search': 6.6.0 '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 + '@codemirror/view': 6.39.16 - '@uiw/react-codemirror@4.25.4(@babel/runtime@7.28.6)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.11)(codemirror@6.0.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@uiw/react-codemirror@4.25.7(@babel/runtime@7.28.6)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.16)(codemirror@6.0.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.28.6 - '@codemirror/commands': 6.10.1 + '@codemirror/commands': 6.10.2 '@codemirror/state': 6.5.4 '@codemirror/theme-one-dark': 6.1.3 - '@codemirror/view': 6.39.11 - '@uiw/codemirror-extensions-basic-setup': 4.25.4(@codemirror/autocomplete@6.20.0)(@codemirror/commands@6.10.1)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/view@6.39.11) + '@codemirror/view': 6.39.16 + '@uiw/codemirror-extensions-basic-setup': 4.25.7(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.2)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16) codemirror: 6.0.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -9468,47 +14371,37 @@ snapshots: - '@codemirror/lint' - '@codemirror/search' - '@umijs/ast@4.6.26': + '@umijs/ast@4.6.31': dependencies: - '@umijs/bundler-utils': 4.6.26 + '@umijs/bundler-utils': 4.6.31 transitivePeerDependencies: - supports-color - '@umijs/babel-preset-umi@4.6.25': + '@umijs/babel-preset-umi@4.6.31': dependencies: '@babel/runtime': 7.23.6 '@bloomberg/record-tuple-polyfill': 0.0.4 - '@umijs/bundler-utils': 4.6.25 - '@umijs/utils': 4.6.25 + '@umijs/bundler-utils': 4.6.31 + '@umijs/utils': 4.6.31 core-js: 3.34.0 transitivePeerDependencies: - supports-color - '@umijs/babel-preset-umi@4.6.26': + '@umijs/bundler-esbuild@4.6.31': dependencies: - '@babel/runtime': 7.23.6 - '@bloomberg/record-tuple-polyfill': 0.0.4 - '@umijs/bundler-utils': 4.6.26 - '@umijs/utils': 4.6.26 - core-js: 3.34.0 - transitivePeerDependencies: - - supports-color - - '@umijs/bundler-esbuild@4.6.26': - dependencies: - '@umijs/bundler-utils': 4.6.26 - '@umijs/utils': 4.6.26 + '@umijs/bundler-utils': 4.6.31 + '@umijs/utils': 4.6.31 enhanced-resolve: 5.9.3 - postcss: 8.5.6 - postcss-flexbugs-fixes: 5.0.2(postcss@8.5.6) - postcss-preset-env: 7.5.0(postcss@8.5.6) + postcss: 8.5.8 + postcss-flexbugs-fixes: 5.0.2(postcss@8.5.8) + postcss-preset-env: 7.5.0(postcss@8.5.8) transitivePeerDependencies: - supports-color - '@umijs/bundler-mako@0.11.10(postcss@8.5.6)(sass@1.54.0)(typescript@5.9.3)(webpack@5.104.1)': + '@umijs/bundler-mako@0.11.10(postcss@8.5.8)(sass@1.54.0)(typescript@5.9.3)(webpack@5.105.4)': dependencies: - '@umijs/bundler-utils': 4.6.26 - '@umijs/mako': 0.11.10(postcss@8.5.6)(sass@1.54.0)(typescript@5.9.3)(webpack@5.104.1) + '@umijs/bundler-utils': 4.6.31 + '@umijs/mako': 0.11.10(postcss@8.5.8)(sass@1.54.0)(typescript@5.9.3)(webpack@5.105.4) chalk: 4.1.2 compression: 1.8.1 connect-history-api-fallback: 2.0.0 @@ -9529,19 +14422,9 @@ snapshots: - typescript - webpack - '@umijs/bundler-utils@4.6.25': - dependencies: - '@umijs/utils': 4.6.25 - esbuild: 0.21.4 - regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 - spdy: 4.0.2 - transitivePeerDependencies: - - supports-color - - '@umijs/bundler-utils@4.6.26': + '@umijs/bundler-utils@4.6.31': dependencies: - '@umijs/utils': 4.6.26 + '@umijs/utils': 4.6.31 esbuild: 0.21.4 regenerate: 1.4.2 regenerate-unicode-properties: 10.1.1 @@ -9549,25 +14432,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@umijs/bundler-utoopack@4.6.26(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(postcss@8.5.6)(resolve-url-loader@5.0.0)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1)': + '@umijs/bundler-utoopack@4.6.31(resolve-url-loader@5.0.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4)': dependencies: - '@umijs/bundler-utils': 4.6.26 - '@umijs/bundler-webpack': 4.6.26(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1) - '@utoo/pack': 1.2.5(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(postcss@8.5.6)(resolve-url-loader@5.0.0)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0) + '@umijs/bundler-utils': 4.6.31 + '@umijs/bundler-webpack': 4.6.31(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4) + '@utoo/pack': 1.2.12(less-loader@11.1.0(less@4.1.3)(webpack@5.105.4))(less@4.1.3)(postcss@8.5.8)(resolve-url-loader@5.0.0)(sass-loader@13.2.0(sass@1.54.0)(webpack@5.105.4))(sass@1.54.0) compression: 1.8.1 connect-history-api-fallback: 2.0.0 cors: 2.8.6 express: 4.22.1 express-http-proxy: 2.1.2 + less: 4.1.3 + less-loader: 11.1.0(less@4.1.3)(webpack@5.105.4) + postcss: 8.5.8 + sass: 1.54.0 + sass-loader: 13.2.0(sass@1.54.0)(webpack@5.105.4) transitivePeerDependencies: - '@types/webpack' - bufferutil - - less - - less-loader - - postcss + - fibers + - node-sass - resolve-url-loader - - sass - - sass-loader + - sass-embedded - sockjs-client - supports-color - type-fest @@ -9578,18 +14464,18 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@umijs/bundler-vite@4.6.26(@types/node@25.2.0)(lightningcss@1.22.1)(postcss@8.5.6)(rollup@3.29.5)(sass@1.54.0)(terser@5.46.0)': + '@umijs/bundler-vite@4.6.31(@types/node@25.3.5)(lightningcss@1.22.1)(postcss@8.5.8)(rollup@3.30.0)(sass@1.54.0)(terser@5.46.0)': dependencies: '@svgr/core': 6.5.1 - '@umijs/bundler-utils': 4.6.26 - '@umijs/utils': 4.6.26 - '@vitejs/plugin-react': 4.0.0(vite@4.5.2(@types/node@25.2.0)(less@4.5.1)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0)) + '@umijs/bundler-utils': 4.6.31 + '@umijs/utils': 4.6.31 + '@vitejs/plugin-react': 4.0.0(vite@4.5.2(@types/node@25.3.5)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0)) core-js: 3.34.0 less: 4.1.3 - postcss-preset-env: 7.5.0(postcss@8.5.6) - rollup-plugin-visualizer: 5.9.0(rollup@3.29.5) + postcss-preset-env: 7.5.0(postcss@8.5.8) + rollup-plugin-visualizer: 5.9.0(rollup@3.30.0) systemjs: 6.15.1 - vite: 4.5.2(@types/node@25.2.0)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0) + vite: 4.5.2(@types/node@25.3.5)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0) transitivePeerDependencies: - '@types/node' - lightningcss @@ -9601,27 +14487,27 @@ snapshots: - supports-color - terser - '@umijs/bundler-webpack@4.6.26(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1)': + '@umijs/bundler-webpack@4.6.31(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4)': dependencies: '@svgr/core': 6.5.1 '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) '@types/hapi__joi': 17.1.9 - '@umijs/babel-preset-umi': 4.6.26 - '@umijs/bundler-utils': 4.6.26 + '@umijs/babel-preset-umi': 4.6.31 + '@umijs/bundler-utils': 4.6.31 '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 - '@umijs/mfsu': 4.6.26 - '@umijs/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(type-fest@0.20.2)(webpack@5.104.1) - '@umijs/utils': 4.6.26 + '@umijs/mfsu': 4.6.31 + '@umijs/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(type-fest@0.20.2)(webpack@5.105.4) + '@umijs/utils': 4.6.31 cors: 2.8.6 - css-loader: 6.7.1(webpack@5.104.1) + css-loader: 6.7.1(webpack@5.105.4) es5-imcompatible-versions: 0.1.90 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.9.3)(webpack@5.104.1) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.9.3)(webpack@5.105.4) jest-worker: 29.4.3 lightningcss: 1.22.1 node-libs-browser: 2.2.1 - postcss: 8.5.6 - postcss-preset-env: 7.5.0(postcss@8.5.6) + postcss: 8.5.8 + postcss-preset-env: 7.5.0(postcss@8.5.8) react-error-overlay: 6.0.9 react-refresh: 0.14.0 transitivePeerDependencies: @@ -9637,10 +14523,10 @@ snapshots: '@umijs/case-sensitive-paths-webpack-plugin@1.0.1': {} - '@umijs/core@4.6.26': + '@umijs/core@4.6.31': dependencies: - '@umijs/bundler-utils': 4.6.26 - '@umijs/utils': 4.6.26 + '@umijs/bundler-utils': 4.6.31 + '@umijs/utils': 4.6.31 transitivePeerDependencies: - supports-color @@ -9690,45 +14576,19 @@ snapshots: '@babel/runtime': 7.23.6 query-string: 6.14.1 - '@umijs/lint@4.6.25(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3)': - dependencies: - '@babel/core': 7.23.6 - '@babel/eslint-parser': 7.23.3(@babel/core@7.23.6)(eslint@8.35.0) - '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2(postcss@8.5.6))(postcss@8.5.6) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@5.9.3))(eslint@8.35.0)(typescript@5.9.3) - '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@5.9.3) - '@umijs/babel-preset-umi': 4.6.25 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@5.9.3))(eslint@8.35.0)(typescript@5.9.3))(eslint@8.35.0)(typescript@5.9.3) - eslint-plugin-react: 7.33.2(eslint@8.35.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.35.0) - postcss: 8.5.6 - postcss-syntax: 0.36.2(postcss@8.5.6) - stylelint-config-standard: 25.0.0(stylelint@14.8.2) - transitivePeerDependencies: - - eslint - - jest - - postcss-html - - postcss-jsx - - postcss-less - - postcss-markdown - - postcss-scss - - stylelint - - supports-color - - typescript - - '@umijs/lint@4.6.26(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3)': + '@umijs/lint@4.6.31(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3)': dependencies: '@babel/core': 7.23.6 '@babel/eslint-parser': 7.23.3(@babel/core@7.23.6)(eslint@8.35.0) - '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2(postcss@8.5.6))(postcss@8.5.6) + '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2(postcss@8.5.8))(postcss@8.5.8) '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@5.9.3))(eslint@8.35.0)(typescript@5.9.3) '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@5.9.3) - '@umijs/babel-preset-umi': 4.6.26 + '@umijs/babel-preset-umi': 4.6.31 eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@5.9.3))(eslint@8.35.0)(typescript@5.9.3))(eslint@8.35.0)(typescript@5.9.3) eslint-plugin-react: 7.33.2(eslint@8.35.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.35.0) - postcss: 8.5.6 - postcss-syntax: 0.36.2(postcss@8.5.6) + postcss: 8.5.8 + postcss-syntax: 0.36.2(postcss@8.5.8) stylelint-config-standard: 25.0.0(stylelint@14.8.2) transitivePeerDependencies: - eslint @@ -9766,26 +14626,26 @@ snapshots: '@umijs/mako-win32-x64-msvc@0.11.10': optional: true - '@umijs/mako@0.11.10(postcss@8.5.6)(sass@1.54.0)(typescript@5.9.3)(webpack@5.104.1)': + '@umijs/mako@0.11.10(postcss@8.5.8)(sass@1.54.0)(typescript@5.9.3)(webpack@5.105.4)': dependencies: '@module-federation/webpack-bundler-runtime': 0.8.12 '@swc/helpers': 0.5.1 '@types/resolve': 1.20.6 chalk: 4.1.2 - enhanced-resolve: 5.18.4 + enhanced-resolve: 5.20.0 less: 4.5.1 - less-loader: 12.3.0(less@4.5.1)(webpack@5.104.1) + less-loader: 12.3.1(less@4.5.1)(webpack@5.105.4) loader-runner: 4.3.1 loader-utils: 3.3.1 lodash: 4.17.23 node-libs-browser-okam: 2.2.5 piscina: 4.9.2 - postcss-loader: 8.2.0(postcss@8.5.6)(typescript@5.9.3)(webpack@5.104.1) + postcss-loader: 8.2.1(postcss@8.5.8)(typescript@5.9.3)(webpack@5.105.4) react-error-overlay: 6.0.9 react-refresh: 0.14.2 resolve: 1.22.11 - sass-loader: 16.0.6(sass@1.54.0)(webpack@5.104.1) - semver: 7.7.3 + sass-loader: 16.0.7(sass@1.54.0)(webpack@5.105.4) + semver: 7.7.4 yargs-parser: 21.1.1 optionalDependencies: '@umijs/mako-darwin-arm64': 0.11.10 @@ -9805,14 +14665,14 @@ snapshots: - typescript - webpack - '@umijs/max@4.6.26(@babel/core@7.29.0)(@types/node@25.2.0)(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(dva@2.5.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(prettier@2.8.8)(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1)': + '@umijs/max@4.6.31(@babel/core@7.29.0)(@types/node@25.3.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(dva@2.5.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(lightningcss@1.22.1)(prettier@2.8.8)(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4)': dependencies: - '@umijs/lint': 4.6.26(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3) - '@umijs/plugins': 4.6.26(@babel/core@7.29.0)(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(dva@2.5.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@umijs/lint': 4.6.31(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3) + '@umijs/plugins': 4.6.31(@babel/core@7.29.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(dva@2.5.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) antd: 4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) eslint: 8.35.0 stylelint: 14.8.2 - umi: 4.6.26(@babel/core@7.29.0)(@types/node@25.2.0)(@types/react@19.2.13)(eslint@8.35.0)(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1) + umi: 4.6.31(@babel/core@7.29.0)(@types/node@25.3.5)(@types/react@19.2.14)(eslint@8.35.0)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4) transitivePeerDependencies: - '@babel/core' - '@rspack/core' @@ -9825,9 +14685,8 @@ snapshots: - bufferutil - debug - dva + - fibers - jest - - less - - less-loader - lightningcss - node-sass - postcss-html @@ -9844,7 +14703,6 @@ snapshots: - rollup - sass - sass-embedded - - sass-loader - sockjs-client - stylus - sugarss @@ -9858,11 +14716,11 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@umijs/mfsu@4.6.26': + '@umijs/mfsu@4.6.31': dependencies: - '@umijs/bundler-esbuild': 4.6.26 - '@umijs/bundler-utils': 4.6.26 - '@umijs/utils': 4.6.26 + '@umijs/bundler-esbuild': 4.6.31 + '@umijs/bundler-utils': 4.6.31 + '@umijs/utils': 4.6.31 enhanced-resolve: 5.9.3 is-equal: 1.7.0 transitivePeerDependencies: @@ -9871,7 +14729,7 @@ snapshots: '@umijs/openapi@1.14.1(chokidar@3.6.0)(encoding@0.1.13)(typescript@5.9.3)': dependencies: chalk: 4.1.2 - cosmiconfig: 9.0.0(typescript@5.9.3) + cosmiconfig: 9.0.1(typescript@5.9.3) dayjs: 1.11.19 glob: 7.2.3 lodash: 4.17.23 @@ -9892,23 +14750,23 @@ snapshots: - encoding - typescript - '@umijs/plugin-openapi@1.3.3(chokidar@3.6.0)(encoding@0.1.13)(typescript@5.9.3)(umi@4.6.26(@babel/core@7.29.0)(@types/node@25.2.0)(@types/react@19.2.13)(eslint@8.35.0)(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1))': + '@umijs/plugin-openapi@1.3.3(chokidar@3.6.0)(encoding@0.1.13)(typescript@5.9.3)(umi@4.6.31(@babel/core@7.29.0)(@types/node@25.3.5)(@types/react@19.2.14)(eslint@8.35.0)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4))': dependencies: '@umijs/openapi': 1.14.1(chokidar@3.6.0)(encoding@0.1.13)(typescript@5.9.3) serve-static: 1.16.3 swagger-ui-dist: 4.19.1 - umi: 4.6.26(@babel/core@7.29.0)(@types/node@25.2.0)(@types/react@19.2.13)(eslint@8.35.0)(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1) + umi: 4.6.31(@babel/core@7.29.0)(@types/node@25.3.5)(@types/react@19.2.14)(eslint@8.35.0)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4) transitivePeerDependencies: - chokidar - encoding - supports-color - typescript - '@umijs/plugin-run@4.6.26': + '@umijs/plugin-run@4.6.31': dependencies: tsx: 3.12.2 - '@umijs/plugins@4.6.26(@babel/core@7.29.0)(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(dva@2.5.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@umijs/plugins@4.6.31(@babel/core@7.29.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(dva@2.5.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@ahooksjs/use-request': 2.8.15(react@18.3.1) '@ant-design/antd-theme-variable': 1.0.0 @@ -9918,8 +14776,8 @@ snapshots: '@ant-design/pro-components': 2.8.10(antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': 4.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query-devtools': 4.43.0(@tanstack/react-query@4.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@umijs/bundler-utils': 4.6.26 - '@umijs/valtio': 1.0.4(@types/react@19.2.13)(react@18.3.1) + '@umijs/bundler-utils': 4.6.31 + '@umijs/valtio': 1.0.4(@types/react@19.2.14)(react@18.3.1) antd-dayjs-webpack-plugin: 1.0.6(dayjs@1.11.19) axios: 0.27.2 babel-plugin-import: 1.13.8 @@ -9934,8 +14792,8 @@ snapshots: lodash: 4.17.23 moment: 2.30.1 qiankun: 2.10.16 - react-intl: 3.12.1(@types/react@19.2.13)(react@18.3.1) - react-redux: 8.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-intl: 3.12.1(@types/react@19.2.14)(react@18.3.1) + react-redux: 8.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) redux: 4.2.1 styled-components: 6.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tslib: 2.8.1 @@ -9953,42 +14811,42 @@ snapshots: - react-native - supports-color - '@umijs/preset-umi@4.6.26(@types/node@25.2.0)(@types/react@19.2.13)(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1)': + '@umijs/preset-umi@4.6.31(@types/node@25.3.5)(@types/react@19.2.14)(lightningcss@1.22.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4)': dependencies: '@iconify/utils': 2.1.1 '@stagewise/toolbar': 0.6.2 '@svgr/core': 6.5.1 - '@umijs/ast': 4.6.26 - '@umijs/babel-preset-umi': 4.6.26 - '@umijs/bundler-esbuild': 4.6.26 - '@umijs/bundler-mako': 0.11.10(postcss@8.5.6)(sass@1.54.0)(typescript@5.9.3)(webpack@5.104.1) - '@umijs/bundler-utils': 4.6.26 - '@umijs/bundler-utoopack': 4.6.26(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(postcss@8.5.6)(resolve-url-loader@5.0.0)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1) - '@umijs/bundler-vite': 4.6.26(@types/node@25.2.0)(lightningcss@1.22.1)(postcss@8.5.6)(rollup@3.29.5)(sass@1.54.0)(terser@5.46.0) - '@umijs/bundler-webpack': 4.6.26(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1) - '@umijs/core': 4.6.26 + '@umijs/ast': 4.6.31 + '@umijs/babel-preset-umi': 4.6.31 + '@umijs/bundler-esbuild': 4.6.31 + '@umijs/bundler-mako': 0.11.10(postcss@8.5.8)(sass@1.54.0)(typescript@5.9.3)(webpack@5.105.4) + '@umijs/bundler-utils': 4.6.31 + '@umijs/bundler-utoopack': 4.6.31(resolve-url-loader@5.0.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4) + '@umijs/bundler-vite': 4.6.31(@types/node@25.3.5)(lightningcss@1.22.1)(postcss@8.5.8)(rollup@3.30.0)(sass@1.54.0)(terser@5.46.0) + '@umijs/bundler-webpack': 4.6.31(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4) + '@umijs/core': 4.6.31 '@umijs/did-you-know': 1.0.4 '@umijs/es-module-parser': 0.0.7 '@umijs/history': 5.3.1 - '@umijs/mfsu': 4.6.26 - '@umijs/plugin-run': 4.6.26 - '@umijs/renderer-react': 4.6.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@umijs/server': 4.6.26 + '@umijs/mfsu': 4.6.31 + '@umijs/plugin-run': 4.6.31 + '@umijs/renderer-react': 4.6.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@umijs/server': 4.6.31 '@umijs/ui': 3.0.1 - '@umijs/utils': 4.6.26 - '@umijs/zod2ts': 4.6.26 + '@umijs/utils': 4.6.31 + '@umijs/zod2ts': 4.6.31 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-react-compiler: 0.0.0-experimental-c23de8d-20240515 - click-to-react-component: 1.1.0(@types/react@19.2.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + click-to-react-component: 1.1.0(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) core-js: 3.34.0 current-script-polyfill: 1.0.0 enhanced-resolve: 5.9.3 fast-glob: 3.2.12 - html-webpack-plugin: 5.5.0(webpack@5.104.1) + html-webpack-plugin: 5.5.0(webpack@5.105.4) less-plugin-resolve: 1.0.2 path-to-regexp: 1.7.0 - postcss: 8.5.6 - postcss-prefix-selector: 1.16.0(postcss@8.5.6) + postcss: 8.5.8 + postcss-prefix-selector: 1.16.0(postcss@8.5.8) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-router: 6.3.0(react@18.3.1) @@ -10000,15 +14858,13 @@ snapshots: - '@types/react' - '@types/webpack' - bufferutil - - less - - less-loader + - fibers - lightningcss - node-sass - resolve-url-loader - rollup - sass - sass-embedded - - sass-loader - sockjs-client - stylus - sugarss @@ -10022,7 +14878,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@umijs/react-refresh-webpack-plugin@0.5.11(react-refresh@0.14.0)(type-fest@0.20.2)(webpack@5.104.1)': + '@umijs/react-refresh-webpack-plugin@0.5.11(react-refresh@0.14.0)(type-fest@0.20.2)(webpack@5.105.4)': dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 @@ -10034,11 +14890,11 @@ snapshots: react-refresh: 0.14.0 schema-utils: 3.3.0 source-map: 0.7.6 - webpack: 5.104.1 + webpack: 5.105.4 optionalDependencies: type-fest: 0.20.2 - '@umijs/renderer-react@4.6.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@umijs/renderer-react@4.6.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.23.6 '@loadable/component': 5.15.2(react@18.3.1) @@ -10050,9 +14906,9 @@ snapshots: '@umijs/route-utils@4.0.3': {} - '@umijs/server@4.6.26': + '@umijs/server@4.6.31': dependencies: - '@umijs/bundler-utils': 4.6.26 + '@umijs/bundler-utils': 4.6.31 history: 5.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -10060,12 +14916,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@umijs/test@4.6.26(@babel/core@7.29.0)': + '@umijs/test@4.6.31(@babel/core@7.29.0)': dependencies: '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.29.0) '@jest/types': 27.5.1 - '@umijs/bundler-utils': 4.6.26 - '@umijs/utils': 4.6.26 + '@umijs/bundler-utils': 4.6.31 + '@umijs/utils': 4.6.31 babel-jest: 29.7.0(@babel/core@7.29.0) esbuild: 0.21.4 identity-obj-proxy: 3.0.0 @@ -10080,77 +14936,72 @@ snapshots: dependencies: react: 18.3.1 - '@umijs/utils@4.6.25': + '@umijs/utils@4.6.31': dependencies: chokidar: 3.5.3 pino: 7.11.0 - '@umijs/utils@4.6.26': + '@umijs/valtio@1.0.4(@types/react@19.2.14)(react@18.3.1)': dependencies: - chokidar: 3.5.3 - pino: 7.11.0 - - '@umijs/valtio@1.0.4(@types/react@19.2.13)(react@18.3.1)': - dependencies: - valtio: 1.11.2(@types/react@19.2.13)(react@18.3.1) + valtio: 1.11.2(@types/react@19.2.14)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react - '@umijs/zod2ts@4.6.26': {} + '@umijs/zod2ts@4.6.31': {} - '@utoo/pack-darwin-arm64@1.2.5': + '@utoo/pack-darwin-arm64@1.2.12': optional: true - '@utoo/pack-darwin-x64@1.2.5': + '@utoo/pack-darwin-x64@1.2.12': optional: true - '@utoo/pack-linux-arm64-gnu@1.2.5': + '@utoo/pack-linux-arm64-gnu@1.2.12': optional: true - '@utoo/pack-linux-arm64-musl@1.2.5': + '@utoo/pack-linux-arm64-musl@1.2.12': optional: true - '@utoo/pack-linux-x64-gnu@1.2.5': + '@utoo/pack-linux-x64-gnu@1.2.12': optional: true - '@utoo/pack-linux-x64-musl@1.2.5': + '@utoo/pack-linux-x64-musl@1.2.12': optional: true - '@utoo/pack-shared@1.2.5': + '@utoo/pack-shared@1.2.12': dependencies: '@babel/code-frame': 7.22.5 picocolors: 1.1.1 - '@utoo/pack-win32-x64-msvc@1.2.5': + '@utoo/pack-win32-x64-msvc@1.2.12': optional: true - '@utoo/pack@1.2.5(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(postcss@8.5.6)(resolve-url-loader@5.0.0)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)': + '@utoo/pack@1.2.12(less-loader@11.1.0(less@4.1.3)(webpack@5.105.4))(less@4.1.3)(postcss@8.5.8)(resolve-url-loader@5.0.0)(sass-loader@13.2.0(sass@1.54.0)(webpack@5.105.4))(sass@1.54.0)': dependencies: '@babel/code-frame': 7.22.5 '@swc/helpers': 0.5.15 - '@utoo/pack-shared': 1.2.5 + '@utoo/pack-shared': 1.2.12 '@utoo/style-loader': 1.0.1 - domparser-rs: 0.0.5 + domparser-rs: 0.0.7 find-up: 4.1.0 - less: 4.5.1 - less-loader: 12.3.0(less@4.5.1)(webpack@5.104.1) + less: 4.1.3 + less-loader: 11.1.0(less@4.1.3)(webpack@5.105.4) nanoid: 3.3.11 picocolors: 1.1.1 - postcss: 8.5.6 + postcss: 8.5.8 resolve-url-loader: 5.0.0 sass: 1.54.0 - sass-loader: 16.0.6(sass@1.54.0)(webpack@5.104.1) + sass-loader: 13.2.0(sass@1.54.0)(webpack@5.105.4) send: 0.17.1 ws: 8.19.0 optionalDependencies: - '@utoo/pack-darwin-arm64': 1.2.5 - '@utoo/pack-darwin-x64': 1.2.5 - '@utoo/pack-linux-arm64-gnu': 1.2.5 - '@utoo/pack-linux-arm64-musl': 1.2.5 - '@utoo/pack-linux-x64-gnu': 1.2.5 - '@utoo/pack-linux-x64-musl': 1.2.5 - '@utoo/pack-win32-x64-msvc': 1.2.5 + '@utoo/pack-darwin-arm64': 1.2.12 + '@utoo/pack-darwin-x64': 1.2.12 + '@utoo/pack-linux-arm64-gnu': 1.2.12 + '@utoo/pack-linux-arm64-musl': 1.2.12 + '@utoo/pack-linux-x64-gnu': 1.2.12 + '@utoo/pack-linux-x64-musl': 1.2.12 + '@utoo/pack-win32-x64-msvc': 1.2.12 transitivePeerDependencies: - bufferutil - supports-color @@ -10158,13 +15009,13 @@ snapshots: '@utoo/style-loader@1.0.1': {} - '@vitejs/plugin-react@4.0.0(vite@4.5.2(@types/node@25.2.0)(less@4.5.1)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0))': + '@vitejs/plugin-react@4.0.0(vite@4.5.2(@types/node@25.3.5)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) react-refresh: 0.14.2 - vite: 4.5.2(@types/node@25.2.0)(less@4.5.1)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0) + vite: 4.5.2(@types/node@25.3.5)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0) transitivePeerDependencies: - supports-color @@ -10255,15 +15106,15 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-phases@1.0.4(acorn@8.15.0): + acorn-import-phases@1.0.4(acorn@8.16.0): dependencies: - acorn: 8.15.0 + acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-jsx@5.3.2(acorn@8.16.0): dependencies: - acorn: 8.15.0 + acorn: 8.16.0 - acorn@8.15.0: {} + acorn@8.16.0: {} add-dom-event-listener@1.1.0: dependencies: @@ -10281,34 +15132,34 @@ snapshots: adler-32@1.3.1: {} - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.18.0 - ajv-keywords@3.5.2(ajv@6.12.6): + ajv-keywords@3.5.2(ajv@6.14.0): dependencies: - ajv: 6.12.6 + ajv: 6.14.0 - ajv-keywords@5.1.0(ajv@8.17.1): + ajv-keywords@5.1.0(ajv@8.18.0): dependencies: - ajv: 8.17.1 + ajv: 8.18.0 fast-deep-equal: 3.1.3 - ajv@6.12.6: + ajv@6.14.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.17.1: + ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-escapes@7.2.0: + ansi-escapes@7.3.0: dependencies: environment: 1.1.0 @@ -10334,7 +15185,7 @@ snapshots: dependencies: dayjs: 1.11.19 - antd-img-crop@4.28.0(antd@5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + antd-img-crop@4.29.0(antd@5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: antd: 5.29.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 @@ -10523,7 +15374,7 @@ snapshots: asn1.js@4.10.1: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 inherits: 2.0.4 minimalistic-assert: 1.0.1 @@ -10547,13 +15398,13 @@ snapshots: atomic-sleep@1.0.0: {} - autoprefixer@10.4.24(postcss@8.5.6): + autoprefixer@10.4.27(postcss@8.5.8): dependencies: browserslist: 4.28.1 - caniuse-lite: 1.0.30001767 + caniuse-lite: 1.0.30001777 fraction.js: 5.3.4 picocolors: 1.1.1 - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -10567,7 +15418,7 @@ snapshots: transitivePeerDependencies: - debug - axios@1.13.4: + axios@1.13.6: dependencies: follow-redirects: 1.15.11 form-data: 4.0.5 @@ -10670,7 +15521,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.9.18: {} + baseline-browser-mapping@2.10.0: {} big-integer@1.6.52: {} @@ -10680,9 +15531,9 @@ snapshots: blob.js@1.0.1: {} - bn.js@4.12.2: {} + bn.js@4.12.3: {} - bn.js@5.2.2: {} + bn.js@5.2.3: {} body-parser@1.20.4: dependencies: @@ -10694,7 +15545,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.14.1 + qs: 6.14.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -10746,13 +15597,13 @@ snapshots: browserify-rsa@4.1.1: dependencies: - bn.js: 5.2.2 + bn.js: 5.2.3 randombytes: 2.1.0 safe-buffer: 5.2.1 browserify-sign@4.2.5: dependencies: - bn.js: 5.2.2 + bn.js: 5.2.3 browserify-rsa: 4.1.1 create-hash: 1.2.0 create-hmac: 1.1.7 @@ -10768,10 +15619,10 @@ snapshots: browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.9.18 - caniuse-lite: 1.0.30001766 - electron-to-chromium: 1.5.279 - node-releases: 2.0.27 + baseline-browser-mapping: 2.10.0 + caniuse-lite: 1.0.30001777 + electron-to-chromium: 1.5.307 + node-releases: 2.0.36 update-browserslist-db: 1.2.3(browserslist@4.28.1) bser@2.1.1: @@ -10842,9 +15693,7 @@ snapshots: camelize@1.0.1: {} - caniuse-lite@1.0.30001766: {} - - caniuse-lite@1.0.30001767: {} + caniuse-lite@1.0.30001777: {} cfb@1.2.2: dependencies: @@ -10906,14 +15755,14 @@ snapshots: dependencies: restore-cursor: 5.1.0 - cli-truncate@5.1.1: + cli-truncate@5.2.0: dependencies: - slice-ansi: 7.1.2 - string-width: 8.1.1 + slice-ansi: 8.0.0 + string-width: 8.2.0 - click-to-react-component@1.1.0(@types/react@19.2.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + click-to-react-component@1.1.0(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@floating-ui/react-dom-interactions': 0.3.1(@types/react@19.2.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react-dom-interactions': 0.3.1(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) htm: 3.1.1 react: 18.3.1 react-merge-refs: 1.1.0 @@ -10935,13 +15784,13 @@ snapshots: codemirror@6.0.2: dependencies: - '@codemirror/autocomplete': 6.20.0 - '@codemirror/commands': 6.10.1 - '@codemirror/language': 6.12.1 - '@codemirror/lint': 6.9.2 + '@codemirror/autocomplete': 6.20.1 + '@codemirror/commands': 6.10.2 + '@codemirror/language': 6.12.2 + '@codemirror/lint': 6.9.5 '@codemirror/search': 6.6.0 '@codemirror/state': 6.5.4 - '@codemirror/view': 6.39.11 + '@codemirror/view': 6.39.16 codepage@1.14.0: dependencies: @@ -10975,7 +15824,7 @@ snapshots: comlink@4.4.2: {} - commander@14.0.2: {} + commander@14.0.3: {} commander@2.14.1: {} @@ -11064,7 +15913,7 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@9.0.0(typescript@5.9.3): + cosmiconfig@9.0.1(typescript@5.9.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 @@ -11077,7 +15926,7 @@ snapshots: create-ecdh@4.0.4: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 elliptic: 6.6.1 create-hash@1.2.0: @@ -11120,39 +15969,39 @@ snapshots: randombytes: 2.1.0 randomfill: 1.0.4 - css-blank-pseudo@3.0.3(postcss@8.5.6): + css-blank-pseudo@3.0.3(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 css-color-keywords@1.0.0: {} - css-functions-list@3.2.3: {} + css-functions-list@3.3.3: {} - css-has-pseudo@3.0.4(postcss@8.5.6): + css-has-pseudo@3.0.4(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 css-line-break@2.1.0: dependencies: utrie: 1.0.2 - css-loader@6.7.1(webpack@5.104.1): + css-loader@6.7.1(webpack@5.105.4): dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) - postcss-modules-scope: 3.2.1(postcss@8.5.6) - postcss-modules-values: 4.0.0(postcss@8.5.6) + icss-utils: 5.1.0(postcss@8.5.8) + postcss: 8.5.8 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.8) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.8) + postcss-modules-scope: 3.2.1(postcss@8.5.8) + postcss-modules-values: 4.0.0(postcss@8.5.8) postcss-value-parser: 4.2.0 - semver: 7.7.3 - webpack: 5.104.1 + semver: 7.7.4 + webpack: 5.105.4 - css-prefers-color-scheme@6.0.3(postcss@8.5.6): + css-prefers-color-scheme@6.0.3(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 css-select@4.3.0: dependencies: @@ -11396,7 +16245,7 @@ snapshots: diffie-hellman@5.0.3: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 miller-rabin: 4.0.1 randombytes: 2.1.0 @@ -11434,39 +16283,39 @@ snapshots: dependencies: domelementtype: 2.3.0 - domparser-darwin-arm64@0.0.5: + domparser-darwin-arm64@0.0.7: optional: true - domparser-darwin-x64@0.0.5: + domparser-darwin-x64@0.0.7: optional: true - domparser-linux-arm64-gnu@0.0.5: + domparser-linux-arm64-gnu@0.0.7: optional: true - domparser-linux-arm64-musl@0.0.5: + domparser-linux-arm64-musl@0.0.7: optional: true - domparser-linux-x64-gnu@0.0.5: + domparser-linux-x64-gnu@0.0.7: optional: true - domparser-linux-x64-musl@0.0.5: + domparser-linux-x64-musl@0.0.7: optional: true - domparser-rs@0.0.5: + domparser-rs@0.0.7: optionalDependencies: - domparser-darwin-arm64: 0.0.5 - domparser-darwin-x64: 0.0.5 - domparser-linux-arm64-gnu: 0.0.5 - domparser-linux-arm64-musl: 0.0.5 - domparser-linux-x64-gnu: 0.0.5 - domparser-linux-x64-musl: 0.0.5 - domparser-win32-arm64-msvc: 0.0.5 - domparser-win32-x64-msvc: 0.0.5 - - domparser-win32-arm64-msvc@0.0.5: + domparser-darwin-arm64: 0.0.7 + domparser-darwin-x64: 0.0.7 + domparser-linux-arm64-gnu: 0.0.7 + domparser-linux-arm64-musl: 0.0.7 + domparser-linux-x64-gnu: 0.0.7 + domparser-linux-x64-musl: 0.0.7 + domparser-win32-arm64-msvc: 0.0.7 + domparser-win32-x64-msvc: 0.0.7 + + domparser-win32-arm64-msvc@0.0.7: optional: true - domparser-win32-x64-msvc@0.0.5: + domparser-win32-x64-msvc@0.0.7: optional: true domutils@2.8.0: @@ -11548,11 +16397,11 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.279: {} + electron-to-chromium@1.5.307: {} elliptic@6.6.1: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 brorand: 1.1.0 hash.js: 1.1.7 hmac-drbg: 1.0.1 @@ -11580,12 +16429,7 @@ snapshots: dependencies: once: 1.4.0 - enhanced-resolve@5.18.4: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.0 - - enhanced-resolve@5.19.0: + enhanced-resolve@5.20.0: dependencies: graceful-fs: 4.2.11 tapable: 2.3.0 @@ -11845,13 +16689,13 @@ snapshots: eslint: 8.35.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 + minimatch: 3.1.5 object.entries: 1.1.9 object.fromentries: 2.0.8 object.hasown: 1.1.4 object.values: 1.2.1 prop-types: 15.8.1 - resolve: 2.0.0-next.5 + resolve: 2.0.0-next.6 semver: 6.3.1 string.prototype.matchall: 4.0.12 @@ -11881,7 +16725,7 @@ snapshots: '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 + ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 @@ -11909,7 +16753,7 @@ snapshots: json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 3.1.5 natural-compare: 1.4.0 optionator: 0.9.4 regexpp: 3.2.0 @@ -11928,8 +16772,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -12027,7 +16871,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.12 proxy-addr: 2.0.7 - qs: 6.14.1 + qs: 6.14.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -12129,11 +16973,11 @@ snapshots: flat-cache@3.2.0: dependencies: - flatted: 3.3.3 + flatted: 3.3.4 keyv: 4.5.4 rimraf: 3.0.2 - flatted@3.3.3: {} + flatted@3.3.4: {} flatten@1.0.3: {} @@ -12150,7 +16994,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.9.3)(webpack@5.104.1): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.9.3)(webpack@5.105.4): dependencies: '@babel/code-frame': 7.29.0 chalk: 4.1.2 @@ -12159,13 +17003,13 @@ snapshots: deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 - minimatch: 3.1.2 + minimatch: 3.1.5 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.7.3 + semver: 7.7.4 tapable: 2.3.0 typescript: 5.9.3 - webpack: 5.104.1 + webpack: 5.105.4 form-data@4.0.5: dependencies: @@ -12219,7 +17063,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} + get-east-asian-width@1.5.0: {} get-intrinsic@1.3.0: dependencies: @@ -12251,7 +17095,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-tsconfig@4.13.1: + get-tsconfig@4.13.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -12275,12 +17119,12 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@10.5.0: + glob@10.4.5: dependencies: foreground-child: 3.3.1 jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 + minimatch: 9.0.9 + minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 @@ -12289,7 +17133,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.1.5 once: 1.4.0 path-is-absolute: 1.0.1 @@ -12451,14 +17295,14 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.5.0(webpack@5.104.1): + html-webpack-plugin@5.5.0(webpack@5.105.4): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.23 pretty-error: 4.0.0 tapable: 2.3.0 - webpack: 5.104.1 + webpack: 5.105.4 html2canvas@1.4.1: dependencies: @@ -12508,9 +17352,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.6): + icss-utils@5.1.0(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 identity-obj-proxy@3.0.0: dependencies: @@ -12525,7 +17369,7 @@ snapshots: immer@8.0.4: {} - immutable@4.3.7: {} + immutable@4.3.8: {} import-fresh@3.3.1: dependencies: @@ -12680,7 +17524,7 @@ snapshots: is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.4.0 + get-east-asian-width: 1.5.0 is-generator-function@1.1.2: dependencies: @@ -12835,7 +17679,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 25.2.0 + '@types/node': 25.3.5 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -12852,7 +17696,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 25.2.0 + '@types/node': 25.3.5 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -12860,20 +17704,20 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 25.2.0 + '@types/node': 25.3.5 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.4.3: dependencies: - '@types/node': 25.2.0 + '@types/node': 25.3.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 25.2.0 + '@types/node': 25.3.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -12941,19 +17785,27 @@ snapshots: kind-of@6.0.3: {} + klona@2.0.6: {} + known-css-properties@0.25.0: {} kolorist@1.8.0: {} - less-loader@12.3.0(less@4.5.1)(webpack@5.104.1): + less-loader@11.1.0(less@4.1.3)(webpack@5.105.4): + dependencies: + klona: 2.0.6 + less: 4.1.3 + webpack: 5.105.4 + + less-loader@12.3.1(less@4.5.1)(webpack@5.105.4): dependencies: less: 4.5.1 optionalDependencies: - webpack: 5.104.1 + webpack: 5.105.4 less-plugin-resolve@1.0.2: dependencies: - enhanced-resolve: 5.18.4 + enhanced-resolve: 5.20.0 less@4.1.3: dependencies: @@ -13031,19 +17883,18 @@ snapshots: lines-and-columns@1.2.4: {} - lint-staged@16.2.7: + lint-staged@16.3.2: dependencies: - commander: 14.0.2 + commander: 14.0.3 listr2: 9.0.5 micromatch: 4.0.8 - nano-spawn: 2.0.0 - pidtree: 0.6.0 string-argv: 0.3.2 + tinyexec: 1.0.2 yaml: 2.8.2 listr2@9.0.5: dependencies: - cli-truncate: 5.1.1 + cli-truncate: 5.2.0 colorette: 2.0.20 eventemitter3: 5.0.4 log-update: 6.1.0 @@ -13084,10 +17935,10 @@ snapshots: log-update@6.1.0: dependencies: - ansi-escapes: 7.2.0 + ansi-escapes: 7.3.0 cli-cursor: 5.0.0 slice-ansi: 7.1.2 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrap-ansi: 9.0.2 loose-envify@1.4.0: @@ -13185,7 +18036,7 @@ snapshots: miller-rabin@4.0.1: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 brorand: 1.1.0 mime-db@1.52.0: {} @@ -13214,11 +18065,11 @@ snapshots: minimalistic-crypto-utils@1.0.1: {} - minimatch@3.1.2: + minimatch@3.1.5: dependencies: brace-expansion: 1.1.12 - minimatch@9.0.5: + minimatch@9.0.9: dependencies: brace-expansion: 2.0.2 @@ -13228,7 +18079,7 @@ snapshots: is-plain-obj: 1.1.0 kind-of: 6.0.3 - minipass@7.1.2: {} + minipass@7.1.3: {} ml-array-max@1.2.4: dependencies: @@ -13253,7 +18104,7 @@ snapshots: mockjs@1.1.0: dependencies: - commander: 14.0.2 + commander: 14.0.3 moment@2.30.1: {} @@ -13263,8 +18114,6 @@ snapshots: ms@2.1.3: {} - nano-spawn@2.0.0: {} - nanoid@3.3.11: {} natural-compare-lite@1.4.0: {} @@ -13274,7 +18123,7 @@ snapshots: needle@3.3.1: dependencies: iconv-lite: 0.6.3 - sax: 1.4.4 + sax: 1.5.0 optional: true negotiator@0.6.3: {} @@ -13294,6 +18143,13 @@ snapshots: node-domexception@1.0.0: {} + node-exports-info@1.6.0: + dependencies: + array.prototype.flatmap: 1.3.3 + es-errors: 1.3.0 + object.entries: 1.1.9 + semver: 6.3.1 + node-fetch-h2@2.3.0: dependencies: http2-client: 1.3.5 @@ -13373,7 +18229,7 @@ snapshots: dependencies: es6-promise: 3.3.1 - node-releases@2.0.27: {} + node-releases@2.0.36: {} normalize-package-data@2.5.0: dependencies: @@ -13386,7 +18242,7 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.1 - semver: 7.7.3 + semver: 7.7.4 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -13632,7 +18488,7 @@ snapshots: path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 - minipass: 7.1.2 + minipass: 7.1.3 path-to-regexp@0.1.12: {} @@ -13665,8 +18521,6 @@ snapshots: picomatch@4.0.3: {} - pidtree@0.6.0: {} - pify@4.0.1: optional: true @@ -13701,237 +18555,237 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-attribute-case-insensitive@5.0.2(postcss@8.5.6): + postcss-attribute-case-insensitive@5.0.2(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 - postcss-clamp@4.1.0(postcss@8.5.6): + postcss-clamp@4.1.0(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@4.2.4(postcss@8.5.6): + postcss-color-functional-notation@4.2.4(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-color-hex-alpha@8.0.4(postcss@8.5.6): + postcss-color-hex-alpha@8.0.4(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-color-rebeccapurple@7.1.1(postcss@8.5.6): + postcss-color-rebeccapurple@7.1.1(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-custom-media@8.0.2(postcss@8.5.6): + postcss-custom-media@8.0.2(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-custom-properties@12.1.11(postcss@8.5.6): + postcss-custom-properties@12.1.11(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-custom-selectors@6.0.3(postcss@8.5.6): + postcss-custom-selectors@6.0.3(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 - postcss-dir-pseudo-class@6.0.5(postcss@8.5.6): + postcss-dir-pseudo-class@6.0.5(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 - postcss-double-position-gradients@3.1.2(postcss@8.5.6): + postcss-double-position-gradients@3.1.2(postcss@8.5.8): dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.8) + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-env-function@4.0.6(postcss@8.5.6): + postcss-env-function@4.0.6(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-flexbugs-fixes@5.0.2(postcss@8.5.6): + postcss-flexbugs-fixes@5.0.2(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-focus-visible@6.0.4(postcss@8.5.6): + postcss-focus-visible@6.0.4(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 - postcss-focus-within@5.0.4(postcss@8.5.6): + postcss-focus-within@5.0.4(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 - postcss-font-variant@5.0.0(postcss@8.5.6): + postcss-font-variant@5.0.0(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-gap-properties@3.0.5(postcss@8.5.6): + postcss-gap-properties@3.0.5(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-image-set-function@4.0.7(postcss@8.5.6): + postcss-image-set-function@4.0.7(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-initial@4.0.1(postcss@8.5.6): + postcss-initial@4.0.1(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-lab-function@4.2.1(postcss@8.5.6): + postcss-lab-function@4.2.1(postcss@8.5.8): dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.8) + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-loader@8.2.0(postcss@8.5.6)(typescript@5.9.3)(webpack@5.104.1): + postcss-loader@8.2.1(postcss@8.5.8)(typescript@5.9.3)(webpack@5.105.4): dependencies: - cosmiconfig: 9.0.0(typescript@5.9.3) + cosmiconfig: 9.0.1(typescript@5.9.3) jiti: 2.6.1 - postcss: 8.5.6 - semver: 7.7.3 + postcss: 8.5.8 + semver: 7.7.4 optionalDependencies: - webpack: 5.104.1 + webpack: 5.105.4 transitivePeerDependencies: - typescript - postcss-logical@5.0.4(postcss@8.5.6): + postcss-logical@5.0.4(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-media-minmax@5.0.0(postcss@8.5.6): + postcss-media-minmax@5.0.0(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.6): + postcss-modules-extract-imports@3.1.0(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-modules-local-by-default@4.2.0(postcss@8.5.6): + postcss-modules-local-by-default@4.2.0(postcss@8.5.8): dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 + icss-utils: 5.1.0(postcss@8.5.8) + postcss: 8.5.8 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.6): + postcss-modules-scope@3.2.1(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.6): + postcss-modules-values@4.0.0(postcss@8.5.8): dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 + icss-utils: 5.1.0(postcss@8.5.8) + postcss: 8.5.8 - postcss-nesting@10.2.0(postcss@8.5.6): + postcss-nesting@10.2.0(postcss@8.5.8): dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 - postcss-opacity-percentage@1.1.3(postcss@8.5.6): + postcss-opacity-percentage@1.1.3(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-overflow-shorthand@3.0.4(postcss@8.5.6): + postcss-overflow-shorthand@3.0.4(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-page-break@3.0.4(postcss@8.5.6): + postcss-page-break@3.0.4(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-place@7.0.5(postcss@8.5.6): + postcss-place@7.0.5(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - postcss-prefix-selector@1.16.0(postcss@8.5.6): + postcss-prefix-selector@1.16.0(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-preset-env@7.5.0(postcss@8.5.6): + postcss-preset-env@7.5.0(postcss@8.5.8): dependencies: - '@csstools/postcss-color-function': 1.1.1(postcss@8.5.6) - '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.5.6) - '@csstools/postcss-hwb-function': 1.0.2(postcss@8.5.6) - '@csstools/postcss-ic-unit': 1.0.1(postcss@8.5.6) - '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.5.6) - '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.5.6) - '@csstools/postcss-oklab-function': 1.1.1(postcss@8.5.6) - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.5.6) - '@csstools/postcss-unset-value': 1.0.2(postcss@8.5.6) - autoprefixer: 10.4.24(postcss@8.5.6) + '@csstools/postcss-color-function': 1.1.1(postcss@8.5.8) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.5.8) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.5.8) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.5.8) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.5.8) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.5.8) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.5.8) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.8) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.5.8) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.5.8) + autoprefixer: 10.4.27(postcss@8.5.8) browserslist: 4.28.1 - css-blank-pseudo: 3.0.3(postcss@8.5.6) - css-has-pseudo: 3.0.4(postcss@8.5.6) - css-prefers-color-scheme: 6.0.3(postcss@8.5.6) + css-blank-pseudo: 3.0.3(postcss@8.5.8) + css-has-pseudo: 3.0.4(postcss@8.5.8) + css-prefers-color-scheme: 6.0.3(postcss@8.5.8) cssdb: 6.6.3 - postcss: 8.5.6 - postcss-attribute-case-insensitive: 5.0.2(postcss@8.5.6) - postcss-clamp: 4.1.0(postcss@8.5.6) - postcss-color-functional-notation: 4.2.4(postcss@8.5.6) - postcss-color-hex-alpha: 8.0.4(postcss@8.5.6) - postcss-color-rebeccapurple: 7.1.1(postcss@8.5.6) - postcss-custom-media: 8.0.2(postcss@8.5.6) - postcss-custom-properties: 12.1.11(postcss@8.5.6) - postcss-custom-selectors: 6.0.3(postcss@8.5.6) - postcss-dir-pseudo-class: 6.0.5(postcss@8.5.6) - postcss-double-position-gradients: 3.1.2(postcss@8.5.6) - postcss-env-function: 4.0.6(postcss@8.5.6) - postcss-focus-visible: 6.0.4(postcss@8.5.6) - postcss-focus-within: 5.0.4(postcss@8.5.6) - postcss-font-variant: 5.0.0(postcss@8.5.6) - postcss-gap-properties: 3.0.5(postcss@8.5.6) - postcss-image-set-function: 4.0.7(postcss@8.5.6) - postcss-initial: 4.0.1(postcss@8.5.6) - postcss-lab-function: 4.2.1(postcss@8.5.6) - postcss-logical: 5.0.4(postcss@8.5.6) - postcss-media-minmax: 5.0.0(postcss@8.5.6) - postcss-nesting: 10.2.0(postcss@8.5.6) - postcss-opacity-percentage: 1.1.3(postcss@8.5.6) - postcss-overflow-shorthand: 3.0.4(postcss@8.5.6) - postcss-page-break: 3.0.4(postcss@8.5.6) - postcss-place: 7.0.5(postcss@8.5.6) - postcss-pseudo-class-any-link: 7.1.6(postcss@8.5.6) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) - postcss-selector-not: 5.0.0(postcss@8.5.6) + postcss: 8.5.8 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.5.8) + postcss-clamp: 4.1.0(postcss@8.5.8) + postcss-color-functional-notation: 4.2.4(postcss@8.5.8) + postcss-color-hex-alpha: 8.0.4(postcss@8.5.8) + postcss-color-rebeccapurple: 7.1.1(postcss@8.5.8) + postcss-custom-media: 8.0.2(postcss@8.5.8) + postcss-custom-properties: 12.1.11(postcss@8.5.8) + postcss-custom-selectors: 6.0.3(postcss@8.5.8) + postcss-dir-pseudo-class: 6.0.5(postcss@8.5.8) + postcss-double-position-gradients: 3.1.2(postcss@8.5.8) + postcss-env-function: 4.0.6(postcss@8.5.8) + postcss-focus-visible: 6.0.4(postcss@8.5.8) + postcss-focus-within: 5.0.4(postcss@8.5.8) + postcss-font-variant: 5.0.0(postcss@8.5.8) + postcss-gap-properties: 3.0.5(postcss@8.5.8) + postcss-image-set-function: 4.0.7(postcss@8.5.8) + postcss-initial: 4.0.1(postcss@8.5.8) + postcss-lab-function: 4.2.1(postcss@8.5.8) + postcss-logical: 5.0.4(postcss@8.5.8) + postcss-media-minmax: 5.0.0(postcss@8.5.8) + postcss-nesting: 10.2.0(postcss@8.5.8) + postcss-opacity-percentage: 1.1.3(postcss@8.5.8) + postcss-overflow-shorthand: 3.0.4(postcss@8.5.8) + postcss-page-break: 3.0.4(postcss@8.5.8) + postcss-place: 7.0.5(postcss@8.5.8) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.5.8) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.8) + postcss-selector-not: 5.0.0(postcss@8.5.8) postcss-value-parser: 4.2.0 - postcss-pseudo-class-any-link@7.1.6(postcss@8.5.6): + postcss-pseudo-class-any-link@7.1.6(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser: 6.1.2 - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6): + postcss-replace-overflow-wrap@4.0.0(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-resolve-nested-selector@0.1.6: {} - postcss-safe-parser@6.0.0(postcss@8.5.6): + postcss-safe-parser@6.0.0(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 - postcss-selector-not@5.0.0(postcss@8.5.6): + postcss-selector-not@5.0.0(postcss@8.5.8): dependencies: balanced-match: 1.0.2 - postcss: 8.5.6 + postcss: 8.5.8 postcss-selector-parser@6.1.2: dependencies: @@ -13943,9 +18797,9 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-syntax@0.36.2(postcss@8.5.6): + postcss-syntax@0.36.2(postcss@8.5.8): dependencies: - postcss: 8.5.6 + postcss: 8.5.8 postcss-value-parser@4.2.0: {} @@ -13955,7 +18809,7 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.6: + postcss@8.5.8: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -14030,7 +18884,7 @@ snapshots: public-encrypt@4.0.3: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 browserify-rsa: 4.1.1 create-hash: 1.2.0 parse-asn1: 5.1.9 @@ -14050,7 +18904,11 @@ snapshots: lodash: 4.17.23 single-spa: 5.9.5 - qs@6.14.1: + qs@6.14.2: + dependencies: + side-channel: 1.1.0 + + qs@6.15.0: dependencies: side-channel: 1.1.0 @@ -14750,14 +19608,14 @@ snapshots: react-fast-compare: 3.2.2 shallowequal: 1.1.0 - react-intl@3.12.1(@types/react@19.2.13)(react@18.3.1): + react-intl@3.12.1(@types/react@19.2.14)(react@18.3.1): dependencies: '@formatjs/intl-displaynames': 1.2.10 '@formatjs/intl-listformat': 1.4.8 '@formatjs/intl-relativetimeformat': 4.5.16 '@formatjs/intl-unified-numberformat': 3.3.7 '@formatjs/intl-utils': 2.3.0 - '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.13) + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.14) '@types/invariant': 2.2.37 hoist-non-react-statics: 3.3.2 intl-format-cache: 4.3.1 @@ -14788,18 +19646,18 @@ snapshots: react-lifecycles-compat: 3.0.4 redux: 3.7.2 - react-redux@8.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1): + react-redux@8.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1): dependencies: '@babel/runtime': 7.28.6 - '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.13) + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.14) '@types/use-sync-external-store': 0.0.3 hoist-non-react-statics: 3.3.2 react: 18.3.1 react-is: 18.3.1 use-sync-external-store: 1.6.0(react@18.3.1) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) react-dom: 18.3.1(react@18.3.1) redux: 4.2.1 @@ -14978,7 +19836,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.6 + postcss: 8.5.8 source-map: 0.6.1 resolve@1.22.11: @@ -14987,9 +19845,12 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.5: + resolve@2.0.0-next.6: dependencies: + es-errors: 1.3.0 is-core-module: 2.16.1 + node-exports-info: 1.6.0 + object-keys: 1.1.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -15008,23 +19869,23 @@ snapshots: rimraf@5.0.1: dependencies: - glob: 10.5.0 + glob: 10.4.5 ripemd160@2.0.3: dependencies: hash-base: 3.1.2 inherits: 2.0.4 - rollup-plugin-visualizer@5.9.0(rollup@3.29.5): + rollup-plugin-visualizer@5.9.0(rollup@3.30.0): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.6 yargs: 17.7.2 optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 - rollup@3.29.5: + rollup@3.30.0: optionalDependencies: fsevents: 2.3.3 @@ -15065,21 +19926,28 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1): + sass-loader@13.2.0(sass@1.54.0)(webpack@5.105.4): + dependencies: + klona: 2.0.6 + neo-async: 2.6.2 + webpack: 5.105.4 + optionalDependencies: + sass: 1.54.0 + + sass-loader@16.0.7(sass@1.54.0)(webpack@5.105.4): dependencies: neo-async: 2.6.2 optionalDependencies: sass: 1.54.0 - webpack: 5.104.1 + webpack: 5.105.4 sass@1.54.0: dependencies: chokidar: 3.6.0 - immutable: 4.3.7 + immutable: 4.3.8 source-map-js: 1.2.1 - sax@1.4.4: - optional: true + sax@1.5.0: {} scheduler@0.23.2: dependencies: @@ -15088,15 +19956,15 @@ snapshots: schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) + ajv: 6.14.0 + ajv-keywords: 3.5.2(ajv@6.14.0) schema-utils@4.3.3: dependencies: '@types/json-schema': 7.0.15 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - ajv-keywords: 5.1.0(ajv@8.17.1) + ajv: 8.18.0 + ajv-formats: 2.1.1(ajv@8.18.0) + ajv-keywords: 5.1.0(ajv@8.18.0) script-loader@0.7.2: dependencies: @@ -15116,7 +19984,7 @@ snapshots: semver@6.3.1: {} - semver@7.7.3: {} + semver@7.7.4: {} send@0.17.1: dependencies: @@ -15154,10 +20022,6 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 - serve-static@1.16.3: dependencies: encodeurl: 2.0.0 @@ -15290,6 +20154,11 @@ snapshots: ansi-styles: 6.2.3 is-fullwidth-code-point: 5.1.0 + slice-ansi@8.0.0: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 + sonic-boom@2.8.0: dependencies: atomic-sleep: 1.0.0 @@ -15313,7 +20182,7 @@ snapshots: detect-newline: 4.0.1 git-hooks-list: 4.2.1 is-plain-obj: 4.1.0 - semver: 7.7.3 + semver: 7.7.4 sort-object-keys: 2.1.0 tinyglobby: 0.2.15 @@ -15333,16 +20202,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.22 + spdx-license-ids: 3.0.23 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.22 + spdx-license-ids: 3.0.23 - spdx-license-ids@3.0.22: {} + spdx-license-ids@3.0.23: {} spdy-transport@3.0.0: dependencies: @@ -15421,18 +20290,18 @@ snapshots: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.4.0 - strip-ansi: 7.1.2 + get-east-asian-width: 1.5.0 + strip-ansi: 7.2.0 - string-width@8.1.1: + string-width@8.2.0: dependencies: - get-east-asian-width: 1.4.0 - strip-ansi: 7.1.2 + get-east-asian-width: 1.5.0 + strip-ansi: 7.2.0 string.prototype.matchall@4.0.12: dependencies: @@ -15489,7 +20358,7 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.2: + strip-ansi@7.2.0: dependencies: ansi-regex: 6.2.2 @@ -15514,14 +20383,14 @@ snapshots: '@types/stylis': 4.2.7 css-to-react-native: 3.2.0 csstype: 3.2.3 - postcss: 8.5.6 + postcss: 8.5.8 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) shallowequal: 1.1.0 stylis: 4.3.6 tslib: 2.8.1 - styled-components@6.3.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + styled-components@6.3.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@emotion/is-prop-valid': 1.4.0 '@emotion/unitless': 0.10.0 @@ -15550,7 +20419,7 @@ snapshots: balanced-match: 2.0.0 colord: 2.9.3 cosmiconfig: 7.1.0 - css-functions-list: 3.2.3 + css-functions-list: 3.3.3 debug: 4.4.3 execall: 2.0.0 fast-glob: 3.3.3 @@ -15572,10 +20441,10 @@ snapshots: normalize-path: 3.0.0 normalize-selector: 0.2.0 picocolors: 1.1.1 - postcss: 8.5.6 + postcss: 8.5.8 postcss-media-query-parser: 0.2.3 postcss-resolve-nested-selector: 0.1.6 - postcss-safe-parser: 6.0.0(postcss@8.5.6) + postcss-safe-parser: 6.0.0(postcss@8.5.8) postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 @@ -15622,14 +20491,14 @@ snapshots: svg-tags@1.0.0: {} - svgo@2.8.0: + svgo@2.8.2: dependencies: - '@trysound/sax': 0.2.0 commander: 7.2.0 css-select: 4.3.0 css-tree: 1.1.3 csso: 4.2.0 picocolors: 1.1.1 + sax: 1.5.0 stable: 0.1.8 swagger-ui-dist@4.19.1: {} @@ -15650,7 +20519,7 @@ snapshots: transitivePeerDependencies: - encoding - swr@2.3.8(react@18.3.1): + swr@2.4.1(react@18.3.1): dependencies: dequal: 2.0.3 react: 18.3.1 @@ -15667,7 +20536,7 @@ snapshots: table@6.9.0: dependencies: - ajv: 8.17.1 + ajv: 8.18.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 @@ -15675,19 +20544,18 @@ snapshots: tapable@2.3.0: {} - terser-webpack-plugin@5.3.16(webpack@5.104.1): + terser-webpack-plugin@5.3.17(webpack@5.105.4): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - serialize-javascript: 6.0.2 terser: 5.46.0 - webpack: 5.104.1 + webpack: 5.105.4 terser@5.46.0: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.15.0 + acorn: 8.16.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -15695,7 +20563,7 @@ snapshots: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 - minimatch: 3.1.2 + minimatch: 3.1.5 text-segmentation@1.0.3: dependencies: @@ -15726,6 +20594,8 @@ snapshots: tinycolor2@1.6.0: {} + tinyexec@1.0.2: {} + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -15832,18 +20702,18 @@ snapshots: typescript@5.9.3: {} - umi@4.6.26(@babel/core@7.29.0)(@types/node@25.2.0)(@types/react@19.2.13)(eslint@8.35.0)(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1): + umi@4.6.31(@babel/core@7.29.0)(@types/node@25.3.5)(@types/react@19.2.14)(eslint@8.35.0)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(stylelint@14.8.2)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4): dependencies: '@babel/runtime': 7.23.6 - '@umijs/bundler-utils': 4.6.26 - '@umijs/bundler-webpack': 4.6.26(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1) - '@umijs/core': 4.6.26 - '@umijs/lint': 4.6.26(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3) - '@umijs/preset-umi': 4.6.26(@types/node@25.2.0)(@types/react@19.2.13)(less-loader@12.3.0(less@4.5.1)(webpack@5.104.1))(less@4.5.1)(lightningcss@1.22.1)(resolve-url-loader@5.0.0)(rollup@3.29.5)(sass-loader@16.0.6(sass@1.54.0)(webpack@5.104.1))(sass@1.54.0)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.104.1) - '@umijs/renderer-react': 4.6.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@umijs/server': 4.6.26 - '@umijs/test': 4.6.26(@babel/core@7.29.0) - '@umijs/utils': 4.6.26 + '@umijs/bundler-utils': 4.6.31 + '@umijs/bundler-webpack': 4.6.31(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4) + '@umijs/core': 4.6.31 + '@umijs/lint': 4.6.31(eslint@8.35.0)(stylelint@14.8.2)(typescript@5.9.3) + '@umijs/preset-umi': 4.6.31(@types/node@25.3.5)(@types/react@19.2.14)(lightningcss@1.22.1)(resolve-url-loader@5.0.0)(rollup@3.30.0)(sass@1.54.0)(terser@5.46.0)(type-fest@0.20.2)(typescript@5.9.3)(webpack@5.105.4) + '@umijs/renderer-react': 4.6.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@umijs/server': 4.6.31 + '@umijs/test': 4.6.31(@babel/core@7.29.0) + '@umijs/utils': 4.6.31 prettier-plugin-organize-imports: 3.2.4(prettier@2.8.8)(typescript@5.9.3) prettier-plugin-packagejson: 2.4.3(prettier@2.8.8) transitivePeerDependencies: @@ -15856,9 +20726,8 @@ snapshots: - '@volar/vue-typescript' - bufferutil - eslint + - fibers - jest - - less - - less-loader - lightningcss - node-sass - postcss-html @@ -15873,7 +20742,6 @@ snapshots: - rollup - sass - sass-embedded - - sass-loader - sockjs-client - stylelint - stylus @@ -15895,7 +20763,7 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undici-types@7.16.0: {} + undici-types@7.18.2: {} unfetch@5.0.0: {} @@ -15918,18 +20786,18 @@ snapshots: url-okam@0.11.1: dependencies: punycode: 1.4.1 - qs: 6.14.1 + qs: 6.15.0 url@0.11.4: dependencies: punycode: 1.4.1 - qs: 6.14.1 + qs: 6.15.0 - use-isomorphic-layout-effect@1.2.1(@types/react@19.2.13)(react@18.3.1): + use-isomorphic-layout-effect@1.2.1(@types/react@19.2.14)(react@18.3.1): dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 use-sync-external-store@1.2.0(react@18.3.1): dependencies: @@ -15974,44 +20842,31 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - valtio@1.11.2(@types/react@19.2.13)(react@18.3.1): + valtio@1.11.2(@types/react@19.2.14)(react@18.3.1): dependencies: proxy-compare: 2.5.1 use-sync-external-store: 1.2.0(react@18.3.1) optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 react: 18.3.1 value-equal@1.0.1: {} vary@1.1.2: {} - vite@4.5.2(@types/node@25.2.0)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0): + vite@4.5.2(@types/node@25.3.5)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0): dependencies: esbuild: 0.18.20 - postcss: 8.5.6 - rollup: 3.29.5 + postcss: 8.5.8 + rollup: 3.30.0 optionalDependencies: - '@types/node': 25.2.0 + '@types/node': 25.3.5 fsevents: 2.3.3 less: 4.1.3 lightningcss: 1.22.1 sass: 1.54.0 terser: 5.46.0 - vite@4.5.2(@types/node@25.2.0)(less@4.5.1)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.46.0): - dependencies: - esbuild: 0.18.20 - postcss: 8.5.6 - rollup: 3.29.5 - optionalDependencies: - '@types/node': 25.2.0 - fsevents: 2.3.3 - less: 4.5.1 - lightningcss: 1.22.1 - sass: 1.54.0 - terser: 5.46.0 - vm-browserify@1.1.2: {} w3c-keyname@2.2.8: {} @@ -16046,9 +20901,9 @@ snapshots: deepmerge: 1.5.2 javascript-stringify: 2.1.0 - webpack-sources@3.3.3: {} + webpack-sources@3.3.4: {} - webpack@5.104.1: + webpack@5.105.4: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -16056,11 +20911,11 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.15.0 - acorn-import-phases: 1.0.4(acorn@8.15.0) + acorn: 8.16.0 + acorn-import-phases: 1.0.4(acorn@8.16.0) browserslist: 4.28.1 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.19.0 + enhanced-resolve: 5.20.0 es-module-lexer: 2.0.0 eslint-scope: 5.1.1 events: 3.3.0 @@ -16072,9 +20927,9 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.3.16(webpack@5.104.1) + terser-webpack-plugin: 5.3.17(webpack@5.105.4) watchpack: 2.5.1 - webpack-sources: 3.3.3 + webpack-sources: 3.3.4 transitivePeerDependencies: - '@swc/core' - esbuild @@ -16142,10 +20997,10 @@ snapshots: word@0.3.0: {} - workerize-loader@2.0.2(webpack@5.104.1): + workerize-loader@2.0.2(webpack@5.105.4): dependencies: loader-utils: 2.0.4 - webpack: 5.104.1 + webpack: 5.105.4 wrap-ansi@7.0.0: dependencies: @@ -16157,13 +21012,13 @@ snapshots: dependencies: ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrappy@1.0.2: {} diff --git a/ui/src/access.ts b/ui/src/access.ts index a5fd089d24..f181cd2f1d 100644 --- a/ui/src/access.ts +++ b/ui/src/access.ts @@ -1,73 +1,151 @@ export default (initialState: any) => { // 在这里按照初始化数据定义项目中的权限,统一管理 // 参考文档 https://umijs.org/docs/max/access - const permissions = initialState?.permissions || [] - const scopes = initialState?.scopes || [] + const permissions = initialState?.permissions || []; + const scopes = initialState?.scopes || []; return { - - canMenuGetDetail: permissions?.includes('sys:menu:detail') && scopes?.includes('read'), - canMenuModify: permissions?.includes('sys:menu:modify') && scopes?.includes('write'), - canMenuRemove: permissions?.includes('sys:menu:remove') && scopes?.includes('write'), - canMenuSave: permissions?.includes('sys:menu:save') && scopes?.includes('write'), - - canDeptGetDetail: permissions?.includes('sys:dept:detail') && scopes?.includes('read'), - canDeptModify: permissions?.includes('sys:dept:modify') && scopes?.includes('write'), - canDeptRemove: permissions?.includes('sys:dept:remove') && scopes?.includes('write'), - canDeptSave: permissions?.includes('sys:dept:save') && scopes?.includes('write'), - - canRoleGetDetail: permissions?.includes('sys:role:detail') && scopes?.includes('read'), - canRoleModify: permissions?.includes('sys:role:modify') && scopes?.includes('write'), - canRoleRemove: permissions?.includes('sys:role:remove') && scopes?.includes('write'), - canRoleSave: permissions?.includes('sys:role:save') && scopes?.includes('write'), - - canUserGetDetail: permissions?.includes('sys:user:detail') && scopes?.includes('read'), - canUserModify: permissions?.includes('sys:user:modify') && scopes?.includes('write'), - canUserRemove: permissions?.includes('sys:user:remove') && scopes?.includes('write'), - canUserSave: permissions?.includes('sys:user:save') && scopes?.includes('write'), - - canOssUpload: permissions?.includes('sys:oss:upload') && scopes?.includes('write'), - canOssGetDetail: permissions?.includes('sys:oss:detail') && scopes?.includes('read'), - canOssModify: permissions?.includes('sys:oss:modify') && scopes?.includes('write'), - canOssRemove: permissions?.includes('sys:oss:remove') && scopes?.includes('write'), - canOssSave: permissions?.includes('sys:oss:save') && scopes?.includes('write'), - - canOssLogExport: permissions?.includes('sys:oss-log:export') && scopes?.includes('write'), - - canDeviceGetDetail: permissions?.includes('iot:device:detail') && scopes?.includes('read'), - canDeviceModify: permissions?.includes('iot:device:modify') && scopes?.includes('write'), - canDeviceRemove: permissions?.includes('iot:device:remove') && scopes?.includes('write'), - canDeviceSave: permissions?.includes('iot:device:save') && scopes?.includes('write'), - - canProductGetDetail: permissions?.includes('iot:product:detail') && scopes?.includes('read'), - canProductModify: permissions?.includes('iot:product:modify') && scopes?.includes('write'), - canProductRemove: permissions?.includes('iot:product:remove') && scopes?.includes('write'), - canProductSave: permissions?.includes('iot:product:save') && scopes?.includes('write'), - - canThingModelGetDetail: permissions?.includes('iot:thing-model:detail') && scopes?.includes('read'), - canThingModelModify: permissions?.includes('iot:thing-model:modify') && scopes?.includes('write'), - canThingModelRemove: permissions?.includes('iot:thing-model:remove') && scopes?.includes('write'), - canThingModelSave: permissions?.includes('iot:thing-model:save') && scopes?.includes('write'), - - canProductCategoryGetDetail: permissions?.includes('iot:product-category:detail') && scopes?.includes('read'), - canProductCategoryModify: permissions?.includes('iot:product-category:modify') && scopes?.includes('write'), - canProductCategoryRemove: permissions?.includes('iot:product-category:remove') && scopes?.includes('write'), - canProductCategorySave: permissions?.includes('iot:product-category:save') && scopes?.includes('write'), - - canOperateLogGetDetail: permissions?.includes('sys:operate-log:detail') && scopes?.includes('read'), - canOperateLogExport: permissions?.includes('sys:operate-log:export') && scopes?.includes('write'), - - canNoticeLogGetDetail: permissions?.includes('sys:notice-log:detail') && scopes?.includes('read'), - canNoticeLogExport: permissions?.includes('sys:notice-log:export') && scopes?.includes('write'), - - canLoginLogExport: permissions?.includes('sys:login-log:export') && scopes?.includes('write'), - + canMenuGetDetail: + permissions?.includes('sys:menu:detail') && + scopes?.includes('read'), + canMenuModify: + permissions?.includes('sys:menu:modify') && + scopes?.includes('write'), + canMenuRemove: + permissions?.includes('sys:menu:remove') && + scopes?.includes('write'), + canMenuSave: + permissions?.includes('sys:menu:save') && scopes?.includes('write'), + + canDeptGetDetail: + permissions?.includes('sys:dept:detail') && + scopes?.includes('read'), + canDeptModify: + permissions?.includes('sys:dept:modify') && + scopes?.includes('write'), + canDeptRemove: + permissions?.includes('sys:dept:remove') && + scopes?.includes('write'), + canDeptSave: + permissions?.includes('sys:dept:save') && scopes?.includes('write'), + + canRoleGetDetail: + permissions?.includes('sys:role:detail') && + scopes?.includes('read'), + canRoleModify: + permissions?.includes('sys:role:modify') && + scopes?.includes('write'), + canRoleRemove: + permissions?.includes('sys:role:remove') && + scopes?.includes('write'), + canRoleSave: + permissions?.includes('sys:role:save') && scopes?.includes('write'), + + canUserGetDetail: + permissions?.includes('sys:user:detail') && + scopes?.includes('read'), + canUserModify: + permissions?.includes('sys:user:modify') && + scopes?.includes('write'), + canUserRemove: + permissions?.includes('sys:user:remove') && + scopes?.includes('write'), + canUserSave: + permissions?.includes('sys:user:save') && scopes?.includes('write'), + + canOssUpload: + permissions?.includes('sys:oss:upload') && + scopes?.includes('write'), + canOssGetDetail: + permissions?.includes('sys:oss:detail') && scopes?.includes('read'), + canOssModify: + permissions?.includes('sys:oss:modify') && + scopes?.includes('write'), + canOssRemove: + permissions?.includes('sys:oss:remove') && + scopes?.includes('write'), + canOssSave: + permissions?.includes('sys:oss:save') && scopes?.includes('write'), + + canOssLogExport: + permissions?.includes('sys:oss-log:export') && + scopes?.includes('write'), + + canDeviceGetDetail: + permissions?.includes('iot:device:detail') && + scopes?.includes('read'), + canDeviceModify: + permissions?.includes('iot:device:modify') && + scopes?.includes('write'), + canDeviceRemove: + permissions?.includes('iot:device:remove') && + scopes?.includes('write'), + canDeviceSave: + permissions?.includes('iot:device:save') && + scopes?.includes('write'), + + canProductGetDetail: + permissions?.includes('iot:product:detail') && + scopes?.includes('read'), + canProductModify: + permissions?.includes('iot:product:modify') && + scopes?.includes('write'), + canProductRemove: + permissions?.includes('iot:product:remove') && + scopes?.includes('write'), + canProductSave: + permissions?.includes('iot:product:save') && + scopes?.includes('write'), + + canThingModelGetDetail: + permissions?.includes('iot:thing-model:detail') && + scopes?.includes('read'), + canThingModelModify: + permissions?.includes('iot:thing-model:modify') && + scopes?.includes('write'), + canThingModelRemove: + permissions?.includes('iot:thing-model:remove') && + scopes?.includes('write'), + canThingModelSave: + permissions?.includes('iot:thing-model:save') && + scopes?.includes('write'), + + canProductCategoryGetDetail: + permissions?.includes('iot:product-category:detail') && + scopes?.includes('read'), + canProductCategoryModify: + permissions?.includes('iot:product-category:modify') && + scopes?.includes('write'), + canProductCategoryRemove: + permissions?.includes('iot:product-category:remove') && + scopes?.includes('write'), + canProductCategorySave: + permissions?.includes('iot:product-category:save') && + scopes?.includes('write'), + + canOperateLogGetDetail: + permissions?.includes('sys:operate-log:detail') && + scopes?.includes('read'), + canOperateLogExport: + permissions?.includes('sys:operate-log:export') && + scopes?.includes('write'), + + canNoticeLogGetDetail: + permissions?.includes('sys:notice-log:detail') && + scopes?.includes('read'), + canNoticeLogExport: + permissions?.includes('sys:notice-log:export') && + scopes?.includes('write'), + + canLoginLogExport: + permissions?.includes('sys:login-log:export') && + scopes?.includes('write'), }; }; export function setToken( access_token: string, refresh_token: string, - expire_time: number + expire_time: number, ): void { localStorage.setItem('access_token', access_token); localStorage.setItem('refresh_token', refresh_token); diff --git a/ui/src/app.tsx b/ui/src/app.tsx index bf38c68942..b9428d8e98 100644 --- a/ui/src/app.tsx +++ b/ui/src/app.tsx @@ -2,68 +2,117 @@ // 全局初始化数据配置,用于 Layout 用户信息和权限初始化 // 更多信息见文档:https://umijs.org/docs/api/runtime-config#getinitialstate -import {Dropdown, message, theme} from "antd"; -import {history, SelectLang} from "@@/exports"; -import {HomeOutlined, LogoutOutlined, RobotOutlined, SettingOutlined} from "@ant-design/icons"; -import {ReactElement, ReactNode, ReactPortal} from "react"; -import {logout, refresh} from '@/services/auth/auth'; -import {clearToken, getAccessToken, getExpireTime, getRefreshToken, setToken} from '@/access'; -import React from "react"; -import {RunTimeLayoutConfig} from "@@/plugin-layout/types"; -import {getUserProfile} from "@/services/admin/user"; -import {listUserTreeMenu} from "@/services/admin/menu"; -import {ProBreadcrumb} from "@ant-design/pro-layout"; +import { + clearToken, + getAccessToken, + getExpireTime, + getRefreshToken, + setToken, +} from '@/access'; +import { listUserTreeMenu } from '@/services/admin/menu'; +import { getUserProfile } from '@/services/admin/user'; +import { logout, refresh } from '@/services/auth/auth'; +import { history, SelectLang } from '@@/exports'; +import { RunTimeLayoutConfig } from '@@/plugin-layout/types'; +import { + HomeOutlined, + LogoutOutlined, + RobotOutlined, + SettingOutlined, +} from '@ant-design/icons'; +import { ProBreadcrumb } from '@ant-design/pro-layout'; +import { Dropdown, message, theme } from 'antd'; +import { ReactElement, ReactNode, ReactPortal } from 'react'; -let refreshTokenFlag = false +let refreshTokenFlag = false; let refreshTimeoutRef: any = null; const getIcon = (icon: string) => { switch (icon) { - case 'SettingOutlined': return - case 'RobotOutlined': return - default: return + case 'SettingOutlined': + return ; + case 'RobotOutlined': + return ; + default: + return ; } -} +}; + +const t = (id: string, values?: Record) => { + // 在非 React 组件/Hook 环境下(如 runtime config)使用 getIntl() + // eslint-disable-next-line @typescript-eslint/no-var-requires + const { getIntl } = require('@@/exports'); + return getIntl().formatMessage({ id }, values); +}; + +const mapMenuTreeI18n = (menus: any[]): any[] => { + if (!Array.isArray(menus) || menus.length === 0) { + return []; + } + return menus.map((item: any) => { + const next: any = { ...item }; + + next.name = t(next.name); + + // icon 兼容:后端可能传 string,也可能已经是 ReactNode + if (typeof next.icon === 'string') { + next.icon = getIcon(next.icon); + } + + // 递归处理子菜单(常见字段:children / routes) + const children = next.children || next.routes; + if (Array.isArray(children) && children.length > 0) { + next.routes = mapMenuTreeI18n(children); + delete next.children; // 统一成 routes,避免 ProLayout 只识别 routes 导致深层不生效 + } + + return next; + }); +}; const getRouters = (menus: any[]) => { - const routers = [{ - name: 'menu.home', - title: 'menu.home', - path: '/home', - icon: - }] + const routers: any[] = [ + { + name: t('menu.home'), + path: '/home', + icon: , + }, + ]; if (menus.length > 0) { - menus.forEach((item: any) => { - item.icon = getIcon(item.icon) - routers.push(item) - }) + routers.push(...mapMenuTreeI18n(menus)); } - return routers -} + return routers; +}; -const refreshToken = async (refreshToken: string | null) => { +const refreshToken = async (refreshToken: string | null) => { if (refreshToken && !refreshTokenFlag) { // console.log('开始刷新令牌') refreshTokenFlag = true; // 刷新令牌 - refresh({refresh_token: refreshToken, grant_type: 'refresh_token'}).then((res) => { - if (res.code === 'OK') { - // console.log('刷新令牌成功') - // 清除令牌 - clearToken() - // 存储令牌 - setToken(res.data?.access_token, res.data?.refresh_token, res.data?.expires_in * 1000 + new Date().getTime()); - // 定时刷新令牌 - // eslint-disable-next-line @typescript-eslint/no-use-before-define - scheduleRefreshToken().catch(console.log) - } - }).finally(() => { - refreshTokenFlag = false - // console.log('刷新令牌结束') - }); + refresh({ refresh_token: refreshToken, grant_type: 'refresh_token' }) + .then((res) => { + if (res.code === 'OK') { + // console.log('刷新令牌成功') + // 清除令牌 + clearToken(); + // 存储令牌 + setToken( + res.data?.access_token, + res.data?.refresh_token, + res.data?.expires_in * 1000 + new Date().getTime(), + ); + // 定时刷新令牌 + // eslint-disable-next-line @typescript-eslint/no-use-before-define + scheduleRefreshToken().catch(console.log); + } + }) + .finally(() => { + refreshTokenFlag = false; + // console.log('刷新令牌结束') + }); } -} +}; const calculateRefreshTime = (expireTime: number) => { const nowTime = Date.now(); @@ -80,7 +129,7 @@ const calculateRefreshTime = (expireTime: number) => { // 如果已经过了刷新时间,立即刷新 return Math.max(0, refreshTime); -} +}; const scheduleRefreshToken = async () => { if (refreshTimeoutRef) { @@ -90,9 +139,9 @@ const scheduleRefreshToken = async () => { const refreshTime = calculateRefreshTime(getExpireTime()); refreshTimeoutRef = setTimeout(async () => { - refreshToken(getRefreshToken()).then() + refreshToken(getRefreshToken()).then(); }, refreshTime); -} +}; scheduleRefreshToken().catch(console.log); @@ -100,8 +149,8 @@ export async function getInitialState(): Promise<{ id: bigint; username: string; avatar: string; - permissions: string[] - scopes: string[] + permissions: string[]; + scopes: string[]; }> { const result = await getUserProfile().catch(console.log); return { @@ -113,30 +162,36 @@ export async function getInitialState(): Promise<{ }; } -export const layout: RunTimeLayoutConfig = ({ initialState }: any) => { +// @ts-ignore +export const layout: RunTimeLayoutConfig = ({ initialState }: any) => { return { // 浏览器 Tab 标题(可国际化) + // eslint-disable-next-line @typescript-eslint/no-use-before-define title: t('app.title'), - // 面包屑配置 headerContentRender: () => , logo: '/logo.png', menu: { locale: false, - params: initialState?.username, + // eslint-disable-next-line @typescript-eslint/no-var-requires + params: `${initialState?.username || ''}__${ + require('@@/exports').getLocale?.() || 'zh-CN' + }`, request: async () => { - const result = await listUserTreeMenu({code: 0}).catch(console.log); - return getRouters(result?.data) - } + const result = await listUserTreeMenu({ code: 0 }).catch( + console.log, + ); + return getRouters(result?.data); + }, }, layout: 'mix', splitMenus: false, fixSiderbar: true, - navTheme: "light", - contentWidth: "Fluid", - colorPrimary: "#1677ff", + navTheme: 'light', + contentWidth: 'Fluid', + colorPrimary: '#1677ff', fixedHeader: true, - siderMenuType: "sub", + siderMenuType: 'sub', actionsRender: () => { // Ant Design Pro 风格的语言切换组件(来自 umi plugin-locale) return []; @@ -145,23 +200,37 @@ export const layout: RunTimeLayoutConfig = ({ initialState }: any) => { src: initialState?.avatar, size: 'small', title: initialState?.username, - render: (_props: any, dom: string | number | boolean | ReactElement | Iterable | ReactPortal | null | undefined) => { + render: ( + _props: any, + dom: + | string + | number + | boolean + | ReactElement + | Iterable + | ReactPortal + | null + | undefined, + ) => { return ( , + icon: , + // eslint-disable-next-line @typescript-eslint/no-use-before-define label: t('user.logout'), onClick: async () => { if (refreshTimeoutRef) { clearTimeout(refreshTimeoutRef); } // @ts-ignore - logout({token: getAccessToken()}).finally(() => { - history.push('/login') - }) + logout({ + token: getAccessToken() ?? undefined, + }).finally(() => { + history.push('/login'); + }); }, }, ], @@ -170,7 +239,7 @@ export const layout: RunTimeLayoutConfig = ({ initialState }: any) => { {dom} ); - } + }, }, token: { // bgLayout: 'rgb(16 18 26)', // layout 的背景颜色 @@ -213,51 +282,56 @@ export const layout: RunTimeLayoutConfig = ({ initialState }: any) => { }; }; -const t = (id: string, values?: Record) => { - // 新写法:在非 React 组件/Hook 环境下(如 request errorHandler)使用 getIntl() - // getIntl 来自 umi plugin-locale(@@/exports 导出) - // eslint-disable-next-line @typescript-eslint/no-var-requires - const {getIntl} = require('@@/exports'); - return getIntl().formatMessage({id}, values); -}; - export const request: { responseInterceptors: ((response: any) => any)[]; requestInterceptors: (((config: any) => any) | ((error: any) => any))[]; timeout: number; - errorConfig: { errorThrower(): void; errorHandler(error: any): void } + errorConfig: { errorThrower(): void; errorHandler(error: any): void }; } = { timeout: 60000, // other axios options you want - errorConfig: { + errorConfig: { errorHandler(error: any) { - const {request, response, code} = error; + const { request, response, code } = error; let errorMessage; - if (response && response.data && response.data.error_description !== undefined) { - errorMessage = response.data.error_description + if ( + response && + response.data && + response.data.error_description !== undefined + ) { + errorMessage = response.data.error_description; } if (response && response.status === 500) { - errorMessage = t('error.serverInternal') + errorMessage = t('error.serverInternal'); } if (code === 'ERR_BAD_RESPONSE') { - errorMessage = t('error.network') + errorMessage = t('error.network'); } - if (response && response.status === 400 && response.data.error === "invalid_grant") { - errorMessage = t('error.refreshTokenFailed') + if ( + response && + response.status === 400 && + response.data.error === 'invalid_grant' + ) { + errorMessage = t('error.refreshTokenFailed'); } if (response && response.status === 404) { - errorMessage = t('error.resourceNotFound', {url: request?.responseURL}) + errorMessage = t('error.resourceNotFound', { + url: request?.responseURL, + }); } - if (response && response.status === 401 && response.data.error === "invalid_client") { - errorMessage = t('error.invalidClient') + if ( + response && + response.status === 401 && + response.data.error === 'invalid_client' + ) { + errorMessage = t('error.invalidClient'); } message.error(errorMessage).then(); }, - errorThrower() { - }, + errorThrower() {}, }, // 请求拦截 - requestInterceptors: [ + requestInterceptors: [ async (config: any) => { const headers = config.headers ? config.headers : []; // 国际化:携带语言到后端(优先使用 umi plugin-locale 的 current locale) @@ -267,9 +341,9 @@ export const request: { // 若后端使用自定义 header,也可以同时带上(按需保留/改名) headers['Language'] = locale; } - const accessToken = getAccessToken() + const accessToken = getAccessToken(); if (!headers['Skip-Token'] && accessToken) { - headers['Authorization'] = `Bearer ${accessToken}` + headers['Authorization'] = `Bearer ${accessToken}`; } return config; }, @@ -280,20 +354,28 @@ export const request: { // 响应拦截 responseInterceptors: [ async (response: any) => { - const {status, data} = response; - if (response.request?.responseType === 'blob' || response.request?.responseType === 'arraybuffer') { - if(response.data.type === 'application/json') { - const res = await new Response(response.data).json() + const { status, data } = response; + if ( + response.request?.responseType === 'blob' || + response.request?.responseType === 'arraybuffer' + ) { + if (response.data.type === 'application/json') { + const res = await new Response(response.data).json(); message.error(res.msg).then(); } } if (status === 200 && data.code === undefined) { - response.data = {code: 'OK', msg: '请求成功', data: data}; + response.data = { + code: 'OK', + // 统一国际化 + msg: t('common.requestSuccess'), + data: data, + }; } else if (status === 200 && data.code !== 'OK') { - if (data.code === "Unauthorized") { + if (data.code === 'Unauthorized') { history.push('/login'); } else { - message.error(data.msg).then() + message.error(data.msg).then(); } } return response; @@ -301,11 +383,15 @@ export const request: { ], }; -export const antd: (memo: { theme: { algorithm?: any }; appConfig: { message: { maxCount: number } } }) => { +export const antd: (memo: { + theme: { algorithm?: any }; + appConfig: { message: { maxCount: number } }; +}) => { theme: { algorithm?: any }; - appConfig: { message: { maxCount: number } } + appConfig: { message: { maxCount: number } }; } = (memo: { - theme: { algorithm?: any; }; appConfig: { + theme: { algorithm?: any }; + appConfig: { message: { // 配置 message 最大显示数,超过限制时,最早的消息会被自动关闭 maxCount: number; @@ -319,8 +405,8 @@ export const antd: (memo: { theme: { algorithm?: any }; appConfig: { message: { message: { // 配置 message 最大显示数,超过限制时,最早的消息会被自动关闭 maxCount: 3, - } - } + }, + }; return memo; }; diff --git a/ui/src/global.less b/ui/src/global.less index 67389b3e66..0cfa19b7c5 100644 --- a/ui/src/global.less +++ b/ui/src/global.less @@ -21,90 +21,104 @@ @keyframes load4 { 0%, 100% { - box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0, 3em 0 0 -1em, 2em 2em 0 -1em, - 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; + box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0, 3em 0 0 -1em, + 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, + -2em -2em 0 0; } 12.5% { box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, - 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; + 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; } 25% { - box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, - 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; + box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, + 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, + -2em -2em 0 -1em; } 37.5% { - box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 0, 2em 2em 0 0.2em, - 0 3em 0 0, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; + box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 0, + 2em 2em 0 0.2em, 0 3em 0 0, -2em 2em 0 -1em, -3em 0 0 -1em, + -2em -2em 0 -1em; } 50% { - box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0, - 0 3em 0 0.2em, -2em 2em 0 0, -3em 0 0 -1em, -2em -2em 0 -1em; + box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, + 2em 2em 0 0, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0 0 -1em, + -2em -2em 0 -1em; } 62.5% { - box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, - 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em; + box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, + 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, + -2em -2em 0 -1em; } 75% { - box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, - 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0.2em, -2em -2em 0 0; + box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, + 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0.2em, + -2em -2em 0 0; } 87.5% { - box-shadow: 0 -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, - 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0, -2em -2em 0 0.2em; + box-shadow: 0 -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, + 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0, + -2em -2em 0 0.2em; } } @keyframes load4 { 0%, 100% { - box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0, 3em 0 0 -1em, 2em 2em 0 -1em, - 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; + box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0, 3em 0 0 -1em, + 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, + -2em -2em 0 0; } 12.5% { box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, - 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; + 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; } 25% { - box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, - 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; + box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, + 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, + -2em -2em 0 -1em; } 37.5% { - box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 0, 2em 2em 0 0.2em, - 0 3em 0 0, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; + box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 0, + 2em 2em 0 0.2em, 0 3em 0 0, -2em 2em 0 -1em, -3em 0 0 -1em, + -2em -2em 0 -1em; } 50% { - box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0, - 0 3em 0 0.2em, -2em 2em 0 0, -3em 0 0 -1em, -2em -2em 0 -1em; + box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, + 2em 2em 0 0, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0 0 -1em, + -2em -2em 0 -1em; } 62.5% { - box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, - 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em; + box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, + 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, + -2em -2em 0 -1em; } 75% { - box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, - 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0.2em, -2em -2em 0 0; + box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, + 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0.2em, + -2em -2em 0 0; } 87.5% { - box-shadow: 0 -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, - 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0, -2em -2em 0 0.2em; + box-shadow: 0 -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, + 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0, + -2em -2em 0 0.2em; } } } .ant-tooltip-inner { - background-color: #ffffff !important; /* Tooltip 背景色 */ - color: #000000 !important; /* Tooltip 文字颜色 */ + background-color: #fff !important; /* Tooltip 背景色 */ + color: #000 !important; /* Tooltip 文字颜色 */ } diff --git a/ui/src/loading.tsx b/ui/src/loading.tsx index 2c17088825..e38ba88add 100644 --- a/ui/src/loading.tsx +++ b/ui/src/loading.tsx @@ -1,7 +1,13 @@ +import { getIntl } from '@@/exports'; + +const t = (id: string, values?: Record) => { + return getIntl().formatMessage({ id }, values); +}; + export default () => { - return ( -
-
正在加载中...
-
- ); + return ( +
+
{t('common.loading')}
+
+ ); }; diff --git a/ui/src/locales/en-US.ts b/ui/src/locales/en-US.ts index 535a230c19..aa12bead83 100644 --- a/ui/src/locales/en-US.ts +++ b/ui/src/locales/en-US.ts @@ -5,16 +5,99 @@ export default { // common 'common.ok': 'OK', 'common.cancel': 'Cancel', - 'common.search': 'Search', + 'common.query': 'Query', 'common.reset': 'Reset', - 'common.add': 'Add', - 'common.edit': 'Edit', + 'common.insert': 'Insert', + 'common.modify': 'Modify', 'common.delete': 'Delete', 'common.submit': 'Submit', 'common.close': 'Close', + 'common.view': 'View', + 'common.assignPermission': 'Assign Permissions', + 'common.resetPwd': 'Reset Pwd', + 'common.number': 'Number', + 'common.root': 'Root', + 'common.no': 'No', + 'common.yes': 'Yes', + 'common.enable': 'Enable', + 'common.disable': 'Disable', + 'common.operation': 'Operation', + 'common.createTime': 'Created Time', + 'common.selectStartTime': 'Please select start time', + 'common.selectEndTime': 'Please select end time', + 'common.requestSuccess': 'Request succeeded', + 'common.loading': 'Loading...', // auth/user 'user.logout': 'Logout', + 'user.tooltipDefaultPwd': 'Users (default pwd: laokou123)', + 'user.insert': 'Insert User', + 'user.view': 'View User', + 'user.modify': 'Modify User', + 'user.assignAuthority': 'Assign Permissions', + 'user.username': 'Username', + 'user.mail': 'Email', + 'user.mobile': 'Mobile', + 'user.superAdmin': 'Super Admin', + 'user.status': 'Status', + 'user.tooltipFuzzyQueryFourChars': 'Only supports fuzzy query with 4 characters', + 'user.tooltipFuzzyQueryThreeOrFourChars': 'Only supports fuzzy query with 3 or 4 characters', + 'user.placeholder.username': 'Please enter username', + 'user.placeholder.mail': 'Please enter email', + 'user.placeholder.mobile': 'Please enter mobile', + 'user.placeholder.superAdmin': 'Please select super admin', + 'user.placeholder.status': 'Please select status', + 'user.avatarFileName': 'Avatar.png', + 'user.tooltip.username': 'Username (must be unique, cannot be modified)', + 'user.tooltip.mail': 'Email login (must be unique)', + 'user.tooltip.mobile': 'Mobile login (must be unique)', + 'user.dept': 'Dept', + 'user.roles': 'Roles', + 'user.avatar': 'Avatar', + 'user.avatar.upload': 'Upload Avatar', + 'user.placeholder.dept': 'Please select dept', + 'user.placeholder.roles': 'Please select roles', + 'user.required.username': 'Please enter username', + 'user.required.dept': 'Please select dept', + 'user.required.status': 'Please select status', + 'user.required.roles': 'Please select roles', + 'user.resetPwd.title': 'Reset Password', + 'user.resetPwd.password': 'Password', + 'user.resetPwd.confirmPassword': 'Confirm Password', + 'user.resetPwd.defaultPwdTooltip': 'Default password: laokou123', + 'user.resetPwd.placeholder.password': 'Please enter password', + 'user.resetPwd.placeholder.confirmPassword': 'Please enter confirm password', + 'user.resetPwd.required.password': 'Please enter password', + 'user.resetPwd.required.confirmPassword': 'Please enter confirm password', + 'user.resetPwd.passwordNotMatch': 'Passwords do not match', + 'user.resetPwd.success': 'Password reset successfully', + + // auth/role + 'role.name': 'Name', + 'role.sort': 'Sort', + 'role.dataScope': 'Data Scope', + 'role.menuAuthority': 'Menu Permissions', + 'role.deptAuthority': 'Dept Permissions', + 'role.insert': 'Insert Role', + 'role.view': 'View Role', + 'role.modify': 'Modify Role', + 'role.assignAuthority': 'Assign Permissions', + 'role.placeholder.name': 'Please enter role name', + 'role.placeholder.sort': 'Please enter role sort', + 'role.placeholder.dataScope': 'Please select data scope', + 'role.placeholder.menuAuthority': 'Please select menu permissions', + 'role.placeholder.deptAuthority': 'Please select dept permissions', + 'role.dataScope.all': 'All', + 'role.dataScope.custom': 'Custom', + 'role.dataScope.selfDept': 'Self Dept', + 'role.dataScope.belowDept': 'Dept and Below', + 'role.dataScope.self': 'Self', + 'role.validate.nameRequired': 'Please enter role name', + 'role.validate.sortRequired': 'Please enter role sort', + 'role.validate.dataScopeRequired': 'Please select data scope', + 'role.validate.menuAuthorityRequired': 'Please select menu permissions', + 'role.validate.deptAuthorityRequired': 'Please select dept permissions', + 'role.validate.createTimeRequired': 'Please enter created time', // error 'error.serverInternal': 'Internal server error. Unable to complete the request.', @@ -23,6 +106,250 @@ export default { 'error.resourceNotFound': 'Resource not found: {url}', 'error.invalidClient': 'Invalid client. Please check the auth server configuration.', + // confirm & toast + 'confirm.deleteTitle': 'Confirm deletion?', + 'confirm.deleteContent': 'Are you sure you want to delete?', + 'toast.saveSuccess': 'Saved successfully', + 'toast.modifySuccess': 'Modified successfully', + 'toast.assignSuccess': 'Assigned successfully', + 'toast.deleteSuccess': 'Deleted successfully', + 'toast.selectAtLeastOne': 'Please select at least one item', + + // sys/log/common + 'sys.log.common.success': 'Success', + 'sys.log.common.fail': 'Fail', + 'sys.log.common.export': 'Export', + 'sys.log.common.exportAll': 'Export All', + + // home + 'home.productCount': 'Product Count', + 'home.deviceCount': 'Device Count', + 'home.online': 'Online', + 'home.offline': 'Offline', + 'home.todayDeviceMessageCount': "Today's device message count", + 'home.monthDeviceMessageCount': 'Monthly device message count', + 'home.todayDeviceAlarmCount': "Today's device alarm count", + 'home.monthDeviceAlarmCount': 'Monthly device alarm count', + 'home.deviceMessage': 'Device Messages', + 'home.deviceDistribution': 'Device Distribution', + 'home.deviceMessageCount': 'Device message count', + + // iot/productCategory + 'iot.productCategory.pid': 'Parent Category', + 'iot.productCategory.name': 'Category Name', + 'iot.productCategory.sort': 'Category Sort', + 'iot.productCategory.remark': 'Category Remark', + 'iot.productCategory.insert': 'Insert Category', + 'iot.productCategory.view': 'View Category', + 'iot.productCategory.modify': 'Modify Category', + 'iot.productCategory.placeholder.pid': 'Please select parent category', + 'iot.productCategory.placeholder.sort': 'Please enter category sort', + 'iot.productCategory.required.pid': 'Please select parent category', + 'iot.productCategory.required.name': 'Please enter category name', + 'iot.productCategory.required.sort': 'Please enter category sort', + + // iot/thingModel + 'iot.thingModel.insert': 'Insert Thing Model', + 'iot.thingModel.view': 'View Thing Model', + 'iot.thingModel.modify': 'Modify Thing Model', + 'iot.thingModel.code': 'Code', + 'iot.thingModel.name': 'Name', + 'iot.thingModel.sort': 'Sort', + 'iot.thingModel.remark': 'Remark', + 'iot.thingModel.category': 'Category', + 'iot.thingModel.type': 'Type', + 'iot.thingModel.dataType': 'Data Type', + 'iot.thingModel.specs': 'Specs', + 'iot.thingModel.length': 'Length', + 'iot.thingModel.unit': 'Unit', + 'iot.thingModel.integerLength': 'Integer Length', + 'iot.thingModel.decimalLength': 'Decimal Length', + 'iot.thingModel.trueText': 'Text for 1', + 'iot.thingModel.falseText': 'Text for 0', + 'iot.thingModel.placeholder.code': 'Please enter code', + 'iot.thingModel.placeholder.name': 'Please enter name', + 'iot.thingModel.placeholder.sort': 'Please enter sort', + 'iot.thingModel.placeholder.category': 'Please select category', + 'iot.thingModel.placeholder.type': 'Please select type', + 'iot.thingModel.placeholder.dataType': 'Please select data type', + 'iot.thingModel.required.code': 'Please enter code', + 'iot.thingModel.required.name': 'Please enter name', + 'iot.thingModel.required.sort': 'Please enter sort', + 'iot.thingModel.required.category': 'Please select category', + 'iot.thingModel.required.type': 'Please select type', + 'iot.thingModel.required.dataType': 'Please select data type', + 'iot.thingModel.required.length': 'Please enter length', + 'iot.thingModel.required.trueText': 'Please enter text for 1', + 'iot.thingModel.required.falseText': 'Please enter text for 0', + 'iot.thingModel.required.integerLength': 'Please enter integer length', + 'iot.thingModel.required.decimalLength': 'Please enter decimal length', + 'iot.thingModel.validate.length1To2000': 'Length must be an integer between 1 and 2000', + 'iot.thingModel.validate.intLength': 'Length must be 8/16/32/64', + 'iot.thingModel.validate.integerLength': 'Integer length must be an integer between 1 and 64', + 'iot.thingModel.validate.decimalLength': 'Decimal length must be an integer between 1 and 4', + 'iot.thingModel.category.property': 'Property', + 'iot.thingModel.category.event': 'Event', + 'iot.thingModel.type.read': 'Read', + 'iot.thingModel.type.write': 'Write', + 'iot.thingModel.type.report': 'Report', + 'iot.thingModel.dataType.integer': 'Integer', + 'iot.thingModel.dataType.decimal': 'Decimal', + 'iot.thingModel.dataType.boolean': 'Boolean', + 'iot.thingModel.dataType.string': 'String', + 'iot.thingModel.specs.length': 'Length', + 'iot.thingModel.specs.integerLength': 'Integer Length', + 'iot.thingModel.specs.decimalLength': 'Decimal Length', + 'iot.thingModel.specs.unit': 'Unit', + + // iot/device + 'iot.device.send': 'Send', + 'iot.device.ws.connected': 'WebSocket connected', + 'iot.device.ws.error': 'WebSocket error', + + // sys/menu + 'sys.menu.pid': 'Parent Menu', + 'sys.menu.name': 'Name', + 'sys.menu.path': 'Path', + 'sys.menu.permission': 'Permission', + 'sys.menu.type': 'Type', + 'sys.menu.status': 'Status', + 'sys.menu.sort': 'Sort', + 'sys.menu.icon': 'Icon', + 'sys.menu.insert': 'Insert Menu', + 'sys.menu.view': 'View Menu', + 'sys.menu.modify': 'Modify Menu', + 'sys.menu.placeholder.pid': 'Please select parent menu', + 'sys.menu.placeholder.name': 'Please enter menu name', + 'sys.menu.placeholder.path': 'Please enter menu path', + 'sys.menu.placeholder.permission': 'Please enter permission', + 'sys.menu.placeholder.type': 'Please select menu type', + 'sys.menu.placeholder.status': 'Please select status', + 'sys.menu.placeholder.sort': 'Please enter sort', + 'sys.menu.placeholder.icon': 'Please enter icon', + 'sys.menu.required.pid': 'Please select parent menu', + 'sys.menu.required.name': 'Please enter menu name', + 'sys.menu.required.path': 'Please enter menu path', + 'sys.menu.required.permission': 'Please enter permission', + 'sys.menu.required.type': 'Please select menu type', + 'sys.menu.required.status': 'Please select status', + 'sys.menu.required.sort': 'Please enter sort', + 'sys.menu.type.menu': 'Menu', + 'sys.menu.type.button': 'Button', + 'sys.menu.tooltip.path': 'Only for menus (must be unique)', + 'sys.menu.tooltip.permission': 'Only for buttons (must be unique)', + 'sys.menu.tooltip.icon': 'Only directory menus support icons', + + // sys/dept + 'sys.dept.pid': 'Parent Dept', + 'sys.dept.name': 'Name', + 'sys.dept.sort': 'Sort', + 'sys.dept.insert': 'Insert Dept', + 'sys.dept.view': 'View Dept', + 'sys.dept.modify': 'Modify Dept', + 'sys.dept.placeholder.pid': 'Please select parent dept', + 'sys.dept.placeholder.name': 'Please enter dept name', + 'sys.dept.placeholder.sort': 'Please enter sort', + 'sys.dept.required.pid': 'Please select parent dept', + 'sys.dept.required.name': 'Please enter dept name', + 'sys.dept.required.sort': 'Please enter dept sort', + + // sys/oss/config + 'sys.oss.config.name': 'Name', + 'sys.oss.config.type': 'Type', + 'sys.oss.config.status': 'Status', + 'sys.oss.config.placeholder.name': 'Please enter OSS name', + 'sys.oss.config.placeholder.type': 'Please select OSS type', + 'sys.oss.config.placeholder.status': 'Please select OSS status', + 'sys.oss.config.type.amazonS3': 'Amazon S3', + 'sys.oss.config.type.local': 'Local', + + // sys/log/operate + 'sys.log.operate.drawer.title': 'View Operate Log', + 'sys.log.operate.moduleName': 'Module Name', + 'sys.log.operate.name': 'Name', + 'sys.log.operate.requestType': 'Request Type', + 'sys.log.operate.operator': 'Operator', + 'sys.log.operate.ip': 'IP', + 'sys.log.operate.address': 'IP Location', + 'sys.log.operate.status': 'Status', + 'sys.log.operate.errorMessage': 'Error Message', + 'sys.log.operate.costTime': 'Cost Time (ms)', + 'sys.log.operate.placeholder.moduleName': 'Please enter module name', + 'sys.log.operate.placeholder.name': 'Please enter Operate name', + 'sys.log.operate.placeholder.requestType': 'Please enter request type', + 'sys.log.operate.placeholder.operator': 'Please enter operator', + 'sys.log.operate.placeholder.ip': 'Please enter IP', + 'sys.log.operate.placeholder.status': 'Please select status', + 'sys.log.operate.placeholder.errorMessage': 'Please enter error message', + 'sys.log.operate.exportFilePrefix': 'OperateLog_Export_', + 'sys.log.operate.required.name': 'Please enter operate name', + 'sys.log.operate.required.moduleName': 'Please enter module name', + 'sys.log.operate.required.operator': 'Please enter operator', + 'sys.log.operate.required.uri': 'Please enter URI', + 'sys.log.operate.required.requestType': 'Please enter request type', + 'sys.log.operate.required.requestParams': 'Please enter request params', + 'sys.log.operate.required.methodName': 'Please enter method name', + 'sys.log.operate.required.userAgent': 'Please enter browser', + 'sys.log.operate.required.ip': 'Please enter IP', + 'sys.log.operate.required.address': 'Please enter address', + 'sys.log.operate.required.status': 'Please enter status', + 'sys.log.operate.required.profile': 'Please enter profile', + 'sys.log.operate.required.serviceId': 'Please enter service ID', + 'sys.log.operate.required.serviceAddress': 'Please enter service address', + 'sys.log.operate.required.errorMessage': 'Please enter error message', + 'sys.log.operate.required.stackTrace': 'Please enter stack trace', + 'sys.log.operate.required.createTime': 'Please enter created time', + + // sys/log/notice + 'sys.log.notice.drawer.title': 'View Notice Log', + 'sys.log.notice.code': 'Code', + 'sys.log.notice.name': 'Name', + 'sys.log.notice.status': 'Status', + 'sys.log.notice.param': 'Params', + 'sys.log.notice.errorMessage': 'Error Message', + 'sys.log.notice.placeholder.code': 'Please enter notice code', + 'sys.log.notice.placeholder.name': 'Please enter notice name', + 'sys.log.notice.placeholder.status': 'Please select notice status', + 'sys.log.notice.placeholder.errorMessage': 'Please enter error message', + 'sys.log.notice.exportFilePrefix': 'NoticeLog_Export_', + 'sys.log.notice.required.code': 'Please enter notice code', + 'sys.log.notice.required.name': 'Please enter notice name', + 'sys.log.notice.required.status': 'Please enter notice status', + 'sys.log.notice.required.param': 'Please enter notice params', + 'sys.log.notice.required.errorMessage': 'Please enter error message', + 'sys.log.notice.required.createTime': 'Please enter created time', + + // sys/log/login + 'sys.log.login.ip': 'IP', + 'sys.log.login.address': 'Location', + 'sys.log.login.browser': 'Browser', + 'sys.log.login.os': 'OS', + 'sys.log.login.status': 'Status', + 'sys.log.login.errorMessage': 'Error Message', + 'sys.log.login.type': 'Type', + 'sys.log.login.loginTime': 'Time', + 'sys.log.login.placeholder.ip': 'Please enter IP', + 'sys.log.login.placeholder.address': 'Please enter location', + 'sys.log.login.placeholder.browser': 'Please enter browser', + 'sys.log.login.placeholder.os': 'Please enter OS', + 'sys.log.login.placeholder.status': 'Please select login status', + 'sys.log.login.placeholder.type': 'Please select login type', + 'sys.log.login.placeholder.errorMessage': 'Please enter error message', + 'sys.log.login.status.success': 'Login success', + 'sys.log.login.status.fail': 'Login fail', + 'sys.log.login.type.authorizationCode': 'Authorization Code', + 'sys.log.login.exportFilePrefix': 'LoginLog_Export_', + + // sys/oss/log + 'sys.oss.log.name': 'File Name', + 'sys.oss.log.size': 'File Size (bytes)', + 'sys.oss.log.contentType': 'Content Type', + 'sys.oss.log.type': 'Type', + 'sys.oss.log.format': 'Format', + 'sys.oss.log.type.image': 'Image', + 'sys.oss.log.type.video': 'Video', + 'sys.oss.log.type.audio': 'Audio', + // login 'login.subtitle': 'Enterprise level multi tenant IoT cloud platform', 'login.usernamePassword': 'User pwd login', @@ -52,6 +379,13 @@ export default { 'login.mailCaptcha.invalid': 'Please enter 6 digits captcha', 'login.captcha.get': 'Get captcha', 'login.captcha.countdown': '{count} Get captcha', + 'login.captcha.alt': 'Captcha', + 'login.greeting.morning': 'Good morning', + 'login.greeting.forenoon': 'Good morning', + 'login.greeting.noon': 'Good noon', + 'login.greeting.afternoon': 'Good afternoon', + 'login.greeting.evening': 'Good evening', + 'login.welcomeBack': '{greeting}, welcome back', // menu (routes) 'menu.home': 'Home', @@ -59,13 +393,13 @@ export default { 'menu.sys': 'System', 'menu.sys.permission': 'Permission', 'menu.sys.permission.menu': 'Menus', - 'menu.sys.permission.dept': 'Departments', + 'menu.sys.permission.dept': 'Depts', 'menu.sys.permission.role': 'Roles', 'menu.sys.permission.user': 'Users', 'menu.sys.log': 'Logs', 'menu.sys.log.login': 'Login Logs', 'menu.sys.log.notice': 'Notice Logs', - 'menu.sys.log.operate': 'Operation Logs', + 'menu.sys.log.operate': 'Operate Logs', 'menu.sys.oss': 'Object Storage', 'menu.sys.oss.config': 'OSS Config', 'menu.sys.oss.log': 'OSS Logs', @@ -75,4 +409,14 @@ export default { 'menu.iot.device': 'Devices', 'menu.iot.device.thingModel': 'Thing Model', 'menu.iot.device.productCategory': 'Product Category', + 'menu.iot.device.product': 'Products', + 'menu.iot.device.device': 'Devices', + 'menu.sys.tenant': 'Tenants', + 'menu.sys.tenant.package': 'Packages', + 'menu.sys.tenant.tenant': 'Tenants', + 'menu.sys.tenant.source': 'Sources', + 'menu.sys.base': 'Basic Data', + 'menu.sys.base.dict': 'Dicts', + 'menu.sys.base.i18n': 'I18n', + 'menu.sys.cluster': 'Clusters', }; diff --git a/ui/src/locales/zh-CN.ts b/ui/src/locales/zh-CN.ts index 0b56bd5d39..f335806f99 100644 --- a/ui/src/locales/zh-CN.ts +++ b/ui/src/locales/zh-CN.ts @@ -5,16 +5,99 @@ export default { // common 'common.ok': '确定', 'common.cancel': '取消', - 'common.search': '查询', + 'common.query': '查询', 'common.reset': '重置', - 'common.add': '新增', - 'common.edit': '编辑', + 'common.insert': '新增', + 'common.modify': '修改', 'common.delete': '删除', 'common.submit': '提交', 'common.close': '关闭', + 'common.view': '查看', + 'common.assignPermission': '分配权限', + 'common.resetPwd': '重置密码', + 'common.number': '序号', + 'common.root': '根目录', + 'common.no': '否', + 'common.yes': '是', + 'common.enable': '启用', + 'common.disable': '禁用', + 'common.operation': '操作', + 'common.createTime': '创建时间', + 'common.selectStartTime': '请选择开始时间', + 'common.selectEndTime': '请选择结束时间', + 'common.requestSuccess': '请求成功', + 'common.loading': '正在加载中...', // auth/user 'user.logout': '注销', + 'user.tooltipDefaultPwd': '用户【默认密码:laokou123】', + 'user.insert': '新增用户', + 'user.view': '查看用户', + 'user.modify': '修改用户', + 'user.assignAuthority': '分配权限', + 'user.username': '用户名', + 'user.mail': '用户邮箱', + 'user.mobile': '用户手机号', + 'user.superAdmin': '超级管理员', + 'user.status': '用户状态', + 'user.tooltipFuzzyQueryFourChars': '仅支持四个字符的模糊查询', + 'user.tooltipFuzzyQueryThreeOrFourChars': '仅支持三个或四个字符的模糊查询', + 'user.placeholder.username': '请输入用户名', + 'user.placeholder.mail': '请输入用户邮箱', + 'user.placeholder.mobile': '请输入用户手机号', + 'user.placeholder.superAdmin': '请选择超级管理员', + 'user.placeholder.status': '请选择用户状态', + 'user.avatarFileName': '用户头像.png', + 'user.tooltip.username': '用户名【不允许重复,不允许修改】', + 'user.tooltip.mail': '邮箱登录【不允许重复】', + 'user.tooltip.mobile': '手机号登录【不允许重复】', + 'user.dept': '所属部门', + 'user.roles': '所属角色', + 'user.avatar': '用户头像', + 'user.avatar.upload': '上传头像', + 'user.placeholder.dept': '请选择所属部门', + 'user.placeholder.roles': '请选择所属角色', + 'user.required.username': '请输入用户名', + 'user.required.dept': '请选择所属部门', + 'user.required.status': '请选择用户状态', + 'user.required.roles': '请选择所属角色', + 'user.resetPwd.title': '重置密码', + 'user.resetPwd.password': '密码', + 'user.resetPwd.confirmPassword': '确认密码', + 'user.resetPwd.defaultPwdTooltip': '默认密码:laokou123', + 'user.resetPwd.placeholder.password': '请输入密码', + 'user.resetPwd.placeholder.confirmPassword': '请输入确认密码', + 'user.resetPwd.required.password': '请输入密码', + 'user.resetPwd.required.confirmPassword': '请输入确认密码', + 'user.resetPwd.passwordNotMatch': '两次密码不一致', + 'user.resetPwd.success': '密码重置成功', + + // auth/role + 'role.name': '角色名称', + 'role.sort': '角色排序', + 'role.dataScope': '数据范围', + 'role.menuAuthority': '菜单权限', + 'role.deptAuthority': '部门权限', + 'role.insert': '新增角色', + 'role.view': '查看角色', + 'role.modify': '修改角色', + 'role.assignAuthority': '分配权限', + 'role.placeholder.name': '请输入角色名称', + 'role.placeholder.sort': '请输入角色排序', + 'role.placeholder.dataScope': '请选择数据范围', + 'role.placeholder.menuAuthority': '请选择菜单权限', + 'role.placeholder.deptAuthority': '请选择部门权限', + 'role.dataScope.all': '全部', + 'role.dataScope.custom': '自定义', + 'role.dataScope.selfDept': '仅本部门', + 'role.dataScope.belowDept': '部门及以下', + 'role.dataScope.self': '仅本人', + 'role.validate.nameRequired': '请输入角色名称', + 'role.validate.sortRequired': '请输入角色排序', + 'role.validate.dataScopeRequired': '请选择数据范围', + 'role.validate.menuAuthorityRequired': '请选择菜单权限', + 'role.validate.deptAuthorityRequired': '请选择部门权限', + 'role.validate.createTimeRequired': '请输入创建时间', // error 'error.serverInternal': '服务器内部错误,无法完成请求', @@ -23,6 +106,250 @@ export default { 'error.resourceNotFound': '无法找到 {url} 请求的资源', 'error.invalidClient': '无效客户端,请检查认证服务器配置', + // confirm & toast + 'confirm.deleteTitle': '确认删除?', + 'confirm.deleteContent': '您确定要删除吗?', + 'toast.saveSuccess': '保存成功', + 'toast.modifySuccess': '修改成功', + 'toast.assignSuccess': '分配权限成功', + 'toast.deleteSuccess': '删除成功', + 'toast.selectAtLeastOne': '请至少选择一条数据', + + // sys/oss/log + 'sys.log.common.success': '成功', + 'sys.log.common.fail': '失败', + 'sys.log.common.export': '导出', + 'sys.log.common.exportAll': '导出全部', + + // home + 'home.productCount': '产品数量', + 'home.deviceCount': '设备数量', + 'home.online': '在线', + 'home.offline': '离线', + 'home.todayDeviceMessageCount': '今日设备消息数量', + 'home.monthDeviceMessageCount': '本月设备消息数量', + 'home.todayDeviceAlarmCount': '今日设备告警数量', + 'home.monthDeviceAlarmCount': '本月设备告警数量', + 'home.deviceMessage': '设备消息', + 'home.deviceDistribution': '设备分布', + 'home.deviceMessageCount': '设备消息数量', + + // iot/productCategory + 'iot.productCategory.pid': '父级产品类别', + 'iot.productCategory.name': '产品类别名称', + 'iot.productCategory.sort': '产品类别排序', + 'iot.productCategory.remark': '产品类别备注', + 'iot.productCategory.insert': '新增产品类别', + 'iot.productCategory.view': '查看产品类别', + 'iot.productCategory.modify': '修改产品类别', + 'iot.productCategory.placeholder.pid': '请选择父级产品类别', + 'iot.productCategory.placeholder.sort': '请输入产品类别排序', + 'iot.productCategory.required.pid': '请选择父级产品类别', + 'iot.productCategory.required.name': '请输入产品类别名称', + 'iot.productCategory.required.sort': '请输入产品类别排序', + + // iot/thingModel + 'iot.thingModel.insert': '新增物模型', + 'iot.thingModel.view': '查看物模型', + 'iot.thingModel.modify': '修改物模型', + 'iot.thingModel.code': '物模型编码', + 'iot.thingModel.name': '物模型名称', + 'iot.thingModel.sort': '物模型排序', + 'iot.thingModel.remark': '物模型备注', + 'iot.thingModel.category': '物模型类别', + 'iot.thingModel.type': '物模型类型', + 'iot.thingModel.dataType': '物模型数据类型', + 'iot.thingModel.specs': '物模型参数', + 'iot.thingModel.length': '长度', + 'iot.thingModel.unit': '单位', + 'iot.thingModel.integerLength': '整数位长度', + 'iot.thingModel.decimalLength': '小数位长度', + 'iot.thingModel.trueText': '1对应文本', + 'iot.thingModel.falseText': '0对应文本', + 'iot.thingModel.placeholder.code': '请输入物模型编码', + 'iot.thingModel.placeholder.name': '请输入物模型名称', + 'iot.thingModel.placeholder.sort': '请输入物模型排序', + 'iot.thingModel.placeholder.category': '请选择物模型类别', + 'iot.thingModel.placeholder.type': '请选择物模型类型', + 'iot.thingModel.placeholder.dataType': '请选择物模型数据类型', + 'iot.thingModel.required.code': '请输入物模型编码', + 'iot.thingModel.required.name': '请输入物模型名称', + 'iot.thingModel.required.sort': '请输入排序', + 'iot.thingModel.required.category': '请选择物模型类别', + 'iot.thingModel.required.type': '请选择物模型类型', + 'iot.thingModel.required.dataType': '请选择物模型数据类型', + 'iot.thingModel.required.length': '请输入长度', + 'iot.thingModel.required.trueText': '请输入1对应文本', + 'iot.thingModel.required.falseText': '请输入0对应文本', + 'iot.thingModel.required.integerLength': '请输入整数位长度', + 'iot.thingModel.required.decimalLength': '请输入小数位长度', + 'iot.thingModel.validate.length1To2000': '长度必须为1-2000的整数', + 'iot.thingModel.validate.intLength': '长度必须为8、16、32、64的整数', + 'iot.thingModel.validate.integerLength': '整数位长度必须为1-64的整数', + 'iot.thingModel.validate.decimalLength': '小数位长度必须为1-4的整数', + 'iot.thingModel.category.property': '属性', + 'iot.thingModel.category.event': '事件', + 'iot.thingModel.type.read': '读', + 'iot.thingModel.type.write': '写', + 'iot.thingModel.type.report': '上报', + 'iot.thingModel.dataType.integer': '整数型', + 'iot.thingModel.dataType.decimal': '小数型', + 'iot.thingModel.dataType.boolean': '布尔型', + 'iot.thingModel.dataType.string': '字符串型', + 'iot.thingModel.specs.length': '长度', + 'iot.thingModel.specs.integerLength': '整数位长度', + 'iot.thingModel.specs.decimalLength': '小数位长度', + 'iot.thingModel.specs.unit': '单位', + + // iot/device + 'iot.device.send': '发送', + 'iot.device.ws.connected': 'WebSocket 连接已建立', + 'iot.device.ws.error': 'WebSocket 错误', + + // sys/menu + 'sys.menu.pid': '父级菜单', + 'sys.menu.name': '菜单名称', + 'sys.menu.path': '菜单路径', + 'sys.menu.permission': '菜单权限标识', + 'sys.menu.type': '菜单类型', + 'sys.menu.status': '菜单状态', + 'sys.menu.sort': '菜单排序', + 'sys.menu.icon': '菜单图标', + 'sys.menu.insert': '新增菜单', + 'sys.menu.view': '查看菜单', + 'sys.menu.modify': '修改菜单', + 'sys.menu.placeholder.pid': '请选择父级菜单', + 'sys.menu.placeholder.name': '请输入菜单名称', + 'sys.menu.placeholder.path': '请输入菜单路径', + 'sys.menu.placeholder.permission': '请输入菜单权限标识', + 'sys.menu.placeholder.type': '请选择菜单类型', + 'sys.menu.placeholder.status': '请选择菜单状态', + 'sys.menu.placeholder.sort': '请输入菜单排序', + 'sys.menu.placeholder.icon': '请输入菜单图标', + 'sys.menu.required.pid': '请选择父级菜单', + 'sys.menu.required.name': '请输入菜单名称', + 'sys.menu.required.path': '请输入菜单路径', + 'sys.menu.required.permission': '请输入菜单权限标识', + 'sys.menu.required.type': '请选择菜单类型', + 'sys.menu.required.status': '请选择菜单状态', + 'sys.menu.required.sort': '请输入菜单排序', + 'sys.menu.type.menu': '菜单', + 'sys.menu.type.button': '按钮', + 'sys.menu.tooltip.path': '只对菜单有效【不允许重复】', + 'sys.menu.tooltip.permission': '只对按钮有效【不允许重复】', + 'sys.menu.tooltip.icon': '只支持目录菜单显示图标', + + // sys/dept + 'sys.dept.pid': '父级部门', + 'sys.dept.name': '部门名称', + 'sys.dept.sort': '部门排序', + 'sys.dept.insert': '新增部门', + 'sys.dept.view': '查看部门', + 'sys.dept.modify': '修改部门', + 'sys.dept.placeholder.pid': '请选择父级部门', + 'sys.dept.placeholder.name': '请输入部门名称', + 'sys.dept.placeholder.sort': '请输入部门排序', + 'sys.dept.required.pid': '请选择父级部门', + 'sys.dept.required.name': '请输入部门名称', + 'sys.dept.required.sort': '请输入部门排序', + + // sys/oss/config + 'sys.oss.config.name': 'OSS名称', + 'sys.oss.config.type': 'OSS类型', + 'sys.oss.config.status': 'OSS状态', + 'sys.oss.config.placeholder.name': '请输入OSS名称', + 'sys.oss.config.placeholder.type': '请选择OSS类型', + 'sys.oss.config.placeholder.status': '请选择OSS状态', + 'sys.oss.config.type.amazonS3': '亚马逊S3', + 'sys.oss.config.type.local': '本地', + + // sys/log/operate + 'sys.log.operate.drawer.title': '查看操作日志', + 'sys.log.operate.moduleName': '模块名称', + 'sys.log.operate.name': '操作名称', + 'sys.log.operate.requestType': '请求类型', + 'sys.log.operate.operator': '操作人员', + 'sys.log.operate.ip': 'IP地址', + 'sys.log.operate.address': 'IP归属地', + 'sys.log.operate.status': '操作状态', + 'sys.log.operate.errorMessage': '错误信息', + 'sys.log.operate.costTime': '消耗时间(毫秒)', + 'sys.log.operate.placeholder.moduleName': '请输入模块名称', + 'sys.log.operate.placeholder.name': '请输入操作名称', + 'sys.log.operate.placeholder.requestType': '请输入请求类型', + 'sys.log.operate.placeholder.operator': '请输入操作人员', + 'sys.log.operate.placeholder.ip': '请输入IP地址', + 'sys.log.operate.placeholder.status': '请选择操作状态', + 'sys.log.operate.placeholder.errorMessage': '请输入错误信息', + 'sys.log.operate.exportFilePrefix': '操作日志_导出_', + 'sys.log.operate.required.name': '请输入操作名称', + 'sys.log.operate.required.moduleName': '请输入模块名称', + 'sys.log.operate.required.operator': '请输入操作人', + 'sys.log.operate.required.uri': '请输入URI', + 'sys.log.operate.required.requestType': '请输入请求类型', + 'sys.log.operate.required.requestParams': '请输入请求参数', + 'sys.log.operate.required.methodName': '请输入方法名', + 'sys.log.operate.required.userAgent': '请输入浏览器', + 'sys.log.operate.required.ip': '请输入IP地址', + 'sys.log.operate.required.address': '请输入IP地址', + 'sys.log.operate.required.status': '请输入操作状态', + 'sys.log.operate.required.profile': '请输入服务环境', + 'sys.log.operate.required.serviceId': '请输入服务ID', + 'sys.log.operate.required.serviceAddress': '请输入服务地址', + 'sys.log.operate.required.errorMessage': '请输入错误信息', + 'sys.log.operate.required.stackTrace': '请输入堆栈信息', + 'sys.log.operate.required.createTime': '请输入创建时间', + + // sys/log/notice + 'sys.log.notice.drawer.title': '查看通知日志', + 'sys.log.notice.code': '通知编码', + 'sys.log.notice.name': '通知名称', + 'sys.log.notice.status': '通知状态', + 'sys.log.notice.param': '通知参数', + 'sys.log.notice.errorMessage': '错误信息', + 'sys.log.notice.placeholder.code': '请输入通知编码', + 'sys.log.notice.placeholder.name': '请输入通知名称', + 'sys.log.notice.placeholder.status': '请选择通知状态', + 'sys.log.notice.placeholder.errorMessage': '请输入错误信息', + 'sys.log.notice.exportFilePrefix': '通知日志_导出_', + 'sys.log.notice.required.code': '请输入通知编码', + 'sys.log.notice.required.name': '请输入通知名称', + 'sys.log.notice.required.status': '请输入通知状态', + 'sys.log.notice.required.param': '请输入通知参数', + 'sys.log.notice.required.errorMessage': '请输入错误信息', + 'sys.log.notice.required.createTime': '请输入创建时间', + + // sys/log/login + 'sys.log.login.ip': 'IP地址', + 'sys.log.login.address': '归属地', + 'sys.log.login.browser': '浏览器', + 'sys.log.login.os': '操作系统', + 'sys.log.login.status': '登录状态', + 'sys.log.login.errorMessage': '错误信息', + 'sys.log.login.type': '登录类型', + 'sys.log.login.loginTime': '登录时间', + 'sys.log.login.placeholder.ip': '请输入IP地址', + 'sys.log.login.placeholder.address': '请输入归属地', + 'sys.log.login.placeholder.browser': '请输入浏览器', + 'sys.log.login.placeholder.os': '请输入操作系统', + 'sys.log.login.placeholder.status': '请选择登录状态', + 'sys.log.login.placeholder.type': '请选择登录类型', + 'sys.log.login.placeholder.errorMessage': '请输入错误信息', + 'sys.log.login.status.success': '登录成功', + 'sys.log.login.status.fail': '登录失败', + 'sys.log.login.type.authorizationCode': '授权码登录', + 'sys.log.login.exportFilePrefix': '登录日志_导出_', + + // sys/oss/log + 'sys.oss.log.name': '文件名称', + 'sys.oss.log.size': '文件大小【单位/字节】', + 'sys.oss.log.contentType': '文件类型', + 'sys.oss.log.type': '类型', + 'sys.oss.log.format': '文件格式', + 'sys.oss.log.type.image': '图片', + 'sys.oss.log.type.video': '视频', + 'sys.oss.log.type.audio': '音频', + // login 'login.subtitle': '企业级多租户IoT云平台', 'login.usernamePassword': '用户名密码登录', @@ -52,6 +379,13 @@ export default { 'login.mailCaptcha.invalid': '请输入6位验证码', 'login.captcha.get': '获取验证码', 'login.captcha.countdown': '{count} 获取验证码', + 'login.captcha.alt': '验证码', + 'login.greeting.morning': '早上好', + 'login.greeting.forenoon': '上午好', + 'login.greeting.noon': '中午好', + 'login.greeting.afternoon': '下午好', + 'login.greeting.evening': '晚上好', + 'login.welcomeBack': '{greeting},欢迎回来', // menu (routes) 'menu.home': '首页', @@ -75,4 +409,14 @@ export default { 'menu.iot.device': '设备管理', 'menu.iot.device.thingModel': '物模型', 'menu.iot.device.productCategory': '产品类别', + 'menu.iot.device.product': '产品', + 'menu.iot.device.device': '设备', + 'menu.sys.tenant': '租户管理', + 'menu.sys.tenant.package': '套餐', + 'menu.sys.tenant.tenant': '租户', + 'menu.sys.tenant.source': '数据源', + 'menu.sys.base': '基础数据', + 'menu.sys.base.dict': '数据字典', + 'menu.sys.base.i18n': '国际化', + 'menu.sys.cluster': '集群管理', }; diff --git a/ui/src/models/global.ts b/ui/src/models/global.ts index bbd6801073..632d4f09c9 100644 --- a/ui/src/models/global.ts +++ b/ui/src/models/global.ts @@ -1,6 +1,6 @@ // 全局共享数据示例 -import {DEFAULT_NAME} from '@/constants'; -import {useState} from 'react'; +import { DEFAULT_NAME } from '@/constants'; +import { useState } from 'react'; const useUser = () => { const [name, setName] = useState(DEFAULT_NAME); diff --git a/ui/src/pages/Home/DeviceMessage.tsx b/ui/src/pages/Home/DeviceMessage.tsx index 63c815001f..2a71b3be77 100644 --- a/ui/src/pages/Home/DeviceMessage.tsx +++ b/ui/src/pages/Home/DeviceMessage.tsx @@ -1,39 +1,44 @@ +import { getIntl } from '@@/exports'; +import { Area } from '@ant-design/plots'; import React from 'react'; -import {Area} from '@ant-design/plots'; + +const t = (id: string, values?: Record) => { + return getIntl().formatMessage({ id }, values); +}; const DeviceMessageArea: React.FC = () => { const data = [ - {date: '20250601', value: 6000}, - {date: '20250602', value: 7200}, - {date: '20250603', value: 20000}, - {date: '20250604', value: 7300}, - {date: '20250605', value: 23000}, - {date: '20250606', value: 6500}, - {date: '20250607', value: 5000}, - {date: '20250608', value: 2000}, - {date: '20250610', value: 2000}, - {date: '20250609', value: 0}, - {date: '20250611', value: 0}, - {date: '20250612', value: 0}, - {date: '20250613', value: 0}, - {date: '20250614', value: 0}, - {date: '20250615', value: 0}, - {date: '20250616', value: 0}, - {date: '20250617', value: 0}, - {date: '20250618', value: 0}, - {date: '20250619', value: 0}, - {date: '20250620', value: 0}, - {date: '20250621', value: 0}, - {date: '20250622', value: 0}, - {date: '20250623', value: 0}, - {date: '20250624', value: 0}, - {date: '20250625', value: 0}, - {date: '20250626', value: 0}, - {date: '20250627', value: 0}, - {date: '20250628', value: 0}, - {date: '20250629', value: 0}, - {date: '20250630', value: 0}, - {date: '20250631', value: 0}, + { date: '20250601', value: 6000 }, + { date: '20250602', value: 7200 }, + { date: '20250603', value: 20000 }, + { date: '20250604', value: 7300 }, + { date: '20250605', value: 23000 }, + { date: '20250606', value: 6500 }, + { date: '20250607', value: 5000 }, + { date: '20250608', value: 2000 }, + { date: '20250610', value: 2000 }, + { date: '20250609', value: 0 }, + { date: '20250611', value: 0 }, + { date: '20250612', value: 0 }, + { date: '20250613', value: 0 }, + { date: '20250614', value: 0 }, + { date: '20250615', value: 0 }, + { date: '20250616', value: 0 }, + { date: '20250617', value: 0 }, + { date: '20250618', value: 0 }, + { date: '20250619', value: 0 }, + { date: '20250620', value: 0 }, + { date: '20250621', value: 0 }, + { date: '20250622', value: 0 }, + { date: '20250623', value: 0 }, + { date: '20250624', value: 0 }, + { date: '20250625', value: 0 }, + { date: '20250626', value: 0 }, + { date: '20250627', value: 0 }, + { date: '20250628', value: 0 }, + { date: '20250629', value: 0 }, + { date: '20250630', value: 0 }, + { date: '20250631', value: 0 }, ]; const config = { @@ -54,11 +59,11 @@ const DeviceMessageArea: React.FC = () => { y: { line: true, arrow: false, - } + }, }, tooltip: { - items: [{name: '设备消息数量', channel: 'y'}] - } + items: [{ name: t('home.deviceMessageCount'), channel: 'y' }], + }, }; return ; }; diff --git a/ui/src/pages/Home/index.less b/ui/src/pages/Home/index.less index 1d148654d2..788eeeed9c 100644 --- a/ui/src/pages/Home/index.less +++ b/ui/src/pages/Home/index.less @@ -1,8 +1,6 @@ .pro-card-1 { - & .pro-card-1-header { - - border-bottom: 1px solid #eee; + border-bottom: 1px solid #eee; height: 85px; & .pro-card-1-title { @@ -14,7 +12,6 @@ font-size: 35px; font-weight: bolder; } - } & .pro-card-1-footer { @@ -23,7 +20,6 @@ height: 150px; color: #000000a3; - } .pro-card-2 { @@ -40,9 +36,10 @@ height: 600px; } -.pro-card-2 .g2-tooltip-title{ +.pro-card-2 .g2-tooltip-title { height: 40px !important; } -.ant-pro-card-body canvas{ + +.ant-pro-card-body canvas { position: absolute; } diff --git a/ui/src/pages/Home/index.tsx b/ui/src/pages/Home/index.tsx index ec30c5f918..d52197dae5 100644 --- a/ui/src/pages/Home/index.tsx +++ b/ui/src/pages/Home/index.tsx @@ -1,93 +1,131 @@ -import React from "react"; -import {ProCard, ProFormDateRangePicker} from '@ant-design/pro-components'; -import {Badge, Col, Row, Space} from "antd"; -import './index.less' -import DeviceMessageArea from "@/pages/Home/DeviceMessage"; +import DeviceMessageArea from '@/pages/Home/DeviceMessage'; +import { ProCard, ProFormDateRangePicker } from '@ant-design/pro-components'; +import { getIntl } from '@@/exports'; +import { Badge, Col, Row, Space } from 'antd'; +import React from 'react'; import { Map } from 'react-amap'; +import './index.less'; + +const t = (id: string, values?: Record) => { + return getIntl().formatMessage({ id }, values); +}; + const HomePage: React.FC = () => { return ( <>
- +
-
产品数量
-
10
+
+ {t('home.productCount')} +
+
+ 10 +
- 启用 - - - 8 + + {t('common.enable')} + + 8- 禁用 - - - 2 + + {t('common.disable')} + + 2- +
-
设备数量
-
5
+
+ {t('home.deviceCount')} +
+
+ 5 +
- 在线 - - - 3 + + {t('home.online')} + + 3- 离线 - - - 2 + + {t('home.offline')} + + 2- +
-
今日设备消息数量
-
10000
+
+ {t('home.todayDeviceMessageCount')} +
+
+ 10000 +
- 本月设备消息数量 - - - 1000000 + {t('home.monthDeviceMessageCount')} + 1000000- +
-
今日设备告警数量
-
200
+
+ {t('home.todayDeviceAlarmCount')} +
+
+ 200 +
- 本月设备告警数量 - - - 50000 + {t('home.monthDeviceAlarmCount')} + 50000 @@ -95,21 +133,34 @@ const HomePage: React.FC = () => { - - - - }> - + + + + } + > + - - + + diff --git a/ui/src/pages/IoT/Device/DeviceDrawer.tsx b/ui/src/pages/IoT/Device/DeviceDrawer.tsx index d552654b54..2d1ec23827 100644 --- a/ui/src/pages/IoT/Device/DeviceDrawer.tsx +++ b/ui/src/pages/IoT/Device/DeviceDrawer.tsx @@ -1,3 +1 @@ -export default () => { - -}; +export default () => {}; diff --git a/ui/src/pages/IoT/Device/ProductCategoryDrawer.tsx b/ui/src/pages/IoT/Device/ProductCategoryDrawer.tsx index 395aa0671c..b29c4bffbc 100644 --- a/ui/src/pages/IoT/Device/ProductCategoryDrawer.tsx +++ b/ui/src/pages/IoT/Device/ProductCategoryDrawer.tsx @@ -1,9 +1,18 @@ -import {DrawerForm, ProFormDigit, ProFormText, ProFormTreeSelect} from '@ant-design/pro-components'; +import { + modifyProductCategory, + saveProductCategory, +} from '@/services/iot/productCategory'; +import { useIntl } from '@@/exports'; +import { + DrawerForm, + ProFormDigit, + ProFormText, + ProFormTreeSelect, +} from '@ant-design/pro-components'; +import { ProFormTextArea } from '@ant-design/pro-form'; import { message } from 'antd'; -import {modifyProductCategory, saveProductCategory} from "@/services/iot/productCategory"; -import {v7 as uuidV7} from "uuid"; -import React, {useState} from "react"; -import {ProFormTextArea} from "@ant-design/pro-form"; +import React, { useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; interface ProductCategoryDrawerProps { modalVisit: boolean; @@ -12,9 +21,9 @@ interface ProductCategoryDrawerProps { readOnly: boolean; dataSource: TableColumns; onComponent: () => void; - treeList: any[] - requestId: string - setRequestId: (requestId: string) => void + treeList: any[]; + requestId: string; + setRequestId: (requestId: string) => void; } type TableColumns = { @@ -27,9 +36,21 @@ type TableColumns = { createTime: string | undefined; }; -export const ProductCategoryDrawer: React.FC = ({ modalVisit, setModalVisit, title, readOnly, dataSource, onComponent, treeList, requestId, setRequestId }) => { - - const [loading, setLoading] = useState(false) +export const ProductCategoryDrawer: React.FC = ({ + modalVisit, + setModalVisit, + title, + readOnly, + dataSource, + onComponent, + treeList, + requestId, + setRequestId, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const [loading, setLoading] = useState(false); return ( @@ -38,7 +59,7 @@ export const ProductCategoryDrawer: React.FC = ({ mo drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalVisit} @@ -49,35 +70,39 @@ export const ProductCategoryDrawer: React.FC = ({ mo style: { display: readOnly ? 'none' : 'inline-block', }, - } + }, }} - onFinish={ async (value) => { - setLoading(true) + onFinish={async (value) => { + setLoading(true); if (value.id === undefined) { // @ts-ignore - saveProductCategory({co: value}, requestId).then(res => { - if (res.code === 'OK') { - message.success("保存成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setRequestId(uuidV7()) - setLoading(false) - }) + saveProductCategory({ co: value }, requestId) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.saveSuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setRequestId(uuidV7()); + setLoading(false); + }); } else { - modifyProductCategory({co: value}).then(res => { - if (res.code === 'OK') { - message.success("修改成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setLoading(false) - }) + modifyProductCategory({ co: value }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.modifySuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setLoading(false); + }); } - }}> - + }} + > = ({ mo { - return treeList + return treeList; }} /> @@ -109,38 +139,52 @@ export const ProductCategoryDrawer: React.FC = ({ mo disabled={loading} readonly={readOnly} name="name" - label="产品类别名称" - rules={[{ required: true, message: '请输入产品类别名称' }]} + label={t('iot.productCategory.name')} + rules={[ + { + required: true, + message: t('iot.productCategory.required.name'), + }, + ]} /> - { readOnly && ( + {readOnly && ( )} - ); }; diff --git a/ui/src/pages/IoT/Device/ProductDrawer.tsx b/ui/src/pages/IoT/Device/ProductDrawer.tsx index d552654b54..2d1ec23827 100644 --- a/ui/src/pages/IoT/Device/ProductDrawer.tsx +++ b/ui/src/pages/IoT/Device/ProductDrawer.tsx @@ -1,3 +1 @@ -export default () => { - -}; +export default () => {}; diff --git a/ui/src/pages/IoT/Device/ThingModelDrawer.tsx b/ui/src/pages/IoT/Device/ThingModelDrawer.tsx index 1a4c6a5255..783db9ea88 100644 --- a/ui/src/pages/IoT/Device/ThingModelDrawer.tsx +++ b/ui/src/pages/IoT/Device/ThingModelDrawer.tsx @@ -1,9 +1,15 @@ -import {DrawerForm, ProFormDigit, ProFormSelect, ProFormText} from '@ant-design/pro-components'; -import {Col, message, Row} from 'antd'; -import React, {useState} from "react"; -import {ProFormTextArea} from "@ant-design/pro-form"; -import {v7 as uuidV7} from "uuid"; -import {modifyThingModel, saveThingModel} from "@/services/iot/thingModel"; +import { modifyThingModel, saveThingModel } from '@/services/iot/thingModel'; +import { useIntl } from '@@/exports'; +import { + DrawerForm, + ProFormDigit, + ProFormSelect, + ProFormText, +} from '@ant-design/pro-components'; +import { ProFormTextArea } from '@ant-design/pro-form'; +import { Col, message, Row } from 'antd'; +import React, { useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; interface ThingModelDrawerProps { modalVisit: boolean; @@ -14,8 +20,8 @@ interface ThingModelDrawerProps { onComponent: () => void; dataType: string; setDataType: (type: string) => void; - requestId: string - setRequestId: (requestId: string) => void + requestId: string; + setRequestId: (requestId: string) => void; } type TableColumns = { @@ -31,31 +37,49 @@ type TableColumns = { createTime: string | undefined; }; -export const ThingModelDrawer: React.FC = ({ modalVisit, setModalVisit, title, readOnly, dataSource, onComponent,dataType, setDataType, requestId, setRequestId }) => { - - const [loading, setLoading] = useState(false) +export const ThingModelDrawer: React.FC = ({ + modalVisit, + setModalVisit, + title, + readOnly, + dataSource, + onComponent, + dataType, + setDataType, + requestId, + setRequestId, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const [loading, setLoading] = useState(false); const getSpecs = (value: any) => { switch (value.dataType) { - case 'integer': return { - length: value.length, - unit: value.unit, - } - case 'decimal': return { - integerLength: value.integerLength, - decimalLength: value.decimalLength, - unit: value.unit, - } - case 'boolean': return { - trueText: value?.trueText, - falseText: value?.falseText, - } - case 'string': return { - length: value.length, - } - default: return {} + case 'integer': + return { + length: value.length, + unit: value.unit, + }; + case 'decimal': + return { + integerLength: value.integerLength, + decimalLength: value.decimalLength, + unit: value.unit, + }; + case 'boolean': + return { + trueText: value?.trueText, + falseText: value?.falseText, + }; + case 'string': + return { + length: value.length, + }; + default: + return {}; } - } + }; return ( @@ -64,7 +88,7 @@ export const ThingModelDrawer: React.FC = ({ modalVisit, drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalVisit} @@ -75,37 +99,41 @@ export const ThingModelDrawer: React.FC = ({ modalVisit, style: { display: readOnly ? 'none' : 'inline-block', }, - } + }, }} - onFinish={ async (value) => { - setLoading(true) - value.specs = JSON.stringify(getSpecs(value)) + onFinish={async (value) => { + setLoading(true); + value.specs = JSON.stringify(getSpecs(value)); // @ts-ignore - value.type = value.type.join(',') + value.type = value.type.join(','); if (value.id === undefined) { - saveThingModel({co: value}, requestId).then(res => { - if (res.code === 'OK') { - message.success("保存成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setRequestId(uuidV7()) - setLoading(false) - }) + saveThingModel({ co: value }, requestId) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.saveSuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setRequestId(uuidV7()); + setLoading(false); + }); } else { - modifyThingModel({co: value}).then(res => { - if (res.code === 'OK') { - message.success("修改成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setLoading(false) - }) + modifyThingModel({ co: value }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.modifySuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setLoading(false); + }); } - }}> - + }} + > = ({ modalVisit, disabled={loading} readonly={readOnly} name="code" - label="物模型编码" - rules={[{ required: true, message: '请输入物模型编码' }]} + label={t('iot.thingModel.code')} + rules={[ + { required: true, message: t('iot.thingModel.required.code') }, + ]} /> - { dataType === 'string' && ( + {dataType === 'string' && ( )} - { dataType === 'boolean' && ( + {dataType === 'boolean' && ( @@ -212,27 +288,35 @@ export const ThingModelDrawer: React.FC = ({ modalVisit, disabled={loading} readonly={readOnly} name="falseText" - label="0对应文本" - rules={[{ required: true, message: '请输入0对应文本' }]} + label={t('iot.thingModel.falseText')} + rules={[ + { + required: true, + message: t('iot.thingModel.required.falseText'), + }, + ]} /> )} - { dataType === 'integer' && ( + {dataType === 'integer' && ( @@ -241,26 +325,29 @@ export const ThingModelDrawer: React.FC = ({ modalVisit, disabled={loading} readonly={readOnly} name="unit" - label="单位" + label={t('iot.thingModel.unit')} /> )} - { dataType === 'decimal' && ( + {dataType === 'decimal' && ( @@ -269,13 +356,16 @@ export const ThingModelDrawer: React.FC = ({ modalVisit, disabled={loading} readonly={readOnly} name="decimalLength" - label="小数位长度" + label={t('iot.thingModel.decimalLength')} rules={[ - { required: true, message: '请输入小数位长度' }, + { + required: true, + message: t('iot.thingModel.required.decimalLength'), + }, { pattern: /^[1-4]$/, - message: '小数位长度必须为1-4的整数' - } + message: t('iot.thingModel.validate.decimalLength'), + }, ]} /> @@ -284,7 +374,7 @@ export const ThingModelDrawer: React.FC = ({ modalVisit, disabled={loading} readonly={readOnly} name="unit" - label="单位" + label={t('iot.thingModel.unit')} /> @@ -294,19 +384,23 @@ export const ThingModelDrawer: React.FC = ({ modalVisit, disabled={loading} readonly={readOnly} name="remark" - label="物模型备注" + label={t('iot.thingModel.remark')} /> - { readOnly && ( + {readOnly && ( )} - ); }; diff --git a/ui/src/pages/IoT/Device/index.tsx b/ui/src/pages/IoT/Device/index.tsx index f01705d123..9038f1c256 100644 --- a/ui/src/pages/IoT/Device/index.tsx +++ b/ui/src/pages/IoT/Device/index.tsx @@ -1,9 +1,12 @@ -import React, {useEffect, useState} from "react"; +import { useIntl } from '@@/exports'; +import { useEffect, useState } from 'react'; export default () => { - + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); const [inputMessage, setInputMessage] = useState(''); - let ws: WebSocket + let ws: WebSocket; // 初始化 WebSocket useEffect(() => { @@ -12,18 +15,18 @@ export default () => { // 监听连接打开 ws.onopen = () => { - console.log('WebSocket 连接已建立'); + console.log(t('iot.device.ws.connected')); }; // 接收消息 ws.onmessage = (event) => { const newMessage = event.data; - console.log(newMessage) + console.log(newMessage); }; // 监听错误 ws.onerror = (error) => { - console.error('WebSocket 错误:', error); + console.error(t('iot.device.ws.error'), error); }; // 清理函数:组件卸载时关闭连接 @@ -51,7 +54,7 @@ export default () => { onChange={(e) => setInputMessage(e.target.value)} /> {/* eslint-disable-next-line react/button-has-type */} - + ); diff --git a/ui/src/pages/IoT/Device/product.tsx b/ui/src/pages/IoT/Device/product.tsx index d552654b54..2d1ec23827 100644 --- a/ui/src/pages/IoT/Device/product.tsx +++ b/ui/src/pages/IoT/Device/product.tsx @@ -1,3 +1 @@ -export default () => { - -}; +export default () => {}; diff --git a/ui/src/pages/IoT/Device/productCategory.tsx b/ui/src/pages/IoT/Device/productCategory.tsx index 74d8c6286d..294648114f 100644 --- a/ui/src/pages/IoT/Device/productCategory.tsx +++ b/ui/src/pages/IoT/Device/productCategory.tsx @@ -1,25 +1,31 @@ -import {ProColumns} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {getProductCategoryById, removeProductCategory, listTreeProductCategory} from "@/services/iot/productCategory"; -import {Button, message, Modal} from "antd"; -import {DeleteOutlined, PlusOutlined} from "@ant-design/icons"; -import React, {useRef, useState} from "react"; -import {TableRowSelection} from "antd/es/table/interface"; -import {ProductCategoryDrawer} from "@/pages/IoT/Device/ProductCategoryDrawer"; -import {useAccess} from "@@/exports"; -import {v7 as uuidV7} from "uuid"; +import { ProductCategoryDrawer } from '@/pages/IoT/Device/ProductCategoryDrawer'; +import { + getProductCategoryById, + listTreeProductCategory, + removeProductCategory, +} from '@/services/iot/productCategory'; +import { useAccess, useIntl } from '@@/exports'; +import { DeleteOutlined, PlusOutlined } from '@ant-design/icons'; +import { ProColumns, ProTable } from '@ant-design/pro-components'; +import type { ActionType } from '@ant-design/pro-components'; +import { Button, message, Modal } from 'antd'; +import { TableRowSelection } from 'antd/es/table/interface'; +import { useRef, useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; export default () => { - - const access = useAccess() - const actionRef = useRef(); + const access = useAccess(); + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const actionRef = useRef(null); const [modalVisit, setModalVisit] = useState(false); - const [dataSource, setDataSource] = useState({}) - const [title, setTitle] = useState("") - const [readOnly, setReadOnly] = useState(false) - const [ids, setIds] = useState([]) - const [treeList, setTreeList] = useState([]) - const [requestId, setRequestId] = useState('') + const [dataSource, setDataSource] = useState({}); + const [title, setTitle] = useState(''); + const [readOnly, setReadOnly] = useState(false); + const [ids, setIds] = useState([]); + const [treeList, setTreeList] = useState([]); + const [requestId, setRequestId] = useState(''); type TableColumns = { id: number; @@ -34,58 +40,62 @@ export default () => { const getListTreeQueryParam = (params: any) => { return { params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, }; - } + }; const rowSelection: TableRowSelection = { onChange: (selectedRowKeys) => { - const ids: number[] = [] - selectedRowKeys.forEach(item => { - ids.push(item as number) - }) - setIds(ids) - } + const ids: number[] = []; + selectedRowKeys.forEach((item) => { + ids.push(item as number); + }); + setIds(ids); + }, }; const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '产品类别名称', + title: t('iot.productCategory.name'), dataIndex: 'name', ellipsis: true, valueType: 'text', hideInSearch: true, }, { - title: '产品类别排序', + title: t('iot.productCategory.sort'), dataIndex: 'sort', hideInSearch: true, ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), dataIndex: 'createTime', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始时间', '请选择结束时间'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -94,74 +104,101 @@ export default () => { endDate: value[1], }; }, - } + }, }, { - title: '操作', + title: t('common.operation'), valueType: 'option', key: 'option', render: (_, record) => [ - ( access.canProductCategoryGetDetail && { - getProductCategoryById({id: record?.id}).then(res => { - setTitle('查看产品类别') - setDataSource(res?.data) - setModalVisit(true) - setReadOnly(true) - }) - }} - > - 查看 - ), - ( access.canProductCategorySave && { - setTitle('新增产品类别') - setRequestId(uuidV7()) - setReadOnly(false) - setModalVisit(true) - setDataSource({sort: 1, pid: record?.id, id: undefined, name: '', remark: ''}) - }} - > - 新增 - ), - ( access.canProductCategoryModify && { - getProductCategoryById({id: record?.id}).then(res => { - setTitle('修改产品类别') - setDataSource(res?.data) - setModalVisit(true) - setReadOnly(false) - }) - }} - > - 修改 - ), - ( access.canProductCategoryRemove && { - Modal.confirm({ - title: '确认删除?', - content: '您确定要删除吗?', - okText: '确认', - cancelText: '取消', - onOk: () => { - removeProductCategory([record?.id]).then(res => { - if (res.code === 'OK') { - message.success("删除成功").then() - // @ts-ignore - actionRef?.current?.reload(); - } - }) - } - }) - }}> - 删除 - ) + access.canProductCategoryGetDetail && ( + { + getProductCategoryById({ id: record?.id }).then( + (res) => { + setTitle(t('iot.productCategory.view')); + setDataSource(res?.data); + setModalVisit(true); + setReadOnly(true); + }, + ); + }} + > + {t('common.view')} + + ), + access.canProductCategorySave && ( + { + setTitle(t('iot.productCategory.insert')); + setRequestId(uuidV7()); + setReadOnly(false); + setModalVisit(true); + setDataSource({ + sort: 1, + pid: record?.id, + id: undefined, + name: '', + remark: '', + }); + }} + > + {t('common.insert')} + + ), + access.canProductCategoryModify && ( + { + getProductCategoryById({ id: record?.id }).then( + (res) => { + setTitle(t('iot.productCategory.modify')); + setDataSource(res?.data); + setModalVisit(true); + setReadOnly(false); + }, + ); + }} + > + {t('common.modify')} + + ), + access.canProductCategoryRemove && ( + { + Modal.confirm({ + title: t('confirm.deleteTitle'), + content: t('confirm.deleteContent'), + okText: t('common.ok'), + cancelText: t('common.cancel'), + onOk: () => { + removeProductCategory([record?.id]).then( + (res) => { + if (res.code === 'OK') { + message + .success(t('toast.deleteSuccess')) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }, + ); + }, + }); + }} + > + {t('common.delete')} + + ), ], }, ]; return ( <> - { columns={columns} request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return listTreeProductCategory(getListTreeQueryParam(params)).then(res => { - setTreeList([{ - id: '0', - name: '根目录', - children: res?.data - }]) + return listTreeProductCategory( + getListTreeQueryParam(params), + ).then((res) => { + setTreeList([ + { + id: '0', + name: t('common.root'), + children: res?.data, + }, + ]); return Promise.resolve({ data: res?.data, success: true, }); - }) + }); }} rowKey="id" search={{ @@ -200,46 +241,71 @@ export default () => { defaultCollapsed: true, }} rowSelection={{ ...rowSelection }} - toolBarRender={ - () => [ - ( access.canProductCategorySave && ), - ( access.canProductCategoryRemove && + ), + access.canProductCategoryRemove && ( + ) - ] - } + removeProductCategory(ids).then( + (res) => { + if (res.code === 'OK') { + message + .success(t('toast.deleteSuccess')) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }, + ); + }, + }); + }} + > + {t('common.delete')} + + ), + ]} dateFormatter="string" toolbar={{ - title: '产品类别', - tooltip: '产品类别', + title: t('menu.iot.device.productCategory'), + tooltip: t('menu.iot.device.productCategory'), }} /> diff --git a/ui/src/pages/IoT/Device/thingModel.tsx b/ui/src/pages/IoT/Device/thingModel.tsx index b3f6657b55..970d0256a3 100644 --- a/ui/src/pages/IoT/Device/thingModel.tsx +++ b/ui/src/pages/IoT/Device/thingModel.tsx @@ -1,26 +1,32 @@ -import {ProColumns} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {pageThingModel, getThingModelById, removeThingModel} from "@/services/iot/thingModel"; -import {Button, message, Modal, Space, Tag} from "antd"; -import {DeleteOutlined, PlusOutlined} from "@ant-design/icons"; -import {trim} from "@/utils/format"; -import React, {useRef, useState} from "react"; -import {ThingModelDrawer} from "@/pages/IoT/Device/ThingModelDrawer"; -import {TableRowSelection} from "antd/es/table/interface"; -import {useAccess} from "@@/exports"; -import {v7 as uuidV7} from "uuid"; +import { ThingModelDrawer } from '@/pages/IoT/Device/ThingModelDrawer'; +import { + getThingModelById, + pageThingModel, + removeThingModel, +} from '@/services/iot/thingModel'; +import { trim } from '@/utils/format'; +import { useAccess, useIntl } from '@@/exports'; +import { DeleteOutlined, PlusOutlined } from '@ant-design/icons'; +import { ProColumns, ProTable } from '@ant-design/pro-components'; +import type { ActionType } from '@ant-design/pro-components'; +import { Button, message, Modal, Space, Tag } from 'antd'; +import { TableRowSelection } from 'antd/es/table/interface'; +import { useRef, useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; export default () => { - - const access = useAccess() - const actionRef = useRef(); + const access = useAccess(); + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const actionRef = useRef(null); const [modalVisit, setModalVisit] = useState(false); - const [dataSource, setDataSource] = useState({}) - const [title, setTitle] = useState("") - const [readOnly, setReadOnly] = useState(false) - const [ids, setIds] = useState([]) - const [dataType, setDataType] = useState('integer') - const [requestId, setRequestId] = useState('') + const [dataSource, setDataSource] = useState({}); + const [title, setTitle] = useState(''); + const [readOnly, setReadOnly] = useState(false); + const [ids, setIds] = useState([]); + const [dataType, setDataType] = useState('integer'); + const [requestId, setRequestId] = useState(''); type TableColumns = { id: number; @@ -46,114 +52,118 @@ export default () => { category: params?.category, type: params?.typeValue ? params?.typeValue.join(',') : '', params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, }; - } + }; const getData = (data: any) => { - const specs = JSON.parse(data?.specs) - data.length = specs?.length - data.integerLength = specs?.integerLength - data.decimalLength = specs?.decimalLength - data.unit = specs?.unit - data.trueText = specs?.trueText - data.falseText = specs?.falseText - data.type = data?.type?.split(',') - return data - } + const specs = JSON.parse(data?.specs); + data.length = specs?.length; + data.integerLength = specs?.integerLength; + data.decimalLength = specs?.decimalLength; + data.unit = specs?.unit; + data.trueText = specs?.trueText; + data.falseText = specs?.falseText; + data.type = data?.type?.split(','); + return data; + }; const rowSelection: TableRowSelection = { onChange: (selectedRowKeys) => { - const ids: number[] = [] - selectedRowKeys.forEach(item => { - ids.push(item as number) - }) - setIds(ids) - } + const ids: number[] = []; + selectedRowKeys.forEach((item) => { + ids.push(item as number); + }); + setIds(ids); + }, }; const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '物模型编码', + title: t('iot.thingModel.code'), dataIndex: 'code', valueType: 'text', ellipsis: true, fieldProps: { - placeholder: '请输入物模型编码', - } + placeholder: t('iot.thingModel.placeholder.code'), + }, }, { - title: '物模型名称', + title: t('iot.thingModel.name'), dataIndex: 'name', valueType: 'text', ellipsis: true, fieldProps: { - placeholder: '请输入物模型名称', - } + placeholder: t('iot.thingModel.placeholder.name'), + }, }, { - title: '物模型数据类型', - key: "dataType", + title: t('iot.thingModel.dataType'), + key: 'dataType', dataIndex: 'dataType', valueType: 'select', fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择物模型数据类型', + placeholder: t('iot.thingModel.placeholder.dataType'), options: [ { value: 'integer', - label: '整数型', + label: t('iot.thingModel.dataType.integer'), }, { value: 'decimal', - label: '小数型', + label: t('iot.thingModel.dataType.decimal'), }, { value: 'boolean', - label: '布尔型' + label: t('iot.thingModel.dataType.boolean'), }, { value: 'string', - label: '字符串型', + label: t('iot.thingModel.dataType.string'), }, - ] + ], }, - ellipsis: true + ellipsis: true, }, { - title: '物模型类别', - key: "category", + title: t('iot.thingModel.category'), + key: 'category', dataIndex: 'category', valueType: 'select', fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择物模型类别', + placeholder: t('iot.thingModel.placeholder.category'), options: [ { value: 1, - label: '属性', + label: t('iot.thingModel.category.property'), }, { value: 2, - label: '事件', + label: t('iot.thingModel.category.event'), }, - ] + ], }, - ellipsis: true + ellipsis: true, }, { - title: '物模型类型', - key: "typeValue", + title: t('iot.thingModel.type'), + key: 'typeValue', dataIndex: 'typeValue', valueType: 'select', ellipsis: true, @@ -161,25 +171,25 @@ export default () => { fieldProps: { valueType: 'select', mode: 'multiple', - placeholder: '请选择物模型类型', + placeholder: t('iot.thingModel.placeholder.type'), options: [ { value: 'read', - label: '读', + label: t('iot.thingModel.type.read'), }, { value: 'write', - label: '写', + label: t('iot.thingModel.type.write'), }, { value: 'report', - label: '上报', + label: t('iot.thingModel.type.report'), }, - ] - } + ], + }, }, { - title: '物模型类型', + title: t('iot.thingModel.type'), dataIndex: 'type', disable: true, hideInSearch: true, @@ -187,21 +197,33 @@ export default () => { return defaultRender(_); }, render: (_, record) => { - const element: any = [] - record?.type?.split(',').forEach(item => { + const element: any = []; + record?.type?.split(',').forEach((item) => { if (item === 'read') { - element.push(); + element.push( + + {t('iot.thingModel.type.read')} + , + ); } else if (item === 'write') { - element.push(); + element.push( + + {t('iot.thingModel.type.write')} + , + ); } else if (item === 'report') { - element.push(上报); + element.push( + + {t('iot.thingModel.type.report')} + , + ); } - }) + }); return {element}; - } + }, }, { - title: '物模型规则说明', + title: t('iot.thingModel.specs'), dataIndex: 'specs', valueType: 'text', hideInSearch: true, @@ -209,33 +231,81 @@ export default () => { return defaultRender(_); }, render: (_, record) => { - const data = JSON.parse(typeof record?.specs === "string" ? record?.specs : "{}") - return <> - { (record?.dataType === 'integer' || record?.dataType === 'string') &&
长度:{data?.length}
} - { record?.dataType === 'decimal' &&
整数位长度:{data?.integerLength}
} - { record?.dataType === 'decimal' &&
小数位长度:{data?.decimalLength}
} - { (record?.dataType === 'decimal' || record?.dataType === 'integer') &&
单位:{data?.unit ? data?.unit : '无'}
} - { record?.dataType === 'boolean' &&
0:{data?.falseText}
} - { record?.dataType === 'boolean' &&
1:{data?.trueText}
} - + const data = JSON.parse( + typeof record?.specs === 'string' ? record?.specs : '{}', + ); + return ( + <> + {(record?.dataType === 'integer' || + record?.dataType === 'string') && ( +
+ {t('iot.thingModel.specs.length')}: + + {data?.length} + +
+ )} + {record?.dataType === 'decimal' && ( +
+ {t('iot.thingModel.specs.integerLength')}: + + {data?.integerLength} + +
+ )} + {record?.dataType === 'decimal' && ( +
+ {t('iot.thingModel.specs.decimalLength')}: + + {data?.decimalLength} + +
+ )} + {(record?.dataType === 'decimal' || + record?.dataType === 'integer') && ( +
+ {t('iot.thingModel.specs.unit')}: + + {data?.unit ? data?.unit : t('common.none')} + +
+ )} + {record?.dataType === 'boolean' && ( +
+ 0: + + {data?.falseText} + +
+ )} + {record?.dataType === 'boolean' && ( +
+ 1: + + {data?.trueText} + +
+ )} + + ); }, }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始时间', '请选择结束时间'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -244,67 +314,85 @@ export default () => { endDate: value[1], }; }, - } + }, }, { - title: '操作', + title: t('common.operation'), valueType: 'option', key: 'option', render: (_, record) => [ - ( access.canThingModelGetDetail && { - getThingModelById({id: record?.id}).then(res => { - setTitle('查看物模型') - const data = getData(res?.data) - setDataSource(data) - setModalVisit(true) - setReadOnly(true) - setDataType(data?.dataType) - }) - }} - > - 查看 - ), - ( access.canThingModelModify && { - getThingModelById({id: record?.id}).then(res => { - setTitle('修改物模型') - const data = getData(res?.data) - setDataSource(data) - setModalVisit(true) - setReadOnly(false) - setDataType(data?.dataType) - }) - }} - > - 修改 - ), - ( access.canThingModelRemove && { - Modal.confirm({ - title: '确认删除?', - content: '您确定要删除吗?', - okText: '确认', - cancelText: '取消', - onOk: () => { - removeThingModel([record?.id]).then(res => { - if (res.code === 'OK') { - message.success("删除成功").then() - // @ts-ignore - actionRef?.current?.reload(); - } - }) - } - }) - }}> - 删除 - ) + access.canThingModelGetDetail && ( + { + getThingModelById({ id: record?.id }).then( + (res) => { + setTitle(t('iot.thingModel.view')); + const data = getData(res?.data); + setDataSource(data); + setModalVisit(true); + setReadOnly(true); + setDataType(data?.dataType); + }, + ); + }} + > + {t('common.view')} + + ), + access.canThingModelModify && ( + { + getThingModelById({ id: record?.id }).then( + (res) => { + setTitle(t('iot.thingModel.modify')); + const data = getData(res?.data); + setDataSource(data); + setModalVisit(true); + setReadOnly(false); + setDataType(data?.dataType); + }, + ); + }} + > + {t('common.modify')} + + ), + access.canThingModelRemove && ( + { + Modal.confirm({ + title: t('confirm.deleteTitle'), + content: t('confirm.deleteContent'), + okText: t('common.ok'), + cancelText: t('common.cancel'), + onOk: () => { + removeThingModel([record?.id]).then( + (res) => { + if (res.code === 'OK') { + message + .success(t('toast.deleteSuccess')) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }, + ); + }, + }); + }} + > + {t('common.delete')} + + ), ], }, ]; return ( <> - { columns={columns} request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return pageThingModel(getPageQueryParam(params)).then(res => { - return Promise.resolve({ - data: res?.data?.records, - total: parseInt(res?.data?.total || 0), - success: true, - }); - }) + return pageThingModel(getPageQueryParam(params)).then( + (res) => { + return Promise.resolve({ + data: res?.data?.records, + total: parseInt(res?.data?.total || 0), + success: true, + }); + }, + ); }} rowKey="id" pagination={{ showQuickJumper: true, showSizeChanger: false, - pageSize: 10 + pageSize: 10, }} search={{ layout: 'vertical', defaultCollapsed: true, }} rowSelection={{ ...rowSelection }} - toolBarRender={ - () => [ - ( access.canThingModelSave && ), - ( access.canThingModelRemove && + ), + access.canThingModelRemove && ( + ) - ] - } + removeThingModel(ids).then((res) => { + if (res.code === 'OK') { + message + .success(t('toast.deleteSuccess')) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), + ]} dateFormatter="string" toolbar={{ - title: '物模型', - tooltip: '物模型', + title: t('menu.iot.device.thingModel'), + tooltip: t('menu.iot.device.thingModel'), }} /> diff --git a/ui/src/pages/Login/index.tsx b/ui/src/pages/Login/index.tsx index 5c01918330..3f78909917 100644 --- a/ui/src/pages/Login/index.tsx +++ b/ui/src/pages/Login/index.tsx @@ -1,3 +1,8 @@ +import { clearToken, setToken } from '@/access'; +import { login } from '@/services/auth/auth'; +import { getCaptchaByUuid, sendCaptcha } from '@/services/auth/captcha'; +import { getSecretInfo } from '@/services/auth/secret'; +import { SelectLang, useIntl } from '@@/exports'; import { AlipayOutlined, GithubOutlined, @@ -10,21 +15,25 @@ import { UserOutlined, WechatOutlined, } from '@ant-design/icons'; -import {CaptFieldRef, LoginFormPage, ProFormCaptcha, ProFormInstance, ProFormText,} from '@ant-design/pro-components'; -import {Col, Divider, Image, message, Row, Space, Tabs} from 'antd'; -import {CSSProperties, useEffect, useRef, useState} from 'react'; -import {login} from '@/services/auth/auth'; -import {getCaptchaByUuid, sendCaptcha } from '@/services/auth/captcha'; -import {getSecretInfo} from '@/services/auth/secret'; -import {JSEncrypt} from 'jsencrypt'; -import {v7 as uuidV7} from 'uuid'; -import {clearToken, setToken} from "@/access" -import {history} from "@umijs/max"; -import {SelectLang, useIntl} from "@@/exports"; +import { + CaptFieldRef, + LoginFormPage, + ProFormCaptcha, + ProFormInstance, + ProFormText, +} from '@ant-design/pro-components'; +import { history } from '@umijs/max'; +import { Col, Divider, Image, message, Row, Space, Tabs } from 'antd'; +import { JSEncrypt } from 'jsencrypt'; +import { CSSProperties, useEffect, useRef, useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; -const USERNAME_PASSWORD = {key: 'username_password', label: 'login.usernamePassword'}; -const MOBILE = {key: 'mobile', label: 'login.mobile'}; -const MAIL = {key: 'mail', label: 'login.mail'}; +const USERNAME_PASSWORD = { + key: 'username_password', + label: 'login.usernamePassword', +}; +const MOBILE = { key: 'mobile', label: 'login.mobile' }; +const MAIL = { key: 'mail', label: 'login.mail' }; type LoginType = 'username_password' | 'mobile' | 'mail'; const iconStyles: CSSProperties = { @@ -36,7 +45,8 @@ const iconStyles: CSSProperties = { export default () => { const intl = useIntl(); - const t = (id: string, values?: Record) => intl.formatMessage({id}, values); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); const items = [ { ...USERNAME_PASSWORD, label: t(USERNAME_PASSWORD.label) }, { ...MOBILE, label: t(MOBILE.label) }, @@ -53,7 +63,7 @@ export default () => { const setFormField = (form: API.LoginParam) => { formRef?.current?.setFieldsValue(form); - } + }; const encrypt = new JSEncrypt(); const getParams = (form: API.LoginParam) => { @@ -78,27 +88,27 @@ export default () => { mail: form.mail, code: form.mail_captcha, tenant_code: form.tenant_code, - grant_type: MAIL.key + grant_type: MAIL.key, }; case MOBILE.key: return { mobile: form.mobile, code: form.mobile_captcha, tenant_code: form.tenant_code, - grant_type: MOBILE.key + grant_type: MOBILE.key, }; } }; const getCaptchaImage = async () => { // 清空验证码输入框 - setFormField({captcha: ''}) + setFormField({ captcha: '' }); // 调用验证码API const uuid = uuidV7(); // @ts-ignore - getCaptchaByUuid({uuid: uuid}).then((res: { code: string; data: React.SetStateAction; }) => { - if (res.code === 'OK') { - setCaptchaImage(res.data); + getCaptchaByUuid({ uuid: uuid }).then((res) => { + if (res?.code === 'OK') { + setCaptchaImage(res.data as any); } }); setUuid(uuid); @@ -106,73 +116,88 @@ export default () => { const getPublicKey = async () => { // @ts-ignore - getSecretInfo().then((res: { code: string; data: { publicKey: React.SetStateAction; }; }) => { - if (res.code === 'OK') { - setPublicKey(res.data.publicKey); + getSecretInfo().then((res) => { + if (res?.code === 'OK') { + setPublicKey((res.data as any)?.publicKey); } }); }; const sendMailCaptcha = async () => { const param = { - tenantCode: formRef?.current?.getFieldValue("tenant_code"), - uuid: formRef?.current?.getFieldValue(MAIL.key) - } - const co = { co : param } - sendCaptcha('mail', co as API.SendCaptchaCO, uuidV7()).then(res => { - if (res.code !== "OK") { - mailCaptchaRef.current?.endTiming() - } - }).catch(console.log) - } + tenantCode: formRef?.current?.getFieldValue('tenant_code'), + uuid: formRef?.current?.getFieldValue(MAIL.key), + }; + const co = { co: param }; + sendCaptcha('mail', co as API.SendCaptchaCO, uuidV7()) + .then((res) => { + if (res.code !== 'OK') { + mailCaptchaRef.current?.endTiming(); + } + }) + .catch(console.log); + }; const sendMobileCaptcha = async () => { const param = { - tenantCode: formRef?.current?.getFieldValue("tenant_code"), - uuid: formRef?.current?.getFieldValue(MOBILE.key) - } - const co = { co : param } - sendCaptcha('mobile', co as API.SendCaptchaCO, uuidV7()).then(res => { - if (res.code !== "OK") { - mobileCaptchaRef.current?.endTiming() - } - }).catch(console.log) - } + tenantCode: formRef?.current?.getFieldValue('tenant_code'), + uuid: formRef?.current?.getFieldValue(MOBILE.key), + }; + const co = { co: param }; + sendCaptcha('mobile', co as API.SendCaptchaCO, uuidV7()) + .then((res) => { + if (res.code !== 'OK') { + mobileCaptchaRef.current?.endTiming(); + } + }) + .catch(console.log); + }; const clearMailCaptcha = () => { - setFormField({mail_captcha: ''}) - } + setFormField({ mail_captcha: '' }); + }; const clearMobileCaptcha = () => { - setFormField({mobile_captcha: ''}) - } + setFormField({ mobile_captcha: '' }); + }; - const timeFix = () => { + const timeFix = () => { const time = new Date(); const hour = time.getHours(); - return hour < 9 ? '早上好' : hour <= 11 ? '上午好' : hour <= 13 ? '中午好' : hour < 20 ? '下午好' : '晚上好'; + return hour < 9 + ? t('login.greeting.morning') + : hour <= 11 + ? t('login.greeting.forenoon') + : hour <= 13 + ? t('login.greeting.noon') + : hour < 20 + ? t('login.greeting.afternoon') + : t('login.greeting.evening'); }; useEffect(() => { - clearToken() - getPublicKey().catch(console.log) - getCaptchaImage().catch(console.log) + clearToken(); + getPublicKey().catch(console.log); + getCaptchaImage().catch(console.log); }, []); const onSubmit = async (form: API.LoginParam) => { - setLoading(true) + setLoading(true); const params = getParams(form); - login({...params}) + login({ ...params }) // @ts-ignore - .then((res: { - code: string; - data: { access_token: string; refresh_token: string; expires_in: number; }; - }) => { - if (res.code === 'OK') { + .then((res) => { + if (res?.code === 'OK') { // 提示框【登录成功】 - message.success(`${timeFix()},欢迎回来`).then(); + message + .success(t('login.welcomeBack', { greeting: timeFix() })) + .then(); // 登录成功,存储令牌 - setToken(res.data?.access_token, res.data?.refresh_token, res.data?.expires_in * 1000 + new Date().getTime()) + setToken( + res.data?.access_token, + res.data?.refresh_token, + res.data?.expires_in * 1000 + new Date().getTime(), + ); // 获取跳转地址 const urlParams = new URL(window.location.href).searchParams; // 跳转路由 @@ -180,7 +205,7 @@ export default () => { // 1.5秒后刷新页面 setTimeout(() => { window.location.reload(); - }, 1500) + }, 1500); } }) .catch(() => { @@ -188,7 +213,8 @@ export default () => { getCaptchaImage(); clearMailCaptcha(); clearMobileCaptcha(); - }).finally(() => setLoading(false)); + }) + .finally(() => setLoading(false)); }; return ( @@ -199,14 +225,16 @@ export default () => { width: '100vw', }} > -
+
} + backgroundImageUrl={'/FfdJeJRQWjEeGTpqgBKj.png'} + logo={logo} title={t('app.title')} subTitle={t('login.subtitle')} loading={loading} @@ -220,7 +248,13 @@ export default () => { }} > - + {t('login.otherWays')} @@ -237,7 +271,9 @@ export default () => { borderRadius: '50%', }} > - +
{ borderRadius: '50%', }} > - +
{ borderRadius: '50%', }} > - +
{ borderRadius: '50%', }} > - +
@@ -289,7 +331,9 @@ export default () => { centered items={items} activeKey={loginType} - onChange={(activeKey) => setLoginType(activeKey as LoginType)} + onChange={(activeKey) => + setLoginType(activeKey as LoginType) + } > { name="tenant_code" fieldProps={{ size: 'large', - prefix: , + prefix: , autoComplete: 'new-password', }} placeholder={t('login.tenantCode.placeholder')} @@ -316,7 +360,9 @@ export default () => { name="username" fieldProps={{ size: 'large', - prefix: , + prefix: ( + + ), autoComplete: 'new-password', }} placeholder={t('login.username.placeholder')} @@ -332,7 +378,9 @@ export default () => { name="password" fieldProps={{ size: 'large', - prefix: , + prefix: ( + + ), autoComplete: 'new-password', }} placeholder={t('login.password.placeholder')} @@ -347,10 +395,14 @@ export default () => {
, + prefix: ( + + ), autoComplete: 'new-password', }} name="captcha" @@ -358,7 +410,9 @@ export default () => { rules={[ { required: true, - message: t('login.captcha.required'), + message: t( + 'login.captcha.required', + ), }, { pattern: /^[A-Za-z0-9]{4}$/, @@ -370,10 +424,10 @@ export default () => { getCaptchaImage()} @@ -388,7 +442,9 @@ export default () => { disabled={loading} fieldProps={{ size: 'large', - prefix: , + prefix: ( + + ), autoComplete: 'new-password', }} name="mobile" @@ -408,7 +464,11 @@ export default () => { disabled={loading} fieldProps={{ size: 'large', - prefix: , + prefix: ( + + ), autoComplete: 'new-password', }} fieldRef={mobileCaptchaRef} @@ -418,7 +478,9 @@ export default () => { placeholder={t('login.smsCaptcha.placeholder')} captchaTextRender={(timing, count) => { if (timing) { - return t('login.captcha.countdown', {count}); + return t('login.captcha.countdown', { + count, + }); } return t('login.captcha.get'); }} @@ -443,7 +505,9 @@ export default () => { disabled={loading} fieldProps={{ size: 'large', - prefix: , + prefix: ( + + ), autoComplete: 'new-password', }} name="mail" @@ -454,7 +518,8 @@ export default () => { message: t('login.mail.required'), }, { - pattern: /^\w+(-+.\w+)*@\w+(-.\w+)*.\w+(-.\w+)*$/, + pattern: + /^\w+(-+.\w+)*@\w+(-.\w+)*.\w+(-.\w+)*$/, message: t('login.mail.invalid'), }, ]} @@ -463,7 +528,11 @@ export default () => { disabled={loading} fieldProps={{ size: 'large', - prefix: , + prefix: ( + + ), autoComplete: 'new-password', }} fieldRef={mailCaptchaRef} @@ -473,7 +542,9 @@ export default () => { placeholder={t('login.mailCaptcha.placeholder')} captchaTextRender={(timing, count) => { if (timing) { - return t('login.captcha.countdown', {count}); + return t('login.captcha.countdown', { + count, + }); } return t('login.captcha.get'); }} diff --git a/ui/src/pages/Sys/Config/generator.tsx b/ui/src/pages/Sys/Config/generator.tsx index e54dab0075..bd150b460a 100644 --- a/ui/src/pages/Sys/Config/generator.tsx +++ b/ui/src/pages/Sys/Config/generator.tsx @@ -1,11 +1,13 @@ -import type {ProColumns} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {pageOssLog} from "@/services/admin/ossLog"; -import {useRef} from "react"; -import {Space, Tag} from "antd"; +import { pageOssLog } from '@/services/admin/ossLog'; +import { useIntl } from '@@/exports'; +import type { ActionType, ProColumns } from '@ant-design/pro-components'; +import { ProTable } from '@ant-design/pro-components'; +import { useRef } from 'react'; export default () => { - + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); type TableColumns = { id: number | undefined; databaseName: string; @@ -22,43 +24,47 @@ export default () => { createTime: string | undefined; }; - const actionRef = useRef(); + const actionRef = useRef(null); const getPageQueryParam = (params: any) => { - return { + return { pageSize: params?.pageSize, pageNum: params?.current, pageIndex: params?.pageSize * (params?.current - 1), params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + }; const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '创建日期', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建日期', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始日期', '请选择结束日期'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -67,8 +73,8 @@ export default () => { endDate: value[1], }; }, - } - } + }, + }, ]; return ( @@ -77,19 +83,19 @@ export default () => { columns={columns} request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return pageOssLog(getPageQueryParam(params)).then(res => { + return pageOssLog(getPageQueryParam(params)).then((res) => { return Promise.resolve({ data: res?.data?.records, total: parseInt(res?.data?.total || 0), success: true, }); - }) + }); }} rowKey="id" pagination={{ showQuickJumper: true, showSizeChanger: false, - pageSize: 10 + pageSize: 10, }} search={{ layout: 'vertical', @@ -97,8 +103,8 @@ export default () => { }} dateFormatter="string" toolbar={{ - title: '代码生成器', - tooltip: '代码生成器', + title: t('menu.sys.config.generator'), + tooltip: t('menu.sys.config.generator'), }} /> ); diff --git a/ui/src/pages/Sys/Log/NoticeDrawer.tsx b/ui/src/pages/Sys/Log/NoticeDrawer.tsx index af169596f5..d405f38517 100644 --- a/ui/src/pages/Sys/Log/NoticeDrawer.tsx +++ b/ui/src/pages/Sys/Log/NoticeDrawer.tsx @@ -1,5 +1,6 @@ -import {DrawerForm, ProFormText} from '@ant-design/pro-components'; -import React from "react"; +import { useIntl } from '@@/exports'; +import { DrawerForm, ProFormText } from '@ant-design/pro-components'; +import React from 'react'; interface NoticeLogDrawerProps { modalVisit: boolean; @@ -18,16 +19,24 @@ type TableColumns = { createTime: string | undefined; }; -export const NoticeLogDrawer: React.FC = ({ modalVisit, setModalVisit, dataSource, getStatus }) => { +export const NoticeLogDrawer: React.FC = ({ + modalVisit, + setModalVisit, + dataSource, + getStatus, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); return ( open={modalVisit} - title="查看通知日志" + title={t('sys.log.notice.drawer.title')} drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalVisit} @@ -36,54 +45,83 @@ export const NoticeLogDrawer: React.FC = ({ modalVisit, se style: { display: 'none', }, - } + }, }} > { - return getStatus(value as string) + return getStatus(value as string); }} /> - ); }; diff --git a/ui/src/pages/Sys/Log/OperateDrawer.tsx b/ui/src/pages/Sys/Log/OperateDrawer.tsx index d1488e5b34..f99d0e89d0 100644 --- a/ui/src/pages/Sys/Log/OperateDrawer.tsx +++ b/ui/src/pages/Sys/Log/OperateDrawer.tsx @@ -1,6 +1,7 @@ -import {DrawerForm, ProFormText} from '@ant-design/pro-components'; -import {ProFormTextArea} from "@ant-design/pro-form"; -import React from "react"; +import { useIntl } from '@@/exports'; +import { DrawerForm, ProFormText } from '@ant-design/pro-components'; +import { ProFormTextArea } from '@ant-design/pro-form'; +import React from 'react'; interface OperateLogDrawerProps { modalVisit: boolean; @@ -32,16 +33,24 @@ type TableColumns = { createTime: string | undefined; }; -export const OperateLogDrawer: React.FC = ({ modalVisit, setModalVisit, dataSource, getStatus }) => { +export const OperateLogDrawer: React.FC = ({ + modalVisit, + setModalVisit, + dataSource, + getStatus, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); return ( open={modalVisit} - title="查看操作日志" + title={t('sys.log.operate.drawer.title')} drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} width={1200} initialValues={dataSource} @@ -51,131 +60,215 @@ export const OperateLogDrawer: React.FC = ({ modalVisit, style: { display: 'none', }, - } - }}> - + }, + }} + > { - return getStatus(value as string) + return getStatus(value as string); }} /> - ); }; diff --git a/ui/src/pages/Sys/Log/login.tsx b/ui/src/pages/Sys/Log/login.tsx index aae450a8da..63785e006a 100644 --- a/ui/src/pages/Sys/Log/login.tsx +++ b/ui/src/pages/Sys/Log/login.tsx @@ -1,16 +1,15 @@ -import type {ProColumns} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {exportLoginLog, pageLoginLog} from "@/services/admin/loginLog"; -import {Button} from "antd"; -import {ExportOutlined} from "@ant-design/icons"; -import {trim} from "@/utils/format"; -import {ExportToExcel} from "@/utils/export"; -import moment from "moment"; -import {useRef, useState} from "react"; -import {useAccess, useIntl} from "@@/exports"; +import { exportLoginLog, pageLoginLog } from '@/services/admin/loginLog'; +import { ExportToExcel } from '@/utils/export'; +import { trim } from '@/utils/format'; +import { useAccess, useIntl } from '@@/exports'; +import { ExportOutlined } from '@ant-design/icons'; +import type { ProColumns } from '@ant-design/pro-components'; +import { ProTable } from '@ant-design/pro-components'; +import { Button } from 'antd'; +import moment from 'moment'; +import { useRef, useState } from 'react'; export default () => { - type TableColumns = { id: number | undefined; username: string | undefined; @@ -26,27 +25,28 @@ export default () => { const access = useAccess(); const intl = useIntl(); - const t = (id: string, values?: Record) => intl.formatMessage({id}, values); - const actionRef = useRef(null); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const actionRef = useRef(null); const [list, setList] = useState([]); const [param, setParam] = useState({}); - const [loading, setLoading] = useState(false) + const [loading, setLoading] = useState(false); const getLoginType = (type: string) => { return { - 'username_password': t('login.usernamePassword'), - 'mobile': t('login.mobile'), - 'mail': '邮箱登录', - 'authorization_code': '授权码登录', - }[type] - } + username_password: t('login.usernamePassword'), + mobile: t('login.mobile'), + mail: t('login.mail'), + authorization_code: t('sys.log.login.type.authorizationCode'), + }[type]; + }; const getLoginStatus = (status: string) => { return { - '0': '登录成功', - '1': '登录失败', - }[status] - } + '0': t('sys.log.login.status.success'), + '1': t('sys.log.login.status.fail'), + }[status]; + }; const getPageQueryParam = (params: any) => { const param = { @@ -62,68 +62,72 @@ export default () => { type: params?.typeValue, errorMessage: trim(params?.errorMessage), params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - setParam(param) - return param - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + setParam(param); + return param; + }; const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '用户名', + title: t('user.username'), dataIndex: 'username', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入用户名', - } + placeholder: t('user.placeholder.username'), + }, }, { - title: 'IP地址', + title: t('sys.log.login.ip'), dataIndex: 'ip', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入IP地址', - } + placeholder: t('sys.log.login.placeholder.ip'), + }, }, { - title: '归属地', + title: t('sys.log.login.address'), dataIndex: 'address', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入归属地', - } + placeholder: t('sys.log.login.placeholder.address'), + }, }, { - title: '浏览器', + title: t('sys.log.login.browser'), dataIndex: 'browser', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入浏览器', - } + placeholder: t('sys.log.login.placeholder.browser'), + }, }, { - title: '操作系统', + title: t('sys.log.login.os'), dataIndex: 'os', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入操作系统', - } + placeholder: t('sys.log.login.placeholder.os'), + }, }, { - title: '登录状态', + title: t('sys.log.login.status'), key: 'statusValue', dataIndex: 'statusValue', valueType: 'select', @@ -132,40 +136,39 @@ export default () => { valueType: 'select', mode: 'single', options: [ - { value: '0', - label: '登录成功', + label: t('sys.log.login.status.success'), }, { value: '1', - label: '登录失败', + label: t('sys.log.login.status.fail'), }, ], - placeholder: '请选择登录状态', - } + placeholder: t('sys.log.login.placeholder.status'), + }, }, { - title: '登录状态', + title: t('sys.log.login.status'), dataIndex: 'status', hideInSearch: true, valueEnum: { - '0': { text: '登录成功', status: 'Success'}, - '1': { text: '登录失败', status: 'Error'} + '0': { text: t('sys.log.login.status.success'), status: 'Success' }, + '1': { text: t('sys.log.login.status.fail'), status: 'Error' }, }, - ellipsis: true + ellipsis: true, }, { - title: '错误信息', + title: t('sys.log.login.errorMessage'), dataIndex: 'errorMessage', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入错误信息', - } + placeholder: t('sys.log.login.placeholder.errorMessage'), + }, }, { - title: '登录类型', + title: t('sys.log.login.type'), key: 'typeValue', dataIndex: 'typeValue', valueType: 'select', @@ -179,50 +182,56 @@ export default () => { label: t('login.usernamePassword'), }, { - value: "mail", - label: "邮箱登录", + value: 'mail', + label: t('login.mail'), }, { - value: "mobile", - label: "手机号登录", + value: 'mobile', + label: t('login.mobile'), }, { - value: "authorization_code", - label: "授权码登录", + value: 'authorization_code', + label: t('sys.log.login.type.authorizationCode'), }, ], - placeholder: '请选择登录类型', + placeholder: t('sys.log.login.placeholder.type'), }, }, { - title: '登录类型', + title: t('sys.log.login.type'), dataIndex: 'type', hideInSearch: true, valueEnum: { - authorization_code:{ text: '授权码登录', status: 'Error'}, - mail: { text: '邮箱登录', status: 'Success'}, - mobile: { text: '手机号登录', status: 'Default' }, - username_password: { text: '用户名密码登录', status: 'Processing' } + authorization_code: { + text: t('sys.log.login.type.authorizationCode'), + status: 'Error', + }, + mail: { text: t('login.mail'), status: 'Success' }, + mobile: { text: t('login.mobile'), status: 'Default' }, + username_password: { + text: t('login.usernamePassword'), + status: 'Processing', + }, }, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '登录日期', + title: t('sys.log.login.loginTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '登录日期', + title: t('sys.log.login.loginTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始日期', '请选择结束日期'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -231,8 +240,8 @@ export default () => { endDate: value[1], }; }, - } - } + }, + }, ]; return ( @@ -241,65 +250,99 @@ export default () => { columns={columns} request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - const list: TableColumns[] = [] - return pageLoginLog(getPageQueryParam(params)).then(res => { + const list: TableColumns[] = []; + return pageLoginLog(getPageQueryParam(params)).then((res) => { res?.data?.records?.forEach((item: TableColumns) => { item.status = item.status as string; item.type = item.type as string; list.push(item); }); - setList(list) + setList(list); return Promise.resolve({ data: list, total: parseInt(res?.data?.total || 0), success: true, }); - }) + }); }} rowKey="id" pagination={{ showQuickJumper: true, showSizeChanger: false, - pageSize: 10 + pageSize: 10, }} search={{ layout: 'vertical', defaultCollapsed: true, }} - toolBarRender={ - () => [ - , - ( access.canLoginLogExport && ) - ] - } + sheetFilter: [ + 'username', + 'ip', + 'address', + 'browser', + 'os', + 'status', + 'errorMessage', + 'type', + 'createTime', + ], + sheetHeader: [ + t('user.username'), + t('sys.log.login.ip'), + t('sys.log.login.address'), + t('sys.log.login.browser'), + t('sys.log.login.os'), + t('sys.log.login.status'), + t('sys.log.login.errorMessage'), + t('sys.log.login.type'), + t('sys.log.login.loginTime'), + ], + fileName: + t('sys.log.login.exportFilePrefix') + + moment(new Date()).format('YYYYMMDDHHmmss'), + sheetName: t('sys.log.login.title'), + }); + }} + > + {t('sys.log.common.export')} + , + access.canLoginLogExport && ( + + ), + ]} dateFormatter="string" toolbar={{ - title: '登录日志', - tooltip: '登录日志', + title: t('menu.sys.log.login'), + tooltip: t('menu.sys.log.login'), }} /> ); diff --git a/ui/src/pages/Sys/Log/notice.tsx b/ui/src/pages/Sys/Log/notice.tsx index c44bdf36b7..bc5239d8ea 100644 --- a/ui/src/pages/Sys/Log/notice.tsx +++ b/ui/src/pages/Sys/Log/notice.tsx @@ -1,20 +1,25 @@ -import {ProColumns} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {exportNoticeLog, pageNoticeLog, getNoticeLogById} from "@/services/admin/noticeLog"; -import {Button} from "antd"; -import {ExportOutlined} from "@ant-design/icons"; -import {trim} from "@/utils/format"; -import {ExportToExcel} from "@/utils/export"; -import moment from "moment"; -import {useRef, useState} from "react"; -import {NoticeLogDrawer} from "@/pages/Sys/Log/NoticeDrawer"; -import {useAccess} from "@@/exports"; +import { NoticeLogDrawer } from '@/pages/Sys/Log/NoticeDrawer'; +import { + exportNoticeLog, + getNoticeLogById, + pageNoticeLog, +} from '@/services/admin/noticeLog'; +import { ExportToExcel } from '@/utils/export'; +import { trim } from '@/utils/format'; +import { useAccess, useIntl } from '@@/exports'; +import { ExportOutlined } from '@ant-design/icons'; +import { ProColumns, ProTable } from '@ant-design/pro-components'; +import { Button } from 'antd'; +import moment from 'moment'; +import { useRef, useState } from 'react'; export default () => { - + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); const [modalVisit, setModalVisit] = useState(false); - const [dataSource, setDataSource] = useState({}) - const [loading, setLoading] = useState(false) + const [dataSource, setDataSource] = useState({}); + const [loading, setLoading] = useState(false); type TableColumns = { id: number; @@ -26,17 +31,17 @@ export default () => { createTime: string | undefined; }; - const access = useAccess() - const actionRef = useRef(null); + const access = useAccess(); + const actionRef = useRef(null); const [list, setList] = useState([]); const [param, setParam] = useState({}); const getStatus = (status: string) => { return { - '0': '成功', - '1': '失败', - }[status] - } + '0': t('sys.log.common.success'), + '1': t('sys.log.common.fail'), + }[status]; + }; const getPageQueryParam = (params: any) => { const param = { @@ -48,41 +53,45 @@ export default () => { status: params?.statusValue, errorMessage: trim(params?.errorMessage), params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - setParam(param) - return param - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + setParam(param); + return param; + }; const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '通知编码', + title: t('sys.log.notice.code'), dataIndex: 'code', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入通知编码', - } + placeholder: t('sys.log.notice.placeholder.code'), + }, }, { - title: '通知名称', + title: t('sys.log.notice.name'), dataIndex: 'name', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入通知名称', - } + placeholder: t('sys.log.notice.placeholder.name'), + }, }, { - title: '通知状态', + title: t('sys.log.notice.status'), key: 'statusValue', dataIndex: 'statusValue', hideInTable: true, @@ -90,54 +99,54 @@ export default () => { fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择通知状态', + placeholder: t('sys.log.notice.placeholder.status'), options: [ { - label: '成功', + label: t('sys.log.common.success'), value: '0', }, { - label: '失败', + label: t('sys.log.common.fail'), value: '1', }, ], - } + }, }, { - title: '通知状态', + title: t('sys.log.notice.status'), dataIndex: 'status', hideInSearch: true, valueEnum: { - '0': {text: '成功', status: 'Success'}, - '1': {text: '失败', status: 'Error'}, + '0': { text: t('sys.log.common.success'), status: 'Success' }, + '1': { text: t('sys.log.common.fail'), status: 'Error' }, }, - ellipsis: true + ellipsis: true, }, { - title: '错误信息', + title: t('sys.log.notice.errorMessage'), dataIndex: 'errorMessage', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入错误信息', - } + placeholder: t('sys.log.notice.placeholder.errorMessage'), + }, }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始时间', '请选择结束时间'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -146,32 +155,34 @@ export default () => { endDate: value[1], }; }, - } + }, }, { - title: '操作', + title: t('common.operation'), valueType: 'option', key: 'option', render: (_, record) => [ - ( access.canNoticeLogGetDetail && { - getNoticeLogById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setDataSource(res?.data) - setModalVisit(true) - } - }) - }} - > - 查看 - ) + access.canNoticeLogGetDetail && ( + { + getNoticeLogById({ id: record?.id }).then((res) => { + if (res.code === 'OK') { + setDataSource(res?.data); + setModalVisit(true); + } + }); + }} + > + {t('common.view')} + + ), ], }, ]; return ( <> - { columns={columns} request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - const list: TableColumns[] = [] - return pageNoticeLog(getPageQueryParam(params)).then(res => { - res?.data?.records?.forEach((item: TableColumns) => { - item.status = item.status as string; - list.push(item); - }); - setList(list) - return Promise.resolve({ - data: list, - total: parseInt(res?.data?.total || 0), - success: true, - }); - }) + const list: TableColumns[] = []; + return pageNoticeLog(getPageQueryParam(params)).then( + (res) => { + res?.data?.records?.forEach( + (item: TableColumns) => { + item.status = item.status as string; + list.push(item); + }, + ); + setList(list); + return Promise.resolve({ + data: list, + total: parseInt(res?.data?.total || 0), + success: true, + }); + }, + ); }} rowKey="id" pagination={{ showQuickJumper: true, showSizeChanger: false, - pageSize: 10 + pageSize: 10, }} search={{ layout: 'vertical', defaultCollapsed: true, }} - toolBarRender={ - () => [ - , - ( access.canNoticeLogExport && ) - ] - } + sheetFilter: [ + 'code', + 'name', + 'status', + 'param', + 'errorMessage', + 'createTime', + ], + sheetHeader: [ + t('sys.log.notice.code'), + t('sys.log.notice.name'), + t('sys.log.notice.status'), + t('sys.log.notice.param'), + t('sys.log.notice.errorMessage'), + t('common.createTime'), + ], + fileName: + t('sys.log.notice.exportFilePrefix') + + moment(new Date()).format('YYYYMMDDHHmmss'), + sheetName: t('sys.log.notice.title'), + }); + }} + > + {t('sys.log.common.export')} + , + access.canNoticeLogExport && ( + + ), + ]} dateFormatter="string" toolbar={{ - title: '通知日志', - tooltip: '通知日志', + title: t('menu.sys.log.notice'), + tooltip: t('menu.sys.log.notice'), }} /> diff --git a/ui/src/pages/Sys/Log/operate.tsx b/ui/src/pages/Sys/Log/operate.tsx index d19c81711f..bb33d1a497 100644 --- a/ui/src/pages/Sys/Log/operate.tsx +++ b/ui/src/pages/Sys/Log/operate.tsx @@ -1,20 +1,25 @@ -import {ProColumns} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {exportOperateLog, pageOperateLog, getOperateLogById} from "@/services/admin/operateLog"; -import {Button} from "antd"; -import {ExportOutlined} from "@ant-design/icons"; -import {trim} from "@/utils/format"; -import {ExportToExcel} from "@/utils/export"; -import moment from "moment"; -import {useRef, useState} from "react"; -import {OperateLogDrawer} from "@/pages/Sys/Log/OperateDrawer"; -import {useAccess} from "@@/exports"; +import { OperateLogDrawer } from '@/pages/Sys/Log/OperateDrawer'; +import { + exportOperateLog, + getOperateLogById, + pageOperateLog, +} from '@/services/admin/operateLog'; +import { ExportToExcel } from '@/utils/export'; +import { trim } from '@/utils/format'; +import { useAccess, useIntl } from '@@/exports'; +import { ExportOutlined } from '@ant-design/icons'; +import { ProColumns, ProTable } from '@ant-design/pro-components'; +import { Button } from 'antd'; +import moment from 'moment'; +import { useRef, useState } from 'react'; export default () => { - + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); const [modalVisit, setModalVisit] = useState(false); - const [dataSource, setDataSource] = useState({}) - const [loading, setLoading] = useState(false) + const [dataSource, setDataSource] = useState({}); + const [loading, setLoading] = useState(false); type TableColumns = { id: number; @@ -30,17 +35,17 @@ export default () => { costTime: number | string; }; - const access = useAccess() - const actionRef = useRef(); + const access = useAccess(); + const actionRef = useRef(null); const [list, setList] = useState([]); const [param, setParam] = useState({}); const getStatus = (status: string) => { return { - '0': '成功', - '1': '失败', - }[status] - } + '0': t('sys.log.common.success'), + '1': t('sys.log.common.fail'), + }[status]; + }; const getPageQueryParam = (params: any) => { const param = { @@ -56,74 +61,79 @@ export default () => { profile: trim(params?.profile), errorMessage: trim(params?.errorMessage), params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - setParam(param) - return param - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + setParam(param); + return param; + }; const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '模块名称', + title: t('sys.log.operate.moduleName'), dataIndex: 'moduleName', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入模块名称', - } + placeholder: t('sys.log.operate.placeholder.moduleName'), + }, }, { - title: '操作名称', + title: t('sys.log.operate.name'), dataIndex: 'name', ellipsis: true, valueType: 'text', + width: 130, fieldProps: { - placeholder: '请输入操作名称', - } + placeholder: t('sys.log.operate.placeholder.name'), + }, }, { - title: '请求类型', + title: t('sys.log.operate.requestType'), dataIndex: 'requestType', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入请求类型', - } + placeholder: t('sys.log.operate.placeholder.requestType'), + }, }, { - title: '操作人员', + title: t('sys.log.operate.operator'), dataIndex: 'operator', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入操作人员', - } + placeholder: t('sys.log.operate.placeholder.operator'), + }, }, { - title: 'IP地址', + title: t('sys.log.operate.ip'), dataIndex: 'ip', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入IP地址', - } + placeholder: t('sys.log.operate.placeholder.ip'), + }, }, { - title: 'IP归属地', + title: t('sys.log.operate.address'), dataIndex: 'address', ellipsis: true, - hideInSearch: true + hideInSearch: true, }, { - title: '操作状态', + title: t('sys.log.operate.status'), dataIndex: 'statusValue', valueType: 'select', hideInTable: true, @@ -132,59 +142,60 @@ export default () => { mode: 'single', options: [ { - label: '成功', + label: t('sys.log.common.success'), value: '0', }, { - label: '失败', + label: t('sys.log.common.fail'), value: '1', }, ], - placeholder: '请选择操作状态', - } + placeholder: t('sys.log.operate.placeholder.status'), + }, }, { - title: '操作状态', + title: t('sys.log.operate.status'), dataIndex: 'status', hideInSearch: true, + ellipsis: true, valueEnum: { - '0': {text: '成功', status: 'Success'}, - '1': {text: '失败', status: 'Error'}, + '0': { text: t('sys.log.common.success'), status: 'Success' }, + '1': { text: t('sys.log.common.fail'), status: 'Error' }, }, - width: 80 + width: 80, }, { - title: '错误信息', + title: t('sys.log.operate.errorMessage'), dataIndex: 'errorMessage', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入错误信息', - } + placeholder: t('sys.log.operate.placeholder.errorMessage'), + }, }, { - title: '消耗时间(毫秒)', + title: t('sys.log.operate.costTime'), dataIndex: 'costTime', hideInSearch: true, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始时间', '请选择结束时间'], - }, + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], + }, search: { transform: (value) => { return { @@ -192,25 +203,31 @@ export default () => { endDate: value[1], }; }, - } + }, }, { - title: '操作', + title: t('common.operation'), valueType: 'option', key: 'option', + width: 100, render: (_, record) => [ - ( access.canOperateLogGetDetail && { - getOperateLogById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setDataSource(res?.data) - setModalVisit(true) - } - }) - }} - > - 查看 - ) + access.canOperateLogGetDetail && ( + { + getOperateLogById({ id: record?.id }).then( + (res) => { + if (res.code === 'OK') { + setDataSource(res?.data); + setModalVisit(true); + } + }, + ); + }} + > + {t('common.view')} + + ), ], }, ]; @@ -230,63 +247,103 @@ export default () => { columns={columns} request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - const list: TableColumns[] = [] - return pageOperateLog(getPageQueryParam(params)).then(res => { - res?.data?.records?.forEach((item: TableColumns) => { - item.status = item.status as string; - list.push(item); - }); - setList(list) - return Promise.resolve({ - data: list, - total: parseInt(res?.data?.total || 0), - success: true, - }); - }) + const list: TableColumns[] = []; + return pageOperateLog(getPageQueryParam(params)).then( + (res) => { + res?.data?.records?.forEach( + (item: TableColumns) => { + item.status = item.status as string; + list.push(item); + }, + ); + setList(list); + return Promise.resolve({ + data: list, + total: parseInt(res?.data?.total || 0), + success: true, + }); + }, + ); }} rowKey="id" pagination={{ showQuickJumper: true, showSizeChanger: false, - pageSize: 10 + pageSize: 10, }} search={{ layout: 'vertical', defaultCollapsed: true, }} - toolBarRender={ - () => [ - , - ( access.canOperateLogExport && ) - ] - } + sheetFilter: [ + 'moduleName', + 'name', + 'requestType', + 'operator', + 'ip', + 'address', + 'status', + 'errorMessage', + 'costTime', + 'createTime', + ], + sheetHeader: [ + t('sys.log.operate.moduleName'), + t('sys.log.operate.name'), + t('sys.log.operate.requestType'), + t('sys.log.operate.operator'), + t('sys.log.operate.ip'), + t('sys.log.operate.address'), + t('sys.log.operate.status'), + t('sys.log.operate.errorMessage'), + t('sys.log.operate.costTime'), + t('common.createTime'), + ], + fileName: + t('sys.log.operate.exportFilePrefix') + + moment(new Date()).format('YYYYMMDDHHmmss'), + sheetName: t('sys.log.operate.title'), + }); + }} + > + {t('sys.log.common.export')} + , + access.canOperateLogExport && ( + + ), + ]} dateFormatter="string" toolbar={{ - title: '操作日志', - tooltip: '操作日志', + title: t('menu.sys.log.operate'), + tooltip: t('menu.sys.log.operate'), }} /> diff --git a/ui/src/pages/Sys/Oss/config.tsx b/ui/src/pages/Sys/Oss/config.tsx index 98a221aad1..32e458bfe6 100644 --- a/ui/src/pages/Sys/Oss/config.tsx +++ b/ui/src/pages/Sys/Oss/config.tsx @@ -1,12 +1,15 @@ -import type {ProColumns} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {pageOss} from "@/services/admin/oss"; -import {trim} from "@/utils/format"; -import {useRef} from "react"; -import {Space, Switch, Tag} from "antd"; +import { pageOss } from '@/services/admin/oss'; +import { trim } from '@/utils/format'; +import { useIntl } from '@@/exports'; +import type { ActionType, ProColumns } from '@ant-design/pro-components'; +import { ProTable } from '@ant-design/pro-components'; +import { Space, Switch, Tag } from 'antd'; +import { useRef } from 'react'; export default () => { - + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); type TableColumns = { id: number | undefined; name: string | undefined; @@ -15,10 +18,10 @@ export default () => { createTime: string | undefined; }; - const actionRef = useRef(); + const actionRef = useRef(null); const getPageQueryParam = (params: any) => { - return { + return { pageSize: params?.pageSize, pageNum: params?.current, pageIndex: params?.pageSize * (params?.current - 1), @@ -26,30 +29,34 @@ export default () => { status: params?.statusValue, type: params?.typeValue, params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + }; const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: 'OSS名称', + title: t('sys.oss.config.name'), dataIndex: 'name', ellipsis: true, valueType: 'text', fieldProps: { - placeholder: '请输入OSS名称', - } + placeholder: t('sys.oss.config.placeholder.name'), + }, }, { - title: 'OSS类型', + title: t('sys.oss.config.type'), key: 'typeValue', dataIndex: 'typeValue', hideInTable: true, @@ -57,15 +64,15 @@ export default () => { fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择OSS类型', + placeholder: t('sys.oss.config.placeholder.type'), options: [ { value: 'amazon_s3', - label: '亚马逊S3', + label: t('sys.oss.config.type.amazonS3'), }, { value: 'local', - label: '本地', + label: t('sys.oss.config.type.local'), }, { value: 'minio', @@ -73,11 +80,11 @@ export default () => { }, ], }, - ellipsis: true + ellipsis: true, }, { disable: true, - title: 'OSS类型', + title: t('sys.oss.config.type'), dataIndex: 'type', hideInSearch: true, renderFormItem: (_, { defaultRender }) => { @@ -87,12 +94,12 @@ export default () => { {record?.type === 'amazon_s3' && ( - 亚马逊S3 + {t('sys.oss.config.type.amazonS3')} )} {record?.type === 'local' && ( - 本地 + {t('sys.oss.config.type.local')} )} {record?.type === 'minio' && ( @@ -104,7 +111,7 @@ export default () => { ), }, { - title: 'OSS状态', + title: t('sys.oss.config.status'), key: 'statusValue', dataIndex: 'statusValue', hideInTable: true, @@ -112,44 +119,49 @@ export default () => { fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择菜单状态', + placeholder: t('sys.oss.config.placeholder.status'), options: [ { value: 0, - label: '启用', + label: t('common.enable'), }, { value: 1, - label: '禁用', + label: t('common.disable'), }, - ] + ], }, - ellipsis: true + ellipsis: true, }, { - title: 'OSS状态', + title: t('sys.oss.config.status'), dataIndex: 'status', hideInSearch: true, render: (_, record) => ( - + ), }, { - title: '登录日期', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '登录日期', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始日期', '请选择结束日期'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -158,8 +170,8 @@ export default () => { endDate: value[1], }; }, - } - } + }, + }, ]; return ( @@ -168,19 +180,19 @@ export default () => { columns={columns} request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return pageOss(getPageQueryParam(params)).then(res => { + return pageOss(getPageQueryParam(params)).then((res) => { return Promise.resolve({ data: res?.data?.records, total: parseInt(res?.data?.total || 0), success: true, }); - }) + }); }} rowKey="id" pagination={{ showQuickJumper: true, showSizeChanger: false, - pageSize: 10 + pageSize: 10, }} search={{ layout: 'vertical', @@ -188,8 +200,8 @@ export default () => { }} dateFormatter="string" toolbar={{ - title: '对象存储配置', - tooltip: '对象存储配置', + title: t('menu.sys.oss.config'), + tooltip: t('menu.sys.oss.config'), }} /> ); diff --git a/ui/src/pages/Sys/Oss/log.tsx b/ui/src/pages/Sys/Oss/log.tsx index 17da27f79a..a9b62c9e8f 100644 --- a/ui/src/pages/Sys/Oss/log.tsx +++ b/ui/src/pages/Sys/Oss/log.tsx @@ -1,11 +1,14 @@ -import type {ProColumns} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {pageOssLog} from "@/services/admin/ossLog"; -import {useRef} from "react"; -import {Space, Tag} from "antd"; +import { pageOssLog } from '@/services/admin/ossLog'; +import { useIntl } from '@@/exports'; +import type { ActionType, ProColumns } from '@ant-design/pro-components'; +import { ProTable } from '@ant-design/pro-components'; +import { Space, Tag } from 'antd'; +import { useRef } from 'react'; export default () => { - + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); type TableColumns = { id: number | undefined; name: string | undefined; @@ -19,57 +22,61 @@ export default () => { createTime: string | undefined; }; - const actionRef = useRef(); + const actionRef = useRef(null); const getPageQueryParam = (params: any) => { - return { + return { pageSize: params?.pageSize, pageNum: params?.current, pageIndex: params?.pageSize * (params?.current - 1), params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + }; const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '文件名称', + title: t('sys.oss.log.name'), dataIndex: 'name', ellipsis: true, valueType: 'text', - hideInSearch: true + hideInSearch: true, }, { title: 'MD5', dataIndex: 'md5', ellipsis: true, valueType: 'text', - hideInSearch: true + hideInSearch: true, }, { - title: '文件大小【单位/字节】', + title: t('sys.oss.log.size'), dataIndex: 'size', ellipsis: true, valueType: 'text', - hideInSearch: true + hideInSearch: true, }, { - title: '文件类型', + title: t('sys.oss.log.contentType'), dataIndex: 'contentType', ellipsis: true, valueType: 'text', - hideInSearch: true + hideInSearch: true, }, { - title: '类型', + title: t('sys.oss.log.type'), dataIndex: 'type', ellipsis: true, valueType: 'text', @@ -80,45 +87,45 @@ export default () => { {record?.type === 'image' && ( - 图片 + {t('sys.oss.log.type.image')} )} {record?.type === 'video' && ( - 视频 + {t('sys.oss.log.type.video')} )} {record?.type === 'audio' && ( - 音频 + {t('sys.oss.log.type.audio')} )} ), }, { - title: '文件格式', + title: t('sys.oss.log.format'), dataIndex: 'format', ellipsis: true, valueType: 'text', - hideInSearch: true + hideInSearch: true, }, { - title: '创建日期', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建日期', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始日期', '请选择结束日期'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -127,8 +134,8 @@ export default () => { endDate: value[1], }; }, - } - } + }, + }, ]; return ( @@ -137,19 +144,19 @@ export default () => { columns={columns} request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return pageOssLog(getPageQueryParam(params)).then(res => { + return pageOssLog(getPageQueryParam(params)).then((res) => { return Promise.resolve({ data: res?.data?.records, total: parseInt(res?.data?.total || 0), success: true, }); - }) + }); }} rowKey="id" pagination={{ showQuickJumper: true, showSizeChanger: false, - pageSize: 10 + pageSize: 10, }} search={{ layout: 'vertical', @@ -157,8 +164,8 @@ export default () => { }} dateFormatter="string" toolbar={{ - title: '对象存储配置', - tooltip: '对象存储配置', + title: t('menu.sys.oss.log'), + tooltip: t('menu.sys.oss.log'), }} /> ); diff --git a/ui/src/pages/Sys/Permission/DeptDrawer.tsx b/ui/src/pages/Sys/Permission/DeptDrawer.tsx index c9c4c94588..ad54e2d6dc 100644 --- a/ui/src/pages/Sys/Permission/DeptDrawer.tsx +++ b/ui/src/pages/Sys/Permission/DeptDrawer.tsx @@ -1,8 +1,14 @@ -import {DrawerForm, ProFormDigit, ProFormText, ProFormTreeSelect} from '@ant-design/pro-components'; +import { modifyDept, saveDept } from '@/services/admin/dept'; +import { useIntl } from '@@/exports'; +import { + DrawerForm, + ProFormDigit, + ProFormText, + ProFormTreeSelect, +} from '@ant-design/pro-components'; import { message } from 'antd'; -import {modifyDept, saveDept} from "@/services/admin/dept"; -import {v7 as uuidV7} from "uuid"; -import React, {useState} from "react"; +import React, { useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; interface DeptDrawerProps { modalVisit: boolean; @@ -11,9 +17,9 @@ interface DeptDrawerProps { readOnly: boolean; dataSource: TableColumns; onComponent: () => void; - treeList: any[] - requestId: string - setRequestId: (requestId: string) => void + treeList: any[]; + requestId: string; + setRequestId: (requestId: string) => void; } type TableColumns = { @@ -25,9 +31,21 @@ type TableColumns = { createTime: string | undefined; }; -export const DeptDrawer: React.FC = ({ modalVisit, setModalVisit, title, readOnly, dataSource, onComponent, treeList, requestId, setRequestId }) => { - - const [loading, setLoading] = useState(false) +export const DeptDrawer: React.FC = ({ + modalVisit, + setModalVisit, + title, + readOnly, + dataSource, + onComponent, + treeList, + requestId, + setRequestId, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const [loading, setLoading] = useState(false); return ( @@ -36,7 +54,7 @@ export const DeptDrawer: React.FC = ({ modalVisit, setModalVisi drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalVisit} @@ -48,34 +66,38 @@ export const DeptDrawer: React.FC = ({ modalVisit, setModalVisi style: { display: readOnly ? 'none' : 'inline-block', }, - } + }, }} - onFinish={ async (value) => { - setLoading(true) + onFinish={async (value) => { + setLoading(true); if (value.id === undefined) { - saveDept({co: value}, requestId).then(res => { - if (res.code === 'OK') { - message.success("保存成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setRequestId(uuidV7()) - setLoading(false) - }) + saveDept({ co: value }, requestId) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.saveSuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setRequestId(uuidV7()); + setLoading(false); + }); } else { - modifyDept({co: value}).then(res => { - if (res.code === 'OK') { - message.success("修改成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setLoading(false) - }) + modifyDept({ co: value }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.modifySuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setLoading(false); + }); } - }}> - + }} + > = ({ modalVisit, setModalVisi { - return treeList + return treeList; }} /> - { readOnly && ( + {readOnly && ( )} - ); }; diff --git a/ui/src/pages/Sys/Permission/MenuDrawer.tsx b/ui/src/pages/Sys/Permission/MenuDrawer.tsx index 6b570a0922..71260dedc8 100644 --- a/ui/src/pages/Sys/Permission/MenuDrawer.tsx +++ b/ui/src/pages/Sys/Permission/MenuDrawer.tsx @@ -1,15 +1,16 @@ +import { modifyMenu, saveMenu } from '@/services/admin/menu'; +import { useIntl } from '@@/exports'; import { DrawerForm, ProFormDigit, ProFormRadio, ProFormSelect, ProFormText, - ProFormTreeSelect + ProFormTreeSelect, } from '@ant-design/pro-components'; import { message } from 'antd'; -import {modifyMenu, saveMenu} from "@/services/admin/menu"; -import {v7 as uuidV7} from "uuid"; -import React, {useState} from "react"; +import React, { useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; interface MenuDrawerProps { modalVisit: boolean; @@ -20,9 +21,9 @@ interface MenuDrawerProps { onComponent: () => void; typeValue: number; setTypeValue: (value: number) => void; - treeList: any[] - requestId: string - setRequestId: (requestId: string) => void + treeList: any[]; + requestId: string; + setRequestId: (requestId: string) => void; } type TableColumns = { @@ -37,9 +38,23 @@ type TableColumns = { createTime: string | undefined; }; -export const MenuDrawer: React.FC = ({ modalVisit, setModalVisit, title, readOnly, dataSource, onComponent, typeValue, setTypeValue, treeList, requestId, setRequestId }) => { - - const [loading, setLoading] = useState(false) +export const MenuDrawer: React.FC = ({ + modalVisit, + setModalVisit, + title, + readOnly, + dataSource, + onComponent, + typeValue, + setTypeValue, + treeList, + requestId, + setRequestId, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const [loading, setLoading] = useState(false); return ( @@ -48,7 +63,7 @@ export const MenuDrawer: React.FC = ({ modalVisit, setModalVisi drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalVisit} @@ -59,34 +74,38 @@ export const MenuDrawer: React.FC = ({ modalVisit, setModalVisi style: { display: readOnly ? 'none' : 'inline-block', }, - } + }, }} - onFinish={ async (value) => { - setLoading(true) + onFinish={async (value) => { + setLoading(true); if (value.id === undefined) { - saveMenu({co: value}, requestId).then(res => { - if (res.code === 'OK') { - message.success("保存成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setRequestId(uuidV7()) - setLoading(false) - }) + saveMenu({ co: value }, requestId) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.saveSuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setRequestId(uuidV7()); + setLoading(false); + }); } else { - modifyMenu({co: value}).then(res => { - if (res.code === 'OK') { - message.success("修改成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setLoading(false) - }) + modifyMenu({ co: value }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.modifySuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setLoading(false); + }); } - }}> - + }} + > = ({ modalVisit, setModalVisi hidden={true} /> + { + setTypeValue(value); + }} + options={[ + { value: 0, label: t('sys.menu.type.menu') }, + { value: 1, label: t('sys.menu.type.button') }, + ]} + /> + { - return treeList + return treeList; }} /> - - { - setTypeValue(value) - }} - options={[ - {value: 0, label: '菜单'}, - {value: 1, label: '按钮'} + placeholder={t('sys.menu.placeholder.name')} + rules={[ + { required: true, message: t('sys.menu.required.name') }, ]} /> @@ -143,11 +168,13 @@ export const MenuDrawer: React.FC = ({ modalVisit, setModalVisi )} @@ -155,11 +182,16 @@ export const MenuDrawer: React.FC = ({ modalVisit, setModalVisi )} @@ -167,48 +199,59 @@ export const MenuDrawer: React.FC = ({ modalVisit, setModalVisi )} {typeValue === 0 && ( )} - { readOnly && ( + {readOnly && ( )} - ); }; diff --git a/ui/src/pages/Sys/Permission/RoleDrawer.tsx b/ui/src/pages/Sys/Permission/RoleDrawer.tsx index a9e8604548..ee8b68eef1 100644 --- a/ui/src/pages/Sys/Permission/RoleDrawer.tsx +++ b/ui/src/pages/Sys/Permission/RoleDrawer.tsx @@ -1,14 +1,15 @@ +import { modifyRole, saveRole } from '@/services/admin/role'; import { DrawerForm, ProFormDigit, ProFormSelect, ProFormText, - ProFormTreeSelect + ProFormTreeSelect, } from '@ant-design/pro-components'; import { message } from 'antd'; -import {modifyRole, saveRole} from '@/services/admin/role'; -import {v7 as uuidV7} from "uuid"; -import React, {useState} from "react"; +import React, { useState } from 'react'; +import { useIntl } from '@@/exports'; +import { v7 as uuidV7 } from 'uuid'; interface RoleDrawerProps { modalVisit: boolean; @@ -17,10 +18,10 @@ interface RoleDrawerProps { readOnly: boolean; dataSource: TableColumns; onComponent: () => void; - menuTreeList: any[] - deptTreeList: any[] - requestId: string - setRequestId: (requestId: string) => void + menuTreeList: any[]; + deptTreeList: any[]; + requestId: string; + setRequestId: (requestId: string) => void; } type TableColumns = { @@ -33,11 +34,23 @@ type TableColumns = { deptIds: string[]; }; +export const RoleDrawer: React.FC = ({ + modalVisit, + setModalVisit, + title, + readOnly, + dataSource, + onComponent, + menuTreeList, + deptTreeList, + requestId, + setRequestId, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); - -export const RoleDrawer: React.FC = ({ modalVisit, setModalVisit, title, readOnly, dataSource, onComponent, menuTreeList, deptTreeList, requestId, setRequestId }) => { - - const [loading, setLoading] = useState(false) + const [loading, setLoading] = useState(false); return ( @@ -46,7 +59,7 @@ export const RoleDrawer: React.FC = ({ modalVisit, setModalVisi drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalVisit} @@ -57,41 +70,45 @@ export const RoleDrawer: React.FC = ({ modalVisit, setModalVisi style: { display: readOnly ? 'none' : 'inline-block', }, - } + }, }} - onFinish={ async (value) => { - setLoading(true) + onFinish={async (value) => { + setLoading(true); const co = { id: value.id, sort: value.sort, name: value.name, menuIds: [], - deptIds: [] - } + deptIds: [], + }; if (value.id === undefined) { - saveRole({co: co}, requestId).then(res => { - if (res.code === 'OK') { - message.success("保存成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setRequestId(uuidV7()) - setLoading(false) - }) + saveRole({ co: co }, requestId) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.saveSuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setRequestId(uuidV7()); + setLoading(false); + }); } else { - modifyRole({co: co}).then(res => { - if (res.code === 'OK') { - message.success("修改成功").then() - setModalVisit(false) - onComponent() - } - }).finally(() => { - setLoading(false) - }) + modifyRole({ co: co }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.modifySuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setLoading(false); + }); } - }}> - + }} + > = ({ modalVisit, setModalVisi - - { readOnly && ( - + + {readOnly && ( + )} - { readOnly && ( - { - return menuTreeList - }} - /> + {readOnly && ( + { + return menuTreeList; + }} + /> )} - { - readOnly && dataSource.dataScope === 'custom' && ( - { - return deptTreeList - }} - /> - ) - } + {readOnly && dataSource.dataScope === 'custom' && ( + { + return deptTreeList; + }} + /> + )} - { readOnly && ( + {readOnly && ( )} - ); }; diff --git a/ui/src/pages/Sys/Permission/RoleModifyAuthorityDrawer.tsx b/ui/src/pages/Sys/Permission/RoleModifyAuthorityDrawer.tsx index ea729785c6..0511d7420a 100644 --- a/ui/src/pages/Sys/Permission/RoleModifyAuthorityDrawer.tsx +++ b/ui/src/pages/Sys/Permission/RoleModifyAuthorityDrawer.tsx @@ -1,7 +1,13 @@ -import {DrawerForm, ProFormSelect, ProFormText, ProFormTreeSelect} from '@ant-design/pro-components'; +import { modifyRoleAuthority } from '@/services/admin/role'; +import { + DrawerForm, + ProFormSelect, + ProFormText, + ProFormTreeSelect, +} from '@ant-design/pro-components'; import { message } from 'antd'; -import {modifyRoleAuthority} from '@/services/admin/role'; -import React, {useState} from "react"; +import React, { useState } from 'react'; +import { useIntl } from '@@/exports'; interface RoleAuthorityProps { modalModifyAuthorityVisit: boolean; @@ -22,11 +28,22 @@ type TableColumns = { deptIds: string[]; }; +export const RoleModifyAuthorityDrawer: React.FC = ({ + modalModifyAuthorityVisit, + setModalModifyAuthorityVisit, + title, + dataSource, + onComponent, + menuTreeList, + deptTreeList, + typeValue, + setTypeValue, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); - -export const RoleModifyAuthorityDrawer: React.FC = ({ modalModifyAuthorityVisit, setModalModifyAuthorityVisit, title, dataSource, onComponent, menuTreeList, deptTreeList, typeValue, setTypeValue }) => { - - const [loading, setLoading] = useState(false) + const [loading, setLoading] = useState(false); return ( @@ -35,7 +52,7 @@ export const RoleModifyAuthorityDrawer: React.FC = ({ modalM drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalModifyAuthorityVisit} @@ -46,35 +63,41 @@ export const RoleModifyAuthorityDrawer: React.FC = ({ modalM style: { display: 'inline-block', }, - } + }, }} - onFinish={ async (value) => { - setLoading(true) - let menuIds: any[] = [] - let deptIds: any[] = [] + onFinish={async (value) => { + setLoading(true); + let menuIds: any[] = []; + let deptIds: any[] = []; if (value?.menuIds) { - menuIds = value?.menuIds.map((item: any) => item?.value ? item?.value : item) + menuIds = value?.menuIds.map((item: any) => + item?.value ? item?.value : item, + ); } if (value?.deptIds) { - deptIds = value?.deptIds.map((item: any) => item?.value ? item?.value : item) + deptIds = value?.deptIds.map((item: any) => + item?.value ? item?.value : item, + ); } const co = { id: value?.id, dataScope: value?.dataScope, deptIds: deptIds, - menuIds: menuIds - } - modifyRoleAuthority({co: co}).then(res => { - if (res.code === 'OK') { - message.success("分配权限成功").then() - setModalModifyAuthorityVisit(false) - onComponent(); - } - }).finally(() => { - setLoading(false) - }) - }}> - + menuIds: menuIds, + }; + modifyRoleAuthority({ co: co }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.assignSuccess')).then(); + setModalModifyAuthorityVisit(false); + onComponent(); + } + }) + .finally(() => { + setLoading(false); + }); + }} + > = ({ modalM = ({ modalM // 不显示搜索 showSearch: false, // 高度 - listHeight: 640 + listHeight: 640, }} request={async () => { - return menuTreeList + return menuTreeList; }} /> { - setTypeValue(value) + setTypeValue(value); }} options={[ - {value: 'all', label: '全部'}, - {value: 'custom', label: '自定义'}, - {value: 'self_dept', label: '仅本部门'}, - {value: 'below_dept', label: '部门及以下'}, - {value: 'self', label: '仅本人'}, + { value: 'all', label: t('role.dataScope.all') }, + { value: 'custom', label: t('role.dataScope.custom') }, + { value: 'self_dept', label: t('role.dataScope.selfDept') }, + { value: 'below_dept', label: t('role.dataScope.belowDept') }, + { value: 'self', label: t('role.dataScope.self') }, ]} /> @@ -149,15 +181,20 @@ export const RoleModifyAuthorityDrawer: React.FC = ({ modalM = ({ modalM // 不显示搜索 showSearch: false, // 高度 - listHeight: 450 + listHeight: 450, }} request={async () => { - return deptTreeList + return deptTreeList; }} /> )} - ); }; diff --git a/ui/src/pages/Sys/Permission/UploadAvatarDrawer.tsx b/ui/src/pages/Sys/Permission/UploadAvatarDrawer.tsx index 98bc911dbf..be105c09f7 100644 --- a/ui/src/pages/Sys/Permission/UploadAvatarDrawer.tsx +++ b/ui/src/pages/Sys/Permission/UploadAvatarDrawer.tsx @@ -1,7 +1,9 @@ -import ImgCrop from "antd-img-crop"; -import {GetProp, Upload, UploadFile, UploadProps} from "antd"; -import {uploadUserAvatar} from "@/services/admin/user"; -import React from "react"; +import { uploadUserAvatar } from '@/services/admin/user'; +import { useIntl } from '@@/exports'; +import type { GetProp, UploadFile, UploadProps } from 'antd'; +import { Upload } from 'antd'; +import ImgCrop from 'antd-img-crop'; +import React from 'react'; type FileType = Parameters>[0]; @@ -13,7 +15,16 @@ interface UploadAvatarDrawerProps { setLogId: (logId: number) => void; } -export const UploadAvatarDrawer: React.FC = ({ setPreviewOpen, setPreviewImage, fileList, setFileList, setLogId }) => { +export const UploadAvatarDrawer: React.FC = ({ + setPreviewOpen, + setPreviewImage, + fileList, + setFileList, + setLogId, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); const getBase64 = (file: FileType): Promise => new Promise((resolve, reject) => { @@ -29,15 +40,15 @@ export const UploadAvatarDrawer: React.FC = ({ setPrevi } setPreviewImage(file.url || (file.preview as string)); setPreviewOpen(true); - } + }; const onChange: UploadProps['onChange'] = ({ fileList: newFileList }) => { if (newFileList[0]?.response && newFileList[0]?.response.code !== 'OK') { - setFileList([]) + setFileList([]); } else { - setFileList(newFileList) + setFileList(newFileList); } - } + }; return ( @@ -47,29 +58,30 @@ export const UploadAvatarDrawer: React.FC = ({ setPrevi fileList={fileList} onChange={onChange} onPreview={handlePreview} - customRequest={async ( options ) => { + customRequest={async (options) => { const { file, onProgress, onError, onSuccess } = options; const formData = new FormData(); - formData.append('file', file); - uploadUserAvatar(formData).then(res => { - // @ts-ignore - onProgress({ percent: 100 }, file) - if (res.code === 'OK') { + formData.append('file', file as any); + uploadUserAvatar(formData) + .then((res) => { // @ts-ignore - onSuccess(res, file) - // 修改日志ID - setLogId(res.data.logId) - } else { - // @ts-ignore - onError({status: 500, url: '', method: 'POST'}, res) - } - }).catch(() => { - setFileList([]) - }) - } - } + onProgress?.({ percent: 100 }, file); + if (res.code === 'OK') { + // @ts-ignore + onSuccess?.(res, file); + // 修改日志ID + setLogId(res.data.logId); + } else { + // @ts-ignore + onError?.({ status: 500, url: '', method: 'POST' }, res); + } + }) + .catch(() => { + setFileList([]); + }); + }} > - {fileList.length < 1 && '上传头像'} + {fileList.length < 1 && t('user.avatar.upload')} ); diff --git a/ui/src/pages/Sys/Permission/UserDrawer.tsx b/ui/src/pages/Sys/Permission/UserDrawer.tsx index 7c2e6a2876..553b12d3a5 100644 --- a/ui/src/pages/Sys/Permission/UserDrawer.tsx +++ b/ui/src/pages/Sys/Permission/UserDrawer.tsx @@ -1,11 +1,17 @@ -import {DrawerForm, ProFormRadio, ProFormSelect, ProFormText, ProFormTreeSelect} from '@ant-design/pro-components'; -import {Image, message, UploadFile} from 'antd'; -import {modifyUser, saveUser} from '@/services/admin/user'; -import React, {useState} from "react"; -import {UploadAvatarDrawer} from "@/pages/Sys/Permission/UploadAvatarDrawer"; -import {ProFormItem} from "@ant-design/pro-form"; -import {v7 as uuidV7} from "uuid"; -import {useAccess} from "@@/exports"; +import { UploadAvatarDrawer } from '@/pages/Sys/Permission/UploadAvatarDrawer'; +import { modifyUser, saveUser } from '@/services/admin/user'; +import { useAccess, useIntl } from '@@/exports'; +import { + DrawerForm, + ProFormRadio, + ProFormSelect, + ProFormText, + ProFormTreeSelect, +} from '@ant-design/pro-components'; +import { ProFormItem } from '@ant-design/pro-form'; +import { Image, message, UploadFile } from 'antd'; +import React, { useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; interface UserDrawerProps { modalVisit: boolean; @@ -15,14 +21,14 @@ interface UserDrawerProps { readOnly: boolean; dataSource: TableColumns; onComponent: () => void; - deptTreeList: any[] - roleList: any[] - fileList: UploadFile[] - setFileList: (fileList: UploadFile[]) => void - requestId: string - setRequestId: (requestId: string) => void - logId: number - setLogId: (logId: number) => void + deptTreeList: any[]; + roleList: any[]; + fileList: UploadFile[]; + setFileList: (fileList: UploadFile[]) => void; + requestId: string; + setRequestId: (requestId: string) => void; + logId: number; + setLogId: (logId: number) => void; } type TableColumns = { @@ -37,12 +43,30 @@ type TableColumns = { createTime: string | undefined; }; -export const UserDrawer: React.FC = ({ modalVisit, setModalVisit, title, readOnly, dataSource, onComponent, edit, roleList, deptTreeList, fileList, setFileList, requestId, setRequestId, logId, setLogId }) => { - - const access = useAccess() +export const UserDrawer: React.FC = ({ + modalVisit, + setModalVisit, + title, + readOnly, + dataSource, + onComponent, + edit, + roleList, + deptTreeList, + fileList, + setFileList, + requestId, + setRequestId, + logId, + setLogId, +}) => { + const access = useAccess(); + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); const [previewOpen, setPreviewOpen] = useState(false); const [previewImage, setPreviewImage] = useState(''); - const [loading, setLoading] = useState(false) + const [loading, setLoading] = useState(false); return ( @@ -51,7 +75,7 @@ export const UserDrawer: React.FC = ({ modalVisit, setModalVisi drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalVisit} @@ -62,10 +86,10 @@ export const UserDrawer: React.FC = ({ modalVisit, setModalVisi style: { display: readOnly ? 'none' : 'inline-block', }, - } + }, }} - onFinish={ async (value) => { - setLoading(true) + onFinish={async (value) => { + setLoading(true); const co = { id: value?.id, username: value.username, @@ -74,33 +98,37 @@ export const UserDrawer: React.FC = ({ modalVisit, setModalVisi mobile: value?.mobile, avatar: logId, deptId: value?.deptId, - } + }; if (value.id === undefined) { // @ts-ignore - saveUser({co: co}, requestId).then(res => { - if (res.code === 'OK') { - message.success("保存成功").then() - setModalVisit(false) - onComponent(); - } - }).finally(() => { - setRequestId(uuidV7()) - setLoading(false) - }) + saveUser({ co: co }, requestId) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.saveSuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setRequestId(uuidV7()); + setLoading(false); + }); } else { // @ts-ignore - modifyUser({co: co}).then(res => { - if (res.code === 'OK') { - message.success("修改成功").then() - setModalVisit(false) - onComponent(); - } - }).finally(() => { - setLoading(false) - }) + modifyUser({ co: co }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.modifySuccess')).then(); + setModalVisit(false); + onComponent(); + } + }) + .finally(() => { + setLoading(false); + }); } - }}> - + }} + > = ({ modalVisit, setModalVisi { - return deptTreeList + return deptTreeList; }} /> - {!readOnly && (access.canUserModify || access.canUserModify) && access.canOssUpload && ( - - - - )} + {!readOnly && + (access.canUserModify || access.canUserModify) && + access.canOssUpload && ( + + + + )} {readOnly && fileList.length > 0 && ( - - + + )} @@ -192,41 +228,49 @@ export const UserDrawer: React.FC = ({ modalVisit, setModalVisi preview={{ visible: previewOpen, onVisibleChange: (visible) => setPreviewOpen(visible), - afterOpenChange: (visible) => !visible && setPreviewImage(''), + afterOpenChange: (visible) => + !visible && setPreviewImage(''), }} - src={previewImage}/> + src={previewImage} + /> )} - { readOnly && ( - + {readOnly && ( + )} - { readOnly && ( + {readOnly && ( )} - ); }; diff --git a/ui/src/pages/Sys/Permission/UserModifyAuthorityDrawer.tsx b/ui/src/pages/Sys/Permission/UserModifyAuthorityDrawer.tsx index 4d01206a7e..f2cbf9372c 100644 --- a/ui/src/pages/Sys/Permission/UserModifyAuthorityDrawer.tsx +++ b/ui/src/pages/Sys/Permission/UserModifyAuthorityDrawer.tsx @@ -1,7 +1,12 @@ -import {DrawerForm, ProFormSelect, ProFormText} from '@ant-design/pro-components'; +import { modifyUserAuthority } from '@/services/admin/user'; +import { useIntl } from '@@/exports'; +import { + DrawerForm, + ProFormSelect, + ProFormText, +} from '@ant-design/pro-components'; import { message } from 'antd'; -import {modifyUserAuthority} from '@/services/admin/user'; -import React, {useState} from "react"; +import React, { useState } from 'react'; interface UserAuthorityProps { modalModifyAuthorityVisit: boolean; @@ -9,7 +14,7 @@ interface UserAuthorityProps { title: string; dataSource: TableColumns; onComponent: () => void; - roleList: any[] + roleList: any[]; } type TableColumns = { @@ -19,11 +24,18 @@ type TableColumns = { roleIds: string[]; }; - - -export const UserModifyAuthorityDrawer: React.FC = ({ modalModifyAuthorityVisit, setModalModifyAuthorityVisit, title, dataSource, onComponent, roleList }) => { - - const [loading, setLoading] = useState(false) +export const UserModifyAuthorityDrawer: React.FC = ({ + modalModifyAuthorityVisit, + setModalModifyAuthorityVisit, + title, + dataSource, + onComponent, + roleList, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const [loading, setLoading] = useState(false); return ( @@ -32,7 +44,7 @@ export const UserModifyAuthorityDrawer: React.FC = ({ modalM drawerProps={{ destroyOnClose: true, closable: true, - maskClosable: true + maskClosable: true, }} initialValues={dataSource} onOpenChange={setModalModifyAuthorityVisit} @@ -43,26 +55,28 @@ export const UserModifyAuthorityDrawer: React.FC = ({ modalM style: { display: 'inline-block', }, - } + }, }} - onFinish={ async (value) => { - setLoading(true) + onFinish={async (value) => { + setLoading(true); const co = { id: value?.id, deptId: value?.deptId, roleIds: value?.roleIds, - } - modifyUserAuthority({co: co}).then(res => { - if (res.code === 'OK') { - message.success("分配权限成功").then() - setModalModifyAuthorityVisit(false) - onComponent(); - } - }).finally(() => { - setLoading(false) - }) - }}> - + }; + modifyUserAuthority({ co: co }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('toast.assignSuccess')).then(); + setModalModifyAuthorityVisit(false); + onComponent(); + } + }) + .finally(() => { + setLoading(false); + }); + }} + > = ({ modalM = ({ modalM }, }} /> - ); }; diff --git a/ui/src/pages/Sys/Permission/UserResetPwdDrawer.tsx b/ui/src/pages/Sys/Permission/UserResetPwdDrawer.tsx index 5b81719751..4f5fbd3e4e 100644 --- a/ui/src/pages/Sys/Permission/UserResetPwdDrawer.tsx +++ b/ui/src/pages/Sys/Permission/UserResetPwdDrawer.tsx @@ -1,7 +1,8 @@ +import { resetUserPwd } from '@/services/admin/user'; +import { useIntl } from '@@/exports'; import { DrawerForm, ProFormText } from '@ant-design/pro-components'; import { message } from 'antd'; -import { resetUserPwd } from '@/services/admin/user'; -import React, {useState} from "react"; +import React, { useState } from 'react'; interface UserResetPwdDrawerProps { visible: boolean; @@ -9,14 +10,20 @@ interface UserResetPwdDrawerProps { dataSource: any; } -export const UserResetPwdDrawer: React.FC = ({ visible, setVisible, dataSource}) => { - - const [loading, setLoading] = useState(false) +export const UserResetPwdDrawer: React.FC = ({ + visible, + setVisible, + dataSource, +}) => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const [loading, setLoading] = useState(false); return ( = ({ visible, style: { display: 'inline-block', }, - loading: loading - } + loading: loading, + }, }} initialValues={dataSource} onOpenChange={setVisible} @@ -36,53 +43,62 @@ export const UserResetPwdDrawer: React.FC = ({ visible, setLoading(true); const { password, confirmPassword } = value; if (password !== confirmPassword) { - message.error("两次密码不一致"); + message.error(t('user.resetPwd.passwordNotMatch')); return; } - resetUserPwd({ id: value?.id, password }).then(res => { - if (res.code === 'OK') { - message.success("密码重置成功"); - setVisible(false); - return true; - } - }).finally(() => { - setLoading(false); - }); + resetUserPwd({ id: value?.id, password }) + .then((res) => { + if (res.code === 'OK') { + message.success(t('user.resetPwd.success')); + setVisible(false); + return true; + } + }) + .finally(() => { + setLoading(false); + }); }} > - ); diff --git a/ui/src/pages/Sys/Permission/dept.tsx b/ui/src/pages/Sys/Permission/dept.tsx index d638e6f689..7eeb92d3f3 100644 --- a/ui/src/pages/Sys/Permission/dept.tsx +++ b/ui/src/pages/Sys/Permission/dept.tsx @@ -1,18 +1,18 @@ -import { - ProColumns, -} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {listTreeDept, removeDept, getDeptById} from "@/services/admin/dept"; -import {useEffect, useRef, useState} from "react"; -import {TableRowSelection} from "antd/es/table/interface"; -import {Button, message, Modal} from 'antd'; +import { DeptDrawer } from '@/pages/Sys/Permission/DeptDrawer'; +import { getDeptById, listTreeDept, removeDept } from '@/services/admin/dept'; +import { trim } from '@/utils/format'; +import { useAccess, useIntl } from '@@/exports'; import { DeleteOutlined, PlusOutlined } from '@ant-design/icons'; -import {trim} from "@/utils/format"; -import {DeptDrawer} from "@/pages/Sys/Permission/DeptDrawer"; -import {useAccess} from "@@/exports"; -import {v7 as uuidV7} from "uuid"; +import { ActionType, ProColumns, ProTable } from '@ant-design/pro-components'; +import { Button, message, Modal } from 'antd'; +import { TableRowSelection } from 'antd/es/table/interface'; +import { useEffect, useRef, useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; export default () => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); type TableColumns = { id: number; @@ -23,87 +23,93 @@ export default () => { }; const access = useAccess(); - const [readOnly, setReadOnly] = useState(false) + const [readOnly, setReadOnly] = useState(false); const [modalVisit, setModalVisit] = useState(false); - const actionRef = useRef(); - const [dataSource, setDataSource] = useState({}) - const [ids, setIds] = useState([]) - const [title, setTitle] = useState("") - const [treeList, setTreeList] = useState([]) - const [requestId, setRequestId] = useState('') + const actionRef = useRef(undefined); + const [dataSource, setDataSource] = useState({}); + const [ids, setIds] = useState([]); + const [title, setTitle] = useState(''); + const [treeList, setTreeList] = useState([]); + const [requestId, setRequestId] = useState(''); const getListTreeQueryParam = (params: any) => { return { name: trim(params?.name), params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + }; const getTreeList = async () => { - listTreeDept({}).then(res => { - setTreeList([{ - id: '0', - name: '根目录', - children: res?.data - }]) - }) - } + listTreeDept({}).then((res) => { + setTreeList([ + { + id: '0', + name: t('common.root'), + children: res?.data, + }, + ]); + }); + }; const rowSelection: TableRowSelection = { onChange: (selectedRowKeys) => { - const ids: number[] = [] - selectedRowKeys.forEach(item => { - ids.push(item as number) - }) - setIds(ids) - } + const ids: number[] = []; + selectedRowKeys.forEach((item) => { + ids.push(item as number); + }); + setIds(ids); + }, }; useEffect(() => { - getTreeList().catch(console.log) + getTreeList().catch(console.log); }, []); const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', width: 110, }, { - title: '部门名称', + title: t('sys.dept.name'), dataIndex: 'name', valueType: 'text', fieldProps: { - placeholder: '请输入部门名称', - } + placeholder: t('sys.dept.placeholder.name'), + }, }, { - title: '部门排序', + title: t('sys.dept.sort'), dataIndex: 'sort', hideInSearch: true, ellipsis: true, - width:80, + width: 80, }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始时间', '请选择结束时间'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -112,82 +118,101 @@ export default () => { endDate: value[1], }; }, - } + }, }, { - title: '操作', + title: t('common.operation'), valueType: 'option', key: 'option', render: (_, record) => [ - ( access.canDeptGetDetail && { - getDeptById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setTitle('查看部门') - setModalVisit(true) - setReadOnly(true) - setDataSource(res?.data) - } - }) - }} - > - 查看 - ), - ( access.canDeptSave && { - setTitle('新增部门') - setRequestId(uuidV7()) - setReadOnly(false) - setModalVisit(true) - setDataSource({ - id: undefined, - name: '', - path: '', - pid: record?.id, - sort: 1, - }) - }}> - 新增 - ), - ( access.canDeptModify && { - getDeptById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setTitle('修改部门') - setModalVisit(true) - setReadOnly(false) - setDataSource(res?.data) - } - }) - }} - > - 修改 - ), - ( access.canDeptRemove && { - Modal.confirm({ - title: '确认删除?', - content: '您确定要删除吗?', - okText: '确认', - cancelText: '取消', - onOk: () => { - removeDept([record?.id]).then(res => { + access.canDeptGetDetail && ( + { + getDeptById({ id: record?.id }).then((res) => { if (res.code === 'OK') { - message.success("删除成功").then() - // @ts-ignore - actionRef?.current?.reload(); + setTitle(t('sys.dept.view')); + setModalVisit(true); + setReadOnly(true); + setDataSource(res?.data); } - }) - } - }) - }}> - 删除 - ) + }); + }} + > + {t('common.view')} + + ), + access.canDeptSave && ( + { + setTitle(t('sys.dept.insert')); + setRequestId(uuidV7()); + setReadOnly(false); + setModalVisit(true); + setDataSource({ + id: undefined, + name: '', + path: '', + pid: record?.id, + sort: 1, + }); + }} + > + {t('common.insert')} + + ), + access.canDeptModify && ( + { + getDeptById({ id: record?.id }).then((res) => { + if (res.code === 'OK') { + setTitle(t('sys.dept.modify')); + setModalVisit(true); + setReadOnly(false); + setDataSource(res?.data); + } + }); + }} + > + {t('common.modify')} + + ), + access.canDeptRemove && ( + { + Modal.confirm({ + title: t('confirm.deleteTitle'), + content: t('confirm.deleteContent'), + okText: t('common.ok'), + cancelText: t('common.cancel'), + onOk: () => { + removeDept([record?.id]).then((res) => { + if (res.code === 'OK') { + message + .success( + t('toast.deleteSuccess'), + ) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), ], }, ]; return ( <> - { actionRef={actionRef} columns={columns} - request={ async (params) => { + request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return listTreeDept(getListTreeQueryParam(params)).then(res => { - return Promise.resolve({ - data: res.data, - success: true, - }); - }) + return listTreeDept(getListTreeQueryParam(params)).then( + (res) => { + return Promise.resolve({ + data: res.data, + success: true, + }); + }, + ); }} rowSelection={{ ...rowSelection }} rowKey="id" @@ -222,51 +249,74 @@ export default () => { layout: 'vertical', defaultCollapsed: true, }} - toolBarRender={ - () => [ - ( access.canDeptSave && ), - ( access.canDeptRemove && + ), + access.canDeptRemove && ( + ) - ] - } + removeDept(ids).then((res) => { + if (res.code === 'OK') { + message + .success( + t( + 'toast.deleteSuccess', + ), + ) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), + ]} dateFormatter="string" toolbar={{ - title: '部门', - tooltip: '部门', + title: t('menu.sys.permission.dept'), + tooltip: t('menu.sys.permission.dept'), }} /> diff --git a/ui/src/pages/Sys/Permission/menu.tsx b/ui/src/pages/Sys/Permission/menu.tsx index c10b3c53a2..11d440deb7 100644 --- a/ui/src/pages/Sys/Permission/menu.tsx +++ b/ui/src/pages/Sys/Permission/menu.tsx @@ -1,18 +1,15 @@ -import { - ProColumns -} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {listTreeMenu, removeMenu, getMenuById} from "@/services/admin/menu"; -import {useEffect, useRef, useState} from "react"; -import {TableRowSelection} from "antd/es/table/interface"; -import {Button, message, Modal, Space, Switch, Tag} from 'antd'; +import { MenuDrawer } from '@/pages/Sys/Permission/MenuDrawer'; +import { getMenuById, listTreeMenu, removeMenu } from '@/services/admin/menu'; +import { useAccess, useIntl } from '@@/exports'; import { DeleteOutlined, PlusOutlined } from '@ant-design/icons'; -import {MenuDrawer} from "@/pages/Sys/Permission/MenuDrawer"; -import {useAccess} from "@@/exports"; -import {v7 as uuidV7} from "uuid"; +import { ProColumns, ProTable } from '@ant-design/pro-components'; +import type { ActionType } from '@ant-design/pro-components'; +import { Button, message, Modal, Space, Switch, Tag } from 'antd'; +import { TableRowSelection } from 'antd/es/table/interface'; +import { useEffect, useRef, useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; export default () => { - type TableColumns = { id: number; name: string | undefined; @@ -24,16 +21,19 @@ export default () => { sort: number | undefined; }; - const access = useAccess() - const [readOnly, setReadOnly] = useState(false) + const access = useAccess(); + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); + const [readOnly, setReadOnly] = useState(false); const [modalVisit, setModalVisit] = useState(false); - const actionRef = useRef(); - const [dataSource, setDataSource] = useState({}) - const [ids, setIds] = useState([]) - const [title, setTitle] = useState("") + const actionRef = useRef(null); + const [dataSource, setDataSource] = useState({}); + const [ids, setIds] = useState([]); + const [title, setTitle] = useState(''); const [typeValue, setTypeValue] = useState(0); - const [treeList, setTreeList] = useState([]) - const [requestId, setRequestId] = useState('') + const [treeList, setTreeList] = useState([]); + const [requestId, setRequestId] = useState(''); const getListTreeQueryParam = (params: any) => { return { @@ -41,66 +41,72 @@ export default () => { type: params?.typeValue, status: params?.statusValue, params: { - startTime: params?.startDateValue ? `${params.startDateValue} 00:00:00` : undefined, - endTime: params?.endDateValue ? `${params.endDateValue} 23:59:59` : undefined - } - } - } + startTime: params?.startDateValue + ? `${params.startDateValue} 00:00:00` + : undefined, + endTime: params?.endDateValue + ? `${params.endDateValue} 23:59:59` + : undefined, + }, + }; + }; const getTreeList = async () => { - listTreeMenu({code: 1, type: 0, status: 0}).then(res => { - setTreeList([{ - id: '0', - name: '根目录', - children: res?.data - }]) - }) - } + return listTreeMenu({ code: 1, type: 0, status: 0 }).then((res) => { + setTreeList([ + { + id: '0', + name: t('common.root'), + children: res?.data, + }, + ]); + }); + }; const rowSelection: TableRowSelection = { onChange: (selectedRowKeys) => { - const ids: number[] = [] - selectedRowKeys.forEach(item => { - ids.push(item as number) - }) - setIds(ids) - } + const ids: number[] = []; + selectedRowKeys.forEach((item) => { + ids.push(item as number); + }); + setIds(ids); + }, }; useEffect(() => { - getTreeList().catch(console.log) + getTreeList().catch(console.log); }, []); const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', width: 110, }, { - title: '菜单名称', + title: t('sys.menu.name'), dataIndex: 'name', hideInSearch: true, ellipsis: true, width: 220, }, { - title: '菜单路径', + title: t('sys.menu.path'), dataIndex: 'path', ellipsis: true, hideInSearch: true, - width: 180 + width: 180, }, { - title: '菜单权限标识', + title: t('sys.menu.permission'), dataIndex: 'permission', ellipsis: true, hideInSearch: true, - width: 180 + width: 180, }, { - title: '菜单类型', + title: t('sys.menu.type'), key: 'typeValue', dataIndex: 'typeValue', hideInTable: true, @@ -108,24 +114,25 @@ export default () => { fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择菜单类型', + placeholder: t('sys.menu.placeholder.type'), options: [ { value: 0, - label: '菜单', + label: t('sys.menu.type.menu'), }, { value: 1, - label: '按钮', + label: t('sys.menu.type.button'), }, ], }, - ellipsis: true + ellipsis: true, }, { disable: true, - title: '菜单类型', + title: t('sys.menu.type'), dataIndex: 'type', + ellipsis: true, hideInSearch: true, renderFormItem: (_, { defaultRender }) => { return defaultRender(_); @@ -134,19 +141,19 @@ export default () => { {record?.type === 0 && ( - 菜单 + {t('sys.menu.type.menu')} )} {record?.type === 1 && ( - 按钮 + {t('sys.menu.type.button')} )} ), }, { - title: '菜单状态', + title: t('sys.menu.status'), key: 'statusValue', dataIndex: 'statusValue', hideInTable: true, @@ -154,51 +161,57 @@ export default () => { fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择菜单状态', + placeholder: t('sys.menu.placeholder.status'), options: [ { value: 0, - label: '启用', + label: t('common.enable'), }, { value: 1, - label: '禁用', + label: t('common.disable'), }, - ] + ], }, - ellipsis: true + ellipsis: true, }, { - title: '菜单状态', + title: t('sys.menu.status'), dataIndex: 'status', + ellipsis: true, hideInSearch: true, render: (_, record) => ( - + ), }, { - title: '菜单排序', + title: t('sys.menu.sort'), dataIndex: 'sort', hideInSearch: true, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTimeValue', dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始时间', '请选择结束时间'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -207,92 +220,109 @@ export default () => { endDateValue: value[1], }; }, - } + }, }, { - title: '操作', + title: t('common.operation'), valueType: 'option', key: 'option', render: (_, record) => [ - ( access.canMenuGetDetail && { - getMenuById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setTitle('查看菜单') - setModalVisit(true) - setReadOnly(true) - const data = res?.data; - setTypeValue(data.type) - setDataSource(data) - } - }) - }} - > - 查看 - ), - ( access.canMenuSave && { - setTitle('新增菜单') - setRequestId(uuidV7()) - setTypeValue(0) - setReadOnly(false) - setModalVisit(true) - setDataSource({ - id: undefined, - name: '', - path: '', - permission: '', - sort: 1, - icon: '', - status: 0, - type: 0, - pid: record?.id - }) - }}> - 新增 - ), - ( access.canMenuModify && { - getMenuById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setTitle('修改菜单') - setModalVisit(true) - setReadOnly(false) - const data = res?.data; - setTypeValue(data.type) - setDataSource(data) - } - }) - }} - > - 修改 - ), - ( access.canMenuRemove && { - Modal.confirm({ - title: '确认删除?', - content: '您确定要删除吗?', - okText: '确认', - cancelText: '取消', - onOk: () => { - removeMenu([record?.id]).then(res => { + access.canMenuGetDetail && ( + { + getMenuById({ id: record?.id }).then((res) => { + if (res.code === 'OK') { + setTitle(t('sys.menu.view')); + setModalVisit(true); + setReadOnly(true); + const data = res?.data; + setTypeValue(data.type); + setDataSource(data); + } + }); + }} + > + {t('common.view')} + + ), + access.canMenuSave && ( + { + setTitle(t('sys.menu.insert')); + setRequestId(uuidV7()); + setTypeValue(0); + setReadOnly(false); + setModalVisit(true); + setDataSource({ + id: undefined, + name: '', + path: '', + permission: '', + sort: 1, + icon: '', + status: 0, + type: 0, + pid: record?.id, + }); + }} + > + {t('common.insert')} + + ), + access.canMenuModify && ( + { + getMenuById({ id: record?.id }).then((res) => { if (res.code === 'OK') { - message.success("删除成功").then() - // @ts-ignore - actionRef?.current?.reload(); + setTitle(t('sys.menu.modify')); + setModalVisit(true); + setReadOnly(false); + const data = res?.data; + setTypeValue(data.type); + setDataSource(data); } - }) - } - }) - }}> - 删除 - ) + }); + }} + > + {t('common.modify')} + + ), + access.canMenuRemove && ( + { + Modal.confirm({ + title: t('confirm.deleteTitle'), + content: t('confirm.deleteContent'), + okText: t('common.ok'), + cancelText: t('common.cancel'), + onOk: () => { + removeMenu([record?.id]).then((res) => { + if (res.code === 'OK') { + message + .success(t('toast.deleteSuccess')) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), ], - width: 190 + width: 190, }, ]; return ( <> - { actionRef={actionRef} columns={columns} - request={ async (params) => { + request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return listTreeMenu(getListTreeQueryParam(params)).then(res => { - return Promise.resolve({ - data: res?.data, - success: true, - }); - }) + return listTreeMenu(getListTreeQueryParam(params)).then( + (res) => { + return Promise.resolve({ + data: res?.data, + success: true, + }); + }, + ); }} rowSelection={{ ...rowSelection }} rowKey="id" @@ -329,56 +361,73 @@ export default () => { layout: 'vertical', defaultCollapsed: true, }} - toolBarRender={ - () => [ - ( access.canMenuSave && ), - ( access.canMenuRemove && + ), + access.canMenuRemove && ( + ) - ] - } + removeMenu(ids).then((res) => { + if (res.code === 'OK') { + message + .success(t('toast.deleteSuccess')) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), + ]} dateFormatter="string" toolbar={{ - title: '菜单', - tooltip: '菜单', + title: t('menu.sys.permission.menu'), + tooltip: t('menu.sys.permission.menu'), }} /> diff --git a/ui/src/pages/Sys/Permission/role.tsx b/ui/src/pages/Sys/Permission/role.tsx index 05784f4943..3549ceb396 100644 --- a/ui/src/pages/Sys/Permission/role.tsx +++ b/ui/src/pages/Sys/Permission/role.tsx @@ -1,21 +1,25 @@ +import { RoleDrawer } from '@/pages/Sys/Permission/RoleDrawer'; +import { RoleModifyAuthorityDrawer } from '@/pages/Sys/Permission/RoleModifyAuthorityDrawer'; +import { listTreeDept } from '@/services/admin/dept'; +import { listSelectTreeMenu } from '@/services/admin/menu'; +import { getRoleById, pageRole, removeRole } from '@/services/admin/role'; +import { trim } from '@/utils/format'; +import { useAccess, useIntl } from '@@/exports'; +import { DeleteOutlined, PlusOutlined } from '@ant-design/icons'; import { - ProColumns + ActionType, + ProColumns, + ProTable, } from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import {pageRole, removeRole, getRoleById} from "@/services/admin/role"; -import {useEffect, useRef, useState} from "react"; -import {TableRowSelection} from "antd/es/table/interface"; -import {Button, message, Modal} from 'antd'; -import { DeleteOutlined, PlusOutlined } from '@ant-design/icons'; -import {trim} from "@/utils/format"; -import {listSelectTreeMenu} from "@/services/admin/menu"; -import {listTreeDept} from "@/services/admin/dept"; -import {RoleDrawer} from "@/pages/Sys/Permission/RoleDrawer"; -import {RoleModifyAuthorityDrawer} from "@/pages/Sys/Permission/RoleModifyAuthorityDrawer"; -import {useAccess} from "@@/exports"; -import {v7 as uuidV7} from "uuid"; +import { Button, message, Modal } from 'antd'; +import { TableRowSelection } from 'antd/es/table/interface'; +import { useEffect, useRef, useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; export default () => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); type TableColumns = { id: number; @@ -25,18 +29,20 @@ export default () => { dataScope: string | undefined; }; - const access = useAccess() - const [readOnly, setReadOnly] = useState(false) + const access = useAccess(); + const [readOnly, setReadOnly] = useState(false); const [modalVisit, setModalVisit] = useState(false); - const actionRef = useRef(); - const [dataSource, setDataSource] = useState({}) - const [ids, setIds] = useState([]) - const [title, setTitle] = useState("") - const [menuTreeList, setMenuTreeList] = useState([]) - const [modalModifyAuthorityVisit, setModalModifyAuthorityVisit] = useState(false); - const [deptTreeList, setDeptTreeList] = useState([]) + // @ts-ignore + const actionRef = useRef(); + const [dataSource, setDataSource] = useState({}); + const [ids, setIds] = useState([]); + const [title, setTitle] = useState(''); + const [menuTreeList, setMenuTreeList] = useState([]); + const [modalModifyAuthorityVisit, setModalModifyAuthorityVisit] = + useState(false); + const [deptTreeList, setDeptTreeList] = useState([]); const [typeValue, setTypeValue] = useState('all'); - const [requestId, setRequestId] = useState('') + const [requestId, setRequestId] = useState(''); const getPageQueryParam = (params: any) => { return { @@ -46,109 +52,115 @@ export default () => { name: trim(params?.name), dataScope: params?.dataScope, params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + }; const getMenuTreeList = async () => { - listSelectTreeMenu({code: 1, status: 0}).then(res => { - setMenuTreeList(res?.data) - }) - } + listSelectTreeMenu({ code: 1, status: 0 }).then((res) => { + setMenuTreeList(res?.data); + }); + }; const getDeptTreeList = async () => { - listTreeDept({}).then(res => { - setDeptTreeList(res?.data) - }) - } + listTreeDept({}).then((res) => { + setDeptTreeList(res?.data); + }); + }; const rowSelection: TableRowSelection = { onChange: (selectedRowKeys) => { - const ids: number[] = [] - selectedRowKeys.forEach(item => { - ids.push(item as number) - }) - setIds(ids) - } + const ids: number[] = []; + selectedRowKeys.forEach((item) => { + ids.push(item as number); + }); + setIds(ids); + }, }; useEffect(() => { - getMenuTreeList().catch(console.log) - getDeptTreeList().catch(console.log) + getMenuTreeList().catch(console.log); + getDeptTreeList().catch(console.log); }, []); const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '角色名称', + title: t('role.name'), dataIndex: 'name', valueType: 'text', fieldProps: { - placeholder: '请输入角色名称', - } + placeholder: t('role.placeholder.name'), + }, + width: 220, }, { - title: '数据范围', + title: t('role.dataScope'), dataIndex: 'dataScope', valueType: 'select', + width: 200, fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择数据范围', + placeholder: t('role.placeholder.dataScope'), options: [ { value: 'all', - label: '全部', + label: t('role.dataScope.all'), }, { value: 'custom', - label: '自定义', + label: t('role.dataScope.custom'), }, { value: 'self_dept', - label: '仅本部门', + label: t('role.dataScope.selfDept'), }, { value: 'below_dept', - label: '部门及以下', + label: t('role.dataScope.belowDept'), }, { value: 'self', - label:'仅本人', - } - ] + label: t('role.dataScope.self'), + }, + ], }, }, { - title: '角色排序', + title: t('role.sort'), dataIndex: 'sort', hideInSearch: true, ellipsis: true, - width:80, + width: 200, }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始时间', '请选择结束时间'], + placeholder: [t('common.selectStartTime'), t('common.selectEndTime')], }, search: { transform: (value) => { @@ -157,77 +169,92 @@ export default () => { endDate: value[1], }; }, - } + }, }, { - title: '操作', + title: t('common.operation'), valueType: 'option', key: 'option', render: (_, record) => [ - ( access.canRoleGetDetail && { - getRoleById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setTitle('查看角色') - setModalVisit(true) - setReadOnly(true) - setDataSource(res?.data) - } - }) - }} - > - 查看 - ), - ( access.canRoleModify && { - getRoleById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setTitle('修改角色') - setModalVisit(true) - setReadOnly(false) - setDataSource(res?.data) - } - }) - }} - > - 修改 - ), - ( access.canRoleModify && { - getRoleById({id: record?.id}).then(res => { - setTitle('分配权限') - setModalModifyAuthorityVisit(true) - setDataSource(res?.data) - setTypeValue(res?.data?.dataScope) - }) - }}> - 分配权限 - ), - ( access.canRoleRemove && { - Modal.confirm({ - title: '确认删除?', - content: '您确定要删除吗?', - okText: '确认', - cancelText: '取消', - onOk: () => { - removeRole([record?.id]).then(res => { + access.canRoleGetDetail && ( + { + getRoleById({ id: record?.id }).then((res) => { if (res.code === 'OK') { - message.success("删除成功").then() - // @ts-ignore - actionRef?.current?.reload(); + setTitle(t('role.view')); + setModalVisit(true); + setReadOnly(true); + setDataSource(res?.data); } - }) - } - }) - }}> - 删除 - ) + }); + }} + > + {t('common.view')} + + ), + access.canRoleModify && ( + { + getRoleById({ id: record?.id }).then((res) => { + if (res.code === 'OK') { + setTitle(t('role.modify')); + setModalVisit(true); + setReadOnly(false); + setDataSource(res?.data); + } + }); + }} + > + {t('common.modify')} + + ), + access.canRoleModify && ( + { + getRoleById({ id: record?.id }).then((res) => { + setTitle(t('role.assignAuthority')); + setModalModifyAuthorityVisit(true); + setDataSource(res?.data); + setTypeValue(res?.data?.dataScope); + }); + }} + > + {t('common.assignPermission')} + + ), + access.canRoleRemove && ( + { + Modal.confirm({ + title: t('confirm.deleteTitle'), + content: t('confirm.deleteContent'), + okText: t('common.ok'), + cancelText: t('common.cancel'), + onOk: () => { + removeRole([record?.id]).then((res) => { + if (res.code === 'OK') { + message.success(t('toast.deleteSuccess')).then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), ], }, ]; return ( <> - { actionRef={actionRef} columns={columns} - request={ async (params) => { + request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return pageRole(getPageQueryParam(params)).then(res => { + return pageRole(getPageQueryParam(params)).then((res) => { return Promise.resolve({ data: res?.data?.records, total: parseInt(res?.data?.total || 0), success: true, }); - }) + }); }} rowSelection={{ ...rowSelection }} rowKey="id" @@ -278,52 +305,65 @@ export default () => { layout: 'vertical', defaultCollapsed: true, }} - toolBarRender={ - () => [ - ( access.canRoleSave && ), - ( access.canRoleRemove && + ), + access.canRoleRemove && ( + ) - ] - } + removeRole(ids).then((res) => { + if (res.code === 'OK') { + message.success(t('toast.deleteSuccess')).then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), + ]} dateFormatter="string" toolbar={{ - title: '角色', - tooltip: '角色', + title: t('menu.sys.permission.role'), + tooltip: t('menu.sys.permission.role'), }} /> diff --git a/ui/src/pages/Sys/Permission/user.tsx b/ui/src/pages/Sys/Permission/user.tsx index 7863a8cbb6..9f603c3ee7 100644 --- a/ui/src/pages/Sys/Permission/user.tsx +++ b/ui/src/pages/Sys/Permission/user.tsx @@ -1,22 +1,22 @@ -import { - ProColumns -} from '@ant-design/pro-components'; -import {ProTable} from '@ant-design/pro-components'; -import { pageUser, removeUser, getUserById } from '@/services/admin/user'; -import {useEffect, useRef, useState} from "react"; -import {TableRowSelection} from "antd/es/table/interface"; -import {Button, message, Modal, Space, Switch, Tag, UploadFile} from 'antd'; -import { DeleteOutlined, PlusOutlined } from '@ant-design/icons'; -import {trim} from "@/utils/format"; +import { UserDrawer } from '@/pages/Sys/Permission/UserDrawer'; +import { UserModifyAuthorityDrawer } from '@/pages/Sys/Permission/UserModifyAuthorityDrawer'; import { UserResetPwdDrawer } from '@/pages/Sys/Permission/UserResetPwdDrawer'; -import {UserDrawer} from "@/pages/Sys/Permission/UserDrawer"; -import {listSelectTreeDept} from "@/services/admin/dept"; -import {pageRole} from "@/services/admin/role"; -import {UserModifyAuthorityDrawer} from "@/pages/Sys/Permission/UserModifyAuthorityDrawer"; -import {useAccess} from "@@/exports"; -import {v7 as uuidV7} from "uuid"; +import { listSelectTreeDept } from '@/services/admin/dept'; +import { pageRole } from '@/services/admin/role'; +import { getUserById, pageUser, removeUser } from '@/services/admin/user'; +import { trim } from '@/utils/format'; +import { useAccess, useIntl } from '@@/exports'; +import { DeleteOutlined, PlusOutlined } from '@ant-design/icons'; +import { ActionType, ProColumns, ProTable } from '@ant-design/pro-components'; +import { Button, message, Modal, Space, Switch, Tag, UploadFile } from 'antd'; +import { TableRowSelection } from 'antd/es/table/interface'; +import { useEffect, useRef, useState } from 'react'; +import { v7 as uuidV7 } from 'uuid'; export default () => { + const intl = useIntl(); + const t = (id: string, values?: Record) => + intl.formatMessage({ id }, values); type TableColumns = { id: number; @@ -28,33 +28,34 @@ export default () => { superAdmin: number | undefined; }; - const access = useAccess() - const [readOnly, setReadOnly] = useState(false) + const access = useAccess(); + const [readOnly, setReadOnly] = useState(false); const [modalVisit, setModalVisit] = useState(false); - const [modalModifyAuthorityVisit, setModalModifyAuthorityVisit] = useState(false); + const [modalModifyAuthorityVisit, setModalModifyAuthorityVisit] = + useState(false); const [modalRestPwdVisit, setModalRestPwdVisit] = useState(false); - const actionRef = useRef(); - const [dataSource, setDataSource] = useState({}) - const [ids, setIds] = useState([]) - const [title, setTitle] = useState("") - const [edit, setEdit] = useState(false) - const [deptTreeList, setDeptTreeList] = useState([]) - const [roleList, setRoleList] = useState([]) - const [fileList, setFileList] = useState([]) - const [requestId, setRequestId] = useState('') + const actionRef = useRef(null); + const [dataSource, setDataSource] = useState({}); + const [ids, setIds] = useState([]); + const [title, setTitle] = useState(''); + const [edit, setEdit] = useState(false); + const [deptTreeList, setDeptTreeList] = useState([]); + const [roleList, setRoleList] = useState([]); + const [fileList, setFileList] = useState([]); + const [requestId, setRequestId] = useState(''); const [logId, setLogId] = useState(1); const getDeptTreeList = async () => { - listSelectTreeDept({}).then(res => { - setDeptTreeList(res?.data) - }) - } + listSelectTreeDept({}).then((res) => { + setDeptTreeList(res?.data); + }); + }; const getRoleList = async () => { - pageRole({pageSize: 10000, pageNum: 1, pageIndex: 0}).then(res => { - setRoleList(res?.data?.records) - }) - } + pageRole({ pageSize: 10000, pageNum: 1, pageIndex: 0 }).then((res) => { + setRoleList(res?.data?.records); + }); + }; const getPageQueryParam = (params: any) => { return { @@ -67,91 +68,99 @@ export default () => { superAdmin: params?.superAdmin, status: params?.status, params: { - startTime: params?.startDate ? `${params.startDate} 00:00:00` : undefined, - endTime: params?.endDate ? `${params.endDate} 23:59:59` : undefined - } - } - } + startTime: params?.startDate + ? `${params.startDate} 00:00:00` + : undefined, + endTime: params?.endDate + ? `${params.endDate} 23:59:59` + : undefined, + }, + }; + }; const rowSelection: TableRowSelection = { onChange: (selectedRowKeys) => { - const ids: number[] = [] - selectedRowKeys.forEach(item => { - ids.push(item as number) - }) - setIds(ids) - } + const ids: number[] = []; + selectedRowKeys.forEach((item) => { + ids.push(item as number); + }); + setIds(ids); + }, }; useEffect(() => { - getDeptTreeList().catch(console.log) - getRoleList().catch(console.log) + getDeptTreeList().catch(console.log); + getRoleList().catch(console.log); }, []); const columns: ProColumns[] = [ { - title: '序号', + title: t('common.number'), dataIndex: 'index', valueType: 'indexBorder', - width: 60, + width: 85, }, { - title: '用户名', + title: t('user.username'), dataIndex: 'username', - tooltip: "仅支持四个字符的模糊查询", + tooltip: t('user.tooltipFuzzyQueryFourChars'), valueType: 'text', ellipsis: true, + width: 120, fieldProps: { - placeholder: '请输入用户名', - } + placeholder: t('user.placeholder.username'), + }, }, { - title: '用户邮箱', + title: t('user.mail'), dataIndex: 'mail', - tooltip: "仅支持四个字符的模糊查询", + tooltip: t('user.tooltipFuzzyQueryFourChars'), valueType: 'text', + width: 120, fieldProps: { - placeholder: '请输入用户邮箱', + placeholder: t('user.placeholder.mail'), }, ellipsis: true, }, { - title: '用户手机号', + title: t('user.mobile'), dataIndex: 'mobile', - tooltip: "仅支持三个或四个字符的模糊查询", + tooltip: t('user.tooltipFuzzyQueryThreeOrFourChars'), valueType: 'text', + width: 120, fieldProps: { - placeholder: '请输入用户手机号', + placeholder: t('user.placeholder.mobile'), }, ellipsis: true, }, { - title: '超级管理员', + title: t('user.superAdmin'), dataIndex: 'superAdmin', valueType: 'select', hideInTable: true, fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择超级管理员', + placeholder: t('user.placeholder.superAdmin'), options: [ { - label: '否', + label: t('common.no'), value: 0, }, { - label: '是', + label: t('common.yes'), value: 1, }, ], }, - ellipsis: true + ellipsis: true, }, { disable: true, - title: '超级管理员', + title: t('user.superAdmin'), dataIndex: 'superAdmin', hideInSearch: true, + width: 120, renderFormItem: (_, { defaultRender }) => { return defaultRender(_); }, @@ -159,63 +168,72 @@ export default () => { {record?.superAdmin === 0 && ( - 否 + {t('common.no')} )} {record?.superAdmin === 1 && ( - 是 + {t('common.yes')} )} ), }, { - title: '用户状态', + title: t('user.status'), dataIndex: 'status', hideInTable: true, valueType: 'select', fieldProps: { valueType: 'select', mode: 'single', - placeholder: '请选择用户状态', + placeholder: t('user.placeholder.status'), options: [ { - label: '启用', + label: t('common.enable'), value: 0, }, { - label: '禁用', + label: t('common.disable'), value: 1, }, ], }, - ellipsis: true + ellipsis: true, + width: 100, }, { - title: '用户状态', + title: t('user.status'), dataIndex: 'status', hideInSearch: true, render: (_, record) => ( - + ), }, { - title: '创建时间', + title: t('common.createTime'), key: 'createTime', dataIndex: 'createTime', valueType: 'dateTime', hideInSearch: true, width: 160, - ellipsis: true + ellipsis: true, }, { - title: '创建时间', + title: t('common.createTime'), dataIndex: 'createTimeValue', valueType: 'dateRange', hideInTable: true, fieldProps: { - placeholder: ['请选择开始时间', '请选择结束时间'], + placeholder: [ + t('common.selectStartTime'), + t('common.selectEndTime'), + ], }, search: { transform: (value) => { @@ -224,102 +242,143 @@ export default () => { endDate: value[1], }; }, - } + }, }, { - title: '操作', + title: t('common.operation'), valueType: 'option', key: 'option', - width: 250, + width: 400, render: (_, record) => [ - ( access.canUserGetDetail && { - getUserById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setTitle('查看用户') - setModalVisit(true) - setReadOnly(true) - setDataSource(res?.data) - setLogId(res?.data?.logId) - const avatarUrl = res?.data?.avatarUrl; - if (avatarUrl) { - setFileList([{uid: '-1', name: '用户头像.png', status: 'done', url: avatarUrl}]) - } else { - setFileList([]) - } - } - }) - }} - > - 查看 - ), - ( access.canUserModify && { - getUserById({id: record?.id}).then(res => { - if (res.code === 'OK') { - setTitle('修改用户') - setModalVisit(true) - setReadOnly(false) - setEdit(true) - setDataSource(res?.data) - const avatarUrl = res?.data?.avatarUrl; - if (avatarUrl) { - setFileList([{uid: '-1', name: '用户头像.png', status: 'done', url: avatarUrl}]) - } else { - setFileList([]) - } - } - }) - }} - > - 修改 - ), - ( access.canUserModify && { - getUserById({id: record?.id}).then(res => { - setTitle('分配权限') - setModalModifyAuthorityVisit(true) - setDataSource(res?.data) - }) - }}> - 分配权限 - ), - ( access.canUserModify && { - getUserById({id: record?.id}).then(res => { - setModalRestPwdVisit(true) - setDataSource(res?.data) - }) - }}> - 重置密码 - ), - ( access.canUserRemove && { - Modal.confirm({ - title: '确认删除?', - content: '您确定要删除吗?', - okText: '确认', - cancelText: '取消', - onOk: () => { - removeUser([record?.id]).then(res => { + access.canUserGetDetail && ( + { + getUserById({ id: record?.id }).then((res) => { if (res.code === 'OK') { - message.success("删除成功").then() - // @ts-ignore - actionRef?.current?.reload(); + setTitle(t('user.view')); + setModalVisit(true); + setReadOnly(true); + setDataSource(res?.data); + setLogId(res?.data?.logId); + const avatarUrl = res?.data?.avatarUrl; + if (avatarUrl) { + setFileList([ + { + uid: '-1', + name: t('user.avatarFileName'), + status: 'done', + url: avatarUrl, + }, + ]); + } else { + setFileList([]); + } } - }) - } - }) - }}> - 删除 - ) + }); + }} + > + {t('common.view')} + + ), + access.canUserModify && ( + { + getUserById({ id: record?.id }).then((res) => { + if (res.code === 'OK') { + setTitle(t('user.modify')); + setModalVisit(true); + setReadOnly(false); + setEdit(true); + setDataSource(res?.data); + const avatarUrl = res?.data?.avatarUrl; + if (avatarUrl) { + setFileList([ + { + uid: '-1', + name: t('user.avatarFileName'), + status: 'done', + url: avatarUrl, + }, + ]); + } else { + setFileList([]); + } + } + }); + }} + > + {t('common.modify')} + + ), + access.canUserModify && ( + { + getUserById({ id: record?.id }).then((res) => { + setTitle(t('user.assignAuthority')); + setModalModifyAuthorityVisit(true); + setDataSource(res?.data); + }); + }} + > + {t('common.assignPermission')} + + ), + access.canUserModify && ( + { + getUserById({ id: record?.id }).then((res) => { + setTitle(t('user.resetPwd.title')); + setModalRestPwdVisit(true); + setDataSource(res?.data); + }); + }} + > + {t('common.resetPwd')} + + ), + access.canUserRemove && ( + { + Modal.confirm({ + title: t('confirm.deleteTitle'), + content: t('confirm.deleteContent'), + okText: t('common.ok'), + cancelText: t('common.cancel'), + onOk: () => { + removeUser([record?.id]).then((res) => { + if (res.code === 'OK') { + message + .success( + t('toast.deleteSuccess'), + ) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), ], }, ]; return ( <> - - { actionRef={actionRef} columns={columns} - request={ async (params) => { + request={async (params) => { // 表单搜索项会从 params 传入,传递给后端接口。 - return pageUser(getPageQueryParam(params)).then(res => { + return pageUser(getPageQueryParam(params)).then((res) => { return Promise.resolve({ data: res?.data?.records, total: parseInt(res?.data?.total || 0), success: true, }); - }) + }); }} rowSelection={{ ...rowSelection }} rowKey="id" @@ -374,53 +433,76 @@ export default () => { layout: 'vertical', defaultCollapsed: true, }} - toolBarRender={ - () => [ - ( access.canUserSave && ), - ( access.canUserRemove && + ), + access.canUserRemove && ( + ) - ] - } + removeUser(ids).then((res) => { + if (res.code === 'OK') { + message + .success( + t( + 'toast.deleteSuccess', + ), + ) + .then(); + // @ts-ignore + actionRef?.current?.reload(); + } + }); + }, + }); + }} + > + {t('common.delete')} + + ), + ]} dateFormatter="string" toolbar={{ - title: '用户', - tooltip: '用户【默认密码:laokou123】', + title: t('menu.sys.permission.user'), + tooltip: t('user.tooltipDefaultPwd'), }} /> diff --git a/ui/src/services/admin/dept.ts b/ui/src/services/admin/dept.ts index 67353fa09e..f90667fa21 100644 --- a/ui/src/services/admin/dept.ts +++ b/ui/src/services/admin/dept.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改部门 修改部门 PUT /api/v1/depts */ -export async function modifyDept(body: API.DeptModifyCmd, options?: { [key: string]: any }) { +export async function modifyDept( + body: API.DeptModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/depts', { method: 'PUT', headers: { @@ -14,7 +17,11 @@ export async function modifyDept(body: API.DeptModifyCmd, options?: { [key: stri } /** 保存部门 保存部门 POST /api/v1/depts */ -export async function saveDept(body: API.DeptSaveCmd, requestId: string, options?: { [key: string]: any }) { +export async function saveDept( + body: API.DeptSaveCmd, + requestId: string, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/depts', { method: 'POST', headers: { @@ -27,7 +34,10 @@ export async function saveDept(body: API.DeptSaveCmd, requestId: string, options } /** 删除部门 删除部门 DELETE /api/v1/depts */ -export async function removeDept(body: number[], options?: { [key: string]: any }) { +export async function removeDept( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/depts', { method: 'DELETE', headers: { @@ -44,16 +54,19 @@ export async function getDeptById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/depts/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出部门 导出部门 POST /api/v1/depts/export */ -export async function exportDept(body: API.DeptExportCmd, options?: { [key: string]: any }) { +export async function exportDept( + body: API.DeptExportCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/depts/export', { method: 'POST', headers: { @@ -65,7 +78,11 @@ export async function exportDept(body: API.DeptExportCmd, options?: { [key: stri } /** 导入部门 导入部门 POST /api/v1/depts/import */ -export async function importDept(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importDept( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -97,7 +114,10 @@ export async function importDept(body: {}, file?: File[], options?: { [key: stri } /** 分页查询部门列表 分页查询部门列表 POST /api/v1/depts/page */ -export async function pageDept(body: API.DeptPageQry, options?: { [key: string]: any }) { +export async function pageDept( + body: API.DeptPageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/depts/page', { method: 'POST', headers: { @@ -108,7 +128,10 @@ export async function pageDept(body: API.DeptPageQry, options?: { [key: string]: }); } -export async function listTreeDept(body: any,options?: { [key: string]: any }) { +export async function listTreeDept( + body: any, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/depts/list-tree', { method: 'POST', headers: { @@ -119,7 +142,10 @@ export async function listTreeDept(body: any,options?: { [key: string]: any }) { }); } -export async function listSelectTreeDept(body: any,options?: { [key: string]: any }) { +export async function listSelectTreeDept( + body: any, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/depts/list-select-tree', { method: 'POST', headers: { diff --git a/ui/src/services/admin/dict.ts b/ui/src/services/admin/dict.ts index aca0ec4d3e..37d4ff8d98 100644 --- a/ui/src/services/admin/dict.ts +++ b/ui/src/services/admin/dict.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改字典 修改字典 PUT /api/v1/dicts */ -export async function modifyDict(body: API.DictModifyCmd, options?: { [key: string]: any }) { +export async function modifyDict( + body: API.DictModifyCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/dicts', { method: 'PUT', headers: { @@ -14,7 +17,10 @@ export async function modifyDict(body: API.DictModifyCmd, options?: { [key: stri } /** 保存字典 保存字典 POST /api/v1/dicts */ -export async function saveDict(body: API.DictSaveCmd, options?: { [key: string]: any }) { +export async function saveDict( + body: API.DictSaveCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/dicts', { method: 'POST', headers: { @@ -26,7 +32,10 @@ export async function saveDict(body: API.DictSaveCmd, options?: { [key: string]: } /** 删除字典 删除字典 DELETE /api/v1/dicts */ -export async function removeDict(body: number[], options?: { [key: string]: any }) { +export async function removeDict( + body: number[], + options?: { [key: string]: any }, +) { return request('/api/v1/dicts', { method: 'DELETE', headers: { @@ -43,16 +52,19 @@ export async function getDictById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/api/v1/dicts/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出字典 导出字典 POST /api/v1/dicts/export */ -export async function exportDict(body: API.DictExportCmd, options?: { [key: string]: any }) { +export async function exportDict( + body: API.DictExportCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/dicts/export', { method: 'POST', headers: { @@ -64,7 +76,11 @@ export async function exportDict(body: API.DictExportCmd, options?: { [key: stri } /** 导入字典 导入字典 POST /api/v1/dicts/import */ -export async function importDict(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importDict( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -96,7 +112,10 @@ export async function importDict(body: {}, file?: File[], options?: { [key: stri } /** 分页查询字典列表 分页查询字典列表 POST /api/v1/dicts/page */ -export async function pageDict(body: API.DictPageQry, options?: { [key: string]: any }) { +export async function pageDict( + body: API.DictPageQry, + options?: { [key: string]: any }, +) { return request('/api/v1/dicts/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/dictItem.ts b/ui/src/services/admin/dictItem.ts index 8202afc7df..66f7f7c51c 100644 --- a/ui/src/services/admin/dictItem.ts +++ b/ui/src/services/admin/dictItem.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改字典项 修改字典项 PUT /api/v1/dict-items */ -export async function modifyDictItem(body: API.DictItemModifyCmd, options?: { [key: string]: any }) { +export async function modifyDictItem( + body: API.DictItemModifyCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/dict-items', { method: 'PUT', headers: { @@ -14,7 +17,10 @@ export async function modifyDictItem(body: API.DictItemModifyCmd, options?: { [k } /** 保存字典项 保存字典项 POST /api/v1/dict-items */ -export async function saveDictItem(body: API.DictItemSaveCmd, options?: { [key: string]: any }) { +export async function saveDictItem( + body: API.DictItemSaveCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/dict-items', { method: 'POST', headers: { @@ -26,7 +32,10 @@ export async function saveDictItem(body: API.DictItemSaveCmd, options?: { [key: } /** 删除字典项 删除字典项 DELETE /api/v1/dict-items */ -export async function removeDictItem(body: number[], options?: { [key: string]: any }) { +export async function removeDictItem( + body: number[], + options?: { [key: string]: any }, +) { return request('/api/v1/dict-items', { method: 'DELETE', headers: { @@ -43,16 +52,19 @@ export async function getDictItemById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/api/v1/dict-items/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出字典项 导出字典项 POST /api/v1/dict-items/export */ -export async function exportDictItem(body: API.DictItemExportCmd, options?: { [key: string]: any }) { +export async function exportDictItem( + body: API.DictItemExportCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/dict-items/export', { method: 'POST', headers: { @@ -64,7 +76,11 @@ export async function exportDictItem(body: API.DictItemExportCmd, options?: { [k } /** 导入字典项 导入字典项 POST /api/v1/dict-items/import */ -export async function importDictItem(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importDictItem( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -96,7 +112,10 @@ export async function importDictItem(body: {}, file?: File[], options?: { [key: } /** 分页查询字典项列表 分页查询字典项列表 POST /api/v1/dict-items/page */ -export async function pageDictItem(body: API.DictItemPageQry, options?: { [key: string]: any }) { +export async function pageDictItem( + body: API.DictItemPageQry, + options?: { [key: string]: any }, +) { return request('/api/v1/dict-items/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/i18nMenu.ts b/ui/src/services/admin/i18nMenu.ts new file mode 100644 index 0000000000..520497abb9 --- /dev/null +++ b/ui/src/services/admin/i18nMenu.ts @@ -0,0 +1,127 @@ +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 修改国际化菜单 修改国际化菜单 PUT /api/v1/i18n-menus */ +export async function modifyI18nMenu( + body: API.I18nMenuModifyCmd, + options?: { [key: string]: any }, +) { + return request('/api/v1/i18n-menus', { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 保存国际化菜单 保存国际化菜单 POST /api/v1/i18n-menus */ +export async function saveI18nMenu( + body: API.I18nMenuSaveCmd, + options?: { [key: string]: any }, +) { + return request('/api/v1/i18n-menus', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除国际化菜单 删除国际化菜单 DELETE /api/v1/i18n-menus */ +export async function removeI18nMenu( + body: number[], + options?: { [key: string]: any }, +) { + return request('/api/v1/i18n-menus', { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 查看国际化菜单详情 查看国际化菜单详情 GET /api/v1/i18n-menus/${param0} */ +export async function getI18nMenuById( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getByIdParams, + options?: { [key: string]: any }, +) { + const { id: param0, ...queryParams } = params; + return request(`/api/v1/i18n-menus/${param0}`, { + method: 'GET', + params: { ...queryParams }, + ...(options || {}), + }); +} + +/** 导出国际化菜单 导出国际化菜单 POST /api/v1/i18n-menus/export */ +export async function exportI18nMenu( + body: API.I18nMenuExportCmd, + options?: { [key: string]: any }, +) { + return request('/api/v1/i18n-menus/export', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 导入国际化菜单 导入国际化菜单 POST /api/v1/i18n-menus/import */ +export async function importI18nMenu( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { + const formData = new FormData(); + + if (file) { + file.forEach((f) => formData.append('file', f || '')); + } + + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; + + if (item !== undefined && item !== null) { + if (typeof item === 'object' && !(item instanceof File)) { + if (item instanceof Array) { + item.forEach((f) => formData.append(ele, f || '')); + } else { + formData.append(ele, JSON.stringify(item)); + } + } else { + formData.append(ele, item); + } + } + }); + + return request('/api/v1/i18n-menus/import', { + method: 'POST', + data: formData, + requestType: 'form', + ...(options || {}), + }); +} + +/** 分页查询国际化菜单列表 分页查询国际化菜单列表 POST /api/v1/i18n-menus/page */ +export async function pageI18nMenu( + body: API.I18nMenuPageQry, + options?: { [key: string]: any }, +) { + return request('/api/v1/i18n-menus/page', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/ui/src/services/admin/i18nMessage.ts b/ui/src/services/admin/i18nMessage.ts deleted file mode 100644 index 96b3468152..0000000000 --- a/ui/src/services/admin/i18nMessage.ts +++ /dev/null @@ -1,108 +0,0 @@ -/* eslint-disable */ -import {request} from '@umijs/max'; - -/** 修改国际化消息 修改国际化消息 PUT /api/v1/i18n-messages */ -export async function modifyI18nMessage(body: API.I18nMessageModifyCmd, options?: { [key: string]: any }) { - return request('/api/v1/i18n-messages', { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** 保存国际化消息 保存国际化消息 POST /api/v1/i18n-messages */ -export async function saveI18nMessage(body: API.I18nMessageSaveCmd, options?: { [key: string]: any }) { - return request('/api/v1/i18n-messages', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** 删除国际化消息 删除国际化消息 DELETE /api/v1/i18n-messages */ -export async function removeI18nMessage(body: number[], options?: { [key: string]: any }) { - return request('/api/v1/i18n-messages', { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** 查看国际化消息详情 查看国际化消息详情 GET /api/v1/i18n-messages/${param0} */ -export async function getI18nMessageById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getByIdParams, - options?: { [key: string]: any }, -) { - const {id: param0, ...queryParams} = params; - return request(`/api/v1/i18n-messages/${param0}`, { - method: 'GET', - params: {...queryParams}, - ...(options || {}), - }); -} - -/** 导出国际化消息 导出国际化消息 POST /api/v1/i18n-messages/export */ -export async function exportI18nMessage(body: API.I18nMessageExportCmd, options?: { [key: string]: any }) { - return request('/api/v1/i18n-messages/export', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** 导入国际化消息 导入国际化消息 POST /api/v1/i18n-messages/import */ -export async function importI18nMessage(body: {}, file?: File[], options?: { [key: string]: any }) { - const formData = new FormData(); - - if (file) { - file.forEach((f) => formData.append('file', f || '')); - } - - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; - - if (item !== undefined && item !== null) { - if (typeof item === 'object' && !(item instanceof File)) { - if (item instanceof Array) { - item.forEach((f) => formData.append(ele, f || '')); - } else { - formData.append(ele, JSON.stringify(item)); - } - } else { - formData.append(ele, item); - } - } - }); - - return request('/api/v1/i18n-messages/import', { - method: 'POST', - data: formData, - requestType: 'form', - ...(options || {}), - }); -} - -/** 分页查询国际化消息列表 分页查询国际化消息列表 POST /api/v1/i18n-messages/page */ -export async function pageI18nMessage(body: API.I18nMessagePageQry, options?: { [key: string]: any }) { - return request('/api/v1/i18n-messages/page', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} diff --git a/ui/src/services/admin/index.ts b/ui/src/services/admin/index.ts index 78593a121e..67cf385a52 100644 --- a/ui/src/services/admin/index.ts +++ b/ui/src/services/admin/index.ts @@ -1,20 +1,20 @@ /* eslint-disable */ // API 更新时间: // API 唯一标识: -import * as user from './user'; -import * as tenant from './tenant'; -import * as source from './source'; -import * as role from './role'; -import * as oss from './oss'; -import * as operateLog from './operateLog'; -import * as menu from './menu'; -import * as loginLog from './loginLog'; -import * as i18nMessage from './i18nMessage'; +import * as dept from './dept'; import * as dictType from './dict'; import * as dictItem from './dictItem'; -import * as dept from './dept'; +import * as i18nMenu from './i18nMenu'; +import * as loginLog from './loginLog'; +import * as menu from './menu'; import * as noticeLog from './noticeLog'; -import * as ossLog from './ossLog' +import * as operateLog from './operateLog'; +import * as oss from './oss'; +import * as ossLog from './ossLog'; +import * as role from './role'; +import * as source from './source'; +import * as tenant from './tenant'; +import * as user from './user'; export default { ossLog, @@ -26,9 +26,9 @@ export default { operateLog, menu, loginLog, - i18nMessage, + i18nMenu, dictType, dictItem, dept, - noticeLog + noticeLog, }; diff --git a/ui/src/services/admin/loginLog.ts b/ui/src/services/admin/loginLog.ts index e298185717..4920c26b66 100644 --- a/ui/src/services/admin/loginLog.ts +++ b/ui/src/services/admin/loginLog.ts @@ -1,10 +1,13 @@ /* eslint-disable */ -import {request} from '@umijs/max'; -import {ExportAllToExcel} from "@/utils/export"; -import moment from "moment/moment"; +import { ExportAllToExcel } from '@/utils/export'; +import { request } from '@umijs/max'; +import moment from 'moment/moment'; /** 修改登录日志 修改登录日志 PUT /api/v1/login-logs */ -export async function modifyLoginLog(body: API.LoginLogModifyCmd, options?: { [key: string]: any }) { +export async function modifyLoginLog( + body: API.LoginLogModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/login-logs', { method: 'PUT', headers: { @@ -16,7 +19,10 @@ export async function modifyLoginLog(body: API.LoginLogModifyCmd, options?: { [k } /** 保存登录日志 保存登录日志 POST /api/v1/login-logs */ -export async function saveLoginLog(body: API.LoginLogSaveCmd, options?: { [key: string]: any }) { +export async function saveLoginLog( + body: API.LoginLogSaveCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/login-logs', { method: 'POST', headers: { @@ -28,7 +34,10 @@ export async function saveLoginLog(body: API.LoginLogSaveCmd, options?: { [key: } /** 删除登录日志 删除登录日志 DELETE /api/v1/login-logs */ -export async function removeLoginLog(body: number[], options?: { [key: string]: any }) { +export async function removeLoginLog( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/login-logs', { method: 'DELETE', headers: { @@ -45,21 +54,37 @@ export async function getLoginLogById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/login-logs/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出登录日志 导出登录日志 POST /api/v1/login-logs/export */ -export async function exportLoginLog(body: API.LoginLogExportCmd, options?: { [key: string]: any }) { - return ExportAllToExcel("登录日志" + "_导出全部_" + moment(new Date()).format('YYYYMMDDHHmmss') + ".xlsx", '/apis/admin/api/v1/login-logs/export', 'POST', body, options) +export async function exportLoginLog( + body: API.LoginLogExportCmd, + options?: { [key: string]: any }, +) { + return ExportAllToExcel( + '登录日志' + + '_导出全部_' + + moment(new Date()).format('YYYYMMDDHHmmss') + + '.xlsx', + '/apis/admin/api/v1/login-logs/export', + 'POST', + body, + options, + ); } /** 导入登录日志 导入登录日志 POST /api/v1/login-logs/import */ -export async function importLoginLog(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importLoginLog( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -91,7 +116,10 @@ export async function importLoginLog(body: {}, file?: File[], options?: { [key: } /** 分页查询登录日志列表 分页查询登录日志列表 POST /api/v1/login-logs/page */ -export async function pageLoginLog(body: API.LoginLogPageQry, options?: { [key: string]: any }) { +export async function pageLoginLog( + body: API.LoginLogPageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/login-logs/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/menu.ts b/ui/src/services/admin/menu.ts index 1179a8e4ac..93d1345885 100644 --- a/ui/src/services/admin/menu.ts +++ b/ui/src/services/admin/menu.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改菜单 修改菜单 PUT /api/v1/menus */ -export async function modifyMenu(body: API.MenuModifyCmd, options?: { [key: string]: any }) { +export async function modifyMenu( + body: API.MenuModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/menus', { method: 'PUT', headers: { @@ -14,7 +17,11 @@ export async function modifyMenu(body: API.MenuModifyCmd, options?: { [key: stri } /** 保存菜单 保存菜单 POST /api/v1/menus */ -export async function saveMenu(body: API.MenuSaveCmd, requestId: string, options?: { [key: string]: any }) { +export async function saveMenu( + body: API.MenuSaveCmd, + requestId: string, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/menus', { method: 'POST', headers: { @@ -27,7 +34,10 @@ export async function saveMenu(body: API.MenuSaveCmd, requestId: string, options } /** 删除菜单 删除菜单 DELETE /api/v1/menus */ -export async function removeMenu(body: number[], options?: { [key: string]: any }) { +export async function removeMenu( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/menus', { method: 'DELETE', headers: { @@ -44,16 +54,19 @@ export async function getMenuById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/menus/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出菜单 导出菜单 POST /api/v1/menus/export */ -export async function exportMenu(body: API.MenuExportCmd, options?: { [key: string]: any }) { +export async function exportMenu( + body: API.MenuExportCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/menus/export', { method: 'POST', headers: { @@ -65,7 +78,11 @@ export async function exportMenu(body: API.MenuExportCmd, options?: { [key: stri } /** 导入菜单 导入菜单 POST /api/v1/menus/import */ -export async function importMenu(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importMenu( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -97,7 +114,10 @@ export async function importMenu(body: {}, file?: File[], options?: { [key: stri } /** 分页查询菜单列表 分页查询菜单列表 POST /api/v1/menus/page */ -export async function pageMenu(body: API.MenuPageQry, options?: { [key: string]: any }) { +export async function pageMenu( + body: API.MenuPageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/menus/page', { method: 'POST', headers: { @@ -108,7 +128,10 @@ export async function pageMenu(body: API.MenuPageQry, options?: { [key: string]: }); } -export async function listTreeMenu(body: any,options?: { [key: string]: any }) { +export async function listTreeMenu( + body: any, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/menus/list-tree', { method: 'POST', headers: { @@ -119,7 +142,10 @@ export async function listTreeMenu(body: any,options?: { [key: string]: any }) { }); } -export async function listUserTreeMenu(body: any,options?: { [key: string]: any }) { +export async function listUserTreeMenu( + body: any, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/menus/list-user-tree', { method: 'POST', headers: { @@ -130,7 +156,10 @@ export async function listUserTreeMenu(body: any,options?: { [key: string]: any }); } -export async function listSelectTreeMenu(body: any,options?: { [key: string]: any }) { +export async function listSelectTreeMenu( + body: any, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/menus/list-select-tree', { method: 'POST', headers: { diff --git a/ui/src/services/admin/noticeLog.ts b/ui/src/services/admin/noticeLog.ts index dc3b927838..c4afd6d7f3 100644 --- a/ui/src/services/admin/noticeLog.ts +++ b/ui/src/services/admin/noticeLog.ts @@ -1,10 +1,13 @@ /* eslint-disable */ -import {request} from '@umijs/max'; -import {ExportAllToExcel} from "@/utils/export"; -import moment from "moment"; +import { ExportAllToExcel } from '@/utils/export'; +import { request } from '@umijs/max'; +import moment from 'moment'; /** 修改通知日志 修改通知日志 PUT /api/v1/notice-logs */ -export async function modifyNoticeLog(body: API.NoticeLogModifyCmd, options?: { [key: string]: any }) { +export async function modifyNoticeLog( + body: API.NoticeLogModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/notice-logs', { method: 'PUT', headers: { @@ -16,7 +19,10 @@ export async function modifyNoticeLog(body: API.NoticeLogModifyCmd, options?: { } /** 保存通知日志 保存通知日志 POST /api/v1/notice-logs */ -export async function saveNoticeLog(body: API.NoticeLogSaveCmd, options?: { [key: string]: any }) { +export async function saveNoticeLog( + body: API.NoticeLogSaveCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/notice-logs', { method: 'POST', headers: { @@ -28,7 +34,10 @@ export async function saveNoticeLog(body: API.NoticeLogSaveCmd, options?: { [key } /** 删除通知日志 删除通知日志 DELETE /api/v1/notice-logs */ -export async function removeNoticeLog(body: number[], options?: { [key: string]: any }) { +export async function removeNoticeLog( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/notice-logs', { method: 'DELETE', headers: { @@ -45,21 +54,37 @@ export async function getNoticeLogById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/notice-logs/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出通知日志 导出通知日志 POST /api/v1/notice-logs/export */ -export async function exportNoticeLog(body: API.NoticeLogExportCmd, options?: { [key: string]: any }) { - return ExportAllToExcel("通知日志" + "_导出全部_" + moment(new Date()).format('YYYYMMDDHHmmss') + ".xlsx", '/apis/admin/api/v1/notice-logs/export', 'POST', body, options) +export async function exportNoticeLog( + body: API.NoticeLogExportCmd, + options?: { [key: string]: any }, +) { + return ExportAllToExcel( + '通知日志' + + '_导出全部_' + + moment(new Date()).format('YYYYMMDDHHmmss') + + '.xlsx', + '/apis/admin/api/v1/notice-logs/export', + 'POST', + body, + options, + ); } /** 导入通知日志 导入通知日志 POST /api/v1/notice-logs/import */ -export async function importNoticeLog(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importNoticeLog( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -91,7 +116,10 @@ export async function importNoticeLog(body: {}, file?: File[], options?: { [key: } /** 分页查询通知日志列表 分页查询通知日志列表 POST /api/v1/notice-logs/page */ -export async function pageNoticeLog(body: API.NoticeLogPageQry, options?: { [key: string]: any }) { +export async function pageNoticeLog( + body: API.NoticeLogPageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/notice-logs/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/operateLog.ts b/ui/src/services/admin/operateLog.ts index bd7cf5c036..6477828377 100644 --- a/ui/src/services/admin/operateLog.ts +++ b/ui/src/services/admin/operateLog.ts @@ -1,10 +1,13 @@ /* eslint-disable */ -import {request} from '@umijs/max'; -import {ExportAllToExcel} from "@/utils/export"; -import moment from "moment"; +import { ExportAllToExcel } from '@/utils/export'; +import { request } from '@umijs/max'; +import moment from 'moment'; /** 修改操作日志 修改操作日志 PUT /api/v1/operate-logs */ -export async function modifyOperateLog(body: API.OperateLogModifyCmd, options?: { [key: string]: any }) { +export async function modifyOperateLog( + body: API.OperateLogModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/operate-logs', { method: 'PUT', headers: { @@ -16,7 +19,10 @@ export async function modifyOperateLog(body: API.OperateLogModifyCmd, options?: } /** 保存操作日志 保存操作日志 POST /api/v1/operate-logs */ -export async function saveOperateLog(body: API.OperateLogSaveCmd, options?: { [key: string]: any }) { +export async function saveOperateLog( + body: API.OperateLogSaveCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/operate-logs', { method: 'POST', headers: { @@ -28,7 +34,10 @@ export async function saveOperateLog(body: API.OperateLogSaveCmd, options?: { [k } /** 删除操作日志 删除操作日志 DELETE /api/v1/operate-logs */ -export async function removeOperateLog(body: number[], options?: { [key: string]: any }) { +export async function removeOperateLog( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/operate-logs', { method: 'DELETE', headers: { @@ -45,21 +54,37 @@ export async function getOperateLogById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/operate-logs/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出操作日志 导出操作日志 POST /api/v1/operate-logs/export */ -export async function exportOperateLog(body: API.OperateLogExportCmd, options?: { [key: string]: any }) { - return ExportAllToExcel("操作日志" + "_导出全部_" + moment(new Date()).format('YYYYMMDDHHmmss') + ".xlsx", '/apis/admin/api/v1/operate-logs/export', 'POST', body, options) +export async function exportOperateLog( + body: API.OperateLogExportCmd, + options?: { [key: string]: any }, +) { + return ExportAllToExcel( + '操作日志' + + '_导出全部_' + + moment(new Date()).format('YYYYMMDDHHmmss') + + '.xlsx', + '/apis/admin/api/v1/operate-logs/export', + 'POST', + body, + options, + ); } /** 导入操作日志 导入操作日志 POST /api/v1/operate-logs/import */ -export async function importOperateLog(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importOperateLog( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -91,7 +116,10 @@ export async function importOperateLog(body: {}, file?: File[], options?: { [key } /** 分页查询操作日志列表 分页查询操作日志列表 POST /api/v1/operate-logs/page */ -export async function pageOperateLog(body: API.OperateLogPageQry, options?: { [key: string]: any }) { +export async function pageOperateLog( + body: API.OperateLogPageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/operate-logs/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/oss.ts b/ui/src/services/admin/oss.ts index 625c27d4f1..23a30cc4d4 100644 --- a/ui/src/services/admin/oss.ts +++ b/ui/src/services/admin/oss.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改OSS 修改OSS PUT /api/v1/oss */ -export async function modifyOss(body: API.OssModifyCmd, options?: { [key: string]: any }) { +export async function modifyOss( + body: API.OssModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss', { method: 'PUT', headers: { @@ -14,7 +17,10 @@ export async function modifyOss(body: API.OssModifyCmd, options?: { [key: string } /** 保存OSS 保存OSS POST /api/v1/oss */ -export async function saveOss(body: API.OssSaveCmd, options?: { [key: string]: any }) { +export async function saveOss( + body: API.OssSaveCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss', { method: 'POST', headers: { @@ -26,7 +32,10 @@ export async function saveOss(body: API.OssSaveCmd, options?: { [key: string]: a } /** 删除OSS 删除OSS DELETE /api/v1/oss */ -export async function removeOss(body: number[], options?: { [key: string]: any }) { +export async function removeOss( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss', { method: 'DELETE', headers: { @@ -43,16 +52,19 @@ export async function getOssById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/oss/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出OSS 导出OSS POST /api/v1/oss/export */ -export async function exportOss(body: API.OssExportCmd, options?: { [key: string]: any }) { +export async function exportOss( + body: API.OssExportCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss/export', { method: 'POST', headers: { @@ -64,7 +76,11 @@ export async function exportOss(body: API.OssExportCmd, options?: { [key: string } /** 导入OSS 导入OSS POST /api/v1/oss/import */ -export async function importOss(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importOss( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -96,7 +112,10 @@ export async function importOss(body: {}, file?: File[], options?: { [key: strin } /** 分页查询OSS列表 分页查询OSS列表 POST /api/v1/oss/page */ -export async function pageOss(body: API.OssPageQry, options?: { [key: string]: any }) { +export async function pageOss( + body: API.OssPageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/ossLog.ts b/ui/src/services/admin/ossLog.ts index b2d8a29d34..5ce1593867 100644 --- a/ui/src/services/admin/ossLog.ts +++ b/ui/src/services/admin/ossLog.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改OSS日志 修改OSS日志 PUT /api/v1/oss-logs */ -export async function modifyOssLog(body: API.OssLogModifyCmd, options?: { [key: string]: any }) { +export async function modifyOssLog( + body: API.OssLogModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss-logs', { method: 'PUT', headers: { @@ -14,7 +17,10 @@ export async function modifyOssLog(body: API.OssLogModifyCmd, options?: { [key: } /** 保存OSS日志 保存OSS日志 POST /api/v1/oss-logs */ -export async function saveOssLog(body: API.OssLogSaveCmd, options?: { [key: string]: any }) { +export async function saveOssLog( + body: API.OssLogSaveCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss-logs', { method: 'POST', headers: { @@ -26,7 +32,10 @@ export async function saveOssLog(body: API.OssLogSaveCmd, options?: { [key: stri } /** 删除OSS日志 删除OSS日志 DELETE /api/v1/oss-logs */ -export async function removeOssLog(body: number[], options?: { [key: string]: any }) { +export async function removeOssLog( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss-logs', { method: 'DELETE', headers: { @@ -43,16 +52,19 @@ export async function getOssLogById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/oss-logs/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出OSS日志 导出OSS日志 POST /api/v1/oss-logs/export */ -export async function exportOssLog(body: API.OssLogExportCmd, options?: { [key: string]: any }) { +export async function exportOssLog( + body: API.OssLogExportCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss-logs/export', { method: 'POST', headers: { @@ -64,7 +76,11 @@ export async function exportOssLog(body: API.OssLogExportCmd, options?: { [key: } /** 导入OSS日志 导入OSS日志 POST /api/v1/oss-logs/import */ -export async function importOssLog(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importOssLog( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -96,7 +112,10 @@ export async function importOssLog(body: {}, file?: File[], options?: { [key: st } /** 分页查询OSS日志列表 分页查询OSS日志列表 POST /api/v1/oss-logs/page */ -export async function pageOssLog(body: API.OssLogPageQry, options?: { [key: string]: any }) { +export async function pageOssLog( + body: API.OssLogPageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/oss-logs/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/role.ts b/ui/src/services/admin/role.ts index 1a5424e937..79b0126f74 100644 --- a/ui/src/services/admin/role.ts +++ b/ui/src/services/admin/role.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改角色 修改角色 PUT /api/v1/roles */ -export async function modifyRole(body: API.RoleModifyCmd, options?: { [key: string]: any }) { +export async function modifyRole( + body: API.RoleModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/roles', { method: 'PUT', headers: { @@ -14,7 +17,11 @@ export async function modifyRole(body: API.RoleModifyCmd, options?: { [key: stri } /** 保存角色 保存角色 POST /api/v1/roles */ -export async function saveRole(body: API.RoleSaveCmd,requestId: string, options?: { [key: string]: any }) { +export async function saveRole( + body: API.RoleSaveCmd, + requestId: string, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/roles', { method: 'POST', headers: { @@ -27,7 +34,10 @@ export async function saveRole(body: API.RoleSaveCmd,requestId: string, options? } /** 删除角色 删除角色 DELETE /api/v1/roles */ -export async function removeRole(body: number[], options?: { [key: string]: any }) { +export async function removeRole( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/roles', { method: 'DELETE', headers: { @@ -44,16 +54,19 @@ export async function getRoleById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/roles/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出角色 导出角色 POST /api/v1/roles/export */ -export async function exportRole(body: API.RoleExportCmd, options?: { [key: string]: any }) { +export async function exportRole( + body: API.RoleExportCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/roles/export', { method: 'POST', headers: { @@ -65,7 +78,11 @@ export async function exportRole(body: API.RoleExportCmd, options?: { [key: stri } /** 导入角色 导入角色 POST /api/v1/roles/import */ -export async function importRole(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importRole( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -97,7 +114,10 @@ export async function importRole(body: {}, file?: File[], options?: { [key: stri } /** 分页查询角色列表 分页查询角色列表 POST /api/v1/roles/page */ -export async function pageRole(body: API.RolePageQry, options?: { [key: string]: any }) { +export async function pageRole( + body: API.RolePageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/roles/page', { method: 'POST', headers: { @@ -109,7 +129,10 @@ export async function pageRole(body: API.RolePageQry, options?: { [key: string]: } /** 修改角色权限 修改角色权限 PUT /api/v1/roles/authority */ -export async function modifyRoleAuthority(body: API.RoleModifyAuthorityCmd, options?: { [key: string]: any }) { +export async function modifyRoleAuthority( + body: API.RoleModifyAuthorityCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/roles/authority', { method: 'PUT', headers: { diff --git a/ui/src/services/admin/source.ts b/ui/src/services/admin/source.ts index d4da43c7cd..e6444e8e37 100644 --- a/ui/src/services/admin/source.ts +++ b/ui/src/services/admin/source.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改数据源 修改数据源 PUT /api/v1/sources */ -export async function modifySource(body: API.SourceModifyCmd, options?: { [key: string]: any }) { +export async function modifySource( + body: API.SourceModifyCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/sources', { method: 'PUT', headers: { @@ -14,7 +17,10 @@ export async function modifySource(body: API.SourceModifyCmd, options?: { [key: } /** 保存数据源 保存数据源 POST /api/v1/sources */ -export async function saveSource(body: API.SourceSaveCmd, options?: { [key: string]: any }) { +export async function saveSource( + body: API.SourceSaveCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/sources', { method: 'POST', headers: { @@ -26,7 +32,10 @@ export async function saveSource(body: API.SourceSaveCmd, options?: { [key: stri } /** 删除数据源 删除数据源 DELETE /api/v1/sources */ -export async function removeSource(body: number[], options?: { [key: string]: any }) { +export async function removeSource( + body: number[], + options?: { [key: string]: any }, +) { return request('/api/v1/sources', { method: 'DELETE', headers: { @@ -43,16 +52,19 @@ export async function getSourceById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/api/v1/sources/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出数据源 导出数据源 POST /api/v1/sources/export */ -export async function exportSource(body: API.SourceExportCmd, options?: { [key: string]: any }) { +export async function exportSource( + body: API.SourceExportCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/sources/export', { method: 'POST', headers: { @@ -64,7 +76,11 @@ export async function exportSource(body: API.SourceExportCmd, options?: { [key: } /** 导入数据源 导入数据源 POST /api/v1/sources/import */ -export async function importSource(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importSource( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -96,7 +112,10 @@ export async function importSource(body: {}, file?: File[], options?: { [key: st } /** 分页查询数据源列表 分页查询数据源列表 POST /api/v1/sources/page */ -export async function pageSource(body: API.SourcePageQry, options?: { [key: string]: any }) { +export async function pageSource( + body: API.SourcePageQry, + options?: { [key: string]: any }, +) { return request('/api/v1/sources/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/tenant.ts b/ui/src/services/admin/tenant.ts index 263fb8180e..80d8d2dc8a 100644 --- a/ui/src/services/admin/tenant.ts +++ b/ui/src/services/admin/tenant.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改租户 修改租户 PUT /api/v1/tenants */ -export async function modifyTenant(body: API.TenantModifyCmd, options?: { [key: string]: any }) { +export async function modifyTenant( + body: API.TenantModifyCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/tenants', { method: 'PUT', headers: { @@ -14,7 +17,10 @@ export async function modifyTenant(body: API.TenantModifyCmd, options?: { [key: } /** 保存租户 保存租户 POST /api/v1/tenants */ -export async function saveTenant(body: API.TenantSaveCmd, options?: { [key: string]: any }) { +export async function saveTenant( + body: API.TenantSaveCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/tenants', { method: 'POST', headers: { @@ -26,7 +32,10 @@ export async function saveTenant(body: API.TenantSaveCmd, options?: { [key: stri } /** 删除租户 删除租户 DELETE /api/v1/tenants */ -export async function removeTenant(body: number[], options?: { [key: string]: any }) { +export async function removeTenant( + body: number[], + options?: { [key: string]: any }, +) { return request('/api/v1/tenants', { method: 'DELETE', headers: { @@ -43,16 +52,19 @@ export async function getTenantById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/api/v1/tenants/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出租户 导出租户 POST /api/v1/tenants/export */ -export async function exportTenant(body: API.TenantExportCmd, options?: { [key: string]: any }) { +export async function exportTenant( + body: API.TenantExportCmd, + options?: { [key: string]: any }, +) { return request('/api/v1/tenants/export', { method: 'POST', headers: { @@ -64,7 +76,11 @@ export async function exportTenant(body: API.TenantExportCmd, options?: { [key: } /** 导入租户 导入租户 POST /api/v1/tenants/import */ -export async function importTenant(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importTenant( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -96,7 +112,10 @@ export async function importTenant(body: {}, file?: File[], options?: { [key: st } /** 分页查询租户列表 分页查询租户列表 POST /api/v1/tenants/page */ -export async function pageTenant(body: API.TenantPageQry, options?: { [key: string]: any }) { +export async function pageTenant( + body: API.TenantPageQry, + options?: { [key: string]: any }, +) { return request('/api/v1/tenants/page', { method: 'POST', headers: { diff --git a/ui/src/services/admin/typings.d.ts b/ui/src/services/admin/typings.d.ts index ed7dabe5ef..c2242bbf73 100644 --- a/ui/src/services/admin/typings.d.ts +++ b/ui/src/services/admin/typings.d.ts @@ -110,7 +110,7 @@ declare namespace API { co?: DictCO; }; - type I18nMessageCO = { + type I18nMenuCO = { extValues?: Record; id?: number; code?: string; @@ -118,13 +118,13 @@ declare namespace API { enMessage?: string; }; - type I18nMessageExportCmd = true; + type I18nMenuExportCmd = true; - type I18nMessageModifyCmd = { - co?: I18nMessageCO; + type I18nMenuModifyCmd = { + co?: I18nMenuCO; }; - type I18nMessagePageQry = { + type I18nMenuPageQry = { pageNum?: number; pageSize?: number; pageIndex?: number; @@ -132,8 +132,8 @@ declare namespace API { params?: Record; }; - type I18nMessageSaveCmd = { - co?: I18nMessageCO; + type I18nMenuSaveCmd = { + co?: I18nMenuCO; }; type LoginLogCO = { @@ -215,7 +215,7 @@ declare namespace API { status?: number; operator?: string; errorMessage?: string; - costTime?: number; + costTime?: number; }; type OperateLogExportCmd = true; @@ -267,7 +267,7 @@ declare namespace API { }; // @ts-ignore - type Result = { + type Result = { /** 状态编码 */ code?: string; /** 响应描述 */ @@ -434,5 +434,4 @@ declare namespace API { type OssLogModifyCmd = { co?: OssLogCO; }; - } diff --git a/ui/src/services/admin/user.ts b/ui/src/services/admin/user.ts index 51bd44bc4f..611a7f7342 100644 --- a/ui/src/services/admin/user.ts +++ b/ui/src/services/admin/user.ts @@ -1,8 +1,11 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 修改用户 修改用户 PUT /api/v1/users */ -export async function modifyUser(body: API.UserModifyCmd, options?: { [key: string]: any }) { +export async function modifyUser( + body: API.UserModifyCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/users', { method: 'PUT', headers: { @@ -14,7 +17,11 @@ export async function modifyUser(body: API.UserModifyCmd, options?: { [key: stri } /** 保存用户 保存用户 POST /api/v1/users */ -export async function saveUser(body: API.UserSaveCmd, requestId: string, options?: { [key: string]: any }) { +export async function saveUser( + body: API.UserSaveCmd, + requestId: string, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/users', { method: 'POST', headers: { @@ -27,7 +34,10 @@ export async function saveUser(body: API.UserSaveCmd, requestId: string, options } /** 删除用户 删除用户 DELETE /api/v1/users */ -export async function removeUser(body: number[], options?: { [key: string]: any }) { +export async function removeUser( + body: number[], + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/users', { method: 'DELETE', headers: { @@ -44,16 +54,19 @@ export async function getUserById( params: API.getByIdParams, options?: { [key: string]: any }, ) { - const {id: param0, ...queryParams} = params; + const { id: param0, ...queryParams } = params; return request(`/apis/admin/api/v1/users/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } /** 导出用户 导出用户 POST /api/v1/users/export */ -export async function exportUser(body: API.UserExportCmd, options?: { [key: string]: any }) { +export async function exportUser( + body: API.UserExportCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/users/export', { method: 'POST', headers: { @@ -65,7 +78,11 @@ export async function exportUser(body: API.UserExportCmd, options?: { [key: stri } /** 导入用户 导入用户 POST /api/v1/users/import */ -export async function importUser(body: {}, file?: File[], options?: { [key: string]: any }) { +export async function importUser( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { const formData = new FormData(); if (file) { @@ -97,7 +114,10 @@ export async function importUser(body: {}, file?: File[], options?: { [key: stri } /** 分页查询用户列表 分页查询用户列表 POST /api/v1/users/page */ -export async function pageUser(body: API.UserPageQry, options?: { [key: string]: any }) { +export async function pageUser( + body: API.UserPageQry, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/users/page', { method: 'POST', headers: { @@ -117,7 +137,10 @@ export async function getUserProfile(options?: { [key: string]: any }) { } /** 重置密码 重置密码 PUT /api/v1/users/reset-pwd */ -export async function resetUserPwd(body: API.ResetPwdCmd, options?: { [key: string]: any }) { +export async function resetUserPwd( + body: API.ResetPwdCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/users/reset-pwd', { method: 'PUT', headers: { @@ -129,7 +152,10 @@ export async function resetUserPwd(body: API.ResetPwdCmd, options?: { [key: stri } /** 修改用户权限 修改用户权限 PUT /api/v1/users/authority */ -export async function modifyUserAuthority(body: API.UserModifyAuthorityCmd, options?: { [key: string]: any }) { +export async function modifyUserAuthority( + body: API.UserModifyAuthorityCmd, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/users/authority', { method: 'PUT', headers: { @@ -141,7 +167,10 @@ export async function modifyUserAuthority(body: API.UserModifyAuthorityCmd, opti } /** 上传用户头像 上传用户头像 POST /api/v1/users/upload */ -export async function uploadUserAvatar(body: FormData, options?: { [key: string]: any }) { +export async function uploadUserAvatar( + body: FormData, + options?: { [key: string]: any }, +) { return request('/apis/admin/api/v1/users/upload', { method: 'POST', headers: { diff --git a/ui/src/services/auth/auth.ts b/ui/src/services/auth/auth.ts index 05fa28ef86..1806fdf576 100644 --- a/ui/src/services/auth/auth.ts +++ b/ui/src/services/auth/auth.ts @@ -1,9 +1,6 @@ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; -async function getToken( - params: any, - options?: { [key: string]: any }, -) { +async function getToken(params: any, options?: { [key: string]: any }) { return request(`/apis/auth/api/v1/oauth2/token`, { method: 'POST', data: params, @@ -13,9 +10,10 @@ async function getToken( .map((ent) => ent.join('=')) .join('&'), headers: { - Authorization: 'Basic OTVUeFNzVFBGQTN0RjEyVEJTTW1VVkswZGE6RnBId0lmdzR3WTkyZE8=', + Authorization: + 'Basic OTVUeFNzVFBGQTN0RjEyVEJTTW1VVkswZGE6RnBId0lmdzR3WTkyZE8=', 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', - 'Skip-Token' : true + 'Skip-Token': true, }, ...(options || {}), }); @@ -27,15 +25,15 @@ export async function login( params: API.OAuth2Param, options?: { [key: string]: any }, ) { - return getToken(params, options) + return getToken(params, options); } /** OAuth2 认证授权 POST /oauth2/token */ export async function refresh( params: API.RefreshTokenParam, - options?: { [key: string]: any } + options?: { [key: string]: any }, ) { - return getToken(params, options) + return getToken(params, options); } /** 清除令牌 清除令牌 DELETE /api/v1/logouts */ diff --git a/ui/src/services/auth/captcha.ts b/ui/src/services/auth/captcha.ts index 3cc42435c6..175a262347 100644 --- a/ui/src/services/auth/captcha.ts +++ b/ui/src/services/auth/captcha.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 根据UUID获取验证码 根据UUID获取验证码 GET /api/v1/captchas/${param0} */ export async function getCaptchaByUuid( @@ -7,10 +7,10 @@ export async function getCaptchaByUuid( params: API.CaptchaParams, options?: { [key: string]: any }, ) { - const {uuid: param0, ...queryParams} = params; + const { uuid: param0, ...queryParams } = params; return request(`/apis/auth/api/v1/captchas/${param0}`, { method: 'GET', - params: {...queryParams}, + params: { ...queryParams }, ...(options || {}), }); } @@ -25,7 +25,7 @@ export async function sendCaptcha( method: 'POST', headers: { 'request-id': requestId, - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }, data: body, ...(options || {}), diff --git a/ui/src/services/auth/secret.ts b/ui/src/services/auth/secret.ts index b53abd3717..9e4b961df1 100644 --- a/ui/src/services/auth/secret.ts +++ b/ui/src/services/auth/secret.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -import {request} from '@umijs/max'; +import { request } from '@umijs/max'; /** 获取密钥 获取密钥 GET /api/v1/secrets */ export async function getSecretInfo(options?: { [key: string]: any }) { diff --git a/ui/src/services/auth/typings.d.ts b/ui/src/services/auth/typings.d.ts index dff18e09c8..d793b422f2 100644 --- a/ui/src/services/auth/typings.d.ts +++ b/ui/src/services/auth/typings.d.ts @@ -1,5 +1,4 @@ declare namespace API { - type CaptchaParams = { uuid: string; }; @@ -16,7 +15,7 @@ declare namespace API { type SendCaptchaCO = { co: SendCaptchaParam; - } + }; type OAuth2Param = { username?: string; @@ -43,10 +42,10 @@ declare namespace API { mobile?: string; mail_captcha?: string; mobile_captcha?: string; - tenant_code?: string + tenant_code?: string; }; - type Result = { + type Result = { /** 状态编码 */ code?: string; /** 响应描述 */ diff --git a/ui/src/services/iot/device.ts b/ui/src/services/iot/device.ts index 2419cf3b4c..3fb7695d7d 100644 --- a/ui/src/services/iot/device.ts +++ b/ui/src/services/iot/device.ts @@ -2,107 +2,126 @@ import { request } from '@umijs/max'; /** 修改设备 修改设备 PUT /api/v1/devices */ -export async function modifyDevice(body: API.DeviceModifyCmd, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/devices', { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function modifyDevice( + body: API.DeviceModifyCmd, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/devices', { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 保存设备 保存设备 POST /api/v1/devices */ -export async function saveDevice(body: API.DeviceSaveCmd, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/devices', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function saveDevice( + body: API.DeviceSaveCmd, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/devices', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 删除设备 删除设备 DELETE /api/v1/devices */ -export async function removeDevice(body: number[], options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/devices', { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function removeDevice( + body: number[], + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/devices', { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 查看设备详情 查看设备详情 GET /api/v1/devices/${param0} */ export async function getDeviceById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getByIdParams, - options?: { [key: string]: any }, + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getByIdParams, + options?: { [key: string]: any }, ) { - const { id: param0, ...queryParams } = params; - return request(`/apis/iot/api/v1/devices/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); + const { id: param0, ...queryParams } = params; + return request(`/apis/iot/api/v1/devices/${param0}`, { + method: 'GET', + params: { ...queryParams }, + ...(options || {}), + }); } /** 导出设备 导出设备 POST /api/v1/devices/export */ -export async function exportDevice(body: API.DeviceExportCmd, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/devices/export', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function exportDevice( + body: API.DeviceExportCmd, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/devices/export', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 导入设备 导入设备 POST /api/v1/devices/import */ -export async function importDevice(body: {}, file?: File[], options?: { [key: string]: any }) { - const formData = new FormData(); +export async function importDevice( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { + const formData = new FormData(); - if (file) { - file.forEach((f) => formData.append('file', f || '')); - } + if (file) { + file.forEach((f) => formData.append('file', f || '')); + } - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; - if (item !== undefined && item !== null) { - if (typeof item === 'object' && !(item instanceof File)) { - if (item instanceof Array) { - item.forEach((f) => formData.append(ele, f || '')); - } else { - formData.append(ele, JSON.stringify(item)); - } - } else { - formData.append(ele, item); - } - } - }); + if (item !== undefined && item !== null) { + if (typeof item === 'object' && !(item instanceof File)) { + if (item instanceof Array) { + item.forEach((f) => formData.append(ele, f || '')); + } else { + formData.append(ele, JSON.stringify(item)); + } + } else { + formData.append(ele, item); + } + } + }); - return request('/apis/iot/api/v1/devices/import', { - method: 'POST', - data: formData, - requestType: 'form', - ...(options || {}), - }); + return request('/apis/iot/api/v1/devices/import', { + method: 'POST', + data: formData, + requestType: 'form', + ...(options || {}), + }); } /** 分页查询设备列表 分页查询设备列表 POST /api/v1/devices/page */ -export async function pageDevice(body: API.DevicePageQry, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/devices/page', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function pageDevice( + body: API.DevicePageQry, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/devices/page', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } diff --git a/ui/src/services/iot/index.ts b/ui/src/services/iot/index.ts index 5d6f2b76dd..ec8e403152 100644 --- a/ui/src/services/iot/index.ts +++ b/ui/src/services/iot/index.ts @@ -1,10 +1,10 @@ /* eslint-disable */ // API 更新时间: // API 唯一标识: -import * as thingModel from './thingModel'; +import * as device from './device'; import * as product from './product'; import * as productCategory from './productCategory'; -import * as device from './device'; +import * as thingModel from './thingModel'; export default { thingModel, product, diff --git a/ui/src/services/iot/product.ts b/ui/src/services/iot/product.ts index c5376d8d0a..83ad39982a 100644 --- a/ui/src/services/iot/product.ts +++ b/ui/src/services/iot/product.ts @@ -2,107 +2,126 @@ import { request } from '@umijs/max'; /** 修改产品 修改产品 PUT /api/v1/products */ -export async function modifyProduct(body: API.ProductModifyCmd, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/products', { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function modifyProduct( + body: API.ProductModifyCmd, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/products', { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 保存产品 保存产品 POST /api/v1/products */ -export async function saveProduct(body: API.ProductSaveCmd, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/products', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function saveProduct( + body: API.ProductSaveCmd, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/products', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 删除产品 删除产品 DELETE /api/v1/products */ -export async function removeProduct(body: number[], options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/products', { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function removeProduct( + body: number[], + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/products', { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 查看产品详情 查看产品详情 GET /api/v1/products/${param0} */ export async function getProductById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getByIdParams, - options?: { [key: string]: any }, + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getByIdParams, + options?: { [key: string]: any }, ) { - const { id: param0, ...queryParams } = params; - return request(`/apis/iot/api/v1/products/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); + const { id: param0, ...queryParams } = params; + return request(`/apis/iot/api/v1/products/${param0}`, { + method: 'GET', + params: { ...queryParams }, + ...(options || {}), + }); } /** 导出产品 导出产品 POST /api/v1/products/export */ -export async function exportProduct(body: API.ProductExportCmd, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/products/export', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function exportProduct( + body: API.ProductExportCmd, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/products/export', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 导入产品 导入产品 POST /api/v1/products/import */ -export async function importProduct(body: {}, file?: File[], options?: { [key: string]: any }) { - const formData = new FormData(); +export async function importProduct( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { + const formData = new FormData(); - if (file) { - file.forEach((f) => formData.append('file', f || '')); - } + if (file) { + file.forEach((f) => formData.append('file', f || '')); + } - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; - if (item !== undefined && item !== null) { - if (typeof item === 'object' && !(item instanceof File)) { - if (item instanceof Array) { - item.forEach((f) => formData.append(ele, f || '')); - } else { - formData.append(ele, JSON.stringify(item)); - } - } else { - formData.append(ele, item); - } - } - }); + if (item !== undefined && item !== null) { + if (typeof item === 'object' && !(item instanceof File)) { + if (item instanceof Array) { + item.forEach((f) => formData.append(ele, f || '')); + } else { + formData.append(ele, JSON.stringify(item)); + } + } else { + formData.append(ele, item); + } + } + }); - return request('/apis/iot/api/v1/products/import', { - method: 'POST', - data: formData, - requestType: 'form', - ...(options || {}), - }); + return request('/apis/iot/api/v1/products/import', { + method: 'POST', + data: formData, + requestType: 'form', + ...(options || {}), + }); } /** 分页查询产品列表 分页查询产品列表 POST /api/v1/products/page */ -export async function pageProduct(body: API.ProductPageQry, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/products/page', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function pageProduct( + body: API.ProductPageQry, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/products/page', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } diff --git a/ui/src/services/iot/productCategory.ts b/ui/src/services/iot/productCategory.ts index b210ea5403..a2ba4d2d7a 100644 --- a/ui/src/services/iot/productCategory.ts +++ b/ui/src/services/iot/productCategory.ts @@ -3,118 +3,135 @@ import { request } from '@umijs/max'; /** 修改产品类别 修改产品类别 PUT /api/v1/product-categorys */ export async function modifyProductCategory( - body: API.ProductCategoryModifyCmd, - options?: { [key: string]: any }, + body: API.ProductCategoryModifyCmd, + options?: { [key: string]: any }, ) { - return request('/apis/iot/api/v1/product-categorys', { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); + return request('/apis/iot/api/v1/product-categorys', { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 保存产品类别 保存产品类别 POST /api/v1/product-categorys */ -export async function saveProductCategory(body: API.ProductCategorySaveCmd, requestId: string, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/product-categorys', { - method: 'POST', - headers: { - 'request-id': requestId, - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function saveProductCategory( + body: API.ProductCategorySaveCmd, + requestId: string, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/product-categorys', { + method: 'POST', + headers: { + 'request-id': requestId, + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 删除产品类别 删除产品类别 DELETE /api/v1/product-categorys */ -export async function removeProductCategory(body: number[], options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/product-categorys', { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function removeProductCategory( + body: number[], + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/product-categorys', { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 查看产品类别详情 查看产品类别详情 GET /api/v1/product-categorys/${param0} */ export async function getProductCategoryById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getByIdParams, - options?: { [key: string]: any }, + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getByIdParams, + options?: { [key: string]: any }, ) { - const { id: param0, ...queryParams } = params; - return request(`/apis/iot/api/v1/product-categorys/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); + const { id: param0, ...queryParams } = params; + return request(`/apis/iot/api/v1/product-categorys/${param0}`, { + method: 'GET', + params: { ...queryParams }, + ...(options || {}), + }); } /** 导出产品类别 导出产品类别 POST /api/v1/product-categorys/export */ export async function exportProductCategory( - body: API.ProductCategoryExportCmd, - options?: { [key: string]: any }, + body: API.ProductCategoryExportCmd, + options?: { [key: string]: any }, ) { - return request('/apis/iot/api/v1/product-categorys/export', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); + return request('/apis/iot/api/v1/product-categorys/export', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 导入产品类别 导入产品类别 POST /api/v1/product-categorys/import */ -export async function importProductCategory(body: {}, file?: File[], options?: { [key: string]: any }) { - const formData = new FormData(); +export async function importProductCategory( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { + const formData = new FormData(); - if (file) { - file.forEach((f) => formData.append('file', f || '')); - } + if (file) { + file.forEach((f) => formData.append('file', f || '')); + } - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; - if (item !== undefined && item !== null) { - if (typeof item === 'object' && !(item instanceof File)) { - if (item instanceof Array) { - item.forEach((f) => formData.append(ele, f || '')); - } else { - formData.append(ele, JSON.stringify(item)); - } - } else { - formData.append(ele, item); - } - } - }); + if (item !== undefined && item !== null) { + if (typeof item === 'object' && !(item instanceof File)) { + if (item instanceof Array) { + item.forEach((f) => formData.append(ele, f || '')); + } else { + formData.append(ele, JSON.stringify(item)); + } + } else { + formData.append(ele, item); + } + } + }); - return request('/apis/iot/api/v1/product-categorys/import', { - method: 'POST', - data: formData, - requestType: 'form', - ...(options || {}), - }); + return request('/apis/iot/api/v1/product-categorys/import', { + method: 'POST', + data: formData, + requestType: 'form', + ...(options || {}), + }); } /** 分页查询产品类别列表 分页查询产品类别列表 POST /api/v1/product-categorys/page */ -export async function pageProductCategory(body: API.ProductCategoryPageQry, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/product-categorys/page', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function pageProductCategory( + body: API.ProductCategoryPageQry, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/product-categorys/page', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } -export async function listTreeProductCategory(body: any,options?: { [key: string]: any }) { +export async function listTreeProductCategory( + body: any, + options?: { [key: string]: any }, +) { return request('/apis/iot/api/v1/product-categorys/list-tree', { method: 'POST', headers: { diff --git a/ui/src/services/iot/thingModel.ts b/ui/src/services/iot/thingModel.ts index 176b0a4138..07ea3deb5f 100644 --- a/ui/src/services/iot/thingModel.ts +++ b/ui/src/services/iot/thingModel.ts @@ -2,111 +2,128 @@ import { request } from '@umijs/max'; /** 修改物模型 修改物模型 PUT /api/v1/thing-models */ -export async function modifyThingModel(body: API.ThingModelModifyCmd, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/thing-models', { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function modifyThingModel( + body: API.ThingModelModifyCmd, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/thing-models', { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 保存物模型 保存物模型 POST /api/v1/thing-models */ -export async function saveThingModel(body: API.ThingModelSaveCmd, requestId: string, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/thing-models', { - method: 'POST', - headers: { - 'request-id': requestId, - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function saveThingModel( + body: API.ThingModelSaveCmd, + requestId: string, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/thing-models', { + method: 'POST', + headers: { + 'request-id': requestId, + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 删除物模型 删除物模型 DELETE /api/v1/thing-models */ -export async function removeThingModel(body: number[], options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/thing-models', { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function removeThingModel( + body: number[], + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/thing-models', { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 查看物模型详情 查看物模型详情 GET /api/v1/thing-models/${param0} */ export async function getThingModelById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getByIdParams, - options?: { [key: string]: any }, + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getByIdParams, + options?: { [key: string]: any }, ) { - const { id: param0, ...queryParams } = params; - return request(`/apis/iot/api/v1/thing-models/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); + const { id: param0, ...queryParams } = params; + return request(`/apis/iot/api/v1/thing-models/${param0}`, { + method: 'GET', + params: { ...queryParams }, + ...(options || {}), + }); } /** 导出物模型 导出物模型 POST /api/v1/thing-models/export */ export async function exportThingModel( - body: API.ThingThingModelExportCmd, - options?: { [key: string]: any }, + body: API.ThingThingModelExportCmd, + options?: { [key: string]: any }, ) { - return request('/apis/iot/api/v1/thing-models/export', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); + return request('/apis/iot/api/v1/thing-models/export', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } /** 导入物模型 导入物模型 POST /api/v1/thing-models/import */ -export async function importThingModel(body: {}, file?: File[], options?: { [key: string]: any }) { - const formData = new FormData(); +export async function importThingModel( + body: {}, + file?: File[], + options?: { [key: string]: any }, +) { + const formData = new FormData(); - if (file) { - file.forEach((f) => formData.append('file', f || '')); - } + if (file) { + file.forEach((f) => formData.append('file', f || '')); + } - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; - if (item !== undefined && item !== null) { - if (typeof item === 'object' && !(item instanceof File)) { - if (item instanceof Array) { - item.forEach((f) => formData.append(ele, f || '')); - } else { - formData.append(ele, JSON.stringify(item)); - } - } else { - formData.append(ele, item); - } - } - }); + if (item !== undefined && item !== null) { + if (typeof item === 'object' && !(item instanceof File)) { + if (item instanceof Array) { + item.forEach((f) => formData.append(ele, f || '')); + } else { + formData.append(ele, JSON.stringify(item)); + } + } else { + formData.append(ele, item); + } + } + }); - return request('/apis/iot/api/v1/thing-models/import', { - method: 'POST', - data: formData, - requestType: 'form', - ...(options || {}), - }); + return request('/apis/iot/api/v1/thing-models/import', { + method: 'POST', + data: formData, + requestType: 'form', + ...(options || {}), + }); } /** 分页查询物模型列表 分页查询物模型列表 POST /api/v1/thing-models/page */ -export async function pageThingModel(body: API.ThingModelPageQry, options?: { [key: string]: any }) { - return request('/apis/iot/api/v1/thing-models/page', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); +export async function pageThingModel( + body: API.ThingModelPageQry, + options?: { [key: string]: any }, +) { + return request('/apis/iot/api/v1/thing-models/page', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); } diff --git a/ui/src/services/iot/typings.d.ts b/ui/src/services/iot/typings.d.ts index 81b0425d6f..c8845d08af 100644 --- a/ui/src/services/iot/typings.d.ts +++ b/ui/src/services/iot/typings.d.ts @@ -1,183 +1,183 @@ declare namespace API { - type ProductCO = { - extValues?: Record; - /** ID */ - Id?: number; - /** 产品名称 */ - name?: string; - /** 产品类别 */ - categoryId?: number; - /** 设备类型 1直连设备 2网关设备 3监控设备 */ - deviceType?: number; - /** 产品图片URL */ - imgUrl?: string; - /** 通讯协议ID */ - cpId?: number; - /** 传输协议ID */ - tpId?: number; - /** 备注 */ - remark?: string; - /** 创建时间 */ - createTime?: string; - }; + type ProductCO = { + extValues?: Record; + /** ID */ + Id?: number; + /** 产品名称 */ + name?: string; + /** 产品类别 */ + categoryId?: number; + /** 设备类型 1直连设备 2网关设备 3监控设备 */ + deviceType?: number; + /** 产品图片URL */ + imgUrl?: string; + /** 通讯协议ID */ + cpId?: number; + /** 传输协议ID */ + tpId?: number; + /** 备注 */ + remark?: string; + /** 创建时间 */ + createTime?: string; + }; - type ProductCategoryCO = { - extValues?: Record; - /** ID */ - Id?: number; - /** 产品类别名称 */ - name?: string; - /** 排序 */ - sort?: number; - /** 产品类别父节点ID */ - pid?: number; - /** 备注 */ - remark?: string; - /** 创建时间 */ - creatTime?: string; - }; + type ProductCategoryCO = { + extValues?: Record; + /** ID */ + Id?: number; + /** 产品类别名称 */ + name?: string; + /** 排序 */ + sort?: number; + /** 产品类别父节点ID */ + pid?: number; + /** 备注 */ + remark?: string; + /** 创建时间 */ + creatTime?: string; + }; - type DeviceExportCmd = { - pageNum?: number; - pageSize?: number; - pageIndex?: number; - sqlFilter?: string; - params?: Record; - sn?: string; - name?: string; - status?: number; - longitude?: number; - latitude?: number; - imgUrl?: string; - address?: string; - remark?: string; - productId?: number; - }; + type DeviceExportCmd = { + pageNum?: number; + pageSize?: number; + pageIndex?: number; + sqlFilter?: string; + params?: Record; + sn?: string; + name?: string; + status?: number; + longitude?: number; + latitude?: number; + imgUrl?: string; + address?: string; + remark?: string; + productId?: number; + }; - type DeviceModifyCmd = { - co?: DeviceCO; - }; + type DeviceModifyCmd = { + co?: DeviceCO; + }; - type DevicePageQry = { - pageNum?: number; - pageSize?: number; - pageIndex?: number; - sqlFilter?: string; - params?: Record; - sn?: string; - name?: string; - status?: number; - longitude?: number; - latitude?: number; - imgUrl?: string; - address?: string; - remark?: string; - productId?: number; - }; + type DevicePageQry = { + pageNum?: number; + pageSize?: number; + pageIndex?: number; + sqlFilter?: string; + params?: Record; + sn?: string; + name?: string; + status?: number; + longitude?: number; + latitude?: number; + imgUrl?: string; + address?: string; + remark?: string; + productId?: number; + }; - type DeviceSaveCmd = { - co?: DeviceCO; - }; + type DeviceSaveCmd = { + co?: DeviceCO; + }; - type getByIdParams = { - id: number; - }; + type getByIdParams = { + id: number; + }; - type ThingModelCO = { - extValues?: Record; - /** ID */ - Id?: number; - /** 模型名称 */ - name?: string; - /** 模型编码 */ - code?: string; - /** 数据类型 integer string decimal boolean */ - dataType?: string; - /** 模型类别 1属性 2事件 */ - category?: number; - /** 模型类型 read读 write写 report上报 */ - type?: string; - /** 表达式 */ - expression?: string; - /** 排序 */ - sort?: number; - /** 规则说明 */ - specs?: string; - /** 备注 */ - remark?: string; - /** 创建时间 */ - createTime?: string; - }; + type ThingModelCO = { + extValues?: Record; + /** ID */ + Id?: number; + /** 模型名称 */ + name?: string; + /** 模型编码 */ + code?: string; + /** 数据类型 integer string decimal boolean */ + dataType?: string; + /** 模型类别 1属性 2事件 */ + category?: number; + /** 模型类型 read读 write写 report上报 */ + type?: string; + /** 表达式 */ + expression?: string; + /** 排序 */ + sort?: number; + /** 规则说明 */ + specs?: string; + /** 备注 */ + remark?: string; + /** 创建时间 */ + createTime?: string; + }; - type ProductCategoryExportCmd = { - pageNum?: number; - pageSize?: number; - pageIndex?: number; - sqlFilter?: string; - params?: Record; - name?: string; - sort?: number; - pid?: number; - remark?: string; - }; + type ProductCategoryExportCmd = { + pageNum?: number; + pageSize?: number; + pageIndex?: number; + sqlFilter?: string; + params?: Record; + name?: string; + sort?: number; + pid?: number; + remark?: string; + }; - type ProductCategoryModifyCmd = { - co?: ProductCategoryCO; - }; + type ProductCategoryModifyCmd = { + co?: ProductCategoryCO; + }; - type ProductCategoryPageQry = { - pageNum?: number; - pageSize?: number; - pageIndex?: number; - sqlFilter?: string; - params?: Record; - name?: string; - sort?: number; - pid?: number; - remark?: string; - }; + type ProductCategoryPageQry = { + pageNum?: number; + pageSize?: number; + pageIndex?: number; + sqlFilter?: string; + params?: Record; + name?: string; + sort?: number; + pid?: number; + remark?: string; + }; - type ProductCategorySaveCmd = { - co?: ProductCategoryCO; - }; + type ProductCategorySaveCmd = { + co?: ProductCategoryCO; + }; - type ProductExportCmd = { - pageNum?: number; - pageSize?: number; - pageIndex?: number; - sqlFilter?: string; - params?: Record; - name?: string; - categoryId?: number; - deviceType?: number; - imgUrl?: string; - cpId?: number; - tpId?: number; - remark?: string; - }; + type ProductExportCmd = { + pageNum?: number; + pageSize?: number; + pageIndex?: number; + sqlFilter?: string; + params?: Record; + name?: string; + categoryId?: number; + deviceType?: number; + imgUrl?: string; + cpId?: number; + tpId?: number; + remark?: string; + }; - type ProductModifyCmd = { - co?: ProductCO; - }; + type ProductModifyCmd = { + co?: ProductCO; + }; - type ProductPageQry = { - pageNum?: number; - pageSize?: number; - pageIndex?: number; - sqlFilter?: string; - params?: Record; - name?: string; - categoryId?: number; - deviceType?: number; - imgUrl?: string; - cpId?: number; - tpId?: number; - remark?: string; - }; + type ProductPageQry = { + pageNum?: number; + pageSize?: number; + pageIndex?: number; + sqlFilter?: string; + params?: Record; + name?: string; + categoryId?: number; + deviceType?: number; + imgUrl?: string; + cpId?: number; + tpId?: number; + remark?: string; + }; - type ProductSaveCmd = { - co?: ProductCO; - }; + type ProductSaveCmd = { + co?: ProductCO; + }; type Result = { /** 状态编码 */ @@ -192,72 +192,71 @@ declare namespace API { spanId?: string; }; - type DeviceCO = { - extValues?: Record; - /** ID */ - Id?: number; - /** 设备序列号 */ - sn?: string; - /** 设备名称 */ - name?: string; - /** 设备状态 0在线 1离线 */ - status?: number; - /** 设备经度 */ - longitude?: number; - /** 设备纬度 */ - latitude?: number; - /** 设备图片URL */ - imgUrl?: string; - /** 设备地址 */ - address?: string; - /** 设备备注 */ - remark?: string; - /** 产品ID */ - productId?: number; - /** 创建时间 */ - createTime?: string; - }; - - type ThingModelModifyCmd = { - co?: ThingModelCO; - }; + type DeviceCO = { + extValues?: Record; + /** ID */ + Id?: number; + /** 设备序列号 */ + sn?: string; + /** 设备名称 */ + name?: string; + /** 设备状态 0在线 1离线 */ + status?: number; + /** 设备经度 */ + longitude?: number; + /** 设备纬度 */ + latitude?: number; + /** 设备图片URL */ + imgUrl?: string; + /** 设备地址 */ + address?: string; + /** 设备备注 */ + remark?: string; + /** 产品ID */ + productId?: number; + /** 创建时间 */ + createTime?: string; + }; - type ThingModelPageQry = { - pageNum?: number; - pageSize?: number; - pageIndex?: number; - sqlFilter?: string; - params?: Record; - name?: string; - code?: string; - dataType?: string; - category?: number; - type?: string; - expression?: string; - sort?: number; - specs?: string; - remark?: string; - }; + type ThingModelModifyCmd = { + co?: ThingModelCO; + }; - type ThingModelSaveCmd = { - co?: ThingModelCO; - }; + type ThingModelPageQry = { + pageNum?: number; + pageSize?: number; + pageIndex?: number; + sqlFilter?: string; + params?: Record; + name?: string; + code?: string; + dataType?: string; + category?: number; + type?: string; + expression?: string; + sort?: number; + specs?: string; + remark?: string; + }; - type ThingThingModelExportCmd = { - pageNum?: number; - pageSize?: number; - pageIndex?: number; - sqlFilter?: string; - params?: Record; - name?: string; - code?: string; - dataType?: string; - category?: number; - type?: string; - expression?: string; - sort?: number; - specs?: string; - remark?: string; - }; + type ThingModelSaveCmd = { + co?: ThingModelCO; + }; + type ThingThingModelExportCmd = { + pageNum?: number; + pageSize?: number; + pageIndex?: number; + sqlFilter?: string; + params?: Record; + name?: string; + code?: string; + dataType?: string; + category?: number; + type?: string; + expression?: string; + sort?: number; + specs?: string; + remark?: string; + }; } diff --git a/ui/src/utils/export.ts b/ui/src/utils/export.ts index 2f4d2ebed5..423c9d165e 100644 --- a/ui/src/utils/export.ts +++ b/ui/src/utils/export.ts @@ -1,7 +1,7 @@ // @ts-ignore +import { request } from '@umijs/max'; +import { message } from 'antd'; import ExportJsonExcel from 'js-export-excel'; -import {request} from "@umijs/max"; -import {message} from "antd"; export type Excel = { fileName: string; @@ -9,7 +9,7 @@ export type Excel = { sheetFilter: string[]; sheetHeader: string[]; sheetName: string; -} +}; export function ExportToExcel(params: Excel) { const option: any = {}; @@ -19,16 +19,22 @@ export function ExportToExcel(params: Excel) { sheetData: params?.sheetData, sheetName: params?.sheetName, sheetFilter: params?.sheetFilter, - sheetHeader: params?.sheetHeader - } + sheetHeader: params?.sheetHeader, + }, ]; const toExcel = new ExportJsonExcel(option); toExcel.saveExcel(); } -export function ExportAllToExcel(fileName: string, url: string, method: string, body: any, options?: { - [key: string]: any -}) { +export function ExportAllToExcel( + fileName: string, + url: string, + method: string, + body: any, + options?: { + [key: string]: any; + }, +) { request(url, { method: method, responseType: 'blob', @@ -39,22 +45,22 @@ export function ExportAllToExcel(fileName: string, url: string, method: string, ...(options || {}), }).then((res: any) => { if (res.data.type !== 'application/json') { - const blob = new Blob([res.data]) + const blob = new Blob([res.data]); //将blob格式的响应数据转换为原本的格式,方便判断接口是否返回报错信息 - let reader = new FileReader() - reader.readAsText(blob) + let reader = new FileReader(); + reader.readAsText(blob); reader.onload = () => { - const link = document.createElement('a') - link.download = fileName - link.style.display = 'none' - link.href = URL.createObjectURL(blob) - document.body.appendChild(link) - link.click() + const link = document.createElement('a'); + link.download = fileName; + link.style.display = 'none'; + link.href = URL.createObjectURL(blob); + document.body.appendChild(link); + link.click(); // @ts-ignore - URL.revokeObjectURL(link) - document.body.removeChild(link) - message.success('导出成功').then() - } + URL.revokeObjectURL(link); + document.body.removeChild(link); + message.success('导出成功').then(); + }; } }); }