From 7d450caf774ee03db6233c5b95a0c8e71215ed9d Mon Sep 17 00:00:00 2001 From: code <2388224167@qq.com> Date: Mon, 11 Nov 2024 14:42:47 +0800 Subject: [PATCH] 111 --- .env | 13 + .gitignore | 21 + .prettierrc | 0 index.html | 25 + package.json | 87 + pnpm-lock.yaml | 7773 +++++++++++++++ shims-uni.d.ts | 10 + src/App.vue | 18 + src/components.d.ts | 42 + src/env.d.ts | 8 + src/global.d.ts | 3 + src/main.ts | 18 + src/manifest.json | 72 + src/pages.json | 152 + src/pages/apply/foreign-apply.vue | 102 + src/pages/apply/foreign-items.vue | 72 + src/pages/apply/foreign-list.vue | 97 + src/pages/apply/stride-apply.vue | 69 + src/pages/apply/stride-list.vue | 71 + src/pages/tabbar/food.vue | 41 + src/pages/tabbar/home.vue | 41 + src/pages/tabbar/my.vue | 122 + src/pages/tabbar/order.vue | 41 + src/pages/wallet/detail.vue | 80 + src/pages/wallet/list.vue | 164 + src/pages/wallet/recharge.vue | 172 + src/sheep/api/apply.ts | 49 + src/sheep/api/common.ts | 3 + src/sheep/api/food.ts | 3 + src/sheep/api/index.ts | 17 + src/sheep/api/merchant.ts | 12 + src/sheep/api/order.ts | 3 + src/sheep/api/pay.ts | 20 + src/sheep/api/product.ts | 3 + src/sheep/api/user.ts | 33 + src/sheep/api/wallet.ts | 84 + .../base-just-flot-nav/base-just-flot-nav.vue | 68 + .../components/base/base-nav/base-nav.vue | 79 + .../base-safe-height/base-safe-height.vue | 31 + .../crud/crud-layout/crud-layout.vue | 163 + .../components/other/z-tabs/config/index.js | 6 + src/sheep/components/other/z-tabs/z-tabs.vue | 736 ++ src/sheep/constant/img-constant.ts | 3 + src/sheep/constant/index.ts | 3 + src/sheep/constant/storage-constant.ts | 4 + src/sheep/hooks/index.ts | 3 + src/sheep/hooks/use-page.ts | 78 + src/sheep/hooks/use-unit.ts | 49 + src/sheep/index.ts | 7 + src/sheep/plugs/index.ts | 1 + .../plugs/use-router/strip-json-comments.ts | 78 + .../plugs/use-router/vite-router-plug.ts | 99 + src/sheep/router/index.ts | 82 + src/sheep/scss/font/iconfont.scss | 31 + src/sheep/scss/font/sheepicon.scss | 17 + src/sheep/scss/global.scss | 35 + src/sheep/utils/index.ts | 1 + src/sheep/utils/request.ts | 158 + src/shime-uni.d.ts | 6 + src/static/icon/default-avatar.png | Bin 0 -> 7874 bytes src/static/icon/service_1.png | Bin 0 -> 9029 bytes src/static/icon/service_2.png | Bin 0 -> 6709 bytes src/static/icon/service_3.png | Bin 0 -> 4589 bytes src/static/icon/vip.png | Bin 0 -> 1336 bytes src/static/page/blue-bg.png | Bin 0 -> 94740 bytes src/static/tabbar/food-select.png | Bin 0 -> 4810 bytes src/static/tabbar/food.png | Bin 0 -> 4784 bytes src/static/tabbar/home-select.png | Bin 0 -> 599 bytes src/static/tabbar/home.png | Bin 0 -> 588 bytes src/static/tabbar/my-select.png | Bin 0 -> 1579 bytes src/static/tabbar/my.png | Bin 0 -> 1526 bytes src/static/tabbar/order-select.png | Bin 0 -> 699 bytes src/static/tabbar/order.png | Bin 0 -> 677 bytes src/uni.scss | 60 + src/uni_modules/tm-ui/changelog.md | 13 + .../tm-ui/components/tm-alert/tm-alert.vue | 346 + .../tm-ui/components/tm-badge/tm-badge.vue | 222 + .../tm-between-time/tm-between-time.vue | 516 + .../tm-ui/components/tm-button/tm-button.vue | 541 ++ .../tm-ui/components/tm-cell/tm-cell.vue | 505 + .../tm-checkbox-group/tm-checkbox-group.vue | 125 + .../components/tm-checkbox/tm-checkbox.vue | 377 + .../tm-ui/components/tm-col/tm-col.vue | 76 + .../tm-collapse-item/tm-collapse-item.vue | 332 + .../components/tm-collapse/tm-collapse.vue | 113 + .../components/tm-date-view/tm-date-view.vue | 470 + .../tm-ui/components/tm-drawer/tm-drawer.vue | 757 ++ .../tm-ui/components/tm-echart/canvasinit.ts | 109 + .../tm-ui/components/tm-echart/simple.js | 12 + .../tm-ui/components/tm-echart/tm-echart.vue | 397 + .../components/tm-form-item/tm-form-item.vue | 262 + .../tm-ui/components/tm-form/tm-form.vue | 212 + .../tm-ui/components/tm-form/validator.ts | 82 + .../tm-ui/components/tm-html/mp-node.vue | 623 ++ .../tm-ui/components/tm-html/pare.ts | 1395 +++ .../tm-ui/components/tm-html/tm-html.vue | 300 + .../tm-ui/components/tm-icon/tm-icon.vue | 171 + .../tm-ui/components/tm-image/tm-image.vue | 399 + .../tm-ui/components/tm-input/tm-input.vue | 778 ++ .../tm-ui/components/tm-modal/tm-modal.vue | 601 ++ .../tm-ui/components/tm-navbar/tm-navbar.vue | 419 + .../tm-picker-date/tm-picker-date.vue | 543 ++ .../tm-picker-view/picker-item copy.vue | 326 + .../components/tm-picker-view/picker-item.vue | 242 + .../tm-picker-view/tm-picker-view copy.vue | 283 + .../tm-picker-view/tm-picker-view.vue | 276 + .../tm-ui/components/tm-picker-view/util.ts | 129 + .../tm-ui/components/tm-picker/tm-picker.vue | 339 + .../tm-radio-group/tm-radio-group.vue | 111 + .../tm-ui/components/tm-radio/tm-radio.vue | 368 + .../tm-ui/components/tm-rate/tm-rate.vue | 295 + .../tm-ui/components/tm-row/tm-row.vue | 116 + .../tm-ui/components/tm-sheet/tm-sheet.vue | 289 + .../components/tm-stepper/tm-stepper.vue | 361 + .../tm-sticky-header/tm-sticky-header.vue | 63 + .../tm-ui/components/tm-sticky/tm-sticky.vue | 42 + .../tm-ui/components/tm-switch/tm-switch.vue | 371 + .../tm-ui/components/tm-tabs/tm-tabs.vue | 466 + .../tm-ui/components/tm-tag/tm-tag.vue | 357 + .../tm-ui/components/tm-text/tm-text.vue | 277 + .../tm-upload-photo/tm-upload-photo.vue | 629 ++ .../tm-upload-video/tm-upload-video.vue | 552 ++ src/uni_modules/tm-ui/components/ģ�� | 36 + .../RemixIcon_Collection_2409112337.remixicon | 1 + src/uni_modules/tm-ui/css/remixicon.css | 616 ++ src/uni_modules/tm-ui/css/remixicon.min.css | 1 + src/uni_modules/tm-ui/css/tmui.css | 8401 +++++++++++++++++ src/uni_modules/tm-ui/css/tmui.css.map | 1 + src/uni_modules/tm-ui/css/tmui.min.css | 1 + src/uni_modules/tm-ui/css/tmui.scss | 757 ++ src/uni_modules/tm-ui/index.ts | 11 + src/uni_modules/tm-ui/interface.ts | 148 + src/uni_modules/tm-ui/libs/colors.ts | 684 ++ src/uni_modules/tm-ui/libs/config.ts | 47 + src/uni_modules/tm-ui/libs/tmDate.ts | 677 ++ src/uni_modules/tm-ui/libs/tool.ts | 156 + src/uni_modules/tm-ui/local/text.a | 0 src/uni_modules/tm-ui/package.json | 92 + src/uni_modules/tm-ui/readme.md | 74 + src/uni_modules/tm-ui/router/text.a | 0 src/uni_modules/tm-ui/static/pca-code.json | 1 + src/uni_modules/tm-ui/useFun/text.a | 0 src/uni_modules/tm-ui/����ڵ����� | 11 + tsconfig.json | 36 + unocss.config.ts | 88 + vite.config.ts | 43 + 146 files changed, 39809 insertions(+) create mode 100644 .env create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 index.html create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 shims-uni.d.ts create mode 100644 src/App.vue create mode 100644 src/components.d.ts create mode 100644 src/env.d.ts create mode 100644 src/global.d.ts create mode 100644 src/main.ts create mode 100644 src/manifest.json create mode 100644 src/pages.json create mode 100644 src/pages/apply/foreign-apply.vue create mode 100644 src/pages/apply/foreign-items.vue create mode 100644 src/pages/apply/foreign-list.vue create mode 100644 src/pages/apply/stride-apply.vue create mode 100644 src/pages/apply/stride-list.vue create mode 100644 src/pages/tabbar/food.vue create mode 100644 src/pages/tabbar/home.vue create mode 100644 src/pages/tabbar/my.vue create mode 100644 src/pages/tabbar/order.vue create mode 100644 src/pages/wallet/detail.vue create mode 100644 src/pages/wallet/list.vue create mode 100644 src/pages/wallet/recharge.vue create mode 100644 src/sheep/api/apply.ts create mode 100644 src/sheep/api/common.ts create mode 100644 src/sheep/api/food.ts create mode 100644 src/sheep/api/index.ts create mode 100644 src/sheep/api/merchant.ts create mode 100644 src/sheep/api/order.ts create mode 100644 src/sheep/api/pay.ts create mode 100644 src/sheep/api/product.ts create mode 100644 src/sheep/api/user.ts create mode 100644 src/sheep/api/wallet.ts create mode 100644 src/sheep/components/base/base-just-flot-nav/base-just-flot-nav.vue create mode 100644 src/sheep/components/base/base-nav/base-nav.vue create mode 100644 src/sheep/components/base/base-safe-height/base-safe-height.vue create mode 100644 src/sheep/components/crud/crud-layout/crud-layout.vue create mode 100644 src/sheep/components/other/z-tabs/config/index.js create mode 100644 src/sheep/components/other/z-tabs/z-tabs.vue create mode 100644 src/sheep/constant/img-constant.ts create mode 100644 src/sheep/constant/index.ts create mode 100644 src/sheep/constant/storage-constant.ts create mode 100644 src/sheep/hooks/index.ts create mode 100644 src/sheep/hooks/use-page.ts create mode 100644 src/sheep/hooks/use-unit.ts create mode 100644 src/sheep/index.ts create mode 100644 src/sheep/plugs/index.ts create mode 100644 src/sheep/plugs/use-router/strip-json-comments.ts create mode 100644 src/sheep/plugs/use-router/vite-router-plug.ts create mode 100644 src/sheep/router/index.ts create mode 100644 src/sheep/scss/font/iconfont.scss create mode 100644 src/sheep/scss/font/sheepicon.scss create mode 100644 src/sheep/scss/global.scss create mode 100644 src/sheep/utils/index.ts create mode 100644 src/sheep/utils/request.ts create mode 100644 src/shime-uni.d.ts create mode 100644 src/static/icon/default-avatar.png create mode 100644 src/static/icon/service_1.png create mode 100644 src/static/icon/service_2.png create mode 100644 src/static/icon/service_3.png create mode 100644 src/static/icon/vip.png create mode 100644 src/static/page/blue-bg.png create mode 100644 src/static/tabbar/food-select.png create mode 100644 src/static/tabbar/food.png create mode 100644 src/static/tabbar/home-select.png create mode 100644 src/static/tabbar/home.png create mode 100644 src/static/tabbar/my-select.png create mode 100644 src/static/tabbar/my.png create mode 100644 src/static/tabbar/order-select.png create mode 100644 src/static/tabbar/order.png create mode 100644 src/uni.scss create mode 100644 src/uni_modules/tm-ui/changelog.md create mode 100644 src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue create mode 100644 src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue create mode 100644 src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue create mode 100644 src/uni_modules/tm-ui/components/tm-button/tm-button.vue create mode 100644 src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue create mode 100644 src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue create mode 100644 src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue create mode 100644 src/uni_modules/tm-ui/components/tm-col/tm-col.vue create mode 100644 src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue create mode 100644 src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue create mode 100644 src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue create mode 100644 src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue create mode 100644 src/uni_modules/tm-ui/components/tm-echart/canvasinit.ts create mode 100644 src/uni_modules/tm-ui/components/tm-echart/simple.js create mode 100644 src/uni_modules/tm-ui/components/tm-echart/tm-echart.vue create mode 100644 src/uni_modules/tm-ui/components/tm-form-item/tm-form-item.vue create mode 100644 src/uni_modules/tm-ui/components/tm-form/tm-form.vue create mode 100644 src/uni_modules/tm-ui/components/tm-form/validator.ts create mode 100644 src/uni_modules/tm-ui/components/tm-html/mp-node.vue create mode 100644 src/uni_modules/tm-ui/components/tm-html/pare.ts create mode 100644 src/uni_modules/tm-ui/components/tm-html/tm-html.vue create mode 100644 src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue create mode 100644 src/uni_modules/tm-ui/components/tm-image/tm-image.vue create mode 100644 src/uni_modules/tm-ui/components/tm-input/tm-input.vue create mode 100644 src/uni_modules/tm-ui/components/tm-modal/tm-modal.vue create mode 100644 src/uni_modules/tm-ui/components/tm-navbar/tm-navbar.vue create mode 100644 src/uni_modules/tm-ui/components/tm-picker-date/tm-picker-date.vue create mode 100644 src/uni_modules/tm-ui/components/tm-picker-view/picker-item copy.vue create mode 100644 src/uni_modules/tm-ui/components/tm-picker-view/picker-item.vue create mode 100644 src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view copy.vue create mode 100644 src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue create mode 100644 src/uni_modules/tm-ui/components/tm-picker-view/util.ts create mode 100644 src/uni_modules/tm-ui/components/tm-picker/tm-picker.vue create mode 100644 src/uni_modules/tm-ui/components/tm-radio-group/tm-radio-group.vue create mode 100644 src/uni_modules/tm-ui/components/tm-radio/tm-radio.vue create mode 100644 src/uni_modules/tm-ui/components/tm-rate/tm-rate.vue create mode 100644 src/uni_modules/tm-ui/components/tm-row/tm-row.vue create mode 100644 src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue create mode 100644 src/uni_modules/tm-ui/components/tm-stepper/tm-stepper.vue create mode 100644 src/uni_modules/tm-ui/components/tm-sticky-header/tm-sticky-header.vue create mode 100644 src/uni_modules/tm-ui/components/tm-sticky/tm-sticky.vue create mode 100644 src/uni_modules/tm-ui/components/tm-switch/tm-switch.vue create mode 100644 src/uni_modules/tm-ui/components/tm-tabs/tm-tabs.vue create mode 100644 src/uni_modules/tm-ui/components/tm-tag/tm-tag.vue create mode 100644 src/uni_modules/tm-ui/components/tm-text/tm-text.vue create mode 100644 src/uni_modules/tm-ui/components/tm-upload-photo/tm-upload-photo.vue create mode 100644 src/uni_modules/tm-ui/components/tm-upload-video/tm-upload-video.vue create mode 100644 src/uni_modules/tm-ui/components/ģ�� create mode 100644 src/uni_modules/tm-ui/css/RemixIcon_Collection_2409112337.remixicon create mode 100644 src/uni_modules/tm-ui/css/remixicon.css create mode 100644 src/uni_modules/tm-ui/css/remixicon.min.css create mode 100644 src/uni_modules/tm-ui/css/tmui.css create mode 100644 src/uni_modules/tm-ui/css/tmui.css.map create mode 100644 src/uni_modules/tm-ui/css/tmui.min.css create mode 100644 src/uni_modules/tm-ui/css/tmui.scss create mode 100644 src/uni_modules/tm-ui/index.ts create mode 100644 src/uni_modules/tm-ui/interface.ts create mode 100644 src/uni_modules/tm-ui/libs/colors.ts create mode 100644 src/uni_modules/tm-ui/libs/config.ts create mode 100644 src/uni_modules/tm-ui/libs/tmDate.ts create mode 100644 src/uni_modules/tm-ui/libs/tool.ts create mode 100644 src/uni_modules/tm-ui/local/text.a create mode 100644 src/uni_modules/tm-ui/package.json create mode 100644 src/uni_modules/tm-ui/readme.md create mode 100644 src/uni_modules/tm-ui/router/text.a create mode 100644 src/uni_modules/tm-ui/static/pca-code.json create mode 100644 src/uni_modules/tm-ui/useFun/text.a create mode 100644 src/uni_modules/tm-ui/����ڵ����� create mode 100644 tsconfig.json create mode 100644 unocss.config.ts create mode 100644 vite.config.ts diff --git a/.env b/.env new file mode 100644 index 0000000..923f2a7 --- /dev/null +++ b/.env @@ -0,0 +1,13 @@ +# ******************** start 开发环境 start ******************** + +VITE_APP_DEV_SERVICE =http://localhost:48080/app-api +# VITE_APP_DEV_SERVICE =http://123.156.228.134:48080/dev-api/app-api + +# ******************** end 开发环境 end ******************** + + +# ******************** start 生产环境 start ******************** + +VITE_APP_PROD_SERVICE = http://123.156.228.134:48080 + +# ******************** end 生产环境 end ******************** \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7ce6e50 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +*.local + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..e69de29 diff --git a/index.html b/index.html new file mode 100644 index 0000000..f4e1ded --- /dev/null +++ b/index.html @@ -0,0 +1,25 @@ + + + + + + + + + + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..79d41db --- /dev/null +++ b/package.json @@ -0,0 +1,87 @@ +{ + "name": "uni-preset-vue", + "version": "0.0.0", + "scripts": { + "dev:app": "uni -p app", + "dev:app-android": "uni -p app-android", + "dev:app-ios": "uni -p app-ios", + "dev:app-harmony": "uni -p app-harmony", + "dev:custom": "uni -p", + "dev:h5": "uni", + "dev:h5:ssr": "uni --ssr", + "dev:mp-alipay": "uni -p mp-alipay", + "dev:mp-baidu": "uni -p mp-baidu", + "dev:mp-jd": "uni -p mp-jd", + "dev:mp-kuaishou": "uni -p mp-kuaishou", + "dev:mp-lark": "uni -p mp-lark", + "dev:mp-qq": "uni -p mp-qq", + "dev:mp-toutiao": "uni -p mp-toutiao", + "dev:mp-weixin": "uni -p mp-weixin", + "dev:mp-xhs": "uni -p mp-xhs", + "dev:quickapp-webview": "uni -p quickapp-webview", + "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei", + "dev:quickapp-webview-union": "uni -p quickapp-webview-union", + "build:app": "uni build -p app", + "build:app-android": "uni build -p app-android", + "build:app-ios": "uni build -p app-ios", + "build:app-harmony": "uni build -p app-harmony", + "build:custom": "uni build -p", + "build:h5": "uni build", + "build:h5:ssr": "uni build --ssr", + "build:mp-alipay": "uni build -p mp-alipay", + "build:mp-baidu": "uni build -p mp-baidu", + "build:mp-jd": "uni build -p mp-jd", + "build:mp-kuaishou": "uni build -p mp-kuaishou", + "build:mp-lark": "uni build -p mp-lark", + "build:mp-qq": "uni build -p mp-qq", + "build:mp-toutiao": "uni build -p mp-toutiao", + "build:mp-weixin": "uni build -p mp-weixin", + "build:mp-xhs": "uni build -p mp-xhs", + "build:quickapp-webview": "uni build -p quickapp-webview", + "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei", + "build:quickapp-webview-union": "uni build -p quickapp-webview-union", + "type-check": "vue-tsc --noEmit" + }, + "dependencies": { + "@dcloudio/uni-app": "3.0.0-4020920240930001", + "@dcloudio/uni-app-harmony": "3.0.0-4020920240930001", + "@dcloudio/uni-app-plus": "3.0.0-4020920240930001", + "@dcloudio/uni-components": "3.0.0-4020920240930001", + "@dcloudio/uni-h5": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-alipay": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-baidu": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-jd": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-kuaishou": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-lark": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-qq": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-toutiao": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-weixin": "3.0.0-4020920240930001", + "@dcloudio/uni-mp-xhs": "3.0.0-4020920240930001", + "@dcloudio/uni-quickapp-webview": "3.0.0-4020920240930001", + "@vue/compiler-core": "^3.5.11", + "dayjs": "^1.11.13", + "luch-request": "^3.1.1", + "pinia": "^2.2.6", + "radash": "^12.1.0", + "vue": "^3.3.11", + "vue-i18n": "^9.1.9", + "z-paging": "^2.8.0" + }, + "devDependencies": { + "@dcloudio/types": "^3.4.12", + "@dcloudio/uni-automator": "3.0.0-4020920240930001", + "@dcloudio/uni-cli-shared": "3.0.0-4020920240930001", + "@dcloudio/uni-stacktracey": "3.0.0-4020920240930001", + "@dcloudio/vite-plugin-uni": "3.0.0-4020920240930001", + "@types/node": "^18.0.0", + "@vue/runtime-core": "^3.3.11", + "@vue/tsconfig": "^0.1.3", + "sass": "1.71.1", + "sass-loader": "10.0.5", + "typescript": "^4.9.4", + "unocss": "^0.58.5", + "unocss-preset-weapp": "^0.58.6", + "vite": "5.2.8", + "vue-tsc": "^1.0.24" + } +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..c96ffa6 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7773 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@dcloudio/uni-app': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(@dcloudio/types@3.4.14)(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-app-harmony': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12) + '@dcloudio/uni-app-plus': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12) + '@dcloudio/uni-components': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-h5': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-alipay': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-baidu': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-jd': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-kuaishou': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-lark': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-qq': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-toutiao': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-weixin': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-xhs': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-quickapp-webview': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@vue/compiler-core': + specifier: ^3.5.11 + version: 3.5.12 + dayjs: + specifier: ^1.11.13 + version: 1.11.13 + luch-request: + specifier: ^3.1.1 + version: 3.1.1 + pinia: + specifier: ^2.2.6 + version: 2.2.6(typescript@4.9.5)(vue@3.5.12) + radash: + specifier: ^12.1.0 + version: 12.1.0 + vue: + specifier: ^3.3.11 + version: 3.5.12(typescript@4.9.5) + vue-i18n: + specifier: ^9.1.9 + version: 9.14.1(vue@3.5.12) + z-paging: + specifier: ^2.8.0 + version: 2.8.0 + +devDependencies: + '@dcloudio/types': + specifier: ^3.4.12 + version: 3.4.14 + '@dcloudio/uni-automator': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-cli-shared': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-stacktracey': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001 + '@dcloudio/vite-plugin-uni': + specifier: 3.0.0-4020920240930001 + version: 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12) + '@types/node': + specifier: ^18.0.0 + version: 18.19.64 + '@vue/runtime-core': + specifier: ^3.3.11 + version: 3.5.12 + '@vue/tsconfig': + specifier: ^0.1.3 + version: 0.1.3(@types/node@18.19.64) + sass: + specifier: 1.71.1 + version: 1.71.1 + sass-loader: + specifier: 10.0.5 + version: 10.0.5(sass@1.71.1)(webpack@5.96.1) + typescript: + specifier: ^4.9.4 + version: 4.9.5 + unocss: + specifier: ^0.58.5 + version: 0.58.9(postcss@8.4.47)(vite@5.2.8) + unocss-preset-weapp: + specifier: ^0.58.6 + version: 0.58.8 + vite: + specifier: 5.2.8 + version: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0) + vue-tsc: + specifier: ^1.0.24 + version: 1.8.27(typescript@4.9.5) + +packages: + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + /@antfu/install-pkg@0.4.1: + resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} + dependencies: + package-manager-detector: 0.2.2 + tinyexec: 0.3.1 + dev: true + + /@antfu/utils@0.7.10: + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + + /@babel/code-frame@7.26.2: + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + /@babel/compat-data@7.26.2: + resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.26.0: + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/generator@7.26.2: + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 + + /@babel/helper-annotate-as-pure@7.25.9: + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.26.0 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.25.9: + resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-compilation-targets@7.25.9: + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.26.2 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.25.9 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.0): + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.3.7 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-member-expression-to-functions@7.25.9: + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-module-imports@7.25.9: + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + /@babel/helper-optimise-call-expression@7.25.9: + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.26.0 + dev: true + + /@babel/helper-plugin-utils@7.25.9: + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access@7.25.9: + resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.25.9: + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-string-parser@7.25.9: + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.25.9: + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.25.9: + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-wrap-function@7.25.9: + resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers@7.26.0: + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + + /@babel/parser@7.26.2: + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.26.0 + + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 + dev: true + + /@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-simple-access': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + dev: true + + /@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + regenerator-transform: 0.15.2 + dev: true + + /@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-typescript@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/preset-env@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.26.2 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0) + core-js-compat: 3.39.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/types': 7.26.0 + esutils: 2.0.3 + dev: true + + /@babel/preset-typescript@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/runtime@7.26.0: + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + + /@babel/template@7.25.9: + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + + /@babel/traverse@7.25.9: + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/types@7.26.0: + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@dcloudio/types@2.6.12: + resolution: {integrity: sha512-mrCMwcINy1IFjU9VUqLeWBkj404yWs5paLDttBcA+eqUjanuUQbBcTVPqlrGgkyzLXDcV2oDDZRSNxNpXi4kMQ==} + dev: false + + /@dcloudio/types@3.4.14: + resolution: {integrity: sha512-VolQeZfTh8pQFsr2IlfIVX93blfvGTuBoJuZUc7iWOqtHV8gDrq6fXLhzsVlgZyuhhRZLOxlo33rkEqnY+ucAw==} + + /@dcloudio/uni-app-harmony@3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12): + resolution: {integrity: sha512-YHAJSX1DCaLTr7MDc4mOJ/0JfECn2YS9b5EvMyl5WUy8CIDSupOxFpygnpcUHTlyExdQOivp35TerYfLa0BDew==} + dependencies: + '@dcloudio/uni-app-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12) + debug: 4.3.7 + fs-extra: 10.1.0 + licia: 1.44.0 + postcss-selector-parser: 6.1.2 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vite + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-app-plus@3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12): + resolution: {integrity: sha512-0MQx5lAZ+y8E5/jjkjSfpyZvhUNaqRZbcD7u+cragHjE17PndQo+h7wmyGYgzGQYmuikiD8CX+o+NtTo4Z/TiA==} + dependencies: + '@dcloudio/uni-app-uts': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-app-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12) + '@dcloudio/uni-app-vue': 3.0.0-4020920240930001 + debug: 4.3.7 + fs-extra: 10.1.0 + licia: 1.44.0 + postcss-selector-parser: 6.1.2 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vite + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-app-uts@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-OaEyI9hrjR6I8bNc9GdfOos/zWfiA0eIy4gLLVpkGxpMmAoqR9j5fs7g804SDAn3NtzNtzOJrAXx7sl5mJwsIw==} + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-i18n': 3.0.0-4020920240930001 + '@dcloudio/uni-nvue-styler': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + '@rollup/pluginutils': 5.1.3 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/consolidate': 1.0.0 + '@vue/shared': 3.4.21 + debug: 4.3.7 + es-module-lexer: 1.5.4 + estree-walker: 2.0.2 + fs-extra: 10.1.0 + magic-string: 0.30.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + unimport: 3.13.1 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-app-vite@3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12): + resolution: {integrity: sha512-hG7aTOb1Clgli8qeMVFItadlAT51Kbw2J7CpbWJ5Pkv8uv63QAo2ruRiHs2eYTWRpfXRqr7nZ3J7d74VbrUZ7A==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-i18n': 3.0.0-4020920240930001 + '@dcloudio/uni-nvue-styler': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@rollup/pluginutils': 5.1.3 + '@vitejs/plugin-vue': 5.1.0(vite@5.2.8)(vue@3.5.12) + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + debug: 4.3.7 + fs-extra: 10.1.0 + picocolors: 1.1.1 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vite + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-app-vue@3.0.0-4020920240930001: + resolution: {integrity: sha512-GMmN0NJjyb0I/G3tE8kBN9DkvwTBKJjjnXzSCCPDbXJbH8YJiThjzyBBdyXb1cJwdgAhwTbwX8dWu7uyT+bllA==} + dev: false + + /@dcloudio/uni-app@3.0.0-4020920240930001(@dcloudio/types@3.4.14)(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-Er2pOCUTss7h5sYL32gLAWbYysYyhYzj8ZYKAjF/1aX+YkigD7beU1oX4M/m5yOo1RoogsQNTs5dyUn7R1sFrA==} + peerDependencies: + '@dcloudio/types': ^3.4.11 + dependencies: + '@dcloudio/types': 3.4.14 + '@dcloudio/uni-cloud': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-components': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-i18n': 3.0.0-4020920240930001 + '@dcloudio/uni-push': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@dcloudio/uni-stat': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-automator@3.0.0-4020920240930001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-HsCw/ulfiG8Kavn1cz1bCHOcUiBxCvyphOjMMjnNIJZb/cgQl7HpJQ7PThpQXDpEn2oNRKw/6fKsX2ZTLWfWZA==} + peerDependencies: + jest: 27.0.4 + jest-environment-node: 27.5.1 + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + address: 1.2.2 + cross-env: 7.0.3 + debug: 4.3.7 + default-gateway: 6.0.3 + fs-extra: 10.1.0 + jest: 27.0.4 + jest-environment-node: 27.5.1 + jsonc-parser: 3.3.1 + licia: 1.44.0 + merge: 2.1.1 + qrcode-reader: 1.0.4 + qrcode-terminal: 0.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - bufferutil + - postcss + - rollup + - supports-color + - ts-node + - utf-8-validate + - vue + - webpack-sources + dev: true + + /@dcloudio/uni-cli-shared@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-DpKcXXtAiyZXX8WxDSSRjl/PuTYFPBvWDcS7UfWR3Vw13gM3TUEu3WPl1URgGlxmwr30x5YLv6ZA6UoXSZ6MNw==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/core': 7.26.0 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@dcloudio/uni-i18n': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@intlify/core-base': 9.1.9 + '@intlify/shared': 9.1.9 + '@intlify/vue-devtools': 9.1.9 + '@rollup/pluginutils': 5.1.3 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.5.12) + '@vue/shared': 3.4.21 + adm-zip: 0.5.16 + autoprefixer: 10.4.20(postcss@8.4.47) + base64url: 3.0.1 + chokidar: 3.6.0 + compare-versions: 3.6.0 + debug: 4.3.7 + es-module-lexer: 1.5.4 + esbuild: 0.20.2 + estree-walker: 2.0.2 + fast-glob: 3.3.2 + fs-extra: 10.1.0 + hash-sum: 2.0.0 + isbinaryfile: 5.0.4 + jsonc-parser: 3.3.1 + lines-and-columns: 2.0.4 + magic-string: 0.30.12 + merge: 2.1.1 + mime: 3.0.0 + module-alias: 2.2.3 + os-locale-s-fix: 1.0.8-fix-1 + picocolors: 1.1.1 + postcss-import: 14.1.0(postcss@8.4.47) + postcss-load-config: 3.1.4(postcss@8.4.47) + postcss-modules: 4.3.1(postcss@8.4.47) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + source-map-js: 1.2.1 + tapable: 2.2.1 + unplugin-auto-import: 0.16.7 + xregexp: 3.1.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + + /@dcloudio/uni-cloud@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-N4/4mv+PhtQkg3w0xrjBnir2SA5t23gOs8ZC3Mp3q2+iMS9Lo4puc/81mGaQxc2pZhdsV5MzxWCoquFdbyWCzA==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-i18n': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/shared': 3.4.21 + fast-glob: 3.3.2 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-components@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-ZC3z/RIeHtx3SkJtKwArKGAq+poDevzcQG3MV6gKLubwPAkri8UR4ptSjJwzvs7ESoGwGwqxy6aNndUIx6+fsw==} + dependencies: + '@dcloudio/uni-cloud': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-h5': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-i18n': 3.0.0-4020920240930001 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-h5-vite@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-9kZvdOmAl59vNcVDPH4doQRhnGhEB7oT+LEy6uW+BIDvkMZN/hw9MYUzv7WIysXCg51gY0vRJdIkU1OpDCz8tg==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@rollup/pluginutils': 5.1.3 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.5.12) + '@vue/shared': 3.4.21 + debug: 4.3.7 + fs-extra: 10.1.0 + mime: 3.0.0 + module-alias: 2.2.3 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-h5-vue@3.0.0-4020920240930001(vue@3.5.12): + resolution: {integrity: sha512-kUfK+50xilnGJVQq35N8VHA5bb0q7JmT5Cc8I8mPVFuVdl38zpumsjG6Qg8dhS5E/9GqjjWqH3aWOn6ugTFMxQ==} + dependencies: + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/server-renderer': 3.4.21(vue@3.5.12) + transitivePeerDependencies: + - vue + dev: false + + /@dcloudio/uni-h5@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-9M7UqJVVC1KEP6mcmRzmdWX8+VWp3Y+FSKGQ4ymWJ+T0Xest4i3oggj2nLBDTfyhYMEZ3hNFI885o5cUoolMCw==} + dependencies: + '@dcloudio/uni-h5-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-h5-vue': 3.0.0-4020920240930001(vue@3.5.12) + '@dcloudio/uni-i18n': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/server-renderer': 3.4.21(vue@3.5.12) + '@vue/shared': 3.4.21 + debug: 4.3.7 + localstorage-polyfill: 1.0.1 + postcss-selector-parser: 6.1.2 + safe-area-insets: 1.4.1 + vue-router: 4.4.5(vue@3.5.12) + xmlhttprequest: 1.8.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-i18n@3.0.0-4020920240930001: + resolution: {integrity: sha512-ltKiciML0ptWRytvbFt1dd4YglEjh4fsUc0D/dY+y5YKNxK7h/V2HT3qkQtP05T1kjEput4KrWNn23fczO3YFg==} + + /@dcloudio/uni-mp-alipay@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-52XHUPmZixd8TZQ9BKrme139Uq5wfYy6DjMdeSQRJ9DJRtVe4WsWxgJ6DoKdPJLtiG1OSljmZOjU5V35WuhsWA==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-baidu@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-2MyZYMQdiU3Xog/f/HdRZLoQk5uVPICfysfnxirjdd4O/umhsRkdwMjq092mmmmkSEdTQIlwiQGK+8d3snLofQ==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-mp-weixin': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + jimp: 0.10.3 + licia: 1.44.0 + qrcode-reader: 1.0.4 + qrcode-terminal: 0.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - bufferutil + - debug + - postcss + - rollup + - supports-color + - ts-node + - utf-8-validate + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-compiler@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-ngbbKTDWCzE8j3Xf5ezBRdV4NiXPTIS9GylIvL1quJVjcWEwbfoSvROTCBxLv+i8unu5+UbtRa1+KdsrUKtFOQ==} + dependencies: + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-jd@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-L9WncaToo27wZcmLbFFZGkIo7iBKEk53bOy6fntUhECPJe0076q2KUnWyFF8Mq9euOz9KESazBo8u6PyoZkwuA==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-kuaishou@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-y8xmnGZX1cjgx5A3V0g43+0LrNrafb6J7NjdYjjzvlelTalAICofMMxOB/TMY4kIvAcAO8pTrvJ8gsxQTj3Law==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-mp-weixin': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - bufferutil + - debug + - postcss + - rollup + - supports-color + - ts-node + - utf-8-validate + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-lark@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-6siEc/tbZLGh3DDZin+3hEWtncUs+Nk6ttEsZgIyNwX+SPTf2pFDj23dZAq3h/Lc89EvIgSjyFOuKJ1yivrLdg==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-toutiao': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-qq@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-TD4HUZiXa/3pjhRFJo0uMygMCZZk09pbzmR9FPU/kMQk3pxfgrMrMAY3To9boMULKNJenT1pIVy/QxEXiTyH1Q==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/shared': 3.4.21 + fs-extra: 10.1.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-toutiao@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-eo0a+cwY9mgs/DxMplKpqTyIJmJUJpPr/hT2DPsqnPA8OXAbIKbhJBZbwC2z/EJDduOhzNpCkliHhv4Ahks2vQ==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-vite@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-awTd9X+yZ67shjBVxZ02bJ5ImU4/mODprz2lmYHA19RjjhzfNrDsIYBWAtfWMZ2WP5z1OL7WnZNiwPHWiuh9mQ==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-i18n': 3.0.0-4020920240930001 + '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/compiler-sfc': 3.4.21 + '@vue/shared': 3.4.21 + debug: 4.3.7 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-vue@3.0.0-4020920240930001: + resolution: {integrity: sha512-65zNSA4jybW+sNRBLnR2Fni1dMNycJj0T6S1Lbhb/7ofJ7mosZdwjk8OFym3ZWjghov9x0Z3xAXGDIdWmSWNNw==} + dependencies: + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/shared': 3.4.21 + dev: false + + /@dcloudio/uni-mp-weixin@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-ip/OtXFLlnkztxOXMXPsjktp9rSo+c1OxlCase32xBVn+Jt0GyIFiA6Js9icz5uwIXtt14jWi4mRXfjncUV7QA==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/shared': 3.4.21 + jimp: 0.10.3 + licia: 1.44.0 + qrcode-reader: 1.0.4 + qrcode-terminal: 0.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - bufferutil + - debug + - postcss + - rollup + - supports-color + - ts-node + - utf-8-validate + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-mp-xhs@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-4+3qaWsqfbIentMmFCSUdf7ngpQXqt/2k/TqT6+6985tfzXUKoi0YrGwnZbf5e6b6RVDMuLMsokm2z7kfSXdXw==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-nvue-styler@3.0.0-4020920240930001: + resolution: {integrity: sha512-bmMJKf4FoSQy6PfTfojOeskcc1239V38B3dtG/zFFll7pzBAVi68xYvgF9KgYDBkztTM0PmAukyVNRl1VAFOww==} + dependencies: + parse-css-font: 4.0.0 + postcss: 8.4.47 + dev: false + + /@dcloudio/uni-push@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-AL03ysBAi8d/VBQ0/UG0EqcC0Fiohb/pkzR88kNLxIn3VouMje3pw3h++zH5Oa/DppP4M47TTMDoGlcAqBpqrg==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-quickapp-webview@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-P0G/u/DSJyEw+Txnpxbg8fMOJE1nNcRLwdTCWe43KefPBQRiRVo4n/tWWxBgV+tnbryqolPivkxLsLDfi358+w==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/uni-shared@3.0.0-4020920240930001: + resolution: {integrity: sha512-8EEQAaY+Y9BRCZIqpoaI7ciQFTO/sggxPO1kJNVAkxvJs/GVb4mawPlW9UNsMiWEqRvOJlV7KldCu6eMYlyyfg==} + dependencies: + '@vue/shared': 3.4.21 + + /@dcloudio/uni-stacktracey@3.0.0-4020920240930001: + resolution: {integrity: sha512-YBAHXAWsiZiG4DbIcfle0W0PfILxG8Pymx/Lp2A2+OzMYANRjs2M2kq4S9g73ZVkIyUVxgHqqQRRdGgAwOUbhg==} + dev: true + + /@dcloudio/uni-stat@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12): + resolution: {integrity: sha512-ZPn4WQPlZ3lObaZM9Q1fryewIsan1XD4qy+oWsqAuGop1kaHDQKUfg2D+jclAOCr4+95u4Jfn+RH0HNqrI0eqg==} + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + debug: 4.3.7 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: false + + /@dcloudio/vite-plugin-uni@3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12): + resolution: {integrity: sha512-ZtV5x4Jj8d2FzaK8uamYdfYwzRbMseWY3l6MTUdc94uMNIvnb2fBhJccoY3xexSDYRFRElPKk7+ed6AQ7tYtuw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + vite: ^5.2.8 + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) + '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12) + '@dcloudio/uni-shared': 3.0.0-4020920240930001 + '@rollup/pluginutils': 5.1.3 + '@vitejs/plugin-legacy': 5.3.2(terser@5.36.0)(vite@5.2.8) + '@vitejs/plugin-vue': 5.1.0(vite@5.2.8)(vue@3.5.12) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8)(vue@3.5.12) + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/shared': 3.4.21 + cac: 6.7.9 + debug: 4.3.7 + estree-walker: 2.0.2 + express: 4.21.1 + fast-glob: 3.3.2 + fs-extra: 10.1.0 + hash-sum: 2.0.0 + jsonc-parser: 3.3.1 + magic-string: 0.30.12 + picocolors: 1.1.1 + terser: 5.36.0 + unplugin-auto-import: 0.16.7 + vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0) + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + dev: true + + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true + + /@iconify/utils@2.1.33: + resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==} + dependencies: + '@antfu/install-pkg': 0.4.1 + '@antfu/utils': 0.7.10 + '@iconify/types': 2.0.0 + debug: 4.3.7 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.7.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@intlify/core-base@9.1.9: + resolution: {integrity: sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==} + engines: {node: '>= 10'} + dependencies: + '@intlify/devtools-if': 9.1.9 + '@intlify/message-compiler': 9.1.9 + '@intlify/message-resolver': 9.1.9 + '@intlify/runtime': 9.1.9 + '@intlify/shared': 9.1.9 + '@intlify/vue-devtools': 9.1.9 + + /@intlify/core-base@9.14.1: + resolution: {integrity: sha512-rG5/hlNW6Qfve41go37szEf0mVLcfhYuOu83JcY0jZKasnwsrcZYYWDzebCcuO5I/6Sy1JFWo9p+nvkQS1Dy+w==} + engines: {node: '>= 16'} + dependencies: + '@intlify/message-compiler': 9.14.1 + '@intlify/shared': 9.14.1 + dev: false + + /@intlify/devtools-if@9.1.9: + resolution: {integrity: sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==} + engines: {node: '>= 10'} + dependencies: + '@intlify/shared': 9.1.9 + + /@intlify/message-compiler@9.1.9: + resolution: {integrity: sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==} + engines: {node: '>= 10'} + dependencies: + '@intlify/message-resolver': 9.1.9 + '@intlify/shared': 9.1.9 + source-map: 0.6.1 + + /@intlify/message-compiler@9.14.1: + resolution: {integrity: sha512-MY8hwukJBnXvGAncVKlHsqKDQ5ZcQx4peqEmI8wBUTXn4pezrtTGYXNoz81cLyEEHB+L/zlKWVBSh5TiX4gYoQ==} + engines: {node: '>= 16'} + dependencies: + '@intlify/shared': 9.14.1 + source-map-js: 1.2.1 + dev: false + + /@intlify/message-resolver@9.1.9: + resolution: {integrity: sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==} + engines: {node: '>= 10'} + + /@intlify/runtime@9.1.9: + resolution: {integrity: sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==} + engines: {node: '>= 10'} + dependencies: + '@intlify/message-compiler': 9.1.9 + '@intlify/message-resolver': 9.1.9 + '@intlify/shared': 9.1.9 + + /@intlify/shared@9.1.9: + resolution: {integrity: sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==} + engines: {node: '>= 10'} + + /@intlify/shared@9.14.1: + resolution: {integrity: sha512-XjHu6PEQup9MnP1x0W9y0nXXfq9jFftAYSfV11hryjtH4XqXP8HrzMvXI+ZVifF+jZLszaTzIhvukllplxTQTg==} + engines: {node: '>= 16'} + dev: false + + /@intlify/vue-devtools@9.1.9: + resolution: {integrity: sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==} + engines: {node: '>= 10'} + dependencies: + '@intlify/message-resolver': 9.1.9 + '@intlify/runtime': 9.1.9 + '@intlify/shared': 9.1.9 + + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console@27.5.1: + resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + chalk: 4.1.2 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + dev: true + + /@jest/core@27.5.1: + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 27.5.1 + jest-config: 27.5.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.8 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /@jest/environment@27.5.1: + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + jest-mock: 27.5.1 + dev: true + + /@jest/fake-timers@27.5.1: + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@sinonjs/fake-timers': 8.1.0 + '@types/node': 18.19.64 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: true + + /@jest/globals@27.5.1: + resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/types': 27.5.1 + expect: 27.5.1 + dev: true + + /@jest/reporters@27.5.1: + resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-haste-map: 27.5.1 + jest-resolve: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + slash: 3.0.0 + source-map: 0.6.1 + string-length: 4.0.2 + terminal-link: 2.1.1 + v8-to-istanbul: 8.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/source-map@27.5.1: + resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + callsites: 3.1.0 + graceful-fs: 4.2.11 + source-map: 0.6.1 + dev: true + + /@jest/test-result@27.5.1: + resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/console': 27.5.1 + '@jest/types': 27.5.1 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + dev: true + + /@jest/test-sequencer@27.5.1: + resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/test-result': 27.5.1 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-runtime: 27.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/transform@27.5.1: + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/core': 7.26.0 + '@jest/types': 27.5.1 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-regex-util: 27.5.1 + jest-util: 27.5.1 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@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} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.64 + '@types/yargs': 16.0.9 + chalk: 4.1.2 + dev: true + + /@jimp/bmp@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + bmp-js: 0.1.0 + core-js: 3.39.0 + dev: false + + /@jimp/core@0.10.3: + resolution: {integrity: sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==} + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/utils': 0.10.3 + any-base: 1.1.0 + buffer: 5.7.1 + core-js: 3.39.0 + exif-parser: 0.1.12 + file-type: 9.0.0 + load-bmfont: 1.4.2 + mkdirp: 0.5.6 + phin: 2.9.3 + pixelmatch: 4.0.2 + tinycolor2: 1.6.0 + transitivePeerDependencies: + - debug + dev: false + + /@jimp/custom@0.10.3: + resolution: {integrity: sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==} + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/core': 0.10.3 + core-js: 3.39.0 + transitivePeerDependencies: + - debug + dev: false + + /@jimp/gif@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + omggif: 1.0.10 + dev: false + + /@jimp/jpeg@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + jpeg-js: 0.3.7 + dev: false + + /@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-circle@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + tinycolor2: 1.6.0 + dev: false + + /@jimp/plugin-contain@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-resize@0.10.3)(@jimp/plugin-scale@0.10.3): + resolution: {integrity: sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + '@jimp/plugin-scale': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-cover@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3)(@jimp/plugin-scale@0.10.3): + resolution: {integrity: sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-crop': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + '@jimp/plugin-scale': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-displace@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-dither@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-fisheye@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-flip@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3): + resolution: {integrity: sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-rotate': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-gaussian@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-invert@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-mask@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-normalize@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-print@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3): + resolution: {integrity: sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + load-bmfont: 1.4.2 + transitivePeerDependencies: + - debug + dev: false + + /@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3): + resolution: {integrity: sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + '@jimp/plugin-crop': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3): + resolution: {integrity: sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-shadow@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3)(@jimp/plugin-resize@0.10.3): + resolution: {integrity: sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blur': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugin-threshold@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3)(@jimp/plugin-resize@0.10.3): + resolution: {integrity: sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-color': '>=0.8.0' + '@jimp/plugin-resize': '>=0.8.0' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + dev: false + + /@jimp/plugins@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-circle': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-contain': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-resize@0.10.3)(@jimp/plugin-scale@0.10.3) + '@jimp/plugin-cover': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3)(@jimp/plugin-scale@0.10.3) + '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-displace': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-dither': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-fisheye': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-flip': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3) + '@jimp/plugin-gaussian': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-invert': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-mask': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-normalize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-print': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3) + '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3) + '@jimp/plugin-shadow': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3)(@jimp/plugin-resize@0.10.3) + '@jimp/plugin-threshold': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3)(@jimp/plugin-resize@0.10.3) + core-js: 3.39.0 + timm: 1.7.1 + transitivePeerDependencies: + - debug + dev: false + + /@jimp/png@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.39.0 + pngjs: 3.4.0 + dev: false + + /@jimp/tiff@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + core-js: 3.39.0 + utif: 2.0.1 + dev: false + + /@jimp/types@0.10.3(@jimp/custom@0.10.3): + resolution: {integrity: sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/bmp': 0.10.3(@jimp/custom@0.10.3) + '@jimp/custom': 0.10.3 + '@jimp/gif': 0.10.3(@jimp/custom@0.10.3) + '@jimp/jpeg': 0.10.3(@jimp/custom@0.10.3) + '@jimp/png': 0.10.3(@jimp/custom@0.10.3) + '@jimp/tiff': 0.10.3(@jimp/custom@0.10.3) + core-js: 3.39.0 + timm: 1.7.1 + dev: false + + /@jimp/utils@0.10.3: + resolution: {integrity: sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==} + dependencies: + '@babel/runtime': 7.26.0 + core-js: 3.39.0 + regenerator-runtime: 0.13.11 + dev: false + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + /@meoc/utils@0.2.8: + resolution: {integrity: sha512-SogV9QQpK05CVO3Gz071fRFH/PbbXxCP566VYOs/ux62RTuTbfAVeT8jkiYfzBpg+ImqpKkkK6o6tcbGM0rESQ==} + dependencies: + dayjs: 1.11.13 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat@2.0.5: + 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'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + /@polka/url@1.0.0-next.28: + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + dev: true + + /@rollup/pluginutils@5.1.3: + resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + + /@rollup/rollup-android-arm-eabi@4.24.4: + resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@rollup/rollup-android-arm64@4.24.4: + resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@rollup/rollup-darwin-arm64@4.24.4: + resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@rollup/rollup-darwin-x64@4.24.4: + resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@rollup/rollup-freebsd-arm64@4.24.4: + resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@rollup/rollup-freebsd-x64@4.24.4: + resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.24.4: + resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} + cpu: [arm] + os: [linux] + libc: [glibc] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm-musleabihf@4.24.4: + resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} + cpu: [arm] + os: [linux] + libc: [musl] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.24.4: + resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.24.4: + resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-powerpc64le-gnu@4.24.4: + resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.24.4: + resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.24.4: + resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.24.4: + resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.24.4: + resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.24.4: + resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.24.4: + resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.24.4: + resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@sinonjs/commons@1.8.6: + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers@8.1.0: + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + dependencies: + '@sinonjs/commons': 1.8.6 + dev: true + + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: true + + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + dev: true + + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.26.0 + dev: true + + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + dev: true + + /@types/babel__traverse@7.20.6: + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + dependencies: + '@babel/types': 7.26.0 + dev: true + + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 + dev: true + + /@types/eslint@9.6.1: + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + dev: true + + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + /@types/graceful-fs@4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + dependencies: + '@types/node': 18.19.64 + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + dev: true + + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + dependencies: + '@types/istanbul-lib-report': 3.0.3 + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/node@18.19.64: + resolution: {integrity: sha512-955mDqvO2vFf/oL7V3WiUtiz+BugyX8uVbaT2H8oj3+8dRyH2FLiNdowe7eNqRM7IOIZvzDH76EoAT+gwm6aIQ==} + dependencies: + undici-types: 5.26.5 + + /@types/prettier@2.7.3: + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + dev: true + + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true + + /@types/yargs@16.0.9: + resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: true + + /@unocss/astro@0.58.9(vite@5.2.8): + resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + '@unocss/core': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/vite': 0.58.9(vite@5.2.8) + vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0) + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/cli@0.58.9: + resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.3 + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/preset-uno': 0.58.9 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.12 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/config@0.58.9: + resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.58.9 + unconfig: 0.3.13 + dev: true + + /@unocss/core@0.58.9: + resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==} + dev: true + + /@unocss/extractor-arbitrary-variants@0.58.9: + resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==} + dependencies: + '@unocss/core': 0.58.9 + dev: true + + /@unocss/inspector@0.58.9: + resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==} + dependencies: + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + gzip-size: 6.0.0 + sirv: 2.0.4 + dev: true + + /@unocss/postcss@0.58.9(postcss@8.4.47): + resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + dependencies: + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.12 + postcss: 8.4.47 + dev: true + + /@unocss/preset-attributify@0.58.9: + resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==} + dependencies: + '@unocss/core': 0.58.9 + dev: true + + /@unocss/preset-icons@0.58.9: + resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==} + dependencies: + '@iconify/utils': 2.1.33 + '@unocss/core': 0.58.9 + ofetch: 1.4.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini@0.58.9: + resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==} + dependencies: + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/rule-utils': 0.58.9 + dev: true + + /@unocss/preset-tagify@0.58.9: + resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==} + dependencies: + '@unocss/core': 0.58.9 + dev: true + + /@unocss/preset-typography@0.58.9: + resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==} + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + dev: true + + /@unocss/preset-uno@0.58.9: + resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==} + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/rule-utils': 0.58.9 + dev: true + + /@unocss/preset-web-fonts@0.58.9: + resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==} + dependencies: + '@unocss/core': 0.58.9 + ofetch: 1.4.1 + dev: true + + /@unocss/preset-wind@0.58.9: + resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==} + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/rule-utils': 0.58.9 + dev: true + + /@unocss/reset@0.58.9: + resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==} + dev: true + + /@unocss/rule-utils@0.58.9: + resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.58.9 + magic-string: 0.30.12 + dev: true + + /@unocss/scope@0.58.9: + resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==} + dev: true + + /@unocss/transformer-attributify-jsx-babel@0.58.9: + resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==} + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) + '@unocss/core': 0.58.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/transformer-attributify-jsx@0.58.9: + resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==} + dependencies: + '@unocss/core': 0.58.9 + dev: true + + /@unocss/transformer-compile-class@0.58.9: + resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==} + dependencies: + '@unocss/core': 0.58.9 + dev: true + + /@unocss/transformer-directives@0.58.9: + resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==} + dependencies: + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + css-tree: 2.3.1 + dev: true + + /@unocss/transformer-variant-group@0.58.9: + resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==} + dependencies: + '@unocss/core': 0.58.9 + dev: true + + /@unocss/vite@0.58.9(vite@5.2.8): + resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.3 + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/inspector': 0.58.9 + '@unocss/scope': 0.58.9 + '@unocss/transformer-directives': 0.58.9 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.12 + vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0) + transitivePeerDependencies: + - rollup + dev: true + + /@vitejs/plugin-legacy@5.3.2(terser@5.36.0)(vite@5.2.8): + resolution: {integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + terser: ^5.4.0 + vite: ^5.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + browserslist: 4.24.2 + browserslist-to-esbuild: 2.1.1(browserslist@4.24.2) + core-js: 3.39.0 + magic-string: 0.30.12 + regenerator-runtime: 0.14.1 + systemjs: 6.15.1 + terser: 5.36.0 + vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8)(vue@3.5.12): + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) + '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) + vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0) + vue: 3.5.12(typescript@4.9.5) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue@5.1.0(vite@5.2.8)(vue@3.5.12): + resolution: {integrity: sha512-QMRxARyrdiwi1mj3AW4fLByoHTavreXq0itdEW696EihXglf1MB3D4C2gBvE0jMPH29ZjC3iK8aIaUMLf4EOGA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0) + vue: 3.5.12(typescript@4.9.5) + + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + dev: true + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + dev: true + + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + dev: true + + /@vue/babel-helper-vue-transform-on@1.2.5: + resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==} + dev: true + + /@vue/babel-plugin-jsx@1.2.5(@babel/core@7.26.0): + resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + '@vue/babel-helper-vue-transform-on': 1.2.5 + '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0) + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.26.0): + resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/parser': 7.26.2 + '@vue/compiler-sfc': 3.5.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/compiler-core@3.4.21: + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + dependencies: + '@babel/parser': 7.26.2 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + /@vue/compiler-core@3.5.12: + resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} + dependencies: + '@babel/parser': 7.26.2 + '@vue/shared': 3.5.12 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + /@vue/compiler-dom@3.4.21: + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + /@vue/compiler-dom@3.5.12: + resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} + dependencies: + '@vue/compiler-core': 3.5.12 + '@vue/shared': 3.5.12 + + /@vue/compiler-sfc@3.4.21: + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + dependencies: + '@babel/parser': 7.26.2 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.12 + postcss: 8.4.47 + source-map-js: 1.2.1 + + /@vue/compiler-sfc@3.5.12: + resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} + dependencies: + '@babel/parser': 7.26.2 + '@vue/compiler-core': 3.5.12 + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 + estree-walker: 2.0.2 + magic-string: 0.30.12 + postcss: 8.4.47 + source-map-js: 1.2.1 + + /@vue/compiler-ssr@3.4.21: + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + /@vue/compiler-ssr@3.5.12: + resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} + dependencies: + '@vue/compiler-dom': 3.5.12 + '@vue/shared': 3.5.12 + + /@vue/consolidate@1.0.0: + resolution: {integrity: sha512-oTyUE+QHIzLw2PpV14GD/c7EohDyP64xCniWTcqcEmTd699eFqTIwOmtDYjcO1j3QgdXoJEoWv1/cCdLrRoOfg==} + engines: {node: '>= 0.12.0'} + dev: false + + /@vue/devtools-api@6.6.4: + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + dev: false + + /@vue/language-core@1.8.27(typescript@4.9.5): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.5.12 + '@vue/shared': 3.5.12 + computeds: 0.0.1 + minimatch: 9.0.5 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 4.9.5 + vue-template-compiler: 2.7.16 + dev: true + + /@vue/reactivity@3.5.12: + resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} + dependencies: + '@vue/shared': 3.5.12 + + /@vue/runtime-core@3.5.12: + resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==} + dependencies: + '@vue/reactivity': 3.5.12 + '@vue/shared': 3.5.12 + + /@vue/runtime-dom@3.5.12: + resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==} + dependencies: + '@vue/reactivity': 3.5.12 + '@vue/runtime-core': 3.5.12 + '@vue/shared': 3.5.12 + csstype: 3.1.3 + + /@vue/server-renderer@3.4.21(vue@3.5.12): + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + peerDependencies: + vue: 3.4.21 + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.5.12(typescript@4.9.5) + + /@vue/server-renderer@3.5.12(vue@3.5.12): + resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==} + peerDependencies: + vue: 3.5.12 + dependencies: + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 + vue: 3.5.12(typescript@4.9.5) + + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + + /@vue/shared@3.5.12: + resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + + /@vue/tsconfig@0.1.3(@types/node@18.19.64): + resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 18.19.64 + dev: true + + /@webassemblyjs/ast@1.14.1: + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + dev: true + + /@webassemblyjs/floating-point-hex-parser@1.13.2: + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + dev: true + + /@webassemblyjs/helper-api-error@1.13.2: + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + dev: true + + /@webassemblyjs/helper-buffer@1.14.1: + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + dev: true + + /@webassemblyjs/helper-numbers@1.13.2: + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-wasm-bytecode@1.13.2: + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + dev: true + + /@webassemblyjs/helper-wasm-section@1.14.1: + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + dev: true + + /@webassemblyjs/ieee754@1.13.2: + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/leb128@1.13.2: + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/utf8@1.13.2: + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + dev: true + + /@webassemblyjs/wasm-edit@1.14.1: + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + dev: true + + /@webassemblyjs/wasm-gen@1.14.1: + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + dev: true + + /@webassemblyjs/wasm-opt@1.14.1: + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + dev: true + + /@webassemblyjs/wasm-parser@1.14.1: + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + dev: true + + /@webassemblyjs/wast-printer@1.14.1: + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + dev: true + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true + + /abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + dev: true + + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + + /acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: true + + /acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + /address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + dev: true + + /adm-zip@0.5.16: + resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} + engines: {node: '>=12.0'} + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + 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 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /any-base@1.1.0: + resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /autoprefixer@10.4.20(postcss@8.4.47): + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.24.2 + caniuse-lite: 1.0.30001678 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + + /babel-jest@27.5.1(@babel/core@7.26.0): + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.26.0 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1(@babel/core@7.26.0) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.25.9 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist@27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + dev: true + + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.0): + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.26.2 + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + core-js-compat: 3.39.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.26.0): + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) + dev: true + + /babel-preset-jest@27.5.1(@babel/core@7.26.0): + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + babel-plugin-jest-hoist: 27.5.1 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /base64url@3.0.1: + resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} + engines: {node: '>=6.0.0'} + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + /bmp-js@0.1.0: + resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==} + dev: false + + /body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.1.1 + + /browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: true + + /browserslist-to-esbuild@2.1.1(browserslist@4.24.2): + resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + browserslist: '*' + dependencies: + browserslist: 4.24.2 + meow: 13.2.0 + dev: true + + /browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001678 + electron-to-chromium: 1.5.54 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) + + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-equal@0.0.1: + resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} + engines: {node: '>=0.4.0'} + dev: false + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cac@6.7.9: + resolution: {integrity: sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==} + engines: {node: '>=8'} + dev: true + + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001678: + resolution: {integrity: sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==} + + /centra@2.7.0: + resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==} + dependencies: + follow-redirects: 1.15.9 + transitivePeerDependencies: + - debug + dev: false + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + dev: true + + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + /compare-versions@3.6.0: + resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} + + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: true + + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true + + /cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + dev: true + + /core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + dependencies: + browserslist: 4.24.2 + dev: true + + /core-js@3.39.0: + resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==} + requiresBuild: true + + /cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + dependencies: + cross-spawn: 7.0.5 + dev: true + + /cross-spawn@7.0.5: + resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-font-size-keywords@1.0.0: + resolution: {integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==} + dev: false + + /css-font-stretch-keywords@1.0.1: + resolution: {integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==} + dev: false + + /css-font-style-keywords@1.0.1: + resolution: {integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==} + dev: false + + /css-font-weight-keywords@1.0.0: + resolution: {integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==} + dev: false + + /css-list-helpers@2.0.0: + resolution: {integrity: sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==} + dev: false + + /css-system-font-keywords@1.0.0: + resolution: {integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==} + dev: false + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + /cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: true + + /cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + dev: true + + /cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + dev: true + + /dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true + + /dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + dependencies: + execa: 5.1.1 + dev: true + + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + dev: true + + /defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + dev: true + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true + + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + dev: false + + /domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + dependencies: + webidl-conversions: 5.0.0 + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /electron-to-chromium@1.5.54: + resolution: {integrity: sha512-TX6vHleisn5i/4pekTyy1sdoLXQNy8VFvBK/fJRXSyp7GUO27KioLTG0Qo5wFjM3ZF4ryKinDo4m+IJ+rwUWSw==} + + /emittery@0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} + engines: {node: '>=10'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + dev: true + + /enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + + /es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.6 + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.5 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exif-parser@0.1.12: + resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} + dev: false + + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expect@27.5.1: + resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-get-type: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + dev: true + + /express@4.21.1: + resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /file-type@9.0.0: + resolution: {integrity: sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==} + engines: {node: '>=6'} + dev: false + + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /form-data@3.0.2: + resolution: {integrity: sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + /generic-names@4.0.0: + resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} + dependencies: + loader-utils: 3.3.1 + + /gensync@1.0.0-beta.2: + 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.*} + dev: true + + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + dev: true + + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + dependencies: + min-document: 2.19.0 + process: 0.11.10 + dev: false + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + dev: true + + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + dependencies: + whatwg-encoding: 1.0.5 + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: true + + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /icss-replace-symbols@1.1.0: + resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} + + /icss-utils@5.1.0(postcss@8.4.47): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.47 + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} + + /import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + 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. + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /invert-kv@3.0.1: + resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==} + engines: {node: '>=8'} + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + + /is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + dev: false + + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /isbinaryfile@5.0.4: + resolution: {integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==} + engines: {node: '>= 18.0.0'} + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.26.0 + '@babel/parser': 7.26.2 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.7 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-changed-files@27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + execa: 5.1.1 + throat: 6.0.2 + dev: true + + /jest-circus@27.5.1: + resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-cli@27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.2.0 + jest-config: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jest-config@27.5.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + dependencies: + '@babel/core': 7.26.0 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1(@babel/core@7.26.0) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-diff@27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-docblock@27.5.1: + resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each@27.5.1: + resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + jest-get-type: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-environment-jsdom@27.5.1: + resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + jest-mock: 27.5.1 + jest-util: 27.5.1 + jsdom: 16.7.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-environment-node@27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: true + + /jest-get-type@27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /jest-haste-map@27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/graceful-fs': 4.1.9 + '@types/node': 18.19.64 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 27.5.1 + jest-serializer: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /jest-jasmine2@27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + chalk: 4.1.2 + co: 4.6.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-leak-detector@27.5.1: + resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-matcher-utils@27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-message-util@27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/code-frame': 7.26.2 + '@jest/types': 27.5.1 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + dev: true + + /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 27.5.1 + dev: true + + /jest-regex-util@27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /jest-resolve-dependencies@27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-regex-util: 27.5.1 + jest-snapshot: 27.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve@27.5.1: + resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) + jest-util: 27.5.1 + jest-validate: 27.5.1 + resolve: 1.22.8 + resolve.exports: 1.1.1 + slash: 3.0.0 + dev: true + + /jest-runner@27.5.1: + resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/console': 27.5.1 + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + chalk: 4.1.2 + emittery: 0.8.1 + graceful-fs: 4.2.11 + jest-docblock: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-haste-map: 27.5.1 + jest-leak-detector: 27.5.1 + jest-message-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runtime: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + source-map-support: 0.5.21 + throat: 6.0.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-runtime@27.5.1: + resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/globals': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + cjs-module-lexer: 1.4.1 + collect-v8-coverage: 1.0.2 + execa: 5.1.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-serializer@27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/node': 18.19.64 + graceful-fs: 4.2.11 + dev: true + + /jest-snapshot@27.5.1: + resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.26.2 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__traverse': 7.20.6 + '@types/prettier': 2.7.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) + chalk: 4.1.2 + expect: 27.5.1 + graceful-fs: 4.2.11 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + jest-haste-map: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + natural-compare: 1.4.0 + pretty-format: 27.5.1 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util@27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-validate@27.5.1: + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 27.5.1 + leven: 3.1.0 + pretty-format: 27.5.1 + dev: true + + /jest-watcher@27.5.1: + resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.19.64 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest-util: 27.5.1 + string-length: 4.0.2 + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 18.19.64 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest@27.0.4: + resolution: {integrity: sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + import-local: 3.2.0 + jest-cli: 27.5.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jimp@0.10.3: + resolution: {integrity: sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==} + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugins': 0.10.3(@jimp/custom@0.10.3) + '@jimp/types': 0.10.3(@jimp/custom@0.10.3) + core-js: 3.39.0 + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - debug + dev: false + + /jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + dev: true + + /jpeg-js@0.3.7: + resolution: {integrity: sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==} + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.14.0 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.4.3 + domexception: 2.0.1 + escodegen: 2.1.0 + form-data: 3.0.2 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.13 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.10 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + /jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + dev: true + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + + /lcid@3.1.1: + resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==} + engines: {node: '>=8'} + dependencies: + invert-kv: 3.0.1 + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /licia@1.44.0: + resolution: {integrity: sha512-REBoVyObS1ghIbk8Qjbpdd1uzKOkwMHzBouZYVozVooAfKBm5G1Hvtx3o6/KbVSNYF+VzORJJmuqbkiLeqHPYw==} + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + /load-bmfont@1.4.2: + resolution: {integrity: sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==} + dependencies: + buffer-equal: 0.0.1 + mime: 1.6.0 + parse-bmfont-ascii: 1.0.6 + parse-bmfont-binary: 1.0.6 + parse-bmfont-xml: 1.1.6 + phin: 3.7.1 + xhr: 2.6.0 + xtend: 4.0.2 + transitivePeerDependencies: + - debug + dev: false + + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true + + /loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + dev: true + + /loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.7.2 + pkg-types: 1.2.1 + + /localstorage-polyfill@1.0.1: + resolution: {integrity: sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==} + engines: {node: '>=6'} + dev: false + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + + /luch-request@3.1.1: + resolution: {integrity: sha512-p7+mlcEtgRcd0OfXC4XZbyiwSr1XgCeqNT7LlVUjnk7InYl/8d5Rk7BUqAYNA2WRafI1wRIUQWRWZRpeUwWR0w==} + dependencies: + '@dcloudio/types': 2.6.12 + dev: false + + /magic-string@0.30.12: + resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.3 + dev: true + + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true + + /meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + dev: true + + /merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /merge@2.1.1: + resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} + + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + /mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + dependencies: + dom-walk: 0.1.2 + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + + /mlly@1.7.2: + resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} + dependencies: + acorn: 8.14.0 + pathe: 1.1.2 + pkg-types: 1.2.1 + ufo: 1.5.4 + + /module-alias@2.2.3: + resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==} + + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + dev: true + + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nwsapi@2.2.13: + resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} + dev: true + + /object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + dev: true + + /ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.4 + dev: true + + /omggif@1.0.10: + resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + dev: false + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /os-locale-s-fix@1.0.8-fix-1: + resolution: {integrity: sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==} + engines: {node: '>=10', yarn: ^1.22.4} + dependencies: + lcid: 3.1.1 + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /package-manager-detector@0.2.2: + resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==} + dev: true + + /pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + dev: false + + /parse-bmfont-ascii@1.0.6: + resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==} + dev: false + + /parse-bmfont-binary@1.0.6: + resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==} + dev: false + + /parse-bmfont-xml@1.1.6: + resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==} + dependencies: + xml-parse-from-string: 1.0.1 + xml2js: 0.5.0 + dev: false + + /parse-css-font@4.0.0: + resolution: {integrity: sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==} + dependencies: + css-font-size-keywords: 1.0.0 + css-font-stretch-keywords: 1.0.1 + css-font-style-keywords: 1.0.1 + css-font-weight-keywords: 1.0.0 + css-list-helpers: 2.0.0 + css-system-font-keywords: 1.0.0 + unquote: 1.1.1 + dev: false + + /parse-headers@2.0.5: + resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} + dev: false + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + + /phin@2.9.3: + resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + dev: false + + /phin@3.7.1: + resolution: {integrity: sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==} + engines: {node: '>= 8'} + dependencies: + centra: 2.7.0 + transitivePeerDependencies: + - debug + dev: false + + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + /pinia@2.2.6(typescript@4.9.5)(vue@3.5.12): + resolution: {integrity: sha512-vIsR8JkDN5Ga2vAxqOE2cJj4VtsHnzpR1Fz30kClxlh0yCHfec6uoMeM3e/ddqmwFUejK3NlrcQa/shnpyT4hA==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.5.11 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.6.4 + typescript: 4.9.5 + vue: 3.5.12(typescript@4.9.5) + vue-demi: 0.14.10(vue@3.5.12) + dev: false + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pixelmatch@4.0.2: + resolution: {integrity: sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==} + hasBin: true + dependencies: + pngjs: 3.4.0 + dev: false + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /pkg-types@1.2.1: + resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} + dependencies: + confbox: 0.1.8 + mlly: 1.7.2 + pathe: 1.1.2 + + /pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + dev: false + + /postcss-import@14.1.0(postcss@8.4.47): + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + /postcss-load-config@3.1.4(postcss@8.4.47): + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.47 + yaml: 1.10.2 + + /postcss-modules-extract-imports@3.1.0(postcss@8.4.47): + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.47 + + /postcss-modules-local-by-default@4.0.5(postcss@8.4.47): + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + postcss-selector-parser: 6.1.2 + postcss-value-parser: 4.2.0 + + /postcss-modules-scope@3.2.0(postcss@8.4.47): + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.47 + postcss-selector-parser: 6.1.2 + + /postcss-modules-values@4.0.0(postcss@8.4.47): + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + + /postcss-modules@4.3.1(postcss@8.4.47): + resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} + peerDependencies: + postcss: ^8.0.0 + dependencies: + generic-names: 4.0.0 + icss-replace-symbols: 1.1.0 + lodash.camelcase: 4.3.0 + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) + string-hash: 1.1.3 + + /postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + /postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: true + + /psl@1.10.0: + resolution: {integrity: sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==} + dependencies: + punycode: 2.3.1 + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /qrcode-reader@1.0.4: + resolution: {integrity: sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==} + + /qrcode-terminal@0.12.0: + resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==} + hasBin: true + + /qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.6 + dev: true + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /radash@12.1.0: + resolution: {integrity: sha512-b0Zcf09AhqKS83btmUeYBS8tFK7XL2e3RvLmZcm0sTdF1/UUlHSsjXdCcWNxe7yfmAlPve5ym0DmKGtTzP6kVQ==} + engines: {node: '>=14.18.0'} + dev: false + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true + + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false + + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.26.0 + dev: true + + /regexpu-core@6.1.1: + resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.11.2 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + dev: true + + /regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + dev: true + + /regjsparser@0.11.2: + resolution: {integrity: sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==} + hasBin: true + dependencies: + jsesc: 3.0.2 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve.exports@1.1.1: + resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + engines: {node: '>=10'} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup@4.24.4: + resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.24.4 + '@rollup/rollup-android-arm64': 4.24.4 + '@rollup/rollup-darwin-arm64': 4.24.4 + '@rollup/rollup-darwin-x64': 4.24.4 + '@rollup/rollup-freebsd-arm64': 4.24.4 + '@rollup/rollup-freebsd-x64': 4.24.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.4 + '@rollup/rollup-linux-arm-musleabihf': 4.24.4 + '@rollup/rollup-linux-arm64-gnu': 4.24.4 + '@rollup/rollup-linux-arm64-musl': 4.24.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4 + '@rollup/rollup-linux-riscv64-gnu': 4.24.4 + '@rollup/rollup-linux-s390x-gnu': 4.24.4 + '@rollup/rollup-linux-x64-gnu': 4.24.4 + '@rollup/rollup-linux-x64-musl': 4.24.4 + '@rollup/rollup-win32-arm64-msvc': 4.24.4 + '@rollup/rollup-win32-ia32-msvc': 4.24.4 + '@rollup/rollup-win32-x64-msvc': 4.24.4 + fsevents: 2.3.3 + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /safe-area-insets@1.4.1: + resolution: {integrity: sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==} + dev: false + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /sass-loader@10.0.5(sass@1.71.1)(webpack@5.96.1): + resolution: {integrity: sha512-2LqoNPtKkZq/XbXNQ4C64GFEleSEHKv6NPSI+bMC/l+jpEXGJhiRYkAQToO24MR7NU4JRY2RpLpJ/gjo2Uf13w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 + sass: ^1.3.0 + webpack: ^4.36.0 || ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + dependencies: + klona: 2.0.6 + loader-utils: 2.0.4 + neo-async: 2.6.2 + sass: 1.71.1 + schema-utils: 3.3.0 + semver: 7.6.3 + webpack: 5.96.1 + dev: true + + /sass@1.71.1: + resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.6.0 + immutable: 4.3.7 + source-map-js: 1.2.1 + + /sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + dev: false + + /saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + dependencies: + randombytes: 2.1.0 + dev: true + + /serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + dev: true + + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + dev: true + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.28 + mrmime: 2.0.0 + totalist: 3.0.1 + dev: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /source-map-js@1.2.1: + 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==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + + /string-hash@1.1.3: + resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} + + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + dependencies: + js-tokens: 9.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + + /systemjs@6.15.1: + resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==} + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + /terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + dev: true + + /terser-webpack-plugin@5.3.10(webpack@5.96.1): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.36.0 + webpack: 5.96.1 + dev: true + + /terser@5.36.0: + resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.14.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + dev: true + + /timm@1.7.1: + resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==} + dev: false + + /tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + dev: false + + /tinyexec@0.3.1: + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + dev: true + + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + dependencies: + psl: 1.10.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + + /tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + dependencies: + punycode: 2.3.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: true + + /typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + + /ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + + /unconfig@0.3.13: + resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} + dependencies: + '@antfu/utils': 0.7.10 + defu: 6.1.4 + jiti: 1.21.6 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /unimport@3.13.1: + resolution: {integrity: sha512-nNrVzcs93yrZQOW77qnyOVHtb68LegvhYFwxFMfuuWScmwQmyVCG/NBuN8tYsaGzgQUVYv34E/af+Cc9u4og4A==} + dependencies: + '@rollup/pluginutils': 5.1.3 + acorn: 8.14.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.12 + mlly: 1.7.2 + pathe: 1.1.2 + pkg-types: 1.2.1 + scule: 1.3.0 + strip-literal: 2.1.0 + unplugin: 1.15.0 + transitivePeerDependencies: + - rollup + - webpack-sources + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + /unocss-preset-weapp@0.58.8: + resolution: {integrity: sha512-H8rQvidbl09cSOsWOCuVLd3vdR26uBYDxrhUKZVW/gfhCVWrmkjdXGrc7iP/CcDUK5RxrGIGSDNXqjY7+nbvnQ==} + dependencies: + '@rollup/pluginutils': 5.1.3 + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/rule-utils': 0.58.9 + unplugin-attributify-to-class: 0.2.5 + unplugin-transform-class: 0.5.3 + transitivePeerDependencies: + - rollup + - webpack-sources + dev: true + + /unocss@0.58.9(postcss@8.4.47)(vite@5.2.8): + resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.58.9 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + dependencies: + '@unocss/astro': 0.58.9(vite@5.2.8) + '@unocss/cli': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/postcss': 0.58.9(postcss@8.4.47) + '@unocss/preset-attributify': 0.58.9 + '@unocss/preset-icons': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/preset-tagify': 0.58.9 + '@unocss/preset-typography': 0.58.9 + '@unocss/preset-uno': 0.58.9 + '@unocss/preset-web-fonts': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/transformer-attributify-jsx': 0.58.9 + '@unocss/transformer-attributify-jsx-babel': 0.58.9 + '@unocss/transformer-compile-class': 0.58.9 + '@unocss/transformer-directives': 0.58.9 + '@unocss/transformer-variant-group': 0.58.9 + '@unocss/vite': 0.58.9(vite@5.2.8) + vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + dev: true + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /unplugin-attributify-to-class@0.2.5: + resolution: {integrity: sha512-0lTUi01mI19PmTTX4420QO6gJFic1wK4LqNnHeBNDrthQEKI0xw/lYg0bGnWYgPmyqXz88hAdLG+ibaypibXqg==} + dependencies: + '@rollup/pluginutils': 5.1.3 + unplugin: 1.15.0 + unplugin-transform-class: 0.5.3 + transitivePeerDependencies: + - rollup + - webpack-sources + dev: true + + /unplugin-auto-import@0.16.7: + resolution: {integrity: sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.1.3 + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.12 + minimatch: 9.0.5 + unimport: 3.13.1 + unplugin: 1.15.0 + transitivePeerDependencies: + - rollup + - webpack-sources + + /unplugin-transform-class@0.5.3: + resolution: {integrity: sha512-4xBvfoeBDqlqi9aD0Hv3TTs8JpRs2h9l8LBMXIRXFNTf8biRk6hAQir+zEM/GpBKoMzvt7JqqbMIYzMazQZysQ==} + dependencies: + '@meoc/utils': 0.2.8 + '@rollup/pluginutils': 5.1.3 + unplugin: 1.7.1 + transitivePeerDependencies: + - rollup + dev: true + + /unplugin@1.15.0: + resolution: {integrity: sha512-jTPIs63W+DUEDW207ztbaoO7cQ4p5aVaB823LSlxpsFEU3Mykwxf3ZGC/wzxFJeZlASZYgVrWeo7LgOrqJZ8RA==} + engines: {node: '>=14.0.0'} + peerDependencies: + webpack-sources: ^3 + peerDependenciesMeta: + webpack-sources: + optional: true + dependencies: + acorn: 8.14.0 + webpack-virtual-modules: 0.6.2 + + /unplugin@1.7.1: + resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} + dependencies: + acorn: 8.14.0 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.2 + dev: true + + /unquote@1.1.1: + resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} + dev: false + + /update-browserslist-db@1.1.1(browserslist@4.24.2): + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /utif@2.0.1: + resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==} + dependencies: + pako: 1.0.11 + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true + + /v8-to-istanbul@8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 1.9.0 + source-map: 0.7.4 + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /vite@5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0): + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.19.64 + esbuild: 0.20.2 + postcss: 8.4.47 + rollup: 4.24.4 + sass: 1.71.1 + terser: 5.36.0 + optionalDependencies: + fsevents: 2.3.3 + + /vue-demi@0.14.10(vue@3.5.12): + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.5.12(typescript@4.9.5) + dev: false + + /vue-i18n@9.14.1(vue@3.5.12): + resolution: {integrity: sha512-xjxV0LYc1xQ8TbAVfIyZiOSS8qoU1R0YwV7V5I8I6Fd64+zvsTsdPgtylPsie3Vdt9wekeYhr+smKDeaK6RBuA==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@intlify/core-base': 9.14.1 + '@intlify/shared': 9.14.1 + '@vue/devtools-api': 6.6.4 + vue: 3.5.12(typescript@4.9.5) + dev: false + + /vue-router@4.4.5(vue@3.5.12): + resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.12(typescript@4.9.5) + dev: false + + /vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.8.27(typescript@4.9.5): + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@4.9.5) + semver: 7.6.3 + typescript: 4.9.5 + dev: true + + /vue@3.5.12(typescript@4.9.5): + resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-sfc': 3.5.12 + '@vue/runtime-dom': 3.5.12 + '@vue/server-renderer': 3.5.12(vue@3.5.12) + '@vue/shared': 3.5.12 + typescript: 4.9.5 + + /w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + dependencies: + browser-process-hrtime: 1.0.0 + dev: true + + /w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + dependencies: + xml-name-validator: 3.0.0 + dev: true + + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: true + + /webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + dev: true + + /webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + dev: true + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + /webpack@5.96.1: + resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.14.0 + browserslist: 4.24.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(webpack@5.96.1) + watchpack: 2.4.2 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + dependencies: + iconv-lite: 0.4.24 + dev: true + + /whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + dev: true + + /whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + /xhr@2.6.0: + resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==} + dependencies: + global: 4.4.0 + is-function: 1.0.2 + parse-headers: 2.0.5 + xtend: 4.0.2 + dev: false + + /xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + dev: true + + /xml-parse-from-string@1.0.1: + resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==} + dev: false + + /xml2js@0.5.0: + resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} + engines: {node: '>=4.0.0'} + dependencies: + sax: 1.4.1 + xmlbuilder: 11.0.1 + dev: false + + /xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + dev: false + + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + + /xmlhttprequest@1.8.0: + resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==} + engines: {node: '>=0.4.0'} + dev: false + + /xregexp@3.1.0: + resolution: {integrity: sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: false + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + + /z-paging@2.8.0: + resolution: {integrity: sha512-RogzPiqg621c6E/0S1fMXCwwEOcunH6h1yO9WWF6OB68v6dq89EedfSQBABa9S7KYlTHvxfaPq3M8uUjvEDKGw==} + engines: {HBuilderX: ^3.0.7} + dev: false diff --git a/shims-uni.d.ts b/shims-uni.d.ts new file mode 100644 index 0000000..ed4adcf --- /dev/null +++ b/shims-uni.d.ts @@ -0,0 +1,10 @@ +/// +import 'vue' + +declare module '@vue/runtime-core' { + type Hooks = App.AppInstance & Page.PageInstance; + + interface ComponentCustomOptions extends Hooks { + + } +} diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..1370b98 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,18 @@ + + + + diff --git a/src/components.d.ts b/src/components.d.ts new file mode 100644 index 0000000..aec2bbb --- /dev/null +++ b/src/components.d.ts @@ -0,0 +1,42 @@ +/* eslint-disable */ +// @ts-nocheck +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +export {} + +/* prettier-ignore */ +declare module 'vue' { + export interface GlobalComponents { + PickerItem: typeof import('./src/uni_modules/tm-ui/components/tm-picker-view/picker-item.vue')['default'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + TmAlert: typeof import('./src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue')['default'] + TmBadge: typeof import('./src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue')['default'] + TmBetweenTime: typeof import('./src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue')['default'] + TmButton: typeof import('./src/uni_modules/tm-ui/components/tm-button/tm-button.vue')['default'] + TmCell: typeof import('./src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue')['default'] + TmCheckbox: typeof import('./src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue')['default'] + TmCheckboxGroup: typeof import('./src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue')['default'] + TmCol: typeof import('./src/uni_modules/tm-ui/components/tm-col/tm-col.vue')['default'] + TmCollapse: typeof import('./src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue')['default'] + TmCollapseItem: typeof import('./src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue')['default'] + TmDateView: typeof import('./src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue')['default'] + TmDrawer: typeof import('./src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue')['default'] + TmIcon: typeof import('./src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue')['default'] + TmImage: typeof import('./src/uni_modules/tm-ui/components/tm-image/tm-image.vue')['default'] + TmInput: typeof import('./src/uni_modules/tm-ui/components/tm-input/tm-input.vue')['default'] + TmModal: typeof import('./src/uni_modules/tm-ui/components/tm-modal/tm-modal.vue')['default'] + TmPicker: typeof import('./src/uni_modules/tm-ui/components/tm-picker/tm-picker.vue')['default'] + TmPickerDate: typeof import('./src/uni_modules/tm-ui/components/tm-picker-date/tm-picker-date.vue')['default'] + TmPickerView: typeof import('./src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue')['default'] + TmRadio: typeof import('./src/uni_modules/tm-ui/components/tm-radio/tm-radio.vue')['default'] + TmRadioGroup: typeof import('./src/uni_modules/tm-ui/components/tm-radio-group/tm-radio-group.vue')['default'] + TmRow: typeof import('./src/uni_modules/tm-ui/components/tm-row/tm-row.vue')['default'] + TmSheet: typeof import('./src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue')['default'] + TmSwitch: typeof import('./src/uni_modules/tm-ui/components/tm-switch/tm-switch.vue')['default'] + TmTabs: typeof import('./src/uni_modules/tm-ui/components/tm-tabs/tm-tabs.vue')['default'] + TmTabsItem: typeof import('./src/uni_modules/tm-ui/components/tm-tabs-item/tm-tabs-item.vue')['default'] + TmTag: typeof import('./src/uni_modules/tm-ui/components/tm-tag/tm-tag.vue')['default'] + TmText: typeof import('./src/uni_modules/tm-ui/components/tm-text/tm-text.vue')['default'] + } +} diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..d27eb5a --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,8 @@ +/// + +declare module '*.vue' { + import { DefineComponent } from 'vue' + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..9411dd1 --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1,3 @@ +declare const __TABBAR__: Array; +declare const __ROUTES__: Array; +declare const __APP_SERVICE__: string; diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..1de055c --- /dev/null +++ b/src/main.ts @@ -0,0 +1,18 @@ +import { createSSRApp } from "vue"; +import "uno.css"; +import * as Pinia from "pinia"; + +import App from "./App.vue"; +import tmUi from "./uni_modules/tm-ui"; + +export function createApp() { + const app = createSSRApp(App); + + app.use(Pinia.createPinia()); + app.use(tmUi); + + return { + app, + Pinia, + }; +} diff --git a/src/manifest.json b/src/manifest.json new file mode 100644 index 0000000..309b9ec --- /dev/null +++ b/src/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "", + "appid" : "", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios" : {}, + /* SDK配置 */ + "sdkConfigs" : {} + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics": { + "enable": false + }, + "vueVersion" : "3" +} diff --git a/src/pages.json b/src/pages.json new file mode 100644 index 0000000..68e8ab9 --- /dev/null +++ b/src/pages.json @@ -0,0 +1,152 @@ +{ + "easycom": { + "autoscan": true, + "custom": { + "^base-(.*)": "@/sheep/components/base/base-$1/base-$1.vue", + "^crud-(.*)": "@/sheep/components/crud/crud-$1/crud-$1.vue", + "^tm-(.*)": "@/uni_modules/tm-ui/components/tm-$1/tm-$1.vue", + "^(?!z-paging-refresh|z-paging-load-more)z-paging(.*)": "z-paging/components/z-paging$1/z-paging$1.vue" + } + }, + "pages": [ + { + "path": "pages/tabbar/home", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + }, + { + "path": "pages/tabbar/food", + "style": { + "navigationBarTitleText": "菜谱", + "disableScroll": true + } + }, + { + "path": "pages/tabbar/order", + "style": { + "navigationBarTitleText": "订单", + "disableScroll": true + } + }, + { + "path": "pages/tabbar/my", + "style": { + "navigationBarTitleText": "我的", + "disableScroll": true + } + } + ], + "subPackages": [ + { + "root": "pages/order", + "pages": [] + }, + { + "root": "pages/shop", + "pages": [] + }, + { + "root": "pages/apply", + "pages": [ + { + "path": "foreign-apply", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + }, + { + "path": "foreign-list", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + }, + { + "path": "foreign-items", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + }, + { + "path": "stride-apply", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + }, + { + "path": "stride-list", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + } + ] + }, + { + "root": "pages/wallet", + "pages": [ + { + "path": "list", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + }, + { + "path": "detail", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + }, + { + "path": "recharge", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + } + ] + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "浦江小程序", + "navigationBarBackgroundColor": "#1777FF", + "backgroundColor": "#ecf4f9", + "navigationStyle": "custom" + }, + "tabBar": { + "list": [ + { + "pagePath": "pages/tabbar/home", + "text": "首页", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-select.png" + }, + { + "pagePath": "pages/tabbar/food", + "text": "菜谱", + "iconPath": "static/tabbar/food.png", + "selectedIconPath": "static/tabbar/food-select.png" + }, + { + "pagePath": "pages/tabbar/order", + "text": "订单", + "iconPath": "static/tabbar/order.png", + "selectedIconPath": "static/tabbar/order-select.png" + }, + { + "pagePath": "pages/tabbar/my", + "text": "我的", + "iconPath": "static/tabbar/my.png", + "selectedIconPath": "static/tabbar/my-select.png" + } + ] + } +} \ No newline at end of file diff --git a/src/pages/apply/foreign-apply.vue b/src/pages/apply/foreign-apply.vue new file mode 100644 index 0000000..e7ace46 --- /dev/null +++ b/src/pages/apply/foreign-apply.vue @@ -0,0 +1,102 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/apply/foreign-items.vue b/src/pages/apply/foreign-items.vue new file mode 100644 index 0000000..3f4d4bf --- /dev/null +++ b/src/pages/apply/foreign-items.vue @@ -0,0 +1,72 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/apply/foreign-list.vue b/src/pages/apply/foreign-list.vue new file mode 100644 index 0000000..ba0ac07 --- /dev/null +++ b/src/pages/apply/foreign-list.vue @@ -0,0 +1,97 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/apply/stride-apply.vue b/src/pages/apply/stride-apply.vue new file mode 100644 index 0000000..2065365 --- /dev/null +++ b/src/pages/apply/stride-apply.vue @@ -0,0 +1,69 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/apply/stride-list.vue b/src/pages/apply/stride-list.vue new file mode 100644 index 0000000..f6043ff --- /dev/null +++ b/src/pages/apply/stride-list.vue @@ -0,0 +1,71 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/tabbar/food.vue b/src/pages/tabbar/food.vue new file mode 100644 index 0000000..551dd57 --- /dev/null +++ b/src/pages/tabbar/food.vue @@ -0,0 +1,41 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/tabbar/home.vue b/src/pages/tabbar/home.vue new file mode 100644 index 0000000..551dd57 --- /dev/null +++ b/src/pages/tabbar/home.vue @@ -0,0 +1,41 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/tabbar/my.vue b/src/pages/tabbar/my.vue new file mode 100644 index 0000000..0ddea3e --- /dev/null +++ b/src/pages/tabbar/my.vue @@ -0,0 +1,122 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/tabbar/order.vue b/src/pages/tabbar/order.vue new file mode 100644 index 0000000..551dd57 --- /dev/null +++ b/src/pages/tabbar/order.vue @@ -0,0 +1,41 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/wallet/detail.vue b/src/pages/wallet/detail.vue new file mode 100644 index 0000000..5989608 --- /dev/null +++ b/src/pages/wallet/detail.vue @@ -0,0 +1,80 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/wallet/list.vue b/src/pages/wallet/list.vue new file mode 100644 index 0000000..cc36050 --- /dev/null +++ b/src/pages/wallet/list.vue @@ -0,0 +1,164 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/wallet/recharge.vue b/src/pages/wallet/recharge.vue new file mode 100644 index 0000000..6b507ae --- /dev/null +++ b/src/pages/wallet/recharge.vue @@ -0,0 +1,172 @@ + + + + + + \ No newline at end of file diff --git a/src/sheep/api/apply.ts b/src/sheep/api/apply.ts new file mode 100644 index 0000000..7968551 --- /dev/null +++ b/src/sheep/api/apply.ts @@ -0,0 +1,49 @@ +import request from "@/sheep/utils/request"; + +export default { + foreignList: (params: any) => + request({ + url: "pay/foreign-ticket/get-all", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), + foreignItems: (params: any) => + request({ + url: "pay/foreign-ticket/get-items", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), + foreignApply: (data: any) => + request({ + url: "pay/foreign-ticket/apply", + method: "POST", + data, + custom: { + showLoading: false, + }, + }), + strideList: (params: any) => + request({ + url: "pay/stride-dept/get-all", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), + strideApply: (data: any) => + request({ + url: "pay/stride-dept/apply", + method: "POST", + data, + custom: { + showLoading: false, + }, + }), +}; diff --git a/src/sheep/api/common.ts b/src/sheep/api/common.ts new file mode 100644 index 0000000..8c60b54 --- /dev/null +++ b/src/sheep/api/common.ts @@ -0,0 +1,3 @@ +import request from "@/sheep/utils/request"; + +export default {}; diff --git a/src/sheep/api/food.ts b/src/sheep/api/food.ts new file mode 100644 index 0000000..8c60b54 --- /dev/null +++ b/src/sheep/api/food.ts @@ -0,0 +1,3 @@ +import request from "@/sheep/utils/request"; + +export default {}; diff --git a/src/sheep/api/index.ts b/src/sheep/api/index.ts new file mode 100644 index 0000000..a36c3e0 --- /dev/null +++ b/src/sheep/api/index.ts @@ -0,0 +1,17 @@ +export { default as applyApi } from "./apply"; + +export { default as commonApi } from "./common"; + +export { default as foodApi } from "./food"; + +export { default as merchantApi } from "./merchant"; + +export { default as orderApi } from "./order"; + +export { default as payApi } from "./pay"; + +export { default as productApi } from "./product"; + +export { default as userApi } from "./user"; + +export { default as walletApi } from "./wallet"; diff --git a/src/sheep/api/merchant.ts b/src/sheep/api/merchant.ts new file mode 100644 index 0000000..23275d2 --- /dev/null +++ b/src/sheep/api/merchant.ts @@ -0,0 +1,12 @@ +import request from "@/sheep/utils/request"; + +export default { + merchantList: () => + request({ + url: "/merchant/manage/page-join", + method: "GET", + custom: { + showLoading: false, + }, + }), +}; diff --git a/src/sheep/api/order.ts b/src/sheep/api/order.ts new file mode 100644 index 0000000..8c60b54 --- /dev/null +++ b/src/sheep/api/order.ts @@ -0,0 +1,3 @@ +import request from "@/sheep/utils/request"; + +export default {}; diff --git a/src/sheep/api/pay.ts b/src/sheep/api/pay.ts new file mode 100644 index 0000000..eb08162 --- /dev/null +++ b/src/sheep/api/pay.ts @@ -0,0 +1,20 @@ +import request from "@/sheep/utils/request"; + +export default { + // 获得支付订单 + getOrder: (id, sync) => { + return request({ + url: "/pay/order/get", + method: "GET", + params: { id, sync }, + }); + }, + // 提交支付订单 + submitOrder: (data) => { + return request({ + url: "/pay/order/submit", + method: "POST", + data, + }); + }, +}; diff --git a/src/sheep/api/product.ts b/src/sheep/api/product.ts new file mode 100644 index 0000000..8c60b54 --- /dev/null +++ b/src/sheep/api/product.ts @@ -0,0 +1,3 @@ +import request from "@/sheep/utils/request"; + +export default {}; diff --git a/src/sheep/api/user.ts b/src/sheep/api/user.ts new file mode 100644 index 0000000..2c80c17 --- /dev/null +++ b/src/sheep/api/user.ts @@ -0,0 +1,33 @@ +import request from "@/sheep/utils/request"; + +export default { + userInfo: () => + request({ + url: "/sys/user/get", + method: "GET", + custom: { + showLoading: false, + loadingMsg: "登录中", + }, + }), + + auth: (str: any) => + request({ + url: `/sys/auth/zzdsso/${str}`, + method: "GET", + custom: { + showLoading: false, + loadingMsg: "授权中", + }, + }), + + refreshToken: (params: any) => + request({ + url: `/sys/auth/refresh-token`, + method: "POST", + params, + custom: { + showLoading: false, + }, + }), +}; diff --git a/src/sheep/api/wallet.ts b/src/sheep/api/wallet.ts new file mode 100644 index 0000000..10bcb03 --- /dev/null +++ b/src/sheep/api/wallet.ts @@ -0,0 +1,84 @@ +import request from "@/sheep/utils/request"; + +export default { + all: () => + request({ + url: "pay/wallet/get-all", + method: "GET", + custom: { + showLoading: false, + }, + }), + detail: (params: any) => + request({ + url: "pay/wallet/detail", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), + bind: (data: any) => + request({ + url: "pay/wallet/bind-card", + method: "POST", + data, + custom: { + showLoading: false, + }, + }), + freeze: (data: any) => + request({ + url: "pay/wallet/apply-freeze", + method: "POST", + data, + custom: { + showLoading: false, + }, + }), + balanceDetail: (params: any) => + request({ + url: "pay/wallet/get-id", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), + transaction: (params: any) => + request({ + url: "pay/wallet-transaction/page-by-id", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), + summary: (params: any) => + request({ + url: "pay/wallet-transaction/get-summary-by-id", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), + rechargeList: (params: any) => + request({ + url: "pay/wallet-recharge-package/list", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), + recharge: (data: any) => + request({ + url: "pay/wallet-recharge/create", + method: "POST", + data, + custom: { + showLoading: false, + }, + }), +}; diff --git a/src/sheep/components/base/base-just-flot-nav/base-just-flot-nav.vue b/src/sheep/components/base/base-just-flot-nav/base-just-flot-nav.vue new file mode 100644 index 0000000..eb3b346 --- /dev/null +++ b/src/sheep/components/base/base-just-flot-nav/base-just-flot-nav.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/sheep/components/base/base-nav/base-nav.vue b/src/sheep/components/base/base-nav/base-nav.vue new file mode 100644 index 0000000..31d2a28 --- /dev/null +++ b/src/sheep/components/base/base-nav/base-nav.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/sheep/components/base/base-safe-height/base-safe-height.vue b/src/sheep/components/base/base-safe-height/base-safe-height.vue new file mode 100644 index 0000000..1f48f7a --- /dev/null +++ b/src/sheep/components/base/base-safe-height/base-safe-height.vue @@ -0,0 +1,31 @@ + + + + + \ No newline at end of file diff --git a/src/sheep/components/crud/crud-layout/crud-layout.vue b/src/sheep/components/crud/crud-layout/crud-layout.vue new file mode 100644 index 0000000..d7ec867 --- /dev/null +++ b/src/sheep/components/crud/crud-layout/crud-layout.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/sheep/components/other/z-tabs/config/index.js b/src/sheep/components/other/z-tabs/config/index.js new file mode 100644 index 0000000..9fbc9fb --- /dev/null +++ b/src/sheep/components/other/z-tabs/config/index.js @@ -0,0 +1,6 @@ +// z-tabs全局配置文件,注意避免更新时此文件被覆盖,若被覆盖,可在此文件中右键->点击本地历史记录,找回覆盖前的配置 +export default { + 'bg-color': 'transparent', + 'active-color': '#1777FF', + 'inactive-color': '#999999' +} \ No newline at end of file diff --git a/src/sheep/components/other/z-tabs/z-tabs.vue b/src/sheep/components/other/z-tabs/z-tabs.vue new file mode 100644 index 0000000..a18a479 --- /dev/null +++ b/src/sheep/components/other/z-tabs/z-tabs.vue @@ -0,0 +1,736 @@ + + + + + + + + + + + diff --git a/src/sheep/constant/img-constant.ts b/src/sheep/constant/img-constant.ts new file mode 100644 index 0000000..2d52e58 --- /dev/null +++ b/src/sheep/constant/img-constant.ts @@ -0,0 +1,3 @@ +export default { + logo: "/static/constant/logo.png" +} \ No newline at end of file diff --git a/src/sheep/constant/index.ts b/src/sheep/constant/index.ts new file mode 100644 index 0000000..a80bc11 --- /dev/null +++ b/src/sheep/constant/index.ts @@ -0,0 +1,3 @@ +export { default as imgConstant } from "./img-constant"; + +export { default as storageConstant } from "./storage-constant"; diff --git a/src/sheep/constant/storage-constant.ts b/src/sheep/constant/storage-constant.ts new file mode 100644 index 0000000..b802b87 --- /dev/null +++ b/src/sheep/constant/storage-constant.ts @@ -0,0 +1,4 @@ +export default { + TOKEN: "token", + USERINFO: "user_info", +}; diff --git a/src/sheep/hooks/index.ts b/src/sheep/hooks/index.ts new file mode 100644 index 0000000..0070364 --- /dev/null +++ b/src/sheep/hooks/index.ts @@ -0,0 +1,3 @@ +export * from "./use-page"; + +export * from "./use-unit"; diff --git a/src/sheep/hooks/use-page.ts b/src/sheep/hooks/use-page.ts new file mode 100644 index 0000000..80effdc --- /dev/null +++ b/src/sheep/hooks/use-page.ts @@ -0,0 +1,78 @@ +import { reactive, onMounted } from "vue"; + +export const usePage = ( + ref: any = null, + fn: Function | null = null, + sticky = null, + struct = "data" +) => { + const state = reactive({ + loading: true, + list: [], + headerHeight: 0, + scrollable: true, + }); + const scroll = (e: any) => { + const scrollTop = e.detail.scrollTop; + if (scrollTop < state.headerHeight) { + state.scrollable = true; + } else { + state.scrollable = false; + } + }; + onMounted(() => { + if (sticky != null) { + const query = uni.createSelectorQuery(); + query + .select(sticky) + .boundingClientRect((data) => { + state.headerHeight = (data as any).height; + }) + .exec(); + } + }); + const setPage = async (list: Array) => { + if (ref == null) return; + state.list.totalList = await ref.value.complete(list); + console.log(state.list, "list"); + }; + const startPage = async ( + page: number, + pagesize: number, + isPage = false, + query = {} + ) => { + if (!fn || typeof fn !== "function") { + console.warn("startPage 方法请传入 pageFunc 参数 模拟5条假数据"); + state.list = Array.from(new Array(5)); + setPage(state.list); + state.startPage = startPage; + state.scroll = scroll; + return state; + } + const _data = { + pageNo: page, + pagesize: pagesize, + ...query, + }; + try { + const res = await fn(_data); + let _arr = res; + for (let key of struct.split(".")) { + _arr = _arr[key]; + } + setPage(_arr); + } catch (e) { + console.log(e); + } + setTimeout((_) => { + if (state.loading == true) { + state.loading = false; + } + }, 500); + }; + + state.startPage = startPage; + state.scroll = scroll; + return state; +}; diff --git a/src/sheep/hooks/use-unit.ts b/src/sheep/hooks/use-unit.ts new file mode 100644 index 0000000..3f67726 --- /dev/null +++ b/src/sheep/hooks/use-unit.ts @@ -0,0 +1,49 @@ +export const useMoney = (num) => { + if (typeof num === "undefined") return "0.00"; + const parsedNumber = typeof num === "string" ? parseFloat(num) : num; + return (parsedNumber / 100.0).toFixed(1); +}; + +export function useTime(time, pattern) { + if (arguments.length === 0 || !time) { + return null; + } + const format = pattern || "{y}-{m}-{d} {h}:{i}:{s}"; + let date; + if (typeof time === "object") { + date = time; + } else { + if (typeof time === "string" && /^[0-9]+$/.test(time)) { + time = parseInt(time); + } else if (typeof time === "string") { + time = time + .replace(new RegExp(/-/gm), "/") + .replace("T", " ") + .replace(new RegExp(/\.[\d]{3}/gm), ""); + } + if (typeof time === "number" && time.toString().length === 10) { + time = time * 1000; + } + date = new Date(time); + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay(), + }; + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key]; + if (key === "a") { + return ["日", "一", "二", "三", "四", "五", "六"][value]; + } + if (result.length > 0 && value < 10) { + value = "0" + value; + } + return value || 0; + }); + return time_str; +} diff --git a/src/sheep/index.ts b/src/sheep/index.ts new file mode 100644 index 0000000..0206c58 --- /dev/null +++ b/src/sheep/index.ts @@ -0,0 +1,7 @@ +export * from "./plugs/index"; + +export * as router from "./router"; + +export * as constant from "./constant"; + +export * as hooks from "./hooks"; diff --git a/src/sheep/plugs/index.ts b/src/sheep/plugs/index.ts new file mode 100644 index 0000000..eadff34 --- /dev/null +++ b/src/sheep/plugs/index.ts @@ -0,0 +1 @@ +export {useRouter} from "./use-router/vite-router-plug" \ No newline at end of file diff --git a/src/sheep/plugs/use-router/strip-json-comments.ts b/src/sheep/plugs/use-router/strip-json-comments.ts new file mode 100644 index 0000000..4a999c1 --- /dev/null +++ b/src/sheep/plugs/use-router/strip-json-comments.ts @@ -0,0 +1,78 @@ +const singleComment = Symbol('singleComment'); +const multiComment = Symbol('multiComment'); + +const stripWithoutWhitespace = () => ''; +const stripWithWhitespace = (string: any, start: any = "", end: any) => string.slice(start, end).replace(/\S/g, ' '); + +const isEscaped = (jsonString: any, quotePosition: any) => { + let index = quotePosition - 1; + let backslashCount = 0; + + while (jsonString[index] === '\\') { + index -= 1; + backslashCount += 1; + } + + return Boolean(backslashCount % 2); +}; + +export default function stripJsonComments(jsonString: any, { whitespace = true } = {}) { + if (typeof jsonString !== 'string') { + throw new TypeError( + `Expected argument \`jsonString\` to be a \`string\`, got \`${typeof jsonString}\``, + ); + } + + const strip = whitespace ? stripWithWhitespace : stripWithoutWhitespace; + + let isInsideString = false; + let isInsideComment: any = false; + let offset = 0; + let result = ''; + + for (let index = 0; index < jsonString.length; index++) { + const currentCharacter = jsonString[index]; + const nextCharacter = jsonString[index + 1]; + + if (!isInsideComment && currentCharacter === '"') { + const escaped = isEscaped(jsonString, index); + if (!escaped) { + isInsideString = !isInsideString; + } + } + + if (isInsideString) { + continue; + } + + if (!isInsideComment && currentCharacter + nextCharacter === '//') { + result += jsonString.slice(offset, index); + offset = index; + isInsideComment = singleComment; + index++; + } else if (isInsideComment === singleComment && currentCharacter + nextCharacter === '\r\n') { + index++; + isInsideComment = false; + result += strip(jsonString, offset, index); + offset = index; + continue; + } else if (isInsideComment === singleComment && currentCharacter === '\n') { + isInsideComment = false; + result += strip(jsonString, offset, index); + offset = index; + } else if (!isInsideComment && currentCharacter + nextCharacter === '/*') { + result += jsonString.slice(offset, index); + offset = index; + isInsideComment = multiComment; + index++; + continue; + } else if (isInsideComment === multiComment && currentCharacter + nextCharacter === '*/') { + index++; + isInsideComment = false; + result += strip(jsonString, offset, index + 1); + offset = index + 1; + continue; + } + } + return result + (isInsideComment ? (strip as any)(jsonString.slice(offset)) : jsonString.slice(offset)); +} diff --git a/src/sheep/plugs/use-router/vite-router-plug.ts b/src/sheep/plugs/use-router/vite-router-plug.ts new file mode 100644 index 0000000..ad0935e --- /dev/null +++ b/src/sheep/plugs/use-router/vite-router-plug.ts @@ -0,0 +1,99 @@ +import fs from 'fs'; +import stripJsonComments from './strip-json-comments'; + +class TransformPages { + routes: any = [] + tabbar: any = [] + includes = [] + uniPagesJSON: any = "" + + constructor({ + includes, + pagesJsonDir + }: any) { + this.includes = includes; + this.uniPagesJSON = JSON.parse(stripJsonComments(fs.readFileSync(pagesJsonDir, 'utf-8'))) + this.routes = this.getPagesRoutes().concat(this.getSubPackagesRoutes()) + this.tabbar = this.getTabbarRoutes() + } + + getPagesRoutes(pages = this.uniPagesJSON.pages, rootPath = null) { + let routes = []; + for (let i = 0; i < pages.length; i++) { + const item = pages[i]; + let route: any = {}; + for (let j = 0; j < this.includes.length; j++) { + const key = this.includes[j]; + let value = item[key]; + if (key === 'path') { + value = rootPath ? `/${rootPath}/${value}` : `/${value}`; + } + if (key === 'aliasPath' && i == 0 && rootPath == null) { + route[key] = route[key] || '/'; + } else if (value !== undefined) { + route[key] = value; + } + } + routes.push(route); + } + return routes; + } + + getSubPackagesRoutes() { + if (!(this.uniPagesJSON && this.uniPagesJSON.subPackages)) { + return []; + } + const subPackages = this.uniPagesJSON.subPackages; + let routes: any = []; + for (let i = 0; i < subPackages.length; i++) { + const subPages = subPackages[i].pages; + const root = subPackages[i].root; + const subRoutes = this.getPagesRoutes(subPages, root); + routes = routes.concat(subRoutes); + } + return routes; + } + + getTabbarRoutes() { + if (!(this.uniPagesJSON && this.uniPagesJSON.tabBar && this.uniPagesJSON.tabBar.list)) { + return []; + } + const tabbar = this.uniPagesJSON.tabBar.list; + let tabbarMap: any = []; + tabbar.forEach((bar: { pagePath: string; }) => { + tabbarMap.push('/' + bar.pagePath); + }); + return tabbarMap; + } + +} + + +export const useRouter = ({ + pagesJsonDir, + includes = [] +}: any) => { + let defaultIncludes = ['path', 'aliasPath', 'name']; + includes = [...defaultIncludes, ...includes]; + let pages = new TransformPages({ + pagesJsonDir, + includes, + }); + if (pages.tabbar && pages.tabbar.length) { + console.table(pages.tabbar); + } + if (pages.routes && pages.routes.length) { + console.table(pages.routes); + } + return { + name: 'use-router', + config() { + return { + define: { + __ROUTES__: JSON.stringify(pages.routes), + __TABBAR__: `(${JSON.stringify(pages.tabbar)})` + } + } + } + } +} diff --git a/src/sheep/router/index.ts b/src/sheep/router/index.ts new file mode 100644 index 0000000..d44cd9e --- /dev/null +++ b/src/sheep/router/index.ts @@ -0,0 +1,82 @@ +import { throttle } from "radash"; + +function paramsToQuery(params: { [key: string]: string }) { + let query = []; + for (let key in params) { + query.push(key + "=" + params[key]); + } + return query.join("&"); +} + +// 路由跳转 +function _jump(path = "", params = {}, type = 1) { + if (!path) { + console.error("router::jump>>path 不能为空"); + } + if (hasTabbar(path)) { + uni.switchTab({ url: path }); + return; + } + let url: string = ""; + if (Object.keys(params)) { + url = `${path}?${paramsToQuery(params)}`; + } + if (type == 1) { + uni.navigateTo({ url: url }); + return; + } + if (type == 2) { + uni.redirectTo({ url: url }); + return; + } + if (type == 3) { + uni.reLaunch({ url: url }); + return; + } +} + +// 路由返回 +function _back(page = 1) { + if (hasHistory()) { + uni.navigateBack({ + delta: page, + }); + } else { + _jump(__TABBAR__[0], {}); + } +} + +export function jump(...args: any) { + throttle({ interval: 500 }, () => _jump(...args))(); +} + +export function back(...args: any) { + throttle({ interval: 500 }, () => _back(...args))(); +} + +export function hasHistory() { + const pages = getCurrentPages(); + if (pages.length > 1) { + return true; + } + return false; +} + +export function getCurrentPage() { + const pages = getCurrentPages(); + return pages[pages.length - 1]; +} + +export function hasTabbar(str: string = "") { + if (!str) { + const { route } = getCurrentPage(); + if (route) { + str = `/${route}`; + } + } + if (Array.isArray(__TABBAR__) && __TABBAR__.indexOf(str) !== -1) { + return true; + } else { + return false; + } +} diff --git a/src/sheep/scss/font/iconfont.scss b/src/sheep/scss/font/iconfont.scss new file mode 100644 index 0000000..cdd5fac --- /dev/null +++ b/src/sheep/scss/font/iconfont.scss @@ -0,0 +1,31 @@ +@font-face { + font-family: "iconfont"; + /* Project id 4740692 */ + src: url('//at.alicdn.com/t/c/font_4740692_ozdkialdak.woff2?t=1731275285379') format('woff2'), + url('//at.alicdn.com/t/c/font_4740692_ozdkialdak.woff?t=1731275285379') format('woff'), + url('//at.alicdn.com/t/c/font_4740692_ozdkialdak.ttf?t=1731275285379') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-xiangxiajiantouxiao:before { + content: "\e64e"; +} + +.icon-jiebang:before { + content: "\ee1e"; +} + +.icon-bangding:before { + content: "\ee1f"; +} + +.icon-youjiantou:before { + content: "\e928"; +} \ No newline at end of file diff --git a/src/sheep/scss/font/sheepicon.scss b/src/sheep/scss/font/sheepicon.scss new file mode 100644 index 0000000..6ba63ee --- /dev/null +++ b/src/sheep/scss/font/sheepicon.scss @@ -0,0 +1,17 @@ +@font-face { + font-family: 'sheepicon'; + src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'); +} + +[class*='sicon-'] { + font-family: 'sheepicon'; + display: inline-block; +} + +.sicon-back:before { + content: '\e706'; +} + +.sicon-home:before { + content: '\e70c'; +} \ No newline at end of file diff --git a/src/sheep/scss/global.scss b/src/sheep/scss/global.scss new file mode 100644 index 0000000..ba3ee17 --- /dev/null +++ b/src/sheep/scss/global.scss @@ -0,0 +1,35 @@ +@import "font/sheepicon"; +@import "font/iconfont"; + +view, +text, +scroll-view { + box-sizing: border-box; +} + + +view, +text { + line-height: 1.4em; +} + +navigator { + display: inline-flex; +} + +page { + // 解决ios滑动不流畅 + -webkit-overflow-scrolling: touch; + height: 100%; + width: 100%; + //英文文本不换行 + word-break: break-all; + white-space: normal; +} + +::-webkit-scrollbar { + width: 0; + height: 0; + color: transparent; + display: none; +} \ No newline at end of file diff --git a/src/sheep/utils/index.ts b/src/sheep/utils/index.ts new file mode 100644 index 0000000..bc2da4b --- /dev/null +++ b/src/sheep/utils/index.ts @@ -0,0 +1 @@ +export * from './request' \ No newline at end of file diff --git a/src/sheep/utils/request.ts b/src/sheep/utils/request.ts new file mode 100644 index 0000000..5f3f17a --- /dev/null +++ b/src/sheep/utils/request.ts @@ -0,0 +1,158 @@ +import Request from "luch-request"; +import { isEmpty } from "radash"; + +import { userApi } from "@@/api"; +import { router, constant } from "@@/index"; + +const options = { + // 显示操作成功消息 默认不显示 + showSuccess: false, + // 成功提醒 默认使用后端返回值 + successMsg: "", + // 显示失败消息 默认显示 + showError: true, + // 失败提醒 默认使用后端返回信息 + errorMsg: "", + // 显示请求时loading模态框 默认显示 + showLoading: true, + // loading提醒文字 + loadingMsg: "加载中", + // 需要授权才能请求 默认放开 + auth: false, +}; + +let LoadingInstance = { + target: null, + count: 0, +}; + +function closeLoading() { + if (LoadingInstance.count > 0) LoadingInstance.count--; + if (LoadingInstance.count === 0) uni.hideLoading(); +} +const http = new Request({ + baseURL: __APP_SERVICE__, + timeout: 8000, + method: "GET", + header: { + Accept: "*/*", + "Content-Type": "application/json;charset=UTF-8", + Authorization: "", + "tenant-id": "", + }, + withCredentials: true, + custom: options, +}); + +http.interceptors.request.use( + (config) => { + const tokenKey = constant.storageConstant.TOKEN; + const tokenStorage = uni.getStorageSync(tokenKey); + const config_header: any = config?.header; + config_header["tenant-id"] = "1"; + if (tokenStorage && tokenStorage.accessToken && config_header) { + config_header.Authorization = tokenStorage.accessToken; + } + if (config.custom && config.custom.showLoading) { + LoadingInstance.count++; + LoadingInstance.count === 1 && + uni.showLoading({ + title: config.custom.loadingMsg, + mask: true, + fail: () => { + uni.hideLoading(); + }, + }); + } + return config; + }, + (error) => { + return Promise.reject(error); + } +); + +http.interceptors.response.use( + async (response) => { + response.config && + response.config.custom && + response.config.custom.showLoading && + closeLoading(); + if (response.data.code !== 0) { + if ( + response.config && + response.config.custom && + response.config.custom.showError + ) { + switch (response.data.code) { + case 401: + setTimeout(() => { + const tokenKey = constant.storageConstant.TOKEN; + const userInfoKey = constant.storageConstant.USERINFO; + uni.removeStorageSync(tokenKey); + uni.removeStorageSync(userInfoKey); + router.jump("/pages/tabbar/my", {}, 2); + }, 500); + break; + case 500: + uni.showToast({ + title: response.data.message || "服务器开小差啦,请稍后再试~", + icon: "none", + mask: true, + }); + break; + } + return Promise.resolve(response.data); + } + } + if ( + response.data.code === 200 && + response.data.message !== "" && + response.config && + response.config.custom && + response.config.custom.showSuccess + ) { + uni.showToast({ + title: response.config.custom.successMsg || response.data.message, + icon: "none", + }); + } + const tokenKey = constant.storageConstant.TOKEN; + const tokenStorage = uni.getStorageSync(tokenKey); + if ( + !isEmpty(tokenStorage) && + response.config.url != "/sys/auth/refresh-token" + ) { + const { refreshToken, expiresTime } = tokenStorage; + const now = new Date().getTime(); + const remain = expiresTime - now; + if (remain <= 1000 * 60 * 20) { + const _pa = { refreshToken: refreshToken }; + const refreshData = await userApi.refreshToken(_pa); + console.log(refreshData, "refreshData"); + if (!isEmpty(refreshData.data)) { + uni.setStorageSync(tokenKey, refreshData.data); + } + } + } + return Promise.resolve(response.data); + }, + (error) => { + let errorMessage = ""; + if (error !== undefined) { + if (errorMessage) { + uni.showToast({ + title: errorMessage || "", + icon: "none", + mask: true, + }); + } + } + return false; + } +); + +const request = (config: any) => { + return http.middleware(config); +}; + +export default request; diff --git a/src/shime-uni.d.ts b/src/shime-uni.d.ts new file mode 100644 index 0000000..5ecbb26 --- /dev/null +++ b/src/shime-uni.d.ts @@ -0,0 +1,6 @@ +export {} + +declare module "vue" { + type Hooks = App.AppInstance & Page.PageInstance; + interface ComponentCustomOptions extends Hooks {} +} \ No newline at end of file diff --git a/src/static/icon/default-avatar.png b/src/static/icon/default-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..aea12ae651d01fb936247f65e7a5caabf21d2a53 GIT binary patch literal 7874 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 literal 0 HcmV?d00001 diff --git a/src/static/icon/service_2.png b/src/static/icon/service_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c58bdaf98c44e3ee029464e436b944ac4a05920c GIT binary patch literal 6709 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 literal 0 HcmV?d00001 diff --git a/src/static/icon/service_3.png b/src/static/icon/service_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e8f0358401e3227b832877e5e759d48d005e5f79 GIT binary patch literal 4589 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%0A)NEeNK4bWix_$TM6 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 Q6sG_NI>y?SnoeQ=0(&*9q5uE@ literal 0 HcmV?d00001 diff --git a/src/static/tabbar/food.png b/src/static/tabbar/food.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7cb98cff077ff8c4bf0e78e7ad38a80588c10a GIT binary patch literal 4784 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 literal 0 HcmV?d00001 diff --git a/src/static/tabbar/home-select.png b/src/static/tabbar/home-select.png new file mode 100644 index 0000000000000000000000000000000000000000..5d4d5315ac211d852f3e1cf69a6c0c4bf6cf16a8 GIT binary patch literal 599 zcmV-d0;v6oP)Px%5lKWrR9Hvt*s*IAK@4A`VhVH+$I5gWyjO=FQJ zBpbAnK!PA4U?Zfo6SNTh2UKj5^7cT`P7d$plM85~cY8Ct`}Qu#ZaXvY{q}>M9Y&z| zOs?=Mg?j*}gm_vHy+?phqlIV`>C~t_XwG1y{93??-!+ZFPGifvtASO4_Cji7Gei3! zHL;nXE=VnGYG@Lq1~wHm4Kgb>F*FM@3pNo{1DO`<4An%Y!8$?nKqkdnp?M;cVEaM` zfpo>jLI;U-!S;j>18Ku{L5GR#hy4qB7Lak+KhU#;?1epn2JIsOE@>U4wdxqd+l{T# zv(wOfAf^Qvf#8-_qcn90`3Ul@cxe4J-uBl}zI1&|)%&cT8#Uk3G*DYZ?AAm7&gpsu zG*h}oqM73Bu{f_pNjU=W8G^3M2B8^)$Ta{J=l976$`|!Re+e(89S50MZq9ms={SqW?{z z7XqHIz_!#u3D(3o lLv2Y8dfa-OH)v2?zh6$>#5#X-Vxj;5002ovPDHLkV1lWU2J8R; literal 0 HcmV?d00001 diff --git a/src/static/tabbar/home.png b/src/static/tabbar/home.png new file mode 100644 index 0000000000000000000000000000000000000000..9f65dd2495c18d2c824480770cdd02e4e8ed8017 GIT binary patch literal 588 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 literal 0 HcmV?d00001 diff --git a/src/static/tabbar/order-select.png b/src/static/tabbar/order-select.png new file mode 100644 index 0000000000000000000000000000000000000000..6315da23063b32f95baf9e5dd667a8ddff07e474 GIT binary patch literal 699 zcmV;s0!00ZP)Px%bxA})R9HvtnZIijVHn51&wFuD+et#3g1D(`byX)3oE*fVi(nmuq6lgme=MEU z#DdTcI>kXy5L_HY#7PA=^&e0{kZW{Qv5>s)S5AAmOLEEG<=(48FWbX?pXd49_kDPh z%L!6`%5xkmjhpYCH1d^OFCFsZiK;%QfMq`>IlEdf-Sgv0)w~5b?Zwza7ZeBE6wT`p@H%sXW~eal$0BO6t?|T<9mR(L_xQ0kYF{s~B204$-vD9n zwMgKpi`>gCd&IOWI6sOc}aBbCSlMrc!M`1>|T_z0Eyb z0O$I}LBI&)Lz<)gtK}4c?P>CC&2XBYnY5b}m>>i{Gg;T4JQh{Ymct`$i9t8m_fQ)W z7Qi;fB7cX8Ul4V~2CP>@6I&fI&-0vNTdc8lY|U_NBU^&a2~46T3U@|!k(dEcPLglS z;Y@qD_s_s#;017!W9`*!xWfcm0Pc?h>*WY=48V>g`L;$PNiQp!0@#X;Ly8m*|3?n% z6%m}x8z{Cual@@USHrsKmonG5)3o(tf$Rsm-y+2}u^{;KWKO=(CFl6p>(Yz`w$L-T h5~*J5Px%Ur9tkR9HvtnZJwFKorNnZ;~z4vyy8Bu~XaAR;@&^vJi`F1W%I5iXsStT3u%; zoMd;WISb(g!Nx*FtW>a5{{a>3#8SnB-Oba$&E0G+xtrOYtUoU4Chxs@pZU&9CNm*8 zUTK=ngkktihcWZ3BuP%{cCXjFN<>SBeIZGb`?{@^dJAAqx22Tig0Ph{b-Uf!EX#!1 zArb8kg5b5jM?~-X{r)B07DCJmA#NDJi^JjYiEg)At%uBfShoj*!O_gJDfjC8olfUO5Cks`za=Tt8{kI(&i@6#%Tmhqa?5$DN}>UFt>HC) zFAA?R^JN3z5P+LT`MhA}6~n#&;J9I5WaiI?J%1>xE-%1a^zYr&0DG6T&|#zSKcVm{ zfD5jq%zTT8)<1eI>wmEpFqCYPRkM)+Q8enl#TgTGe0Gr1K-W6u%pG0)pR}C}sE+Tqf zXAS#ewdu#pLuZr7m(R`w?gQvfAmKcKS<84Y3QzP}D;@@J1Kt2z&g_QUpHMij;Rnv7 z8v$nl?6ZvbQWBQAytp;MUSzC$i&QtH+5i7r688XHnWmIwxrpda9LKj!Tj>dWnx+TB zFnkQ)7=V$#NYfYuGv_<=H$f1bi=ybuw!qVX8aId2PrY%I_>B7n34511O(R_M00000 LNkvXXu0mjf;WR>Q literal 0 HcmV?d00001 diff --git a/src/uni.scss b/src/uni.scss new file mode 100644 index 0000000..265ef15 --- /dev/null +++ b/src/uni.scss @@ -0,0 +1,60 @@ +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color: #333; // 基本色 +$uni-text-color-inverse: #fff; // 反色 +$uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable: #c0c0c0; + +/* 背景颜色 */ +$uni-bg-color: #fff; +$uni-bg-color-grey: #f8f8f8; +$uni-bg-color-hover: #f1f1f1; // 点击状态颜色 +$uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色 + +/* 边框颜色 */ +$uni-border-color: #c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm: 12px; +$uni-font-size-base: 14px; +$uni-font-size-lg: 16; + +/* 图片尺寸 */ +$uni-img-size-sm: 20px; +$uni-img-size-base: 26px; +$uni-img-size-lg: 40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2c405a; // 文章标题颜色 +$uni-font-size-title: 20px; +$uni-color-subtitle: #555; // 二级标题颜色 +$uni-font-size-subtitle: 18px; +$uni-color-paragraph: #3f536e; // 文章段落颜色 +$uni-font-size-paragraph: 15px; \ No newline at end of file diff --git a/src/uni_modules/tm-ui/changelog.md b/src/uni_modules/tm-ui/changelog.md new file mode 100644 index 0000000..a8f3000 --- /dev/null +++ b/src/uni_modules/tm-ui/changelog.md @@ -0,0 +1,13 @@ +## 3.2.0(2024-10-11) +* [注意]本版本不向下兼容,可以直接通过市场导入或者在插件目录右键升级到项目中 +* [3.2.x文档链接](https://tmui.design/) +* 1. 本版本不向下兼容!!!!! +* 2. 不再兼容nvue平台,请谨慎升级 +* 3. 本版本不是之前的3.1.x版本的升级版本,无法平移过度到本版本 +* 4. 本版本为全新的tmui4.0x版本的小程序版本,风格,标准,细节与其一样,属性也大多相同,但内部是本质的不同.不可以4.0x混用 +* 5. 本版本以webview app + 小程序为准兼容,并且不提供任何原生插件,如果需要原生请使用tmui4.0x来支持我. +* 6. 本版本一样是免费的,可以自由的使用,商用,任意修改不用担心版权问题.但请保留版权信息.但不得发布为公共的竞品版本,发现立即追究版权. +* 7. 本版本更新迭代比较慢,力求后续兼容鸿蒙系统及所有小程序,因此会逐步减少组件数量,但会保证组件质量,保留最基本的组件库功能. +* 8. 如果需要赞助或者捐赠,可以通过官网付款码赞助支持我的开发或者购买tmui4.0x以支持. +* 发布第一个3.2.0版本为公测版本 +* 如果有遇到问题请提交bug至[Gitee](https://gitee.com/LYTB/tm-vuetify-for-vue3) diff --git a/src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue b/src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue new file mode 100644 index 0000000..b698fd6 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue @@ -0,0 +1,346 @@ + + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue b/src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue new file mode 100644 index 0000000..f0c2f4b --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue @@ -0,0 +1,222 @@ + + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue b/src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue new file mode 100644 index 0000000..a067b51 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue @@ -0,0 +1,516 @@ + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-button/tm-button.vue b/src/uni_modules/tm-ui/components/tm-button/tm-button.vue new file mode 100644 index 0000000..037ef1f --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-button/tm-button.vue @@ -0,0 +1,541 @@ + + + + + + diff --git a/src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue b/src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue new file mode 100644 index 0000000..f235244 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue @@ -0,0 +1,505 @@ + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue b/src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue new file mode 100644 index 0000000..bbaeedb --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue b/src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue new file mode 100644 index 0000000..3e1fc6e --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue @@ -0,0 +1,377 @@ + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-col/tm-col.vue b/src/uni_modules/tm-ui/components/tm-col/tm-col.vue new file mode 100644 index 0000000..6ec2a8a --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-col/tm-col.vue @@ -0,0 +1,76 @@ + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue b/src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue new file mode 100644 index 0000000..783ac51 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue @@ -0,0 +1,332 @@ + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue b/src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue new file mode 100644 index 0000000..594a67e --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue @@ -0,0 +1,113 @@ + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue b/src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue new file mode 100644 index 0000000..6d12009 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue @@ -0,0 +1,470 @@ + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue b/src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue new file mode 100644 index 0000000..a4b0048 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue @@ -0,0 +1,757 @@ + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-echart/canvasinit.ts b/src/uni_modules/tm-ui/components/tm-echart/canvasinit.ts new file mode 100644 index 0000000..9dfa139 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-echart/canvasinit.ts @@ -0,0 +1,109 @@ +// @ts-nocheck +export default class WxCanvas { + constructor(ctx, canvasId, isNew, canvasNode) { + this.ctx = ctx; + this.canvasId = canvasId; + this.chart = null; + this.isNew = isNew + if (isNew) { + this.canvasNode = canvasNode; + } + else { + this._initStyle(ctx); + } + + // this._initCanvas(zrender, ctx); + + this._initEvent(); + } + + getContext(contextType) { + if (contextType === '2d') { + return this.ctx; + } + } + + // canvasToTempFilePath(opt) { + // if (!opt.canvasId) { + // opt.canvasId = this.canvasId; + // } + // return wx.canvasToTempFilePath(opt, this); + // } + + setChart(chart) { + this.chart = chart; + } + + attachEvent() { + // noop + } + + detachEvent() { + // noop + } + + _initCanvas(zrender, ctx) { + zrender.util.getContext = function () { + return ctx; + }; + + zrender.util.$override('measureText', function (text, font) { + ctx.font = font || '12px sans-serif'; + return ctx.measureText(text); + }); + } + + _initStyle(ctx) { + // @ts-ignore + ctx.createRadialGradient = () => { + return ctx.createCircularGradient(arguments); + }; + } + + _initEvent() { + this.event = {}; + const eventNames = [{ + wxName: 'touchStart', + ecName: 'mousedown' + }, { + wxName: 'touchMove', + ecName: 'mousemove' + }, { + wxName: 'touchEnd', + ecName: 'mouseup' + }, { + wxName: 'touchEnd', + ecName: 'click' + }]; + + eventNames.forEach(name => { + this.event[name.wxName] = e => { + const touch = e.touches[0]; + this.chart.getZr().handler.dispatch(name.ecName, { + zrX: name.wxName === 'tap' ? touch.clientX : touch.x, + zrY: name.wxName === 'tap' ? touch.clientY : touch.y + }); + }; + }); + } + addEventListener(el, name, handler, opt) { + // el?.addEventListener(name, handler, opt); + } + set width(w) { + if (this.canvasNode) this.canvasNode.width = w + } + set height(h) { + if (this.canvasNode) this.canvasNode.height = h + } + + get width() { + if (this.canvasNode) + return this.canvasNode.width + return 0 + } + get height() { + if (this.canvasNode) + return this.canvasNode.height + return 0 + } + } \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-echart/simple.js b/src/uni_modules/tm-ui/components/tm-echart/simple.js new file mode 100644 index 0000000..7e77e4d --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-echart/simple.js @@ -0,0 +1,12 @@ +import { use } from 'echarts/lib/extension.js'; +export * from 'echarts/lib/export/core.js'; +import { install as CanvasRenderer } from 'echarts/lib/renderer/installCanvasRenderer.js'; +import { install as LineChart } from 'echarts/lib/chart/line/install.js'; +import { install as BarChart } from 'echarts/lib/chart/bar/install.js'; +import { install as PieChart } from 'echarts/lib/chart/pie/install.js'; +import { install as GridSimpleComponent } from 'echarts/lib/component/grid/installSimple.js'; +import { install as AriaComponent } from 'echarts/lib/component/aria/install.js'; +import { install as DatasetComponent } from 'echarts/lib/component/dataset/install.js'; +use([CanvasRenderer]); +use([LineChart, BarChart, PieChart]); +use([GridSimpleComponent, AriaComponent, DatasetComponent]); \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-echart/tm-echart.vue b/src/uni_modules/tm-ui/components/tm-echart/tm-echart.vue new file mode 100644 index 0000000..6e0f548 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-echart/tm-echart.vue @@ -0,0 +1,397 @@ + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-form-item/tm-form-item.vue b/src/uni_modules/tm-ui/components/tm-form-item/tm-form-item.vue new file mode 100644 index 0000000..1fb12c9 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-form-item/tm-form-item.vue @@ -0,0 +1,262 @@ + + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-form/tm-form.vue b/src/uni_modules/tm-ui/components/tm-form/tm-form.vue new file mode 100644 index 0000000..bd9832c --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-form/tm-form.vue @@ -0,0 +1,212 @@ + + + \ No newline at end of file diff --git a/src/uni_modules/tm-ui/components/tm-form/validator.ts b/src/uni_modules/tm-ui/components/tm-form/validator.ts new file mode 100644 index 0000000..815e710 --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-form/validator.ts @@ -0,0 +1,82 @@ +//指定了类型校验 +const defaultValidatorByType = (value: any, rule: TM.FORM_RULE_TYPE) => { + + //但也有可能是string + if (rule.type == 'number') { + let val = typeof value == 'string' ? parseFloat(value) : value + if (isNaN(value)) return false; + if (rule.max == -1) return value >= rule.min + return value >= rule.min && value <= rule.max + } + if (typeof value == 'undefined' || typeof value == null) { + return false + } + if (rule.type == 'string') { + let val = value.trim() + if (val === '') return false; + let len = value.split('').length + if (rule.max == -1) return len >= rule.min + return len >= rule.min && len <= rule.max + } + if (Array.isArray(value) && rule.type == 'array') { + if (value.length == 0) return false; + if (rule.max == -1) return value.length >= rule.min + return value.length >= rule.min && value.length <= rule.max + } + + if (rule.type == 'date') { + if (typeof value == 'string') { + let date = new Date(value.replace(/-/g, '/')).getTime() + return !isNaN(date) + } else if (typeof value == 'number') { + let date = new Date(value).getTime() + return !isNaN(date) + } + } + if (rule.type == 'phone') { + let val = typeof value == 'string' ? value : value.toString() + let reg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/ + return val.match(reg); + } + if (rule.type == 'email' && typeof value == 'string') { + let reg = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; + return reg.test(value) + } + + return true +} +export const defaultValidator = (value: any, rule: TM.FORM_RULE_TYPE) => { + if (!rule.required) return true; + if(rule.validator) return rule.validator(value); + if(rule.rule) { + return rule.rule.test(value); + } + if (rule.type != 'auto') return defaultValidatorByType(value, rule) + if (typeof value == 'number') { + if (isNaN(value)) return false; + if (rule.max == -1) return value >= rule.min + return value >= rule.min && value <= rule.max + } + if (typeof value == 'undefined' || typeof value == null) { + return false + } + if (typeof value == 'string') { + let val = value.trim() + if (val === '') return false; + let len = value.split('').length + if (rule.max == -1) return len >= rule.min + return len >= rule.min && len <= rule.max + } + if (Array.isArray(value)) { + if (value.length == 0) return false; + if (rule.max == -1) return value.length >= rule.min + return value.length >= rule.min && value.length <= rule.max + } + + if (typeof value == 'object') { + let keys = Object.keys(value) + return keys.length > 0 + } + + return true +} diff --git a/src/uni_modules/tm-ui/components/tm-html/mp-node.vue b/src/uni_modules/tm-ui/components/tm-html/mp-node.vue new file mode 100644 index 0000000..f6d298c --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-html/mp-node.vue @@ -0,0 +1,623 @@ +