From 6b8fc2ce1f4ee5bfb21af342602cc3e5c81732ac Mon Sep 17 00:00:00 2001 From: KevinHuSh <kevinhu.sh@gmail.com> Date: Wed, 17 Jan 2024 09:37:01 +0800 Subject: [PATCH] add front end code (#27) --- web/.env | 0 web/.gitignore | 9 + web/.npmrc | 2 + web/.umirc.ts | 28 + web/package-lock.json | 16385 ++++++++++++++++ web/package.json | 35 + web/reducer.js | 27 + web/routes.js | 89 + web/src/.umi/core/EmptyRoute.tsx | 9 + web/src/.umi/core/defineApp.ts | 17 + web/src/.umi/core/helmet.ts | 10 + web/src/.umi/core/helmetContext.ts | 4 + web/src/.umi/core/history.ts | 66 + web/src/.umi/core/historyIntelli.ts | 132 + web/src/.umi/core/plugin.ts | 45 + web/src/.umi/core/pluginConfig.ts | 292 + web/src/.umi/core/pluginConfigJoi.d.ts | 7 + web/src/.umi/core/polyfill.ts | 220 + web/src/.umi/core/route.tsx | 22 + web/src/.umi/core/terminal.ts | 37 + web/src/.umi/exports.ts | 22 + web/src/.umi/plugin-dva/dva.tsx | 60 + web/src/.umi/plugin-dva/index.ts | 5 + web/src/.umi/plugin-dva/models.ts | 20 + web/src/.umi/plugin-dva/runtime.tsx | 9 + web/src/.umi/plugin-dva/runtimeConfig.d.ts | 19 + web/src/.umi/plugin-dva/types.d.ts | 58 + web/src/.umi/plugin-icons/icons.tsx | 8 + web/src/.umi/plugin-icons/index.css | 27 + web/src/.umi/plugin-icons/index.tsx | 243 + web/src/.umi/testBrowser.tsx | 87 + web/src/.umi/tsconfig.json | 43 + web/src/.umi/typings.d.ts | 136 + web/src/.umi/umi.ts | 76 + web/src/assets/logo.png | Bin 0 -> 12553 bytes web/src/assets/yay.jpg | Bin 0 -> 180902 bytes web/src/icons/github.svg | 10 + web/src/icons/google.svg | 13 + web/src/layouts/components/user/index.tsx | 38 + web/src/layouts/index.less | 33 + web/src/layouts/index.tsx | 74 + web/src/locales/config.ts | 24 + web/src/locales/en.json | 20 + web/src/locales/zh.json | 20 + web/src/pages/404.jsx | 17 + .../knowledge-file/createEFileModal.tsx | 72 + .../components/knowledge-file/index.less | 24 + .../components/knowledge-file/index.tsx | 218 + .../components/knowledge-file/model.ts | 127 + .../knowledge-file/segmentSetModal.tsx | 84 + .../components/knowledge-file/upload.tsx | 30 + .../components/knowledge-search/index.tsx | 3 + .../components/knowledge-setting/index.less | 24 + .../components/knowledge-setting/index.tsx | 192 + .../components/knowledge-setting/model.ts | 53 + web/src/pages/add-knowledge/index.less | 19 + web/src/pages/add-knowledge/index.tsx | 106 + web/src/pages/add-knowledge/model.ts | 34 + web/src/pages/chat/index.tsx | 19 + web/src/pages/chat/model.ts | 52 + web/src/pages/file/index.tsx | 51 + web/src/pages/knowledge/index.less | 41 + web/src/pages/knowledge/index.tsx | 109 + web/src/pages/knowledge/model.ts | 61 + web/src/pages/login/index.less | 63 + web/src/pages/login/index.tsx | 157 + web/src/pages/login/model.ts | 61 + web/src/pages/setting/CPwModal.tsx | 92 + web/src/pages/setting/List.tsx | 197 + web/src/pages/setting/SAKModal.tsx | 84 + web/src/pages/setting/SSModal.tsx | 153 + web/src/pages/setting/TntModal.tsx | 58 + web/src/pages/setting/index.less | 49 + web/src/pages/setting/index.tsx | 90 + web/src/pages/setting/model.ts | 181 + web/src/services/kbService.ts | 70 + web/src/services/uploadService.ts | 21 + web/src/services/userService.ts | 57 + web/src/theme/theme.ts | 11 + web/src/theme/vars.less | 9 + web/src/utils/api.ts | 42 + web/src/utils/date.ts | 20 + web/src/utils/hooks.ts | 14 + web/src/utils/index.ts | 26 + web/src/utils/registerServer.ts | 22 + web/src/utils/request.ts | 116 + web/src/wrappers/auth.tsx | 12 + web/tsconfig.json | 6 + web/typings.d.ts | 2 + 89 files changed, 21430 insertions(+) create mode 100644 web/.env create mode 100644 web/.gitignore create mode 100644 web/.npmrc create mode 100644 web/.umirc.ts create mode 100644 web/package-lock.json create mode 100644 web/package.json create mode 100644 web/reducer.js create mode 100644 web/routes.js create mode 100644 web/src/.umi/core/EmptyRoute.tsx create mode 100644 web/src/.umi/core/defineApp.ts create mode 100644 web/src/.umi/core/helmet.ts create mode 100644 web/src/.umi/core/helmetContext.ts create mode 100644 web/src/.umi/core/history.ts create mode 100644 web/src/.umi/core/historyIntelli.ts create mode 100644 web/src/.umi/core/plugin.ts create mode 100644 web/src/.umi/core/pluginConfig.ts create mode 100644 web/src/.umi/core/pluginConfigJoi.d.ts create mode 100644 web/src/.umi/core/polyfill.ts create mode 100644 web/src/.umi/core/route.tsx create mode 100644 web/src/.umi/core/terminal.ts create mode 100644 web/src/.umi/exports.ts create mode 100644 web/src/.umi/plugin-dva/dva.tsx create mode 100644 web/src/.umi/plugin-dva/index.ts create mode 100644 web/src/.umi/plugin-dva/models.ts create mode 100644 web/src/.umi/plugin-dva/runtime.tsx create mode 100644 web/src/.umi/plugin-dva/runtimeConfig.d.ts create mode 100644 web/src/.umi/plugin-dva/types.d.ts create mode 100644 web/src/.umi/plugin-icons/icons.tsx create mode 100644 web/src/.umi/plugin-icons/index.css create mode 100644 web/src/.umi/plugin-icons/index.tsx create mode 100644 web/src/.umi/testBrowser.tsx create mode 100644 web/src/.umi/tsconfig.json create mode 100644 web/src/.umi/typings.d.ts create mode 100644 web/src/.umi/umi.ts create mode 100644 web/src/assets/logo.png create mode 100644 web/src/assets/yay.jpg create mode 100644 web/src/icons/github.svg create mode 100644 web/src/icons/google.svg create mode 100644 web/src/layouts/components/user/index.tsx create mode 100644 web/src/layouts/index.less create mode 100644 web/src/layouts/index.tsx create mode 100644 web/src/locales/config.ts create mode 100644 web/src/locales/en.json create mode 100644 web/src/locales/zh.json create mode 100644 web/src/pages/404.jsx create mode 100644 web/src/pages/add-knowledge/components/knowledge-file/createEFileModal.tsx create mode 100644 web/src/pages/add-knowledge/components/knowledge-file/index.less create mode 100644 web/src/pages/add-knowledge/components/knowledge-file/index.tsx create mode 100644 web/src/pages/add-knowledge/components/knowledge-file/model.ts create mode 100644 web/src/pages/add-knowledge/components/knowledge-file/segmentSetModal.tsx create mode 100644 web/src/pages/add-knowledge/components/knowledge-file/upload.tsx create mode 100644 web/src/pages/add-knowledge/components/knowledge-search/index.tsx create mode 100644 web/src/pages/add-knowledge/components/knowledge-setting/index.less create mode 100644 web/src/pages/add-knowledge/components/knowledge-setting/index.tsx create mode 100644 web/src/pages/add-knowledge/components/knowledge-setting/model.ts create mode 100644 web/src/pages/add-knowledge/index.less create mode 100644 web/src/pages/add-knowledge/index.tsx create mode 100644 web/src/pages/add-knowledge/model.ts create mode 100644 web/src/pages/chat/index.tsx create mode 100644 web/src/pages/chat/model.ts create mode 100644 web/src/pages/file/index.tsx create mode 100644 web/src/pages/knowledge/index.less create mode 100644 web/src/pages/knowledge/index.tsx create mode 100644 web/src/pages/knowledge/model.ts create mode 100644 web/src/pages/login/index.less create mode 100644 web/src/pages/login/index.tsx create mode 100644 web/src/pages/login/model.ts create mode 100644 web/src/pages/setting/CPwModal.tsx create mode 100644 web/src/pages/setting/List.tsx create mode 100644 web/src/pages/setting/SAKModal.tsx create mode 100644 web/src/pages/setting/SSModal.tsx create mode 100644 web/src/pages/setting/TntModal.tsx create mode 100644 web/src/pages/setting/index.less create mode 100644 web/src/pages/setting/index.tsx create mode 100644 web/src/pages/setting/model.ts create mode 100644 web/src/services/kbService.ts create mode 100644 web/src/services/uploadService.ts create mode 100644 web/src/services/userService.ts create mode 100644 web/src/theme/theme.ts create mode 100644 web/src/theme/vars.less create mode 100644 web/src/utils/api.ts create mode 100644 web/src/utils/date.ts create mode 100644 web/src/utils/hooks.ts create mode 100644 web/src/utils/index.ts create mode 100644 web/src/utils/registerServer.ts create mode 100644 web/src/utils/request.ts create mode 100644 web/src/wrappers/auth.tsx create mode 100644 web/tsconfig.json create mode 100644 web/typings.d.ts diff --git a/web/.env b/web/.env new file mode 100644 index 0000000..e69de29 diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..881931c --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,9 @@ +/node_modules +/.env.local +/.umirc.local.ts +/config/config.local.ts +/src/.umi +/src/.umi-production +/src/.umi-test +/dist +.swc diff --git a/web/.npmrc b/web/.npmrc new file mode 100644 index 0000000..80b972b --- /dev/null +++ b/web/.npmrc @@ -0,0 +1,2 @@ +registry=https://registry.npmmirror.com/ + diff --git a/web/.umirc.ts b/web/.umirc.ts new file mode 100644 index 0000000..ef815ac --- /dev/null +++ b/web/.umirc.ts @@ -0,0 +1,28 @@ +import { defineConfig } from "umi"; +import routes from './routes' + +export default defineConfig({ + outputPath: 'dist', + // alias: { '@': './src' }, + routes, + npmClient: 'npm', + base: '/', + publicPath: '/client/dist/', + icons: { + + }, + hash: true, + history: { + type: 'hash', + }, + plugins: ['@umijs/plugins/dist/dva'], + dva: {}, + proxy: { + '/v1': { + 'target': 'http://54.80.112.79:9380/', + 'changeOrigin': true, + 'pathRewrite': { '^/v1': '/v1' }, + }, + }, +}); + diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 0000000..b9bfbcf --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,16385 @@ +{ + "name": "client", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "hasInstallScript": true, + "dependencies": { + "@ant-design/icons": "^5.2.6", + "@ant-design/pro-components": "^2.6.46", + "@ant-design/pro-layout": "^7.17.16", + "antd": "^5.12.7", + "axios": "^1.6.3", + "classnames": "^2.5.1", + "i18next": "^23.7.16", + "js-base64": "^3.7.5", + "jsencrypt": "^3.3.2", + "lodash": "^4.17.21", + "react-i18next": "^14.0.0", + "react-infinite-scroll-component": "^6.1.0", + "umi": "^4.0.90", + "umi-request": "^1.4.0" + }, + "devDependencies": { + "@types/lodash": "^4.14.202", + "@types/react": "^18.0.33", + "@types/react-dom": "^18.0.11", + "@umijs/plugins": "^4.1.0", + "typescript": "^5.0.3", + "umi-plugin-icons": "^0.1.1" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ant-design/antd-theme-variable": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@ant-design/antd-theme-variable/-/antd-theme-variable-1.0.0.tgz", + "integrity": "sha512-0vr5GCwM7xlAl6NxG1lPbABO+SYioNJL3HVy2FA8wTlsIMoZvQwcwsxTw6eLQCiN9V2UQ8kBtfz8DW8utVVE5w==", + "dev": true + }, + "node_modules/@ant-design/colors": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.0.2.tgz", + "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", + "dependencies": { + "@ctrl/tinycolor": "^3.6.1" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.18.2", + "resolved": "https://registry.npmmirror.com/@ant-design/cssinjs/-/cssinjs-1.18.2.tgz", + "integrity": "sha512-514V9rjLaFYb3v4s55/8bg2E6fb81b99s3crDZf4nSwtiDLLXs8axnIph+q2TVkY2hbJPZOn/cVsVcnLkzFy7w==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.1.3", + "rc-util": "^5.35.0", + "stylis": "^4.0.13" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons": { + "version": "5.2.6", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-5.2.6.tgz", + "integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==", + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.3.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz", + "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==" + }, + "node_modules/@ant-design/moment-webpack-plugin": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/@ant-design/moment-webpack-plugin/-/moment-webpack-plugin-0.0.3.tgz", + "integrity": "sha512-MLm1FUpg02fP615ShQnCUN9la2E4RylDxKyolkGqAWTIHO4HyGM0A5x71AMALEyP/bC+UEEWBGSQ+D4/8hQ+ww==", + "dev": true + }, + "node_modules/@ant-design/pro-card": { + "version": "2.5.29", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-card/-/pro-card-2.5.29.tgz", + "integrity": "sha512-QCtqiYZpl1uPFqgPacCkaP+8m5D604WScyfLZBoxIxtpA1SVe0dBIYyeB3cExgxkA7MZZwueeTIyE8B7okqgPw==", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.13.5", + "@ant-design/pro-utils": "2.15.4", + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "omit.js": "^2.0.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.4.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-components": { + "version": "2.6.46", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-components/-/pro-components-2.6.46.tgz", + "integrity": "sha512-xJHWAODGk6KyCpWbumio8yjR/ySL3URvobv72oTc8ojYUhVWtvbGQez3038GQbWjnghr8pU4c59fGS2W4dt1fA==", + "dependencies": { + "@ant-design/pro-card": "2.5.29", + "@ant-design/pro-descriptions": "2.5.30", + "@ant-design/pro-field": "2.14.5", + "@ant-design/pro-form": "2.24.1", + "@ant-design/pro-layout": "7.17.19", + "@ant-design/pro-list": "2.5.45", + "@ant-design/pro-provider": "2.13.5", + "@ant-design/pro-skeleton": "2.1.10", + "@ant-design/pro-table": "3.13.14", + "@ant-design/pro-utils": "2.15.4", + "@babel/runtime": "^7.16.3" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-descriptions": { + "version": "2.5.30", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-descriptions/-/pro-descriptions-2.5.30.tgz", + "integrity": "sha512-lzr02qwS9e0jhhP4Hg0TBpB/yBcgs5lxCngLD/10llGKTSDFyKljl+uYTJm6DW9Fw1inf92xs+ToQ9l9+WveVg==", + "dependencies": { + "@ant-design/pro-field": "2.14.5", + "@ant-design/pro-form": "2.24.1", + "@ant-design/pro-skeleton": "2.1.10", + "@ant-design/pro-utils": "2.15.4", + "@babel/runtime": "^7.18.0", + "rc-resize-observer": "^0.2.3", + "rc-util": "^5.0.6" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-descriptions/node_modules/rc-resize-observer": { + "version": "0.2.6", + "resolved": "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-0.2.6.tgz", + "integrity": "sha512-YX6nYnd6fk7zbuvT6oSDMKiZjyngjHoy+fz+vL3Tez38d/G5iGdaDJa2yE7345G6sc4Mm1IGRUIwclvltddhmA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-field": { + "version": "2.14.5", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-field/-/pro-field-2.14.5.tgz", + "integrity": "sha512-v20ikpToPL8d26FV/VAYqkfBHGrFpxHyAyQxqBbCYzb8OuHV42xIU4cMwM59CCcCllZw4dRe0NyPmySgSyEuIQ==", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.13.5", + "@ant-design/pro-utils": "2.15.4", + "@babel/runtime": "^7.18.0", + "@chenshuai2144/sketch-color": "^1.0.8", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash.tonumber": "^4.0.3", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-form": { + "version": "2.24.1", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-form/-/pro-form-2.24.1.tgz", + "integrity": "sha512-hi55mm31IzvWoB/FVRlNAPuI5TRO6XGYF/XJu7pl8FWRe3N4a+3kHRs9Ul1trQnP+J+EgTBtqp81Gzc3ZCFO8w==", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-field": "2.14.5", + "@ant-design/pro-provider": "2.13.5", + "@ant-design/pro-utils": "2.15.4", + "@babel/runtime": "^7.18.0", + "@chenshuai2144/sketch-color": "^1.0.7", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6" + }, + "peerDependencies": { + "@types/lodash.merge": "^4.6.7", + "antd": "^4.24.15 || ^5.11.2", + "rc-field-form": "^1.22.0", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + }, + "peerDependenciesMeta": { + "@types/lodash.merge": { + "optional": true + } + } + }, + "node_modules/@ant-design/pro-layout": { + "version": "7.17.19", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-layout/-/pro-layout-7.17.19.tgz", + "integrity": "sha512-X3L+/0Vro9AyN51oGBMz+bfjHjod43wyMJ+7gePiK8ECqYTMZLWGXhrEZnPMY/GCdk0OeGzWD5N9DFuUtwcSLQ==", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.13.5", + "@ant-design/pro-utils": "2.15.4", + "@babel/runtime": "^7.18.0", + "@umijs/route-utils": "^4.0.0", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.3.2", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "path-to-regexp": "2.4.0", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "swr": "^2.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-list": { + "version": "2.5.45", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-list/-/pro-list-2.5.45.tgz", + "integrity": "sha512-KdUKRLCa6k2wbXmQQikYaOVgolVykrJc20eaBESwBYLZnfB9sWMZitMWotJXDykp5+HXP136x/9TdCIgkGpfrg==", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-card": "2.5.29", + "@ant-design/pro-field": "2.14.5", + "@ant-design/pro-table": "3.13.14", + "@ant-design/pro-utils": "2.15.4", + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "rc-resize-observer": "^1.0.0", + "rc-util": "^4.19.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-list/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/@ant-design/pro-list/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/@ant-design/pro-provider": { + "version": "2.13.5", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-provider/-/pro-provider-2.13.5.tgz", + "integrity": "sha512-ZVmzY2cq4nUvgmAlfgyCAaSZYV2l3n/upIQPXPj8sYcT+N/Pt1CeSVkkgW6By3EqokF6apWdIFU7hZMK2rNhrg==", + "dependencies": { + "@ant-design/cssinjs": "^1.11.1", + "@babel/runtime": "^7.18.0", + "@ctrl/tinycolor": "^3.4.0", + "rc-util": "^5.0.1", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-skeleton": { + "version": "2.1.10", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-skeleton/-/pro-skeleton-2.1.10.tgz", + "integrity": "sha512-mrT0lqrwdcAKGWsh8CIiPBnVCwQOg8pNNLUeuVg3zpaKxw6lloUgkrqapmYANHLByamsbrmKNXhR9/OdMOerJw==", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-table": { + "version": "3.13.14", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-table/-/pro-table-3.13.14.tgz", + "integrity": "sha512-DJZ+FaI5k4f7XYNtzy0n0rIFjjp5lJ6vDeQ3QsVeeUV4KmZB5n5kgzcL2w+n3ywOxnQLYtBsBz93GS9cSgcLJQ==", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-card": "2.5.29", + "@ant-design/pro-field": "2.14.5", + "@ant-design/pro-form": "2.24.1", + "@ant-design/pro-provider": "2.13.5", + "@ant-design/pro-utils": "2.15.4", + "@babel/runtime": "^7.18.0", + "@dnd-kit/core": "^6.0.8", + "@dnd-kit/modifiers": "^6.0.1", + "@dnd-kit/sortable": "^7.0.2", + "@dnd-kit/utilities": "^3.2.1", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.0.1" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "rc-field-form": "^1.22.0", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-utils": { + "version": "2.15.4", + "resolved": "https://registry.npmmirror.com/@ant-design/pro-utils/-/pro-utils-2.15.4.tgz", + "integrity": "sha512-nbacIMl5lbMlNHlaPl2tt/ezvHhnBtGL2KLVaqijLou5zAuZprkHAJnckXoqm9T6X9R2rE4jH96WZHLpJ27nFw==", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.13.5", + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash.merge": "^4.6.2", + "rc-util": "^5.0.6", + "safe-stable-stringify": "^2.4.3", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/react-slick": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz", + "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@antfu/install-pkg": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/@antfu/install-pkg/-/install-pkg-0.1.1.tgz", + "integrity": "sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==", + "dependencies": { + "execa": "^5.1.1", + "find-up": "^5.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.7", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.7.tgz", + "integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==" + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.7", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.7", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.23.7.tgz", + "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.7", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.7.tgz", + "integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.7", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bloomberg/record-tuple-polyfill": { + "version": "0.0.4", + "resolved": "https://registry.npmmirror.com/@bloomberg/record-tuple-polyfill/-/record-tuple-polyfill-0.0.4.tgz", + "integrity": "sha512-h0OYmPR3A5Dfbetra/GzxBAzQk8sH7LhRkRUTdagX6nrtlUgJGYCTv4bBK33jsTQw9HDd8PE2x1Ma+iRKEDUsw==" + }, + "node_modules/@chenshuai2144/sketch-color": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/@chenshuai2144/sketch-color/-/sketch-color-1.0.9.tgz", + "integrity": "sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==", + "dependencies": { + "reactcss": "^1.2.3", + "tinycolor2": "^1.4.2" + }, + "peerDependencies": { + "react": ">=16.12.0" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@dnd-kit/accessibility": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz", + "integrity": "sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/core": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/@dnd-kit/core/-/core-6.1.0.tgz", + "integrity": "sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==", + "dependencies": { + "@dnd-kit/accessibility": "^3.1.0", + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/modifiers": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/@dnd-kit/modifiers/-/modifiers-6.0.1.tgz", + "integrity": "sha512-rbxcsg3HhzlcMHVHWDuh9LCjpOVAgqbV78wLGI8tziXY3+qcMQ61qVXIvNKQFuhj75dSfD+o+PYZQ/NUk2A23A==", + "dependencies": { + "@dnd-kit/utilities": "^3.2.1", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@dnd-kit/core": "^6.0.6", + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/sortable": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/@dnd-kit/sortable/-/sortable-7.0.2.tgz", + "integrity": "sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==", + "dependencies": { + "@dnd-kit/utilities": "^3.2.0", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@dnd-kit/core": "^6.0.7", + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/utilities": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/@dnd-kit/utilities/-/utilities-3.2.2.tgz", + "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "dev": true, + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", + "dev": true + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "peer": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-0.6.2.tgz", + "integrity": "sha512-jktYRmZwmau63adUG3GKOAVCofBXkk55S/zQ94XOorAHhwqFIOFAy1rSp2N0Wp6/tGbe9V3u/ExlGZypyY17rg==" + }, + "node_modules/@floating-ui/dom": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-0.4.5.tgz", + "integrity": "sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw==", + "dependencies": { + "@floating-ui/core": "^0.6.2" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/@floating-ui/react-dom/-/react-dom-0.6.3.tgz", + "integrity": "sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==", + "dependencies": { + "@floating-ui/dom": "^0.4.5", + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom-interactions": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/@floating-ui/react-dom-interactions/-/react-dom-interactions-0.3.1.tgz", + "integrity": "sha512-tP2KEh7EHJr5hokSBHcPGojb+AorDNUf0NYfZGg/M+FsMvCOOsSEeEF0O1NDfETIzDnpbHnCs0DuvCFhSMSStg==", + "deprecated": "Package renamed to @floating-ui/react", + "dependencies": { + "@floating-ui/react-dom": "^0.6.3", + "aria-hidden": "^1.1.3", + "point-in-polygon": "^1.1.0", + "use-isomorphic-layout-effect": "^1.1.1" + } + }, + "node_modules/@formatjs/intl-displaynames": { + "version": "1.2.10", + "resolved": "https://registry.npmmirror.com/@formatjs/intl-displaynames/-/intl-displaynames-1.2.10.tgz", + "integrity": "sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-listformat": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/@formatjs/intl-listformat/-/intl-listformat-1.4.8.tgz", + "integrity": "sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-relativetimeformat": { + "version": "4.5.16", + "resolved": "https://registry.npmmirror.com/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.16.tgz", + "integrity": "sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-unified-numberformat": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", + "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", + "deprecated": "We have renamed the package to @formatjs/intl-numberformat", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-utils": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", + "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==", + "deprecated": "the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package", + "dev": true + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "peer": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "peer": true, + "engines": { + "node": ">=12.22" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "peer": true + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==" + }, + "node_modules/@iconify/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/@iconify/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-H8xz74JDzDw8f0qLxwIaxFMnFkbXTZNWEufOk3WxaLFHV4h0A2FjIDgNk5LzC0am4jssnjdeJJdRs3UFu3582Q==", + "dependencies": { + "@antfu/install-pkg": "^0.1.1", + "@antfu/utils": "^0.7.2", + "@iconify/types": "^2.0.0", + "debug": "^4.3.4", + "kolorist": "^1.6.0", + "local-pkg": "^0.4.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@loadable/component": { + "version": "5.15.2", + "resolved": "https://registry.npmmirror.com/@loadable/component/-/component-5.15.2.tgz", + "integrity": "sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==", + "dependencies": { + "@babel/runtime": "^7.7.7", + "hoist-non-react-statics": "^3.3.1", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.3.0" + } + }, + "node_modules/@loadable/component/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@mrmlnc/readdir-enhanced/node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==", + "dev": true + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dependencies": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + } + }, + "node_modules/@pkgr/utils/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@pkgr/utils/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@pkgr/utils/node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@rc-component/color-picker": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/@rc-component/color-picker/-/color-picker-1.5.1.tgz", + "integrity": "sha512-onyAFhWKXuG4P162xE+7IgaJkPkwM94XlOYnQuu69XdXWMfxpeFi6tpJBsieIMV7EnyLV5J3lDzdLiFeK0iEBA==", + "dependencies": { + "@babel/runtime": "^7.23.6", + "@ctrl/tinycolor": "^3.6.1", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/@rc-component/tour/-/tour-1.11.1.tgz", + "integrity": "sha512-c9Lw3/oVinj5D64Rsp8aDLOXcgdViE+hq7bj0Qoo8fTuQEh9sSpUw5OZcum943JkjeIE4hLcc5FD4a5ANtMJ4w==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^1.3.6", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "1.18.2", + "resolved": "https://registry.npmmirror.com/@rc-component/trigger/-/trigger-1.18.2.tgz", + "integrity": "sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rgrove/parse-xml": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/@rgrove/parse-xml/-/parse-xml-2.0.4.tgz", + "integrity": "sha512-344bRXnUMu1tWqq1GJO2nCSqJRGTzcNLErcG2HZbVhUo90R5xQ6YdsCqtuT0KaFyN/mlxWqt2SdHSRNzwDvT5g==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@stylelint/postcss-css-in-js": { + "version": "0.38.0", + "resolved": "https://registry.npmmirror.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.38.0.tgz", + "integrity": "sha512-XOz5CAe49kS95p5yRd+DAIWDojTjfmyAQ4bbDlXMdbZTQ5t0ThjSLvWI6JI2uiS7MFurVBkZ6zUqcimzcLTBoQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@babel/core": "^7.17.9" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@tanstack/match-sorter-utils": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/@tanstack/match-sorter-utils/-/match-sorter-utils-8.11.3.tgz", + "integrity": "sha512-2XVYTN6fLFyeIPywDL/HGKIQce3V6oUch1FHweGwxruPKEXip6Z9qg+zWZwNE26WG6CktqJh6NqTq90a42jeEw==", + "dev": true, + "dependencies": { + "remove-accents": "0.4.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@tanstack/query-core": { + "version": "4.36.1", + "resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", + "dev": true + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.1", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.1.tgz", + "integrity": "sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==", + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "peer": true + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hapi__joi": { + "version": "17.1.9", + "resolved": "https://registry.npmmirror.com/@types/hapi__joi/-/hapi__joi-17.1.9.tgz", + "integrity": "sha512-oOMFT8vmCTFncsF1engrs04jatz8/Anwx3De9uxnOK4chgSEgWBvFtpSoJo8u3784JNO+ql5tzRR6phHoRnscQ==" + }, + "node_modules/@types/history": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/@types/history/-/history-5.0.0.tgz", + "integrity": "sha512-hy8b7Y1J8OGe6LbAjj3xniQrj3v6lsivCcrmf4TzSgPzLkhIeKgc5IZnT7ReIqmEuodjfO8EYAuoFvIrHi/+jQ==", + "deprecated": "This is a stub types definition. history provides its own type definitions, so you do not need this installed.", + "dev": true, + "peer": true, + "dependencies": { + "history": "*" + } + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "dev": true, + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/invariant": { + "version": "2.2.37", + "resolved": "https://registry.npmmirror.com/@types/invariant/-/invariant-2.2.37.tgz", + "integrity": "sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==", + "dev": true + }, + "node_modules/@types/isomorphic-fetch": { + "version": "0.0.34", + "resolved": "https://registry.npmmirror.com/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.34.tgz", + "integrity": "sha512-BmJKuPCZCR6pbYYgi5nKFJrPC4pLoBgsi/B1nFN64Ba+hLLGUcKPIh7eVlR2xG763Ap08hgQafq/Wx4RFb0omQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "peer": true + }, + "node_modules/@types/node": { + "version": "20.10.6", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "peer": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "dev": true + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmmirror.com/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.46", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.2.46.tgz", + "integrity": "sha512-nNCvVBcZlvX4NU1nRRNV/mFl1nNRuTuslAJglQsq+8ldXe5Xv0Wd2f7WTE3jOxhLH2BFfiZGC6GCp+kHQbgG+w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.18", + "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.2.18.tgz", + "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmmirror.com/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dev": true, + "peer": true, + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-dom": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/@types/react-router-dom/-/react-router-dom-4.3.5.tgz", + "integrity": "sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/history": "*", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/react-router-redux": { + "version": "5.0.27", + "resolved": "https://registry.npmmirror.com/@types/react-router-redux/-/react-router-redux-5.0.27.tgz", + "integrity": "sha512-qC5lbuP2K/kMR/HE3e5ltCJptyiQhmfV0wbklqcqWDbNdpJBDwUsBGP4f/0RDYJf09+OTbz43u6iG+8E0Zcwqw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0", + "redux": ">= 3.7.2" + } + }, + "node_modules/@types/react-router-redux/node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmmirror.com/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "dev": true, + "peer": true + }, + "node_modules/@types/react-router/node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmmirror.com/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "dev": true, + "peer": true + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmmirror.com/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==" + }, + "node_modules/@types/stylis": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/@types/stylis/-/stylis-4.2.5.tgz", + "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==", + "dev": true + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@umijs/ast": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/ast/-/ast-4.1.0.tgz", + "integrity": "sha512-+FPCVaXpt8Z2Y2o5JIL91cw7EYbGmMG6jfE5IkfIqPoYoXxtVZwUBBdEyViigW3wWcRORfjoLQpqldAmjUg1sw==", + "dependencies": { + "@umijs/bundler-utils": "4.1.0" + } + }, + "node_modules/@umijs/babel-preset-umi": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/babel-preset-umi/-/babel-preset-umi-4.1.0.tgz", + "integrity": "sha512-NPMJY2eU7Jnr2RazaeHMC+JT3GHaX0nTEvULOp/ZkNKBaJSfpt3yuP5UXJseZJfXQaWk9LkZo2nk6UzvXnzquA==", + "dependencies": { + "@babel/runtime": "7.23.6", + "@bloomberg/record-tuple-polyfill": "0.0.4", + "@umijs/bundler-utils": "4.1.0", + "@umijs/utils": "4.1.0", + "core-js": "3.34.0" + } + }, + "node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@umijs/bundler-esbuild": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/bundler-esbuild/-/bundler-esbuild-4.1.0.tgz", + "integrity": "sha512-VTBhpN2HGZRmhFU6JBBklQapmq2nmCdsfwQApA+7Ei9muxFfwI+1caEpH7XYV/awimwzKngAPaS6IXpI6cnYng==", + "dependencies": { + "@umijs/bundler-utils": "4.1.0", + "@umijs/utils": "4.1.0", + "enhanced-resolve": "5.9.3", + "postcss": "^8.4.21", + "postcss-flexbugs-fixes": "5.0.2", + "postcss-preset-env": "7.5.0" + }, + "bin": { + "bundler-esbuild": "bin/bundler-esbuild.js" + } + }, + "node_modules/@umijs/bundler-utils": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/bundler-utils/-/bundler-utils-4.1.0.tgz", + "integrity": "sha512-FmZuoTDNdiBbMsxbKYv8PWix1lgn6huv6Y6jpTx/nyUpKYHg92JFluiIKb5vR2OTOJpStcvQRp3DbOMP+4L9fg==", + "dependencies": { + "@umijs/utils": "4.1.0", + "esbuild": "0.17.19", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "10.1.1", + "spdy": "^4.0.2" + } + }, + "node_modules/@umijs/bundler-vite": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/bundler-vite/-/bundler-vite-4.1.0.tgz", + "integrity": "sha512-5UMPESE3VjRhBD2Cvtg57vmgNLgD1LDPMl+/2kETfQldtzSFD0SBif9SMbtNJRJ2XBQ44WgAqiUGC3l4fZJ2Tg==", + "dependencies": { + "@svgr/core": "6.5.1", + "@umijs/bundler-utils": "4.1.0", + "@umijs/utils": "4.1.0", + "@vitejs/plugin-react": "4.0.0", + "core-js": "3.34.0", + "less": "4.1.3", + "postcss-preset-env": "7.5.0", + "rollup-plugin-visualizer": "5.9.0", + "systemjs": "^6.14.1", + "vite": "4.3.1" + }, + "bin": { + "bundler-vite": "bin/bundler-vite.js" + } + }, + "node_modules/@umijs/bundler-webpack": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/bundler-webpack/-/bundler-webpack-4.1.0.tgz", + "integrity": "sha512-fahJtvzsBKuv7NNPSJ9z9wgeLng29/elVa4oINJi+7cmniXvBpuMzcNoNkAeMf6HGqqWyk8A+tcxrphEOsjxIA==", + "dependencies": { + "@svgr/core": "6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1", + "@types/hapi__joi": "17.1.9", + "@umijs/babel-preset-umi": "4.1.0", + "@umijs/bundler-utils": "4.1.0", + "@umijs/case-sensitive-paths-webpack-plugin": "^1.0.1", + "@umijs/mfsu": "4.1.0", + "@umijs/react-refresh-webpack-plugin": "0.5.11", + "@umijs/utils": "4.1.0", + "cors": "^2.8.5", + "css-loader": "6.7.1", + "es5-imcompatible-versions": "^0.1.78", + "fork-ts-checker-webpack-plugin": "8.0.0", + "jest-worker": "29.4.3", + "lightningcss": "1.22.1", + "node-libs-browser": "2.2.1", + "postcss": "^8.4.21", + "postcss-preset-env": "7.5.0", + "react-error-overlay": "6.0.9", + "react-refresh": "0.14.0" + }, + "bin": { + "bundler-webpack": "bin/bundler-webpack.js" + } + }, + "node_modules/@umijs/case-sensitive-paths-webpack-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@umijs/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-1.0.1.tgz", + "integrity": "sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==" + }, + "node_modules/@umijs/core": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/core/-/core-4.1.0.tgz", + "integrity": "sha512-/6o95AXepiM+2nFaIWlSOknV7n9y//3vpTJBtFg8fVK8QqEZ/+hgAsv5mkpf6y2mvEKVt/ezqh1fjjFXqUO5Sg==", + "dependencies": { + "@umijs/bundler-utils": "4.1.0", + "@umijs/utils": "4.1.0" + } + }, + "node_modules/@umijs/did-you-know": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@umijs/did-you-know/-/did-you-know-1.0.3.tgz", + "integrity": "sha512-9EZ+rgY9+2HEaE+Z9dGkal2ccw8L4uuz77tCB5WpskW7NBZX5nOj82sqF/shEtA5tU3SWO/Mi4n35K3iONvDtw==" + }, + "node_modules/@umijs/es-module-parser": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser/-/es-module-parser-0.0.7.tgz", + "integrity": "sha512-x47CMi/Hw7Nkz3RXTUqlldH/UM+Tcmw2PziV3k+itJqTFJc8oVx3lzdUgCnG+eL3ZtmLPbOEBhPb30V0NytNDQ==", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@umijs/es-module-parser-darwin-arm64": "0.0.7", + "@umijs/es-module-parser-darwin-x64": "0.0.7", + "@umijs/es-module-parser-linux-arm-gnueabihf": "0.0.7", + "@umijs/es-module-parser-linux-arm64-gnu": "0.0.7", + "@umijs/es-module-parser-linux-arm64-musl": "0.0.7", + "@umijs/es-module-parser-linux-x64-gnu": "0.0.7", + "@umijs/es-module-parser-linux-x64-musl": "0.0.7", + "@umijs/es-module-parser-win32-arm64-msvc": "0.0.7", + "@umijs/es-module-parser-win32-x64-msvc": "0.0.7" + } + }, + "node_modules/@umijs/es-module-parser-darwin-arm64": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-darwin-arm64/-/es-module-parser-darwin-arm64-0.0.7.tgz", + "integrity": "sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/es-module-parser-darwin-x64": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-darwin-x64/-/es-module-parser-darwin-x64-0.0.7.tgz", + "integrity": "sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/es-module-parser-linux-arm-gnueabihf": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-linux-arm-gnueabihf/-/es-module-parser-linux-arm-gnueabihf-0.0.7.tgz", + "integrity": "sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/es-module-parser-linux-arm64-gnu": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-linux-arm64-gnu/-/es-module-parser-linux-arm64-gnu-0.0.7.tgz", + "integrity": "sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/es-module-parser-linux-arm64-musl": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-linux-arm64-musl/-/es-module-parser-linux-arm64-musl-0.0.7.tgz", + "integrity": "sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/es-module-parser-linux-x64-gnu": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-linux-x64-gnu/-/es-module-parser-linux-x64-gnu-0.0.7.tgz", + "integrity": "sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/es-module-parser-linux-x64-musl": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-linux-x64-musl/-/es-module-parser-linux-x64-musl-0.0.7.tgz", + "integrity": "sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/es-module-parser-win32-arm64-msvc": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-win32-arm64-msvc/-/es-module-parser-win32-arm64-msvc-0.0.7.tgz", + "integrity": "sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/es-module-parser-win32-x64-msvc": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/@umijs/es-module-parser-win32-x64-msvc/-/es-module-parser-win32-x64-msvc-0.0.7.tgz", + "integrity": "sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@umijs/history": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/@umijs/history/-/history-5.3.1.tgz", + "integrity": "sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==", + "dependencies": { + "@babel/runtime": "^7.7.6", + "query-string": "^6.13.6" + } + }, + "node_modules/@umijs/lint": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/lint/-/lint-4.1.0.tgz", + "integrity": "sha512-drXkAeBJGMLrPr/dDiOZ2Z+3VKkAf53MzoOIhwHy5atq+PFNG9Y7e6YuWrK3qVF75zg9culQzlHTvinCjDK97Q==", + "dependencies": { + "@babel/core": "7.23.6", + "@babel/eslint-parser": "7.23.3", + "@stylelint/postcss-css-in-js": "^0.38.0", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "@umijs/babel-preset-umi": "4.1.0", + "eslint-plugin-jest": "27.2.3", + "eslint-plugin-react": "7.33.2", + "eslint-plugin-react-hooks": "4.6.0", + "postcss": "^8.4.21", + "postcss-syntax": "0.36.2", + "stylelint-config-standard": "25.0.0" + } + }, + "node_modules/@umijs/lint/node_modules/@babel/core": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@umijs/mfsu": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/mfsu/-/mfsu-4.1.0.tgz", + "integrity": "sha512-Vd4D3mWtOzsNJulzH5JFPuBMdsi2/3OwIh38mvWHhZlLtW5m+RQ0Nf2InS5Zvlw1DJvUO31TmtJniN2yCDm8ZQ==", + "dependencies": { + "@umijs/bundler-esbuild": "4.1.0", + "@umijs/bundler-utils": "4.1.0", + "@umijs/utils": "4.1.0", + "enhanced-resolve": "5.9.3", + "is-equal": "^1.6.4" + } + }, + "node_modules/@umijs/plugin-run": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/plugin-run/-/plugin-run-4.1.0.tgz", + "integrity": "sha512-G+kd2YB6yG7Gj8MKV9n09jHn2QKcv5ChTFg8IuoG8hHsKbkSFE91Ne3OzEHeOXKHyNGX0IOQE8WJ6iXVqi9XTw==", + "dependencies": { + "tsx": "^3.12.2" + } + }, + "node_modules/@umijs/plugins": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/plugins/-/plugins-4.1.0.tgz", + "integrity": "sha512-IU9OmFEruys5PmupYEbnpX8JIGC03l/tmteWDFCpKAq/kocUQBHVsO2v+AApYm5Hsyy2WvWtjew+dcXxGY70Tw==", + "dev": true, + "dependencies": { + "@ahooksjs/use-request": "^2.0.0", + "@ant-design/antd-theme-variable": "^1.0.0", + "@ant-design/cssinjs": "^1.9.1", + "@ant-design/icons": "^4.7.0", + "@ant-design/moment-webpack-plugin": "^0.0.3", + "@ant-design/pro-components": "^2.0.1", + "@tanstack/react-query": "^4.24.10", + "@tanstack/react-query-devtools": "^4.24.10", + "@umijs/bundler-utils": "4.1.0", + "@umijs/valtio": "1.0.4", + "antd-dayjs-webpack-plugin": "^1.0.6", + "axios": "^0.27.2", + "babel-plugin-import": "^1.13.8", + "babel-plugin-styled-components": "2.1.4", + "dayjs": "^1.11.7", + "dva-core": "^2.0.4", + "dva-immer": "^1.0.0", + "dva-loading": "^3.0.22", + "event-emitter": "~0.3.5", + "fast-deep-equal": "3.1.3", + "intl": "1.2.5", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "qiankun": "^2.10.1", + "react-intl": "3.12.1", + "react-redux": "^8.0.5", + "redux": "^4.2.1", + "styled-components": "6.1.1", + "tslib": "^2", + "warning": "^4.0.3" + } + }, + "node_modules/@umijs/plugins/node_modules/@ahooksjs/use-request": { + "version": "2.8.15", + "resolved": "https://registry.npmmirror.com/@ahooksjs/use-request/-/use-request-2.8.15.tgz", + "integrity": "sha512-xhVaM4fyIiAMdVFuuU5i3CFUdFa/IblF+fvITVMFaUEO3w/V5tVCAF6WIA3T03n1/RPuzRkA7Ao1PFtSGtGelw==", + "dev": true, + "dependencies": { + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0" + } + }, + "node_modules/@umijs/plugins/node_modules/@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "dev": true, + "dependencies": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "node_modules/@umijs/plugins/node_modules/@ant-design/icons": { + "version": "4.8.1", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-4.8.1.tgz", + "integrity": "sha512-JRAuiqllnMsiZIO8OvBOeFconprC3cnMpJ9MvXrHh+H5co9rlg8/aSHQfLf5jKKe18lUgRaIwC2pz8YxH9VuCA==", + "dev": true, + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.3.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "lodash": "^4.17.15", + "rc-util": "^5.9.4" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@umijs/plugins/node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", + "dev": true + }, + "node_modules/@umijs/plugins/node_modules/@tanstack/react-query": { + "version": "4.36.1", + "resolved": "https://registry.npmmirror.com/@tanstack/react-query/-/react-query-4.36.1.tgz", + "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", + "dev": true, + "dependencies": { + "@tanstack/query-core": "4.36.1", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@umijs/plugins/node_modules/@tanstack/react-query-devtools": { + "version": "4.36.1", + "resolved": "https://registry.npmmirror.com/@tanstack/react-query-devtools/-/react-query-devtools-4.36.1.tgz", + "integrity": "sha512-WYku83CKP3OevnYSG8Y/QO9g0rT75v1om5IvcWUwiUZJ4LanYGLVCZ8TdFG5jfsq4Ej/lu2wwDAULEUnRIMBSw==", + "dev": true, + "dependencies": { + "@tanstack/match-sorter-utils": "^8.7.0", + "superjson": "^1.10.0", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "@tanstack/react-query": "^4.36.1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@umijs/plugins/node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/@umijs/plugins/node_modules/babel-plugin-styled-components": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", + "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "lodash": "^4.17.21", + "picomatch": "^2.3.1" + }, + "peerDependencies": { + "styled-components": ">= 2" + } + }, + "node_modules/@umijs/plugins/node_modules/dva": { + "version": "2.5.0-beta.2", + "resolved": "https://registry.npmmirror.com/dva/-/dva-2.5.0-beta.2.tgz", + "integrity": "sha512-kc2+CHhF1cNIU3Rg1miMhHgOKJ/VDrq9d6ynVBZf1EN2YKWU3MVFq/uTTBqMr2qkR0m9f8VKHOFmfKLtfMI93Q==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "@types/isomorphic-fetch": "^0.0.34", + "@types/react-router-dom": "^4.2.7", + "@types/react-router-redux": "^5.0.13", + "dva-core": "^1.5.0-beta.2", + "global": "^4.3.2", + "history": "^4.6.3", + "invariant": "^2.2.2", + "isomorphic-fetch": "^2.2.1", + "react-redux": "^5.0.5", + "react-router-dom": "^4.1.2", + "react-router-redux": "5.0.0-alpha.9", + "redux": "^3.7.2" + }, + "peerDependencies": { + "react": "15.x || ^16.0.0-0", + "react-dom": "15.x || ^16.0.0-0" + } + }, + "node_modules/@umijs/plugins/node_modules/dva-core": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/dva-core/-/dva-core-2.0.4.tgz", + "integrity": "sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "flatten": "^1.0.2", + "global": "^4.3.2", + "invariant": "^2.2.1", + "is-plain-object": "^2.0.3", + "redux-saga": "^0.16.0", + "warning": "^3.0.0" + }, + "peerDependencies": { + "redux": "4.x" + } + }, + "node_modules/@umijs/plugins/node_modules/dva-core/node_modules/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/@umijs/plugins/node_modules/dva-immer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dva-immer/-/dva-immer-1.0.1.tgz", + "integrity": "sha512-Oe+yFTtu2UMNcMoBLLTa/ms1RjUry38Yf0ClN8LiHbF+gT2QAdLYLk3miu1dDtm3Sxl9nk+DH1edKX0Hy49uQg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "immer": "^8.0.4" + }, + "peerDependencies": { + "dva": "^2.5.0-0" + } + }, + "node_modules/@umijs/plugins/node_modules/dva/node_modules/dva-core": { + "version": "1.5.0-beta.2", + "resolved": "https://registry.npmmirror.com/dva-core/-/dva-core-1.5.0-beta.2.tgz", + "integrity": "sha512-xmtr/J63EZXBdVXNBW+QCD7p9CaE8kAo2U1faRyv3PIGcy0G3Y6IBDNtoBB/Cj3nzk/jvX0dv96Hnh1kpSnI7Q==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "flatten": "^1.0.2", + "global": "^4.3.2", + "invariant": "^2.2.1", + "is-plain-object": "^2.0.3", + "redux": "^3.7.1", + "redux-saga": "^0.16.0", + "warning": "^3.0.0" + }, + "peerDependencies": { + "redux": "3.x" + } + }, + "node_modules/@umijs/plugins/node_modules/dva/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + }, + "node_modules/@umijs/plugins/node_modules/dva/node_modules/react-redux": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-5.1.2.tgz", + "integrity": "sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.1.2", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "loose-envify": "^1.1.0", + "prop-types": "^15.6.1", + "react-is": "^16.6.0", + "react-lifecycles-compat": "^3.0.0" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0", + "redux": "^2.0.0 || ^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@umijs/plugins/node_modules/dva/node_modules/redux": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/redux/-/redux-3.7.2.tgz", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "dev": true, + "peer": true, + "dependencies": { + "lodash": "^4.2.1", + "lodash-es": "^4.2.1", + "loose-envify": "^1.1.0", + "symbol-observable": "^1.0.3" + } + }, + "node_modules/@umijs/plugins/node_modules/dva/node_modules/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/@umijs/plugins/node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmmirror.com/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/@umijs/plugins/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true, + "peer": true + }, + "node_modules/@umijs/plugins/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "peer": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/@umijs/plugins/node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmmirror.com/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/plugins/node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/@umijs/plugins/node_modules/react-intl": { + "version": "3.12.1", + "resolved": "https://registry.npmmirror.com/react-intl/-/react-intl-3.12.1.tgz", + "integrity": "sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==", + "dev": true, + "dependencies": { + "@formatjs/intl-displaynames": "^1.2.0", + "@formatjs/intl-listformat": "^1.4.1", + "@formatjs/intl-relativetimeformat": "^4.5.9", + "@formatjs/intl-unified-numberformat": "^3.2.0", + "@formatjs/intl-utils": "^2.2.0", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/invariant": "^2.2.31", + "hoist-non-react-statics": "^3.3.2", + "intl-format-cache": "^4.2.21", + "intl-messageformat": "^7.8.4", + "intl-messageformat-parser": "^3.6.4", + "shallow-equal": "^1.2.1" + }, + "peerDependencies": { + "react": "^16.3.0" + } + }, + "node_modules/@umijs/plugins/node_modules/react-redux": { + "version": "8.1.3", + "resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4 || ^5.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/@umijs/plugins/node_modules/react-router": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/react-router/-/react-router-4.3.1.tgz", + "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", + "dev": true, + "peer": true, + "dependencies": { + "history": "^4.7.2", + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.1", + "warning": "^4.0.1" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/@umijs/plugins/node_modules/react-router-dom": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-4.3.1.tgz", + "integrity": "sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==", + "dev": true, + "peer": true, + "dependencies": { + "history": "^4.7.2", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.1", + "react-router": "^4.3.1", + "warning": "^4.0.1" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/@umijs/plugins/node_modules/react-router/node_modules/hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", + "dev": true, + "peer": true + }, + "node_modules/@umijs/plugins/node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@umijs/plugins/node_modules/styled-components": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/styled-components/-/styled-components-6.1.1.tgz", + "integrity": "sha512-cpZZP5RrKRIClBW5Eby4JM1wElLVP4NQrJbJ0h10TidTyJf4SIIwa3zLXOoPb4gJi8MsJ8mjq5mu2IrEhZIAcQ==", + "dev": true, + "dependencies": { + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/unitless": "^0.8.0", + "@types/stylis": "^4.0.2", + "css-to-react-native": "^3.2.0", + "csstype": "^3.1.2", + "postcss": "^8.4.31", + "shallowequal": "^1.1.0", + "stylis": "^4.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + } + }, + "node_modules/@umijs/preset-umi": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/preset-umi/-/preset-umi-4.1.0.tgz", + "integrity": "sha512-zi/VIGftPPK8kmpKg4UkU2x1LyRU2Lh/crGt3DS8eOtA4YhDsmF8iRfgJ4wO4LIlb2gEFy66DAUPic8Hz58ZMQ==", + "dependencies": { + "@iconify/utils": "2.1.1", + "@svgr/core": "6.5.1", + "@umijs/ast": "4.1.0", + "@umijs/babel-preset-umi": "4.1.0", + "@umijs/bundler-esbuild": "4.1.0", + "@umijs/bundler-utils": "4.1.0", + "@umijs/bundler-vite": "4.1.0", + "@umijs/bundler-webpack": "4.1.0", + "@umijs/core": "4.1.0", + "@umijs/did-you-know": "1.0.3", + "@umijs/es-module-parser": "0.0.7", + "@umijs/history": "5.3.1", + "@umijs/mfsu": "4.1.0", + "@umijs/plugin-run": "4.1.0", + "@umijs/renderer-react": "4.1.0", + "@umijs/server": "4.1.0", + "@umijs/ui": "3.0.1", + "@umijs/utils": "4.1.0", + "@umijs/zod2ts": "4.1.0", + "babel-plugin-dynamic-import-node": "2.3.3", + "click-to-react-component": "^1.0.8", + "core-js": "3.34.0", + "current-script-polyfill": "1.0.0", + "enhanced-resolve": "5.9.3", + "fast-glob": "3.2.12", + "html-webpack-plugin": "5.5.0", + "less-plugin-resolve": "1.0.2", + "path-to-regexp": "1.7.0", + "postcss": "^8.4.21", + "postcss-prefix-selector": "1.16.0", + "react": "18.1.0", + "react-dom": "18.1.0", + "react-router": "6.3.0", + "react-router-dom": "6.3.0", + "regenerator-runtime": "0.13.11" + } + }, + "node_modules/@umijs/preset-umi/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/@umijs/preset-umi/node_modules/path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/@umijs/preset-umi/node_modules/react": { + "version": "18.1.0", + "resolved": "https://registry.npmmirror.com/react/-/react-18.1.0.tgz", + "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/preset-umi/node_modules/react-dom": { + "version": "18.1.0", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.1.0.tgz", + "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.22.0" + }, + "peerDependencies": { + "react": "^18.1.0" + } + }, + "node_modules/@umijs/preset-umi/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/@umijs/preset-umi/node_modules/scheduler": { + "version": "0.22.0", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.22.0.tgz", + "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/@umijs/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmmirror.com/@umijs/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-RtFvB+/GmjRhpHcqNgnw8iWZpTlxOnmNxi8eDcecxMmxmSgeDj25LV0jr4Q6rOhv3GTIfVGBhkwz+khGT5tfmg==", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@umijs/renderer-react": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/renderer-react/-/renderer-react-4.1.0.tgz", + "integrity": "sha512-8hBdlLyE9u3cHrx4Y5XYW4KPb4JpVs7xzve0yY+IEBrrdC5jPdVwaPy8EfM+Y93Fjwtj+cb4O1tKlAmBEAur+w==", + "dependencies": { + "@babel/runtime": "7.23.6", + "@loadable/component": "5.15.2", + "history": "5.3.0", + "react-helmet-async": "1.3.0", + "react-router-dom": "6.3.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/@umijs/renderer-react/node_modules/@babel/runtime": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@umijs/route-utils": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/@umijs/route-utils/-/route-utils-4.0.1.tgz", + "integrity": "sha512-+1ixf1BTOLuH+ORb4x8vYMPeIt38n9q0fJDwhv9nSxrV46mxbLF0nmELIo9CKQB2gHfuC4+hww6xejJ6VYnBHQ==" + }, + "node_modules/@umijs/server": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/server/-/server-4.1.0.tgz", + "integrity": "sha512-wwXntDQT/5lOCgr3gerePPeDp8KF/0xj4caPr8PW6MEbDt5XmPCj2jZ6TPJmDMTb0iD8JGwqpVr478LxXMbA6w==", + "dependencies": { + "@umijs/bundler-utils": "4.1.0", + "history": "5.3.0", + "react": "18.1.0", + "react-dom": "18.1.0", + "react-router-dom": "6.3.0" + } + }, + "node_modules/@umijs/server/node_modules/react": { + "version": "18.1.0", + "resolved": "https://registry.npmmirror.com/react/-/react-18.1.0.tgz", + "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/server/node_modules/react-dom": { + "version": "18.1.0", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.1.0.tgz", + "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.22.0" + }, + "peerDependencies": { + "react": "^18.1.0" + } + }, + "node_modules/@umijs/server/node_modules/scheduler": { + "version": "0.22.0", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.22.0.tgz", + "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/@umijs/test": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/test/-/test-4.1.0.tgz", + "integrity": "sha512-GMcK+dQZ8WmRIFgC39+GkY6YssTtqFElpwcBpqgcYumIwJBsKAVKIy8sCAR8FdttZKj8RRY4/nAd8L+l0xZE6A==", + "dependencies": { + "@babel/plugin-transform-modules-commonjs": "7.23.3", + "@jest/types": "27.5.1", + "@umijs/bundler-utils": "4.1.0", + "@umijs/utils": "4.1.0", + "babel-jest": "^29.7.0", + "esbuild": "0.17.19", + "identity-obj-proxy": "3.0.0", + "isomorphic-unfetch": "4.0.2" + } + }, + "node_modules/@umijs/ui": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@umijs/ui/-/ui-3.0.1.tgz", + "integrity": "sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw==" + }, + "node_modules/@umijs/use-params": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/@umijs/use-params/-/use-params-1.0.9.tgz", + "integrity": "sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@umijs/utils": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/utils/-/utils-4.1.0.tgz", + "integrity": "sha512-rBGosE12ceUXIvBmmkJ6bDoCP8106VzMLnjlR31ZfFgos9L/GT6xW4clBURW7ddXFbZvOkvjsb4rmCbhOwUHYQ==", + "dependencies": { + "chokidar": "3.5.3", + "pino": "7.11.0" + } + }, + "node_modules/@umijs/valtio": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@umijs/valtio/-/valtio-1.0.4.tgz", + "integrity": "sha512-2PmAU4rNQbBqrWpJ86Si9UGC23JapkYw8k7Hna6V8DHLaEYJENdp2e/IKLPHSPghzrdQtbUHSoOAUsBd4i4OzQ==", + "dev": true, + "dependencies": { + "valtio": "1.11.2" + } + }, + "node_modules/@umijs/zod2ts": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@umijs/zod2ts/-/zod2ts-4.1.0.tgz", + "integrity": "sha512-iQCAupVF2HsalA7gfLDvXDt8pnKqBe2CZu9kHnqWrItnl/UkwiUvB8CHLprKKBNRtJNuukfnXkqsPXTb1mYiSA==" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "peer": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz", + "integrity": "sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==", + "dependencies": { + "@babel/core": "^7.21.4", + "@babel/plugin-transform-react-jsx-self": "^7.21.0", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peer": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "dependencies": { + "object-assign": "4.x" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/antd": { + "version": "5.12.7", + "resolved": "https://registry.npmmirror.com/antd/-/antd-5.12.7.tgz", + "integrity": "sha512-+SnWLO0kwXFnP15PAzvczZG3/yGu1PoYJa1mcYajqi248gaFA6HjY0s/kXVyXEIzY8dO3MT+RenYweU+s47Fwg==", + "dependencies": { + "@ant-design/colors": "^7.0.2", + "@ant-design/cssinjs": "^1.18.2", + "@ant-design/icons": "^5.2.6", + "@ant-design/react-slick": "~1.0.2", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~1.5.1", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/tour": "~1.11.1", + "@rc-component/trigger": "^1.18.2", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.10", + "qrcode.react": "^3.1.0", + "rc-cascader": "~3.20.0", + "rc-checkbox": "~3.1.0", + "rc-collapse": "~3.7.2", + "rc-dialog": "~9.3.4", + "rc-drawer": "~6.5.2", + "rc-dropdown": "~4.1.0", + "rc-field-form": "~1.41.0", + "rc-image": "~7.5.1", + "rc-input": "~1.3.11", + "rc-input-number": "~8.4.0", + "rc-mentions": "~2.9.1", + "rc-menu": "~9.12.4", + "rc-motion": "^2.9.0", + "rc-notification": "~5.3.0", + "rc-pagination": "~4.0.4", + "rc-picker": "~3.14.6", + "rc-progress": "~3.5.1", + "rc-rate": "~2.12.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.2.2", + "rc-select": "~14.10.0", + "rc-slider": "~10.5.0", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.36.1", + "rc-tabs": "~12.14.1", + "rc-textarea": "~1.5.3", + "rc-tooltip": "~6.1.3", + "rc-tree": "~5.8.2", + "rc-tree-select": "~5.15.0", + "rc-upload": "~4.5.2", + "rc-util": "^5.38.1", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/antd-dayjs-webpack-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/antd-dayjs-webpack-plugin/-/antd-dayjs-webpack-plugin-1.0.6.tgz", + "integrity": "sha512-UlK3BfA0iE2c5+Zz/Bd2iPAkT6cICtrKG4/swSik5MZweBHtgmu1aUQCHvICdiv39EAShdZy/edfP6mlkS/xXg==", + "dev": true, + "peerDependencies": { + "dayjs": "*" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmmirror.com/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmmirror.com/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/axios": { + "version": "1.6.4", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.4.tgz", + "integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-import": { + "version": "1.13.8", + "resolved": "https://registry.npmmirror.com/babel-plugin-import/-/babel-plugin-import-1.13.8.tgz", + "integrity": "sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmmirror.com/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.4", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/buffer/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "peer": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "dev": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001574", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", + "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/click-to-react-component": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/click-to-react-component/-/click-to-react-component-1.1.0.tgz", + "integrity": "sha512-/DjZemufS1BkxyRgZL3r7HXVVOFRWVQi5Xd4EBnjxZMwrHEh0OlUVA2N9CjXkZ0x8zMf8dL1cKnnx+xUWUg4VA==", + "dependencies": { + "@floating-ui/react-dom-interactions": "^0.3.1", + "htm": "^3.1.0", + "react-merge-refs": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "peer": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", + "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dependencies": { + "is-what": "^3.14.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js": { + "version": "3.34.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.34.0.tgz", + "integrity": "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==", + "hasInstallScript": true + }, + "node_modules/core-js-pure": { + "version": "3.35.0", + "resolved": "https://registry.npmmirror.com/core-js-pure/-/core-js-pure-3.35.0.tgz", + "integrity": "sha512-f+eRYmkou59uh7BPcyJ8MC76DiGhspj1KMxVIcF24tzP8NA9HVa1uC7BTW2tgx7E1QVCzDzsgp7kArrzhlz8Ew==", + "hasInstallScript": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmmirror.com/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cp-file": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/cp-file/-/cp-file-7.0.0.tgz", + "integrity": "sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "nested-error-stacks": "^2.0.0", + "p-event": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cp-file/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cpy": { + "version": "8.1.2", + "resolved": "https://registry.npmmirror.com/cpy/-/cpy-8.1.2.tgz", + "integrity": "sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==", + "dev": true, + "dependencies": { + "arrify": "^2.0.1", + "cp-file": "^7.0.0", + "globby": "^9.2.0", + "has-glob": "^1.0.0", + "junk": "^3.1.0", + "nested-error-stacks": "^2.1.0", + "p-all": "^2.1.0", + "p-filter": "^2.1.0", + "p-map": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cpy/node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cpy/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cpy/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cpy/node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/cpy/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/cpy/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cpy/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/cpy/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cpy/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cpy/node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cpy/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cpy/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmmirror.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-functions-list": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/css-functions-list/-/css-functions-list-3.2.1.tgz", + "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", + "peer": true, + "engines": { + "node": ">=12 || >=16" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.7.1", + "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.7", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dev": true, + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/cssdb": { + "version": "6.6.3", + "resolved": "https://registry.npmmirror.com/cssdb/-/cssdb-6.6.3.tgz", + "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/current-script-polyfill": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/current-script-polyfill/-/current-script-polyfill-1.0.0.tgz", + "integrity": "sha512-qv8s+G47V6Hq+g2kRE5th+ASzzrL7b6l+tap1DHKK25ZQJv3yIFhH96XaQ7NGL+zRW3t/RDbweJf/dJDe5Z5KA==" + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "peer": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "peer": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + } + }, + "node_modules/default-browser/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/default-browser/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/default-browser/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/default-browser/node_modules/npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/default-browser/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/default-browser/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/default-browser/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detect-indent": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/detect-newline": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/dva-core": { + "version": "1.6.0-beta.7", + "resolved": "https://registry.npmmirror.com/dva-core/-/dva-core-1.6.0-beta.7.tgz", + "integrity": "sha512-e+0yOEWUK+XbnqflX+KXoLZDGxn+kLKgcT6XYT8GyRe0xcbmLEbwDZO0DXUkdsbxfqSOlLkIprMUoYJ3D5B4Gg==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "flatten": "^1.0.2", + "global": "^4.3.2", + "invariant": "^2.2.1", + "is-plain-object": "^2.0.3", + "redux-saga": "^0.16.0", + "warning": "^3.0.0" + }, + "peerDependencies": { + "redux": "4.x" + } + }, + "node_modules/dva-core/node_modules/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/dva-loading": { + "version": "3.0.24", + "resolved": "https://registry.npmmirror.com/dva-loading/-/dva-loading-3.0.24.tgz", + "integrity": "sha512-3j4bmuXOYH93xe+CC//z3Si8XMx6DLJveep+UbzKy0jhA7oQrCCZTdKxu0UPYXeAMYXpCO25pG4JOnVhzmC7ug==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0" + }, + "peerDependencies": { + "dva-core": "^1.1.0 || ^1.5.0-0 || ^1.6.0-0" + } + }, + "node_modules/easy-icons": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/easy-icons/-/easy-icons-1.1.5.tgz", + "integrity": "sha512-S++SiolrVnHlMe+20wFeb2Tv9M33yh5E+KLp7NC0g/wWkYueREfD0HdPg8XmzZ0bT5hzamQaCwghjmUebBxUKg==", + "dev": true, + "dependencies": { + "@rgrove/parse-xml": "^2.0.2", + "chalk": "^4.1.0", + "cpy": "^8.1.2", + "globby": "^11.0.0", + "insert-css": "^2.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.template": "^4.5.0", + "lodash.upperfirst": "^4.3.1", + "ramda": "^0.27.0", + "svgo": "^1.3.2", + "yargs": "^17.0.0-candidate.0" + } + }, + "node_modules/easy-icons/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/easy-icons/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/easy-icons/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/easy-icons/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/easy-icons/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/easy-icons/node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/easy-icons/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/easy-icons/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/easy-icons/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/easy-icons/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/easy-icons/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "node_modules/easy-icons/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/easy-icons/node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "node_modules/easy-icons/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/easy-icons/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/easy-icons/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/easy-icons/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/easy-icons/node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/easy-icons/node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/easy-icons/node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/easy-icons/node_modules/svgo/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/easy-icons/node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/easy-icons/node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/easy-icons/node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.622", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.622.tgz", + "integrity": "sha512-GZ47DEy0Gm2Z8RVG092CkFvX7SdotG57c4YZOe8W8qD4rOmk3plgeNmiLVRHP/Liqj1wRiY3uUUod9vb9hnxZA==" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.9.3", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmmirror.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "peer": true + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es5-imcompatible-versions": { + "version": "0.1.88", + "resolved": "https://registry.npmmirror.com/es5-imcompatible-versions/-/es5-imcompatible-versions-0.1.88.tgz", + "integrity": "sha512-GDJTmDGd65qyDk9fGClO+MOUgHuBuGMCL6EawvLH8Ob+HN8ui1OJwa4fEK0qh3fg2ieT2/pdZj41yrxnmOrK8w==" + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "27.2.3", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.3.tgz", + "integrity": "sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==", + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0", + "eslint": "^7.0.0 || ^8.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "peer": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "peer": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "peer": true + }, + "node_modules/fast-redact": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/fast-redact/-/fast-redact-3.3.0.tgz", + "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "peer": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "peer": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "peer": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "peer": true + }, + "node_modules/flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash.", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.4", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz", + "integrity": "sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "node-abort-controller": "^3.0.1", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">=12.13.0", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "typescript": ">3.6.0", + "webpack": "^5.11.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmmirror.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmmirror.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-hooks-list": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/git-hooks-list/-/git-hooks-list-3.1.0.tgz", + "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "peer": true + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "peer": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "peer": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "peer": true + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmmirror.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-glob/-/has-glob-1.0.0.tgz", + "integrity": "sha512-D+8A457fBShSEI3tFCj65PAbT++5sKiFtdCdOam0gnfBgw9D277OERk+HM9qYJXmdVLZ/znez10SqHN0BBQ50g==", + "dev": true, + "dependencies": { + "is-glob": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-glob/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "dependencies": { + "@babel/runtime": "^7.7.6" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/htm": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/htm/-/htm-3.1.1.tgz", + "integrity": "sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==" + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "dependencies": { + "void-elements": "3.1.0" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/i18next": { + "version": "23.7.16", + "resolved": "https://registry.npmmirror.com/i18next/-/i18next-23.7.16.tgz", + "integrity": "sha512-SrqFkMn9W6Wb43ZJ9qrO6U2U4S80RsFMA7VYFSqp7oc7RllQOYDCdRfsse6A7Cq/V8MnpxKvJCYgM8++27n4Fw==", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immer": { + "version": "8.0.4", + "resolved": "https://registry.npmmirror.com/immer/-/immer-8.0.4.tgz", + "integrity": "sha512-jMfL18P+/6P6epANRvRk6q8t+3gGhqsJ9EuJ25AXE+9bNTYtssvzeYbEd0mXRYWCmmXSIbnlpz6vd6iJlmGGGQ==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-html-entry": { + "version": "1.15.2", + "resolved": "https://registry.npmmirror.com/import-html-entry/-/import-html-entry-1.15.2.tgz", + "integrity": "sha512-XXtXpGAq811qBgFVdOU6LoOC67rirwv7qwz/zuz1KxbpAM7QYX6kMvELOdSfhjZ9ntQnsdEOXT2zV7xMYaky6w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.7.2" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "peer": true + }, + "node_modules/insert-css": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/insert-css/-/insert-css-2.0.0.tgz", + "integrity": "sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/intl": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/intl/-/intl-1.2.5.tgz", + "integrity": "sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==", + "dev": true + }, + "node_modules/intl-format-cache": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/intl-format-cache/-/intl-format-cache-4.3.1.tgz", + "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==", + "dev": true + }, + "node_modules/intl-messageformat": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/intl-messageformat/-/intl-messageformat-7.8.4.tgz", + "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", + "dev": true, + "dependencies": { + "intl-format-cache": "^4.2.21", + "intl-messageformat-parser": "^3.6.4" + } + }, + "node_modules/intl-messageformat-parser": { + "version": "3.6.4", + "resolved": "https://registry.npmmirror.com/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", + "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", + "deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser", + "dev": true, + "dependencies": { + "@formatjs/intl-unified-numberformat": "^3.2.0" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-arrow-function": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-arrow-function/-/is-arrow-function-2.0.3.tgz", + "integrity": "sha512-iDStzcT1FJMzx+TjCOK//uDugSe/Mif/8a+T0htydQ3qkJGvSweTZpVYz4hpJH0baloSPiAFQdA8WslAgJphvQ==", + "dependencies": { + "is-callable": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-equal": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/is-equal/-/is-equal-1.7.0.tgz", + "integrity": "sha512-hErktGR9jmoYXNWlbrwGjc8eHh09mbY6TWSTTFtnMcKaCuSMN8z+Ni5ma/8mkbVpe4CbB7V6kN1MkCg9bCx5bA==", + "dependencies": { + "es-get-iterator": "^1.1.3", + "es-to-primitive": "^1.2.1", + "functions-have-names": "^1.2.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "is-arrow-function": "^2.0.3", + "is-bigint": "^1.0.4", + "is-boolean-object": "^1.1.2", + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-generator-function": "^1.0.10", + "is-number-object": "^1.0.7", + "is-regex": "^1.1.4", + "is-string": "^1.0.7", + "is-symbol": "^1.0.4", + "isarray": "^2.0.5", + "object-inspect": "^1.13.1", + "object.entries": "^1.1.7", + "object.getprototypeof": "^1.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dependencies": { + "call-bind": "^1.0.2" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/isomorphic-unfetch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/isomorphic-unfetch/-/isomorphic-unfetch-4.0.2.tgz", + "integrity": "sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==", + "dependencies": { + "node-fetch": "^3.2.0", + "unfetch": "^5.0.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-haste-map/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-haste-map/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-haste-map/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-haste-map/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "29.4.3", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-29.4.3.tgz", + "integrity": "sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.4.3", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-base64": { + "version": "3.7.5", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.5.tgz", + "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsencrypt": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/jsencrypt/-/jsencrypt-3.3.2.tgz", + "integrity": "sha512-arQR1R1ESGdAxY7ZheWr12wCaF2yF47v5qpB76TtV64H1pyGudk9Hvw8Y9tb/FiTIaaTRUyaSnm5T/Y53Ghm/A==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "peer": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "peer": true + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "peer": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/known-css-properties": { + "version": "0.26.0", + "resolved": "https://registry.npmmirror.com/known-css-properties/-/known-css-properties-0.26.0.tgz", + "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==", + "peer": true + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==" + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-plugin-resolve": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/less-plugin-resolve/-/less-plugin-resolve-1.0.2.tgz", + "integrity": "sha512-e1AHq0XNTU8S3d9JCc8CFYajoUBr0EK3pcuLT5PogyBBeE0knzZJL105kKKSZWfq2lQLq3/uEDrMK3JPq+fHaA==", + "dependencies": { + "enhanced-resolve": "^5.15.0" + } + }, + "node_modules/less-plugin-resolve/node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss/-/lightningcss-1.22.1.tgz", + "integrity": "sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.22.1", + "lightningcss-darwin-x64": "1.22.1", + "lightningcss-freebsd-x64": "1.22.1", + "lightningcss-linux-arm-gnueabihf": "1.22.1", + "lightningcss-linux-arm64-gnu": "1.22.1", + "lightningcss-linux-arm64-musl": "1.22.1", + "lightningcss-linux-x64-gnu": "1.22.1", + "lightningcss-linux-x64-musl": "1.22.1", + "lightningcss-win32-x64-msvc": "1.22.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.1.tgz", + "integrity": "sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.1.tgz", + "integrity": "sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.1.tgz", + "integrity": "sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.1.tgz", + "integrity": "sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.1.tgz", + "integrity": "sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.1.tgz", + "integrity": "sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.1.tgz", + "integrity": "sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.1.tgz", + "integrity": "sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.1.tgz", + "integrity": "sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "engines": { + "node": ">=14" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true, + "peer": true + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, + "node_modules/lodash.tonumber": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz", + "integrity": "sha512-SY0SwuPOHRwKcCNTdsntPYb+Zddz5mDUIVFABzRMqmAiL41pMeyoQFGxYAw5zdc9NnH4pbJqiqqp5ckfxa+zSA==" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "peer": true + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "peer": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "peer": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dev": true, + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "peer": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "devOptional": true, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "peer": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "peer": true + }, + "node_modules/nested-error-stacks": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", + "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", + "dev": true + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "peer": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.getprototypeof": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/object.getprototypeof/-/object.getprototypeof-1.0.5.tgz", + "integrity": "sha512-4G0QiXpoIppBUz5efmxTm/HTbVN2ioGjk/PbsaNvwISFX+saj8muGp6vNuzIdsosFxM4V/kpUVNvy/+9+DVBZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "reflect.getprototypeof": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/omit.js/-/omit.js-2.0.2.tgz", + "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" + }, + "node_modules/on-exit-leak-free": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", + "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "peer": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "node_modules/p-all": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-all/-/p-all-2.1.0.tgz", + "integrity": "sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==", + "dev": true, + "dependencies": { + "p-map": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-all/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dev": true, + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-filter/-/p-filter-2.1.0.tgz", + "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", + "dev": true, + "dependencies": { + "p-map": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-filter/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz", + "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "devOptional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pino": { + "version": "7.11.0", + "resolved": "https://registry.npmmirror.com/pino/-/pino-7.11.0.tgz", + "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.0.0", + "on-exit-leak-free": "^0.2.0", + "pino-abstract-transport": "v0.5.0", + "pino-std-serializers": "^4.0.0", + "process-warning": "^1.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.1.0", + "safe-stable-stringify": "^2.1.0", + "sonic-boom": "^2.2.1", + "thread-stream": "^0.15.1" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "dependencies": { + "duplexify": "^4.1.2", + "split2": "^4.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/point-in-polygon": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz", + "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==" + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmmirror.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmmirror.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmmirror.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "peer": true + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.1.0.tgz", + "integrity": "sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmmirror.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmmirror.com/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-prefix-selector": { + "version": "1.16.0", + "resolved": "https://registry.npmmirror.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz", + "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==", + "peerDependencies": { + "postcss": ">4 <9" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.5.0", + "resolved": "https://registry.npmmirror.com/postcss-preset-env/-/postcss-preset-env-7.5.0.tgz", + "integrity": "sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ==", + "dependencies": { + "@csstools/postcss-color-function": "^1.1.0", + "@csstools/postcss-font-format-keywords": "^1.0.0", + "@csstools/postcss-hwb-function": "^1.0.0", + "@csstools/postcss-ic-unit": "^1.0.0", + "@csstools/postcss-is-pseudo-class": "^2.0.2", + "@csstools/postcss-normalize-display-values": "^1.0.0", + "@csstools/postcss-oklab-function": "^1.1.0", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.0", + "@csstools/postcss-unset-value": "^1.0.0", + "autoprefixer": "^10.4.6", + "browserslist": "^4.20.3", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^6.6.1", + "postcss-attribute-case-insensitive": "^5.0.0", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.2", + "postcss-color-hex-alpha": "^8.0.3", + "postcss-color-rebeccapurple": "^7.0.2", + "postcss-custom-media": "^8.0.0", + "postcss-custom-properties": "^12.1.7", + "postcss-custom-selectors": "^6.0.0", + "postcss-dir-pseudo-class": "^6.0.4", + "postcss-double-position-gradients": "^3.1.1", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.3", + "postcss-image-set-function": "^4.0.6", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.0", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.1.4", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.3", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.4", + "postcss-pseudo-class-any-link": "^7.1.2", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmmirror.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "peer": true + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "peer": true, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz", + "integrity": "sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==", + "dependencies": { + "balanced-match": "^1.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npmmirror.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz", + "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", + "peerDependencies": { + "postcss": ">=5.0.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "peer": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/prettier-plugin-organize-imports": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.4.tgz", + "integrity": "sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==", + "peerDependencies": { + "@volar/vue-language-plugin-pug": "^1.0.4", + "@volar/vue-typescript": "^1.0.4", + "prettier": ">=2.0", + "typescript": ">=2.9" + }, + "peerDependenciesMeta": { + "@volar/vue-language-plugin-pug": { + "optional": true + }, + "@volar/vue-typescript": { + "optional": true + } + } + }, + "node_modules/prettier-plugin-packagejson": { + "version": "2.4.3", + "resolved": "https://registry.npmmirror.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.4.3.tgz", + "integrity": "sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ==", + "dependencies": { + "sort-package-json": "2.4.1", + "synckit": "0.8.5" + }, + "peerDependencies": { + "prettier": ">= 1.16.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/proxy-compare": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/proxy-compare/-/proxy-compare-2.5.1.tgz", + "integrity": "sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==", + "dev": true + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "optional": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qiankun": { + "version": "2.10.16", + "resolved": "https://registry.npmmirror.com/qiankun/-/qiankun-2.10.16.tgz", + "integrity": "sha512-Q3tSVUrPnzx8ckEOKIoPnhb5LE28FPKyan/r6jEuGJGqTbIy+3rp6E2/KfU82ZI4yZpef9LFTrnxdj49jAEsmw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.5", + "import-html-entry": "^1.15.1", + "lodash": "^4.17.11", + "single-spa": "^5.9.2" + } + }, + "node_modules/qrcode.react": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/qrcode.react/-/qrcode.react-3.1.0.tgz", + "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmmirror.com/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ramda": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/ramda/-/ramda-0.27.2.tgz", + "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rc-cascader": { + "version": "3.20.0", + "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.20.0.tgz", + "integrity": "sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.10.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.1.0.tgz", + "integrity": "sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.7.2.tgz", + "integrity": "sha512-ZRw6ipDyOnfLFySxAiCMdbHtb5ePAsB9mT17PA6y1mRD/W6KHRaZeb5qK/X9xDV1CqgyxMpzw0VdS74PCcUk4A==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.3.4", + "resolved": "https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.3.4.tgz", + "integrity": "sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "6.5.2", + "resolved": "https://registry.npmmirror.com/rc-drawer/-/rc-drawer-6.5.2.tgz", + "integrity": "sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.36.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.1.0.tgz", + "integrity": "sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^1.7.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "1.41.0", + "resolved": "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.41.0.tgz", + "integrity": "sha512-k9AS0wmxfJfusWDP/YXWTpteDNaQ4isJx9UKxx4/e8Dub4spFeZ54/EuN2sYrMRID/+hUznPgVZeg+Gf7XSYCw==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "7.5.1", + "resolved": "https://registry.npmmirror.com/rc-image/-/rc-image-7.5.1.tgz", + "integrity": "sha512-Z9loECh92SQp0nSipc0MBuf5+yVC05H/pzC+Nf8xw1BKDFUJzUeehYBjaWlxly8VGBZJcTHYri61Fz9ng1G3Ag==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.3.4", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "1.3.11", + "resolved": "https://registry.npmmirror.com/rc-input/-/rc-input-1.3.11.tgz", + "integrity": "sha512-jhH7QP5rILanSHCGSUkdoFE5DEtpv8FIseYhuYkOZzUBeiVAiwM3q26YqZ6xBB0QFEZ/yUAgms4xW4iuub3xFQ==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "8.4.0", + "resolved": "https://registry.npmmirror.com/rc-input-number/-/rc-input-number-8.4.0.tgz", + "integrity": "sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.3.5", + "rc-util": "^5.28.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "2.9.1", + "resolved": "https://registry.npmmirror.com/rc-mentions/-/rc-mentions-2.9.1.tgz", + "integrity": "sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^1.5.0", + "classnames": "^2.2.6", + "rc-input": "~1.3.5", + "rc-menu": "~9.12.0", + "rc-textarea": "~1.5.0", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.12.4", + "resolved": "https://registry.npmmirror.com/rc-menu/-/rc-menu-9.12.4.tgz", + "integrity": "sha512-t2NcvPLV1mFJzw4F21ojOoRVofK2rWhpKPx69q2raUsiHPDP6DDevsBILEYdsIegqBeSXoWs2bf6CueBKg3BFg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.17.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.0.tgz", + "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/rc-notification/-/rc-notification-5.3.0.tgz", + "integrity": "sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.0.4.tgz", + "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "3.14.6", + "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-3.14.6.tgz", + "integrity": "sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.5.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "3.5.1", + "resolved": "https://registry.npmmirror.com/rc-progress/-/rc-progress-3.5.1.tgz", + "integrity": "sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/rc-rate/-/rc-rate-2.12.0.tgz", + "integrity": "sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.2.2.tgz", + "integrity": "sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.10.0", + "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.10.0.tgz", + "integrity": "sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.5.0", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.5.0", + "resolved": "https://registry.npmmirror.com/rc-slider/-/rc-slider-10.5.0.tgz", + "integrity": "sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.27.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.36.1", + "resolved": "https://registry.npmmirror.com/rc-table/-/rc-table-7.36.1.tgz", + "integrity": "sha512-9qMxEm/3Y8ukdW8I8ZvmhX0QImfNKzH0JEUlSbyaUlsYTB+/tQEbfaB8YkG4sHVZ1io4pxqK/BXoZYqebi/TIQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.37.0", + "rc-virtual-list": "^3.11.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "12.14.1", + "resolved": "https://registry.npmmirror.com/rc-tabs/-/rc-tabs-12.14.1.tgz", + "integrity": "sha512-1xlE7JQNYxD5RwBsM7jf2xSdUrkmTSDFLFEm2gqAgnsRlOGydEzXXNAVTOT6QcgM1G/gCm+AgG+FYPUGb4Hs4g==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.1.0", + "rc-menu": "~9.12.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.5.3.tgz", + "integrity": "sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.3.5", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "6.1.3", + "resolved": "https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-6.1.3.tgz", + "integrity": "sha512-HMSbSs5oieZ7XddtINUddBLSVgsnlaSb3bZrzzGWjXa7/B7nNedmsuz72s7EWFEro9mNa7RyF3gOXKYqvJiTcQ==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^1.18.0", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.8.2", + "resolved": "https://registry.npmmirror.com/rc-tree/-/rc-tree-5.8.2.tgz", + "integrity": "sha512-xH/fcgLHWTLmrSuNphU8XAqV7CdaOQgm4KywlLGNoTMhDAcNR3GVNP6cZzb0GrKmIZ9yae+QLot/cAgUdPRMzg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.15.0", + "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.15.0.tgz", + "integrity": "sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.10.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-upload": { + "version": "4.5.2", + "resolved": "https://registry.npmmirror.com/rc-upload/-/rc-upload-4.5.2.tgz", + "integrity": "sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.38.1", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-5.38.1.tgz", + "integrity": "sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-virtual-list": { + "version": "3.11.3", + "resolved": "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz", + "integrity": "sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmmirror.com/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmmirror.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-i18next": { + "version": "14.0.0", + "resolved": "https://registry.npmmirror.com/react-i18next/-/react-i18next-14.0.0.tgz", + "integrity": "sha512-OCrS8rHNAmnr8ggGRDxjakzihrMW7HCbsplduTm3EuuQ6fyvWGT41ksZpqbduYoqJurBmEsEVZ1pILSUWkHZng==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "html-parse-stringify": "^3.0.1" + }, + "peerDependencies": { + "i18next": ">= 23.2.3", + "react": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/react-infinite-scroll-component": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/react-infinite-scroll-component/-/react-infinite-scroll-component-6.1.0.tgz", + "integrity": "sha512-SQu5nCqy8DxQWpnUVLx7V7b7LcA37aM7tvoWjTLZp1dk6EJibM5/4EJKzOnl07/BsM1Y40sKLuqjCwwH/xV0TQ==", + "dependencies": { + "throttle-debounce": "^2.1.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/react-infinite-scroll-component/node_modules/throttle-debounce": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz", + "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-merge-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==" + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "dependencies": { + "history": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "dependencies": { + "history": "^5.2.0", + "react-router": "6.3.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-router-redux": { + "version": "5.0.0-alpha.9", + "resolved": "https://registry.npmmirror.com/react-router-redux/-/react-router-redux-5.0.0-alpha.9.tgz", + "integrity": "sha512-euSgNIANnRXr4GydIuwA7RZCefrLQzIw5WdXspS8NPYbV+FxrKSS9MKG7U9vb6vsKHONnA4VxrVNWfnMUnUQAw==", + "deprecated": "This project is no longer maintained.", + "dev": true, + "peer": true, + "dependencies": { + "history": "^4.7.2", + "prop-types": "^15.6.0", + "react-router": "^4.2.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-redux/node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmmirror.com/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/react-router-redux/node_modules/hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", + "dev": true, + "peer": true + }, + "node_modules/react-router-redux/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true, + "peer": true + }, + "node_modules/react-router-redux/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "peer": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/react-router-redux/node_modules/react-router": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/react-router/-/react-router-4.3.1.tgz", + "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", + "dev": true, + "peer": true, + "dependencies": { + "history": "^4.7.2", + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.1", + "warning": "^4.0.1" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "dependencies": { + "lodash": "^4.0.1" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "peer": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "peer": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "peer": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "peer": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "peer": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/real-require": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/real-require/-/real-require-0.1.0.tgz", + "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "peer": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-saga": { + "version": "0.16.2", + "resolved": "https://registry.npmmirror.com/redux-saga/-/redux-saga-0.16.2.tgz", + "integrity": "sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w==", + "dev": true + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-accents": { + "version": "0.4.2", + "resolved": "https://registry.npmmirror.com/remove-accents/-/remove-accents-0.4.2.tgz", + "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==", + "dev": true + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "dev": true, + "peer": true + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==" + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmmirror.com/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "5.9.0", + "resolved": "https://registry.npmmirror.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.9.0.tgz", + "integrity": "sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==", + "dependencies": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "2.x || 3.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmmirror.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "optional": true + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmmirror.com/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", + "dev": true + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/single-spa": { + "version": "5.9.5", + "resolved": "https://registry.npmmirror.com/single-spa/-/single-spa-5.9.5.tgz", + "integrity": "sha512-9SQdmsyz4HSP+3gs6PJzhkaMEg+6zTlu9oxIghnwUX3eq+ajq4ft5egl0iyR55LAmO/UwvU8NgIWs/ZyQMa6dw==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmmirror.com/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sonic-boom": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/sonic-boom/-/sonic-boom-2.8.0.tgz", + "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==" + }, + "node_modules/sort-package-json": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/sort-package-json/-/sort-package-json-2.4.1.tgz", + "integrity": "sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==", + "dependencies": { + "detect-indent": "^7.0.1", + "detect-newline": "^4.0.0", + "git-hooks-list": "^3.0.0", + "globby": "^13.1.2", + "is-plain-obj": "^4.1.0", + "sort-object-keys": "^1.1.3" + }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/sort-package-json/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/sort-package-json/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmmirror.com/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/sort-package-json/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "peer": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "peer": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "peer": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "peer": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmmirror.com/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-http/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "peer": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "peer": true + }, + "node_modules/stylelint": { + "version": "14.16.1", + "resolved": "https://registry.npmmirror.com/stylelint/-/stylelint-14.16.1.tgz", + "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==", + "peer": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^7.1.0", + "css-functions-list": "^3.1.0", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^6.0.1", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.2.0", + "ignore": "^5.2.1", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.26.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.19", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^2.3.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^4.0.2" + }, + "bin": { + "stylelint": "bin/stylelint.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", + "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", + "peerDependencies": { + "stylelint": "^14.4.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "25.0.0", + "resolved": "https://registry.npmmirror.com/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz", + "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==", + "dependencies": { + "stylelint-config-recommended": "^7.0.0" + }, + "peerDependencies": { + "stylelint": "^14.4.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "peer": true + }, + "node_modules/stylelint/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylis": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.3.1.tgz", + "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==" + }, + "node_modules/superjson": { + "version": "1.13.3", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-1.13.3.tgz", + "integrity": "sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==", + "dev": true, + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/superjson/node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dev": true, + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + } + }, + "node_modules/superjson/node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "engines": { + "node": ">=12.13" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "peer": true + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/swr": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/swr/-/swr-2.2.4.tgz", + "integrity": "sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==", + "dependencies": { + "client-only": "^0.0.1", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmmirror.com/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + } + }, + "node_modules/systemjs": { + "version": "6.14.3", + "resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.14.3.tgz", + "integrity": "sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==" + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmmirror.com/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "peer": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.26.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "peer": true + }, + "node_modules/thread-stream": { + "version": "0.15.2", + "resolved": "https://registry.npmmirror.com/thread-stream/-/thread-stream-0.15.2.tgz", + "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", + "dependencies": { + "real-require": "^0.1.0" + } + }, + "node_modules/throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmmirror.com/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", + "dev": true, + "peer": true + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "dev": true, + "peer": true + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tsx": { + "version": "3.14.0", + "resolved": "https://registry.npmmirror.com/tsx/-/tsx-3.14.0.tgz", + "integrity": "sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==", + "dependencies": { + "esbuild": "~0.18.20", + "get-tsconfig": "^4.7.2", + "source-map-support": "^0.5.21" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsx/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmmirror.com/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/umi": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/umi/-/umi-4.1.0.tgz", + "integrity": "sha512-qNvYmZuXPP05OihSyR97IbHEpktHN1AGfMyxFeZtnTHZfSmaft36pLfH14PUXpFpUcAL5naiUuD0wcXzU3K+ag==", + "dependencies": { + "@babel/runtime": "7.23.6", + "@umijs/bundler-utils": "4.1.0", + "@umijs/bundler-webpack": "4.1.0", + "@umijs/core": "4.1.0", + "@umijs/lint": "4.1.0", + "@umijs/preset-umi": "4.1.0", + "@umijs/renderer-react": "4.1.0", + "@umijs/server": "4.1.0", + "@umijs/test": "4.1.0", + "@umijs/utils": "4.1.0", + "prettier-plugin-organize-imports": "^3.2.2", + "prettier-plugin-packagejson": "2.4.3" + }, + "bin": { + "umi": "bin/umi.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/umi-plugin-icons": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/umi-plugin-icons/-/umi-plugin-icons-0.1.1.tgz", + "integrity": "sha512-6euQAZx9uxg2clWN5fh0xGfzI6+5jnfS0W5xA+IdeM169HMlV7T+UDJKW20NBQS9xMhhkhZJLLAHmjPQlYESuA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.15.4", + "easy-icons": "^1.0.0" + } + }, + "node_modules/umi-request": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/umi-request/-/umi-request-1.4.0.tgz", + "integrity": "sha512-OknwtQZddZHi0Ggi+Vr/olJ7HNMx4AzlywyK0W3NZBT7B0stjeZ9lcztA85dBgdAj3KVk8uPJPZSnGaDjELhrA==", + "dependencies": { + "isomorphic-fetch": "^2.2.1", + "qs": "^6.9.1" + } + }, + "node_modules/umi/node_modules/@babel/runtime": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unfetch": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/unfetch/-/unfetch-5.0.0.tgz", + "integrity": "sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==", + "workspaces": [ + "./packages/isomorphic-unfetch" + ] + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "dev": true + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmmirror.com/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmmirror.com/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "peer": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "peer": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/valtio": { + "version": "1.11.2", + "resolved": "https://registry.npmmirror.com/valtio/-/valtio-1.11.2.tgz", + "integrity": "sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==", + "dev": true, + "dependencies": { + "proxy-compare": "2.5.1", + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "dev": true, + "peer": true + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.1.tgz", + "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.21", + "rollup": "^3.20.2" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz", + "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + } + } + } +} diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..944f14d --- /dev/null +++ b/web/package.json @@ -0,0 +1,35 @@ +{ + "private": true, + "author": "zhaofengchao <13723060510@163.com>", + "scripts": { + "dev": "umi dev", + "build": "umi build", + "postinstall": "umi setup", + "setup": "umi setup", + "start": "npm run dev" + }, + "dependencies": { + "@ant-design/icons": "^5.2.6", + "@ant-design/pro-components": "^2.6.46", + "@ant-design/pro-layout": "^7.17.16", + "antd": "^5.12.7", + "axios": "^1.6.3", + "classnames": "^2.5.1", + "i18next": "^23.7.16", + "js-base64": "^3.7.5", + "jsencrypt": "^3.3.2", + "lodash": "^4.17.21", + "react-i18next": "^14.0.0", + "react-infinite-scroll-component": "^6.1.0", + "umi": "^4.0.90", + "umi-request": "^1.4.0" + }, + "devDependencies": { + "@types/lodash": "^4.14.202", + "@types/react": "^18.0.33", + "@types/react-dom": "^18.0.11", + "@umijs/plugins": "^4.1.0", + "typescript": "^5.0.3", + "umi-plugin-icons": "^0.1.1" + } +} diff --git a/web/reducer.js b/web/reducer.js new file mode 100644 index 0000000..a38a1ba --- /dev/null +++ b/web/reducer.js @@ -0,0 +1,27 @@ +import React, { useReducer } from 'react' +const CHANGE_LOCALE = 'CHANGE_LOCALE' + +const mainContext = React.createContext() + +const reducer = (state, action) => { + switch (action.type) { + case CHANGE_LOCALE: + return { ...state, locale: action.locale || 'zh' } + default: + return state + } +} + +const ContextProvider = (props) => { + const [state, dispatch] = useReducer(reducer, { + locale: 'zh' + }) + return ( + <mainContext.Provider value={{ state, dispatch }}> + {props.children} + </mainContext.Provider> + ) +} + +export { reducer, mainContext, ContextProvider } + diff --git a/web/routes.js b/web/routes.js new file mode 100644 index 0000000..c924fe3 --- /dev/null +++ b/web/routes.js @@ -0,0 +1,89 @@ + + +const routes = [ + { + path: '/login', + component: '@/pages/login', + layout: false + }, + { + path: '/', + component: '@/layouts', // é»˜è®¤é¡µé¢ + redirect: '/knowledge', + // wrappers: [ + // '@/wrappers/auth', + // ] + }, + + { + id: 2, + name: '知识库', + icon: 'home', + auth: [3, 4, 100], + path: '/knowledge', + component: '@/pages/knowledge', + pathname: 'knowledge' + }, + { + id: 2, + name: '知识库', + icon: 'home', + auth: [3, 4, 100], + path: '/knowledge/add/*', + component: '@/pages/add-knowledge', + pathname: 'knowledge', + // routes: [{ + // id: 3, + // name: '设置', + // icon: 'home', + // auth: [3, 4, 100], + // path: '/knowledge/add/setting', + // component: '@/pages/setting', + // pathname: "setting" + // }, { + // id: 1, + // name: '文件', + // icon: 'file', + // auth: [3, 4, 100], + // path: '/knowledge/add/file', + // component: '@/pages/file', + // pathname: 'file' + // },] + }, + { + id: 3, + name: 'èŠå¤©', + icon: 'home', + auth: [3, 4, 100], + path: '/chat', + component: '@/pages/chat', + pathname: "chat" + }, + { + id: 3, + name: '设置', + icon: 'home', + auth: [3, 4, 100], + path: '/setting', + component: '@/pages/setting', + pathname: "setting" + }, + { + id: 1, + name: '文件', + icon: 'file', + auth: [3, 4, 100], + path: '/file', + component: '@/pages/file', + pathname: 'file' + }, + { + path: '/*', + component: '@/pages/404', + layout: false + } + +]; + + +module.exports = routes; \ No newline at end of file diff --git a/web/src/.umi/core/EmptyRoute.tsx b/web/src/.umi/core/EmptyRoute.tsx new file mode 100644 index 0000000..bee45a6 --- /dev/null +++ b/web/src/.umi/core/EmptyRoute.tsx @@ -0,0 +1,9 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import React from 'react'; +import { Outlet, useOutletContext } from 'umi'; +export default function EmptyRoute() { + const context = useOutletContext(); + return <Outlet context={context} />; +} diff --git a/web/src/.umi/core/defineApp.ts b/web/src/.umi/core/defineApp.ts new file mode 100644 index 0000000..dceaed6 --- /dev/null +++ b/web/src/.umi/core/defineApp.ts @@ -0,0 +1,17 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import type { IRuntimeConfig as Plugin0 } from 'C:/Users/zfc/Desktop/docgpt/client/src/.umi/plugin-dva/runtimeConfig.d' +interface IDefaultRuntimeConfig { + onRouteChange?: (props: { routes: any, clientRoutes: any, location: any, action: any, isFirst: boolean }) => void; + patchRoutes?: (props: { routes: any }) => void; + patchClientRoutes?: (props: { routes: any }) => void; + render?: (oldRender: () => void) => void; + rootContainer?: (lastRootContainer: JSX.Element, args?: any) => void; + [key: string]: any; +} +export type RuntimeConfig = IDefaultRuntimeConfig & Plugin0 + +export function defineApp(config: RuntimeConfig): RuntimeConfig { + return config; +} diff --git a/web/src/.umi/core/helmet.ts b/web/src/.umi/core/helmet.ts new file mode 100644 index 0000000..d1c92d1 --- /dev/null +++ b/web/src/.umi/core/helmet.ts @@ -0,0 +1,10 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import React from 'react'; +import { HelmetProvider } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/renderer-react'; +import { context } from './helmetContext'; + +export const innerProvider = (container) => { + return React.createElement(HelmetProvider, { context }, container); +} diff --git a/web/src/.umi/core/helmetContext.ts b/web/src/.umi/core/helmetContext.ts new file mode 100644 index 0000000..2faa971 --- /dev/null +++ b/web/src/.umi/core/helmetContext.ts @@ -0,0 +1,4 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +export const context = {}; diff --git a/web/src/.umi/core/history.ts b/web/src/.umi/core/history.ts new file mode 100644 index 0000000..e367c6a --- /dev/null +++ b/web/src/.umi/core/history.ts @@ -0,0 +1,66 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import { createHashHistory, createMemoryHistory, createBrowserHistory } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/renderer-react'; +import type { UmiHistory } from './historyIntelli'; + +let history: UmiHistory; +let basename: string = '/'; +export function createHistory(opts: any) { + let h; + if (opts.type === 'hash') { + h = createHashHistory(); + } else if (opts.type === 'memory') { + h = createMemoryHistory(opts); + } else { + h = createBrowserHistory(); + } + if (opts.basename) { + basename = opts.basename; + } + + + history = { + ...h, + push(to, state) { + h.push(patchTo(to, h), state); + }, + replace(to, state) { + h.replace(patchTo(to, h), state); + }, + get location() { + return h.location; + }, + get action() { + return h.action; + } + } + + return h; +} + +// Patch `to` to support basename +// Refs: +// https://github.com/remix-run/history/blob/3e9dab4/packages/history/index.ts#L484 +// https://github.com/remix-run/history/blob/dev/docs/api-reference.md#to +function patchTo(to: any, h: History) { + if (typeof to === 'string') { + return `${stripLastSlash(basename)}${to}`; + } else if (typeof to === 'object') { + + const currentPathname = h.location.pathname; + + return { + ...to, + pathname: to.pathname? `${stripLastSlash(basename)}${to.pathname}` : currentPathname, + }; + } else { + throw new Error(`Unexpected to: ${to}`); + } +} + +function stripLastSlash(path) { + return path.slice(-1) === '/' ? path.slice(0, -1) : path; +} + +export { history }; diff --git a/web/src/.umi/core/historyIntelli.ts b/web/src/.umi/core/historyIntelli.ts new file mode 100644 index 0000000..40318da --- /dev/null +++ b/web/src/.umi/core/historyIntelli.ts @@ -0,0 +1,132 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import { getRoutes } from './route' +import type { History } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/renderer-react' + +type Routes = Awaited<ReturnType<typeof getRoutes>>['routes'] +type AllRoute = Routes[keyof Routes] +type IsRoot<T extends any> = 'parentId' extends keyof T ? false : true + +// show `/` in not `layout / wrapper` only +type GetAllRouteWithoutLayout<Item extends AllRoute> = Item extends any + ? 'isWrapper' extends keyof Item + ? never + : 'isLayout' extends keyof Item + ? never + : Item + : never +type AllRouteWithoutLayout = GetAllRouteWithoutLayout<AllRoute> +type IndexRoutePathname = '/' extends AllRouteWithoutLayout['path'] + ? '/' + : never + +type GetChildrens<T extends any> = T extends any + ? IsRoot<T> extends true + ? never + : T + : never +type Childrens = GetChildrens<AllRoute> +type Root = Exclude<AllRoute, Childrens> +type AllIds = AllRoute['id'] + +type GetChildrensByParentId< + Id extends AllIds, + Item = AllRoute +> = Item extends any + ? 'parentId' extends keyof Item + ? Item['parentId'] extends Id + ? Item + : never + : never + : never + +type RouteObject< + Id extends AllIds, + Item = GetChildrensByParentId<Id> +> = IsNever<Item> extends true + ? '' + : Item extends AllRoute + ? { + [Key in Item['path'] as TrimSlash<Key>]: UnionMerge< + RouteObject<Item['id']> + > + } + : never + +type GetRootRouteObject<Item extends Root> = Item extends Root + ? { + [K in Item['path'] as TrimSlash<K>]: UnionMerge<RouteObject<Item['id']>> + } + : never +type MergedResult = UnionMerge<GetRootRouteObject<Root>> + +// --- patch history types --- + +type HistoryTo = Parameters<History['push']>['0'] +type HistoryPath = Exclude<HistoryTo, string> + +type UmiPathname = Path<MergedResult> | (string & {}) +interface UmiPath extends HistoryPath { + pathname: UmiPathname +} +type UmiTo = UmiPathname | UmiPath + +type UmiPush = (to: UmiTo, state?: any) => void +type UmiReplace = (to: UmiTo, state?: any) => void + + +export interface UmiHistory extends History { + push: UmiPush + replace: UmiReplace +} + +// --- type utils --- +type TrimLeftSlash<T extends string> = T extends `/${infer R}` + ? TrimLeftSlash<R> + : T +type TrimRightSlash<T extends string> = T extends `${infer R}/` + ? TrimRightSlash<R> + : T +type TrimSlash<T extends string> = TrimLeftSlash<TrimRightSlash<T>> + +type IsNever<T> = [T] extends [never] ? true : false +type IsEqual<A, B> = (<G>() => G extends A ? 1 : 2) extends <G>() => G extends B + ? 1 + : 2 + ? true + : false + +type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ( + k: infer I +) => void + ? I + : never +type UnionMerge<U> = UnionToIntersection<U> extends infer O + ? { [K in keyof O]: O[K] } + : never + +type ExcludeEmptyKey<T> = IsEqual<T, ''> extends true ? never : T + +type PathConcat< + TKey extends string, + TValue, + N = TrimSlash<TKey> +> = TValue extends string + ? ExcludeEmptyKey<N> + : + | ExcludeEmptyKey<N> + | `${N & string}${IsNever<ExcludeEmptyKey<N>> extends true + ? '' + : '/'}${UnionPath<TValue>}` + +type UnionPath<T> = { + [K in keyof T]-?: PathConcat<K & string, T[K]> +}[keyof T] + +type MakeSureLeftSlash<T> = T extends any + ? `/${TrimRightSlash<T & string>}` + : never + +// exclude `/*`, because it always at the top of the IDE tip list +type Path<T, K = UnionPath<T>> = Exclude<MakeSureLeftSlash<K>, '/*'> | IndexRoutePathname diff --git a/web/src/.umi/core/plugin.ts b/web/src/.umi/core/plugin.ts new file mode 100644 index 0000000..a3c6a54 --- /dev/null +++ b/web/src/.umi/core/plugin.ts @@ -0,0 +1,45 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import * as Plugin_0 from '@@/core/helmet.ts'; +import * as Plugin_1 from 'C:/Users/zfc/Desktop/docgpt/client/src/.umi/plugin-dva/runtime.tsx'; +import { PluginManager } from 'umi'; + +function __defaultExport (obj) { + if (obj.default) { + return typeof obj.default === 'function' ? obj.default() : obj.default + } + return obj; +} +export function getPlugins() { + return [ + { + apply: Plugin_0, + path: process.env.NODE_ENV === 'production' ? void 0 : '@@/core/helmet.ts', + }, + { + apply: Plugin_1, + path: process.env.NODE_ENV === 'production' ? void 0 : 'C:/Users/zfc/Desktop/docgpt/client/src/.umi/plugin-dva/runtime.tsx', + }, + ]; +} + +export function getValidKeys() { + return ['patchRoutes','patchClientRoutes','modifyContextOpts','modifyClientRenderOpts','rootContainer','innerProvider','i18nProvider','accessProvider','dataflowProvider','outerProvider','render','onRouteChange','dva',]; +} + +let pluginManager = null; + +export function createPluginManager() { + pluginManager = PluginManager.create({ + plugins: getPlugins(), + validKeys: getValidKeys(), + }); + + + return pluginManager; +} + +export function getPluginManager() { + return pluginManager; +} diff --git a/web/src/.umi/core/pluginConfig.ts b/web/src/.umi/core/pluginConfig.ts new file mode 100644 index 0000000..0ffd054 --- /dev/null +++ b/web/src/.umi/core/pluginConfig.ts @@ -0,0 +1,292 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import { IConfigFromPluginsJoi } from "./pluginConfigJoi.d"; + +interface IConfigTypes { + codeSplitting: { + jsStrategy: "bigVendors" | "depPerChunk" | "granularChunks"; + jsStrategyOptions?: ({ + +} | undefined); + cssStrategy?: ("mergeAll" | undefined); + cssStrategyOptions?: ({ + +} | undefined); +}; + title: string; + styles: Array<string | { + src?: (string | undefined); +} | { + content?: (string | undefined); +} | { [x: string]: any }>; + scripts: Array<string | { + src?: (string | undefined); +} | { + content?: (string | undefined); +} | { [x: string]: any }>; + routes: Array<{ + component?: (string | undefined); + layout?: (false | undefined); + path?: (string | undefined); + redirect?: (string | undefined); + routes?: IConfigTypes['routes']; + wrappers?: (Array<string> | undefined); +} | { [x: string]: any }>; + routeLoader: { + moduleType: "esm" | "cjs"; +}; + reactRouter5Compat: boolean | { + +}; + presets: Array<string>; + plugins: Array<string>; + npmClient: "pnpm" | "tnpm" | "cnpm" | "yarn" | "npm"; + mountElementId: string; + metas: Array<{ + charset?: (string | undefined); + content?: (string | undefined); + "http-equiv"?: (string | undefined); + name?: (string | undefined); +} | { [x: string]: any }>; + links: Array<{ + crossorigin?: (string | undefined); + href?: (string | undefined); + hreflang?: (string | undefined); + media?: (string | undefined); + referrerpolicy?: (string | undefined); + rel?: (string | undefined); + sizes?: (any | undefined); + title?: (any | undefined); + type?: (any | undefined); +} | { [x: string]: any }>; + historyWithQuery: { + +}; + history: { + type: "browser" | "hash" | "memory"; +}; + headScripts: Array<string | { + src?: (string | undefined); +} | { + content?: (string | undefined); +} | { [x: string]: any }>; + esbuildMinifyIIFE: boolean; + conventionRoutes: { + base?: (string | undefined); + exclude?: (Array<any> | undefined); +}; + conventionLayout: boolean; + base: string; + analyze: { + +}; + writeToDisk: boolean; + theme: { [x: string]: any }; + targets: { [x: string]: any }; + svgr: { [x: string]: any }; + svgo: { [x: string]: any } | boolean; + stylusLoader: { [x: string]: any }; + styleLoader: { [x: string]: any }; + srcTranspilerOptions: { + esbuild?: ({ [x: string]: any } | undefined); + swc?: ({ [x: string]: any } | undefined); +}; + srcTranspiler: "babel" | "esbuild" | "swc"; + sassLoader: { [x: string]: any }; + runtimePublicPath: { + +}; + purgeCSS: { [x: string]: any }; + publicPath: string; + proxy: { [x: string]: any } | Array<any>; + postcssLoader: { [x: string]: any }; + outputPath: string; + normalCSSLoaderModules: { [x: string]: any }; + mfsu: { + cacheDirectory?: (string | undefined); + chainWebpack?: (((...args: any[]) => unknown) | undefined); + esbuild?: (boolean | undefined); + exclude?: (Array<string | any> | undefined); + include?: (Array<string> | undefined); + mfName?: (string | undefined); + remoteAliases?: (Array<string> | undefined); + remoteName?: (string | undefined); + runtimePublicPath?: (boolean | undefined); + shared?: ({ [x: string]: any } | undefined); + strategy?: ("eager" | "normal" | undefined); +} | boolean; + mdx: { + loader?: (string | undefined); + loaderOptions?: ({ [x: string]: any } | undefined); +}; + manifest: { + basePath?: (string | undefined); + fileName?: (string | undefined); +}; + lessLoader: { [x: string]: any }; + jsMinifierOptions: { [x: string]: any }; + jsMinifier: "esbuild" | "swc" | "terser" | "uglifyJs" | "none"; + inlineLimit: number; + ignoreMomentLocale: boolean; + https: { + cert?: (string | undefined); + hosts?: (Array<string> | undefined); + http2?: (boolean | undefined); + key?: (string | undefined); +}; + hash: boolean; + forkTSChecker: { [x: string]: any }; + fastRefresh: boolean; + extraPostCSSPlugins: Array<any>; + extraBabelPresets: Array<string | Array<any>>; + extraBabelPlugins: Array<string | Array<any>>; + extraBabelIncludes: Array<string | any>; + externals: { [x: string]: any } | string | ((...args: any[]) => unknown); + esm: { + +}; + devtool: "cheap-source-map" | "cheap-module-source-map" | "eval" | "eval-source-map" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | "source-map" | "hidden-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "inline-source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | boolean; + depTranspiler: "babel" | "esbuild" | "swc" | "none"; + define: { [x: string]: any }; + deadCode: { + context?: (string | undefined); + detectUnusedExport?: (boolean | undefined); + detectUnusedFiles?: (boolean | undefined); + exclude?: (Array<string> | undefined); + failOnHint?: (boolean | undefined); + patterns?: (Array<string> | undefined); +}; + cssPublicPath: string; + cssMinifierOptions: { [x: string]: any }; + cssMinifier: "cssnano" | "esbuild" | "parcelCSS" | "none"; + cssLoaderModules: { [x: string]: any }; + cssLoader: { [x: string]: any }; + copy: Array<{ + from: string; + to: string; +} | string>; + checkDepCssModules?: boolean; + cacheDirectoryPath: string; + babelLoaderCustomize: string; + autoprefixer: { [x: string]: any }; + autoCSSModules: boolean; + alias: { [x: string]: any }; + crossorigin: boolean | { + includes?: (Array<any> | undefined); +}; + esmi: { + cdnOrigin: string; + shimUrl?: (string | undefined); +}; + exportStatic: { + extraRoutePaths?: (((...args: any[]) => unknown) | Array<string> | undefined); + ignorePreRenderError?: (boolean | undefined); +}; + favicons: Array<string>; + helmet: boolean; + icons: { + autoInstall?: ({ + +} | undefined); + defaultComponentConfig?: ({ + +} | undefined); + alias?: ({ + +} | undefined); + include?: (Array<string> | undefined); +}; + mock: { + exclude?: (Array<string> | undefined); + include?: (Array<string> | undefined); +}; + mpa: { + template?: (string | undefined); + layout?: (string | undefined); + getConfigFromEntryFile?: (boolean | undefined); + entry?: ({ + +} | undefined); +}; + phantomDependency: { + exclude?: (Array<string> | undefined); +}; + polyfill: { + imports?: (Array<string> | undefined); +}; + routePrefetch: { + +}; + terminal: { + +}; + tmpFiles: boolean; + clientLoader: { + +}; + routeProps: { + +}; + ssr: { + serverBuildPath?: (string | undefined); + platform?: (string | undefined); + builder?: ("esbuild" | "webpack" | undefined); +}; + lowImport: { + libs?: (Array<any> | undefined); + css?: (string | undefined); +}; + vite: { + +}; + apiRoute: { + platform?: (string | undefined); +}; + monorepoRedirect: boolean | { + srcDir?: (Array<string> | undefined); + exclude?: (Array<any> | undefined); + peerDeps?: (boolean | undefined); +}; + test: { + +}; + clickToComponent: { + /** 默认情况下,点击将默认编辑器为vscode, ä½ å¯ä»¥è®¾ç½®ç¼–辑器 vscode 或者 vscode-insiders */ + editor?: (string | undefined); +}; + legacy: { + buildOnly?: (boolean | undefined); + nodeModulesTransform?: (boolean | undefined); + checkOutput?: (boolean | undefined); +}; + /** 设置 babel class-properties å¯ç”¨ loose + @doc https://umijs.org/docs/api/config#classpropertiesloose */ + classPropertiesLoose: boolean | { + +}; + ui: { + +}; + hmrGuardian: boolean; + verifyCommit: { + scope?: (Array<string> | undefined); + allowEmoji?: (boolean | undefined); +}; + run: { + globals?: (Array<string> | undefined); +}; + dva: { + extraModels?: (Array<string> | undefined); + immer?: ({ [x: string]: any } | undefined); + skipModelValidate?: (boolean | undefined); +}; +}; + +type PrettifyWithCloseable<T> = { + [K in keyof T]: T[K] | false; +} & {}; + +export type IConfigFromPlugins = PrettifyWithCloseable< + IConfigFromPluginsJoi & Partial<IConfigTypes> +>; diff --git a/web/src/.umi/core/pluginConfigJoi.d.ts b/web/src/.umi/core/pluginConfigJoi.d.ts new file mode 100644 index 0000000..215e7b5 --- /dev/null +++ b/web/src/.umi/core/pluginConfigJoi.d.ts @@ -0,0 +1,7 @@ +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +// Created by Umi Plugin + +export interface IConfigFromPluginsJoi { + +} diff --git a/web/src/.umi/core/polyfill.ts b/web/src/.umi/core/polyfill.ts new file mode 100644 index 0000000..2ae5f04 --- /dev/null +++ b/web/src/.umi/core/polyfill.ts @@ -0,0 +1,220 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.error.cause.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.aggregate-error.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.aggregate-error.cause.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.at.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.find-last.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.find-last-index.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.push.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.reduce.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.reduce-right.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.to-reversed.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.to-sorted.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.to-spliced.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.array.with.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.map.group-by.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.object.group-by.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.object.has-own.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.promise.any.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.promise.with-resolvers.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.reflect.to-string-tag.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.regexp.flags.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.string.at-alternative.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.string.is-well-formed.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.string.replace-all.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.string.to-well-formed.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.typed-array.at.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.typed-array.find-last.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.typed-array.find-last-index.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.typed-array.set.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.typed-array.to-reversed.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.typed-array.to-sorted.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/es.typed-array.with.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.suppressed-error.constructor.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.from-async.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.filter-out.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.filter-reject.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.group.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.group-by.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.group-by-to-map.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.group-to-map.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.is-template-object.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.last-index.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.last-item.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array.unique-by.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array-buffer.detached.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array-buffer.transfer.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.constructor.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.drop.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.every.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.filter.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.find.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.flat-map.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.for-each.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.from.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.indexed.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.map.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.reduce.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.some.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.take.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.async-iterator.to-array.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.bigint.range.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.composite-key.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.composite-symbol.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.data-view.get-float16.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.data-view.get-uint8-clamped.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.data-view.set-float16.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.data-view.set-uint8-clamped.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.disposable-stack.constructor.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.function.demethodize.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.function.is-callable.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.function.is-constructor.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.function.metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.function.un-this.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.constructor.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.dispose.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.drop.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.every.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.filter.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.find.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.flat-map.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.for-each.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.from.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.indexed.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.map.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.range.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.reduce.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.some.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.take.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.to-array.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.iterator.to-async.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.json.is-raw-json.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.json.parse.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.json.raw-json.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.delete-all.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.emplace.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.every.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.filter.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.find.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.find-key.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.from.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.includes.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.key-by.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.key-of.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.map-keys.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.map-values.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.merge.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.of.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.reduce.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.some.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.update.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.update-or-insert.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.map.upsert.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.clamp.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.deg-per-rad.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.degrees.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.fscale.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.f16round.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.iaddh.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.imulh.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.isubh.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.rad-per-deg.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.radians.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.scale.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.seeded-prng.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.signbit.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.math.umulh.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.number.from-string.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.number.range.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.object.iterate-entries.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.object.iterate-keys.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.object.iterate-values.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.observable.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.promise.try.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.define-metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.delete-metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.get-metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.has-metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.reflect.metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.regexp.escape.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.add-all.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.delete-all.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.difference.v2.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.difference.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.every.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.filter.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.find.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.from.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.intersection.v2.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.intersection.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.is-disjoint-from.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.is-subset-of.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.is-superset-of.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.join.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.map.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.of.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.reduce.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.some.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.symmetric-difference.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.union.v2.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.set.union.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.string.at.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.string.cooked.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.string.code-points.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.string.dedent.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.async-dispose.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.dispose.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.is-registered-symbol.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.is-registered.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.is-well-known-symbol.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.is-well-known.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.matcher.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.metadata.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.metadata-key.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.observable.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.pattern-match.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.symbol.replace-all.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.typed-array.from-async.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.typed-array.filter-out.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.typed-array.filter-reject.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.typed-array.group-by.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.typed-array.to-spliced.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.typed-array.unique-by.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.uint8-array.from-base64.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.uint8-array.from-hex.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.uint8-array.to-base64.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.uint8-array.to-hex.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-map.delete-all.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-map.from.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-map.of.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-map.emplace.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-map.upsert.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-set.add-all.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-set.delete-all.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-set.from.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/esnext.weak-set.of.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/web.dom-exception.stack.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/web.immediate.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/web.self.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/web.structured-clone.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/web.url.can-parse.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/web.url-search-params.delete.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/web.url-search-params.has.js"; +import "C:/Users/zfc/Desktop/docgpt/client/node_modules/core-js/modules/web.url-search-params.size.js"; +import 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/preset-umi/node_modules/regenerator-runtime/runtime.js'; +export {}; diff --git a/web/src/.umi/core/route.tsx b/web/src/.umi/core/route.tsx new file mode 100644 index 0000000..9632e50 --- /dev/null +++ b/web/src/.umi/core/route.tsx @@ -0,0 +1,22 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import React from 'react'; + +export async function getRoutes() { + const routes = {"1":{"path":"/login","layout":false,"id":"1"},"2":{"path":"/","redirect":"/knowledge","parentId":"@@/global-layout","id":"2"},"3":{"id":"3","name":"知识库","icon":"home","auth":[3,4,100],"path":"/knowledge","pathname":"knowledge","parentId":"@@/global-layout"},"4":{"id":"4","name":"知识库","icon":"home","auth":[3,4,100],"path":"/knowledge/add/*","pathname":"knowledge","parentId":"@@/global-layout"},"5":{"id":"5","name":"èŠå¤©","icon":"home","auth":[3,4,100],"path":"/chat","pathname":"chat","parentId":"@@/global-layout"},"6":{"id":"6","name":"设置","icon":"home","auth":[3,4,100],"path":"/setting","pathname":"setting","parentId":"@@/global-layout"},"7":{"id":"7","name":"文件","icon":"file","auth":[3,4,100],"path":"/file","pathname":"file","parentId":"@@/global-layout"},"8":{"path":"/*","layout":false,"id":"8"},"@@/global-layout":{"id":"@@/global-layout","path":"/","isLayout":true}} as const; + return { + routes, + routeComponents: { +'1': React.lazy(() => import(/* webpackChunkName: "p__login__index" */'@/pages/login/index.tsx')), +'2': React.lazy(() => import(/* webpackChunkName: "layouts__index" */'@/layouts/index.tsx')), +'3': React.lazy(() => import(/* webpackChunkName: "p__knowledge__index" */'@/pages/knowledge/index.tsx')), +'4': React.lazy(() => import(/* webpackChunkName: "p__add-knowledge__index" */'@/pages/add-knowledge/index.tsx')), +'5': React.lazy(() => import(/* webpackChunkName: "p__chat__index" */'@/pages/chat/index.tsx')), +'6': React.lazy(() => import(/* webpackChunkName: "p__setting__index" */'@/pages/setting/index.tsx')), +'7': React.lazy(() => import(/* webpackChunkName: "p__file__index" */'@/pages/file/index.tsx')), +'8': React.lazy(() => import(/* webpackChunkName: "p__404" */'@/pages/404.jsx')), +'@@/global-layout': React.lazy(() => import(/* webpackChunkName: "layouts__index" */'C:/Users/zfc/Desktop/docgpt/client/src/layouts/index.tsx')), +}, + }; +} diff --git a/web/src/.umi/core/terminal.ts b/web/src/.umi/core/terminal.ts new file mode 100644 index 0000000..b07942d --- /dev/null +++ b/web/src/.umi/core/terminal.ts @@ -0,0 +1,37 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +let count = 0; +let groupLevel = 0; +function send(type: string, message?: string) { + if(process.env.NODE_ENV==='production'){ + return; + }else{ + const encodedMessage = message ? `&m=${encodeURI(message)}` : ''; + fetch(`/__umi/api/terminal?type=${type}&t=${Date.now()}&c=${count++}&g=${groupLevel}${encodedMessage}`, { mode: 'no-cors' }) + } +} +function prettyPrint(obj: any) { + return JSON.stringify(obj, null, 2); +} +function stringifyObjs(objs: any[]) { + const obj = objs.length > 1 ? objs.map(stringify).join(' ') : objs[0]; + return typeof obj === 'object' ? `${prettyPrint(obj)}` : obj.toString(); +} +function stringify(obj: any) { + return typeof obj === 'object' ? `${JSON.stringify(obj)}` : obj.toString(); +} +const terminal = { + log(...objs: any[]) { send('log', stringifyObjs(objs)) }, + info(...objs: any[]) { send('info', stringifyObjs(objs)) }, + warn(...objs: any[]) { send('warn', stringifyObjs(objs)) }, + error(...objs: any[]) { send('error', stringifyObjs(objs)) }, + group() { groupLevel++ }, + groupCollapsed() { groupLevel++ }, + groupEnd() { groupLevel && --groupLevel }, + clear() { send('clear') }, + trace(...args: any[]) { console.trace(...args) }, + profile(...args: any[]) { console.profile(...args) }, + profileEnd(...args: any[]) { console.profileEnd(...args) }, +}; +export { terminal }; diff --git a/web/src/.umi/exports.ts b/web/src/.umi/exports.ts new file mode 100644 index 0000000..e210dcb --- /dev/null +++ b/web/src/.umi/exports.ts @@ -0,0 +1,22 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +// defineApp +export { defineApp } from './core/defineApp' +export type { RuntimeConfig } from './core/defineApp' +// plugins +export { connect, useDispatch, useStore, useSelector, getDvaApp } from 'C:/Users/zfc/Desktop/docgpt/client/src/.umi/plugin-dva'; +export { Icon } from 'C:/Users/zfc/Desktop/docgpt/client/src/.umi/plugin-icons'; +// plugins types.d.ts +export * from 'C:/Users/zfc/Desktop/docgpt/client/src/.umi/plugin-dva/types.d'; +// @umijs/renderer-* +export { createBrowserHistory, createHashHistory, createMemoryHistory, Helmet, HelmetProvider, createSearchParams, generatePath, matchPath, matchRoutes, Navigate, NavLink, Outlet, resolvePath, useLocation, useMatch, useNavigate, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes, useSearchParams, useAppData, useClientLoaderData, useRouteProps, useSelectedRoutes, useServerLoaderData, renderClient, __getRoot, Link, useRouteData, __useFetcher, withRouter } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/renderer-react'; +export type { History } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/renderer-react' +// umi/client/client/plugin +export { ApplyPluginsType, PluginManager } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/umi/client/client/plugin.js'; +export { history, createHistory } from './core/history'; +export { terminal } from './core/terminal'; +// react ssr +export const useServerInsertedHTML: Function = () => {}; +// test +export { TestBrowser } from './testBrowser'; diff --git a/web/src/.umi/plugin-dva/dva.tsx b/web/src/.umi/plugin-dva/dva.tsx new file mode 100644 index 0000000..2bd9789 --- /dev/null +++ b/web/src/.umi/plugin-dva/dva.tsx @@ -0,0 +1,60 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +// It's faked dva +// aliased to @umijs/plugins/templates/dva +import { create, Provider } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/plugins/libs/dva.tsx'; +import createLoading from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/dva-loading/dist/index.js'; + +import React, { useRef } from 'react'; +import { history, ApplyPluginsType, useAppData } from 'umi'; +import { models } from './models'; + +let dvaApp: any; + +export function RootContainer(props: any) { + const { pluginManager } = useAppData(); + const app = useRef<any>(); + const runtimeDva = pluginManager.applyPlugins({ + key: 'dva', + type: ApplyPluginsType.modify, + initialValue: {}, + }); + if (!app.current) { + app.current = create( + { + history, + ...(runtimeDva.config || {}), + }, + { + initialReducer: {}, + setupMiddlewares(middlewares: Function[]) { + return [...middlewares]; + }, + setupApp(app: IDvaApp) { + app._history = history; + }, + }, + ); + dvaApp = app.current; + app.current.use(createLoading()); + + + + (runtimeDva.plugins || []).forEach((p) => { + app.current.use(p); + }); + for (const id of Object.keys(models)) { + app.current.model({ + namespace: models[id].namespace, + ...models[id].model, + }); + } + app.current.start(); + } + return <Provider store={app.current!._store}>{props.children}</Provider>; +} + +export function getDvaApp() { + return dvaApp; +} diff --git a/web/src/.umi/plugin-dva/index.ts b/web/src/.umi/plugin-dva/index.ts new file mode 100644 index 0000000..6c2f0f7 --- /dev/null +++ b/web/src/.umi/plugin-dva/index.ts @@ -0,0 +1,5 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +export { connect, useDispatch, useStore, useSelector } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/plugins/libs/dva.tsx'; +export { getDvaApp } from './dva'; diff --git a/web/src/.umi/plugin-dva/models.ts b/web/src/.umi/plugin-dva/models.ts new file mode 100644 index 0000000..89d4fc2 --- /dev/null +++ b/web/src/.umi/plugin-dva/models.ts @@ -0,0 +1,20 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import model_1 from 'C:/Users/zfc/Desktop/docgpt/client/src/pages/add-knowledge/components/knowledge-file/model'; +import model_2 from 'C:/Users/zfc/Desktop/docgpt/client/src/pages/add-knowledge/components/knowledge-setting/model'; +import model_3 from 'C:/Users/zfc/Desktop/docgpt/client/src/pages/add-knowledge/model'; +import model_4 from 'C:/Users/zfc/Desktop/docgpt/client/src/pages/chat/model'; +import model_5 from 'C:/Users/zfc/Desktop/docgpt/client/src/pages/knowledge/model'; +import model_6 from 'C:/Users/zfc/Desktop/docgpt/client/src/pages/login/model'; +import model_7 from 'C:/Users/zfc/Desktop/docgpt/client/src/pages/setting/model'; + +export const models = { +model_1: { namespace: 'add-knowledge.components.knowledge-file.model', model: model_1 }, +model_2: { namespace: 'add-knowledge.components.knowledge-setting.model', model: model_2 }, +model_3: { namespace: 'add-knowledge.model', model: model_3 }, +model_4: { namespace: 'chat.model', model: model_4 }, +model_5: { namespace: 'knowledge.model', model: model_5 }, +model_6: { namespace: 'login.model', model: model_6 }, +model_7: { namespace: 'setting.model', model: model_7 }, +} as const diff --git a/web/src/.umi/plugin-dva/runtime.tsx b/web/src/.umi/plugin-dva/runtime.tsx new file mode 100644 index 0000000..504d89c --- /dev/null +++ b/web/src/.umi/plugin-dva/runtime.tsx @@ -0,0 +1,9 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import React from 'react'; +import { RootContainer } from './dva'; + +export function dataflowProvider(container, opts) { + return React.createElement(RootContainer, opts, container); +} diff --git a/web/src/.umi/plugin-dva/runtimeConfig.d.ts b/web/src/.umi/plugin-dva/runtimeConfig.d.ts new file mode 100644 index 0000000..aa3f59f --- /dev/null +++ b/web/src/.umi/plugin-dva/runtimeConfig.d.ts @@ -0,0 +1,19 @@ +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +export interface IRuntimeConfig { + dva?: { + config?: { + initialState?: Record<string, any>; + onError?: any; + onStateChange?: any; + onAction?: any; + onHmr?: any; + onReducer?: any; + onEffect?: any; + extraReducers?: any; + extraEnhancers?: any; + [key: string]: any; + }, + plugins?: string[]; + } +} diff --git a/web/src/.umi/plugin-dva/types.d.ts b/web/src/.umi/plugin-dva/types.d.ts new file mode 100644 index 0000000..555f6b8 --- /dev/null +++ b/web/src/.umi/plugin-dva/types.d.ts @@ -0,0 +1,58 @@ +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import type { History } from 'umi'; + +export interface ConnectProps { + dispatch?: Dispatch; +} +type RequiredConnectProps = Required<ConnectProps> +export type ConnectRC< + T = {}, + > = React.ForwardRefRenderFunction<any, T & RequiredConnectProps>; +interface Action<T = any> { + type: T +} +interface AnyAction extends Action { + // Allows any extra properties to be defined in an action. + [extraProps: string]: any +} +interface Dispatch<A extends Action = AnyAction> { + <T extends A>(action: T): T +} +interface EffectsCommandMap { + put: <A extends AnyAction>(action: A) => any, + call: Function, + select: Function, + take: Function, + cancel: Function, + [key: string]: any, +} +interface Action<T = any> { + type: T +} +export type Reducer<S = any, A extends Action = AnyAction> = (prevState: S, action: A) => S; +export type Effect = (action: AnyAction, effects: EffectsCommandMap) => void; +type EffectType = 'takeEvery' | 'takeLatest' | 'watcher' | 'throttle'; +type EffectWithType = [Effect, { type: EffectType }]; +export type Subscription = (api: SubscriptionAPI, done: Function) => void; + +export interface ReducersMapObject<T> { + [key: string]: Reducer<T>, +} +export interface EffectsMapObject { + [key: string]: Effect | EffectWithType, +} +export interface SubscriptionAPI { + dispatch: Dispatch<any>, + history: History, +} +export interface SubscriptionsMapObject { + [key: string]: Subscription, +} +export interface DvaModel<T, E = EffectsMapObject, R = ReducersMapObject<T>> { + namespace: string, + state?: T, + reducers?: R, + effects?: E, + subscriptions?: SubscriptionsMapObject, +} diff --git a/web/src/.umi/plugin-icons/icons.tsx b/web/src/.umi/plugin-icons/icons.tsx new file mode 100644 index 0000000..3ce469b --- /dev/null +++ b/web/src/.umi/plugin-icons/icons.tsx @@ -0,0 +1,8 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import React from 'react'; +const localGoogle = props => <svg width={16} height={17} viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><g clipPath="url(#clip0_660_28)"><path d="M8 6.99902V10.0972H12.3054C12.1164 11.0936 11.549 11.9372 10.6981 12.5045L13.2945 14.5191C14.8072 13.1227 15.68 11.0718 15.68 8.63547C15.68 8.0682 15.6291 7.5227 15.5345 6.99911L8 6.99902Z" fill="#4285F4" /><path d="M3.51649 9.97632L2.93092 10.4246L0.858154 12.0391C2.17451 14.65 4.8725 16.4536 7.99974 16.4536C10.1597 16.4536 11.9706 15.7409 13.2942 14.5191L10.6979 12.5046C9.98516 12.9846 9.07606 13.2755 7.99974 13.2755C5.91976 13.2755 4.15254 11.8719 3.51976 9.98094L3.51649 9.97632Z" fill="#34A853" /><path d="M0.858119 4.86816C0.312695 5.94448 0 7.15905 0 8.45357C0 9.74809 0.312695 10.9627 0.858119 12.039C0.858119 12.0462 3.51998 9.97352 3.51998 9.97352C3.35998 9.49352 3.26541 8.98446 3.26541 8.45349C3.26541 7.92251 3.35998 7.41345 3.51998 6.93345L0.858119 4.86816Z" fill="#FBBC05" /><path d="M7.99991 3.63907C9.17811 3.63907 10.2254 4.04633 11.0617 4.83179L13.3526 2.54091C11.9635 1.24639 10.1599 0.453613 7.99991 0.453613C4.87266 0.453613 2.17451 2.24997 0.858154 4.86816L3.51994 6.93362C4.15263 5.04269 5.91992 3.63907 7.99991 3.63907Z" fill="#EA4335" /></g><defs><clipPath id="clip0_660_28"><rect width={16} height={16} fill="white" transform="translate(0 0.453613)" /></clipPath></defs></svg>; +export { localGoogle }; +const localGithub = props => <svg width={17} height={17} viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><g clipPath="url(#clip0_660_5)"><path fillRule="evenodd" clipRule="evenodd" d="M8.50662 0.453613C4.07917 0.453613 0.5 4.05917 0.5 8.51972C0.5 12.0853 2.79329 15.1035 5.9747 16.1717C6.37246 16.252 6.51816 15.9981 6.51816 15.7846C6.51816 15.5976 6.50505 14.9566 6.50505 14.2888C4.2778 14.7696 3.81399 13.3272 3.81399 13.3272C3.45606 12.3924 2.92572 12.1522 2.92572 12.1522C2.19674 11.658 2.97882 11.658 2.97882 11.658C3.78744 11.7115 4.21175 12.486 4.21175 12.486C4.92745 13.7145 6.08074 13.3674 6.54471 13.1537C6.61092 12.6328 6.82315 12.2723 7.0485 12.072C5.27211 11.885 3.40312 11.1906 3.40312 8.0923C3.40312 7.21091 3.72107 6.4898 4.22486 5.92897C4.14538 5.7287 3.86693 4.90057 4.30451 3.79219C4.30451 3.79219 4.98055 3.57848 6.50488 4.62016C7.1575 4.44359 7.83054 4.35377 8.50662 4.35302C9.18266 4.35302 9.87181 4.4466 10.5082 4.62016C12.0327 3.57848 12.7087 3.79219 12.7087 3.79219C13.1463 4.90057 12.8677 5.7287 12.7882 5.92897C13.3053 6.4898 13.6101 7.21091 13.6101 8.0923C13.6101 11.1906 11.7411 11.8716 9.95146 12.072C10.2432 12.3257 10.4949 12.8064 10.4949 13.5677C10.4949 14.6493 10.4818 15.5174 10.4818 15.7844C10.4818 15.9981 10.6277 16.252 11.0253 16.1719C14.2067 15.1033 16.5 12.0853 16.5 8.51972C16.5131 4.05917 12.9208 0.453613 8.50662 0.453613Z" fill="#24292F" /></g><defs><clipPath id="clip0_660_5"><rect width={16} height={16} fill="white" transform="translate(0.5 0.453613)" /></clipPath></defs></svg>; +export { localGithub }; diff --git a/web/src/.umi/plugin-icons/index.css b/web/src/.umi/plugin-icons/index.css new file mode 100644 index 0000000..cef01b6 --- /dev/null +++ b/web/src/.umi/plugin-icons/index.css @@ -0,0 +1,27 @@ +.umiIconDoNotUseThisHover { + display: none; +} +.umiIconDoNotUseThis:hover svg { + display: none; +} +.umiIconDoNotUseThis:hover .umiIconDoNotUseThisHover { + display: inline-block; +} +.umiIconLoadingCircle { + display: inline-block; + -webkit-animation: loadingCircle 1s infinite linear; + animation: umiIconLoadingCircle 1s linear infinite; +} + +@-webkit-keyframes umiIconLoadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes umiIconLoadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} diff --git a/web/src/.umi/plugin-icons/index.tsx b/web/src/.umi/plugin-icons/index.tsx new file mode 100644 index 0000000..c96240f --- /dev/null +++ b/web/src/.umi/plugin-icons/index.tsx @@ -0,0 +1,243 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import React from 'react'; +import * as iconsMap from './icons'; +import './index.css'; + +const alias = {}; +type AliasKeys = keyof typeof alias; +const localIcons = ["github","google"] as const; +type LocalIconsKeys = typeof localIcons[number]; + +type IconCollections = 'academicons' | + 'akar-icons' | + 'ant-design' | + 'arcticons' | + 'basil' | + 'bi' | + 'bpmn' | + 'brandico' | + 'bx' | + 'bxl' | + 'bxs' | + 'bytesize' | + 'carbon' | + 'charm' | + 'ci' | + 'cib' | + 'cif' | + 'cil' | + 'circle-flags' | + 'circum' | + 'clarity' | + 'codicon' | + 'cryptocurrency-color' | + 'cryptocurrency' | + 'dashicons' | + 'ei' | + 'el' | + 'emblemicons' | + 'emojione-monotone' | + 'emojione-v1' | + 'emojione' | + 'entypo-social' | + 'entypo' | + 'eos-icons' | + 'ep' | + 'et' | + 'eva' | + 'fa-brands' | + 'fa-regular' | + 'fa-solid' | + 'fa' | + 'fa6-brands' | + 'fa6-regular' | + 'fa6-solid' | + 'fad' | + 'fe' | + 'feather' | + 'file-icons' | + 'flag' | + 'flagpack' | + 'flat-color-icons' | + 'flat-ui' | + 'fluent-emoji-flat' | + 'fluent-emoji-high-contrast' | + 'fluent-emoji' | + 'fluent-mdl2' | + 'fluent' | + 'fontelico' | + 'fontisto' | + 'foundation' | + 'fxemoji' | + 'gala' | + 'game-icons' | + 'geo' | + 'gg' | + 'gis' | + 'gridicons' | + 'grommet-icons' | + 'healthicons' | + 'heroicons-outline' | + 'heroicons-solid' | + 'heroicons' | + 'humbleicons' | + 'ic' | + 'icomoon-free' | + 'icon-park-outline' | + 'icon-park-solid' | + 'icon-park-twotone' | + 'icon-park' | + 'iconoir' | + 'icons8' | + 'il' | + 'ion' | + 'iwwa' | + 'jam' | + 'la' | + 'line-md' | + 'logos' | + 'ls' | + 'lucide' | + 'majesticons' | + 'maki' | + 'map' | + 'material-symbols' | + 'mdi-light' | + 'mdi' | + 'medical-icon' | + 'memory' | + 'mi' | + 'mingcute' | + 'mono-icons' | + 'nimbus' | + 'nonicons' | + 'noto-v1' | + 'noto' | + 'octicon' | + 'oi' | + 'ooui' | + 'openmoji' | + 'pajamas' | + 'pepicons-pop' | + 'pepicons-print' | + 'pepicons' | + 'ph' | + 'pixelarticons' | + 'prime' | + 'ps' | + 'quill' | + 'radix-icons' | + 'raphael' | + 'ri' | + 'si-glyph' | + 'simple-icons' | + 'simple-line-icons' | + 'skill-icons' | + 'subway' | + 'svg-spinners' | + 'system-uicons' | + 'tabler' | + 'teenyicons' | + 'topcoat' | + 'twemoji' | + 'typcn' | + 'uil' | + 'uim' | + 'uis' | + 'uit' | + 'uiw' | + 'vaadin' | + 'vs' | + 'vscode-icons' | + 'websymbol' | + 'whh' | + 'wi' | + 'wpf' | + 'zmdi' | + 'zondicons'; +type Icon = `${IconCollections}:${string}`; + +interface IUmiIconProps extends React.SVGAttributes<SVGElement> { + icon: AliasKeys | Icon | `local:${LocalIconsKeys}`; + hover?: AliasKeys | string; + className?: string; + viewBox?: string; + width?: string; + height?: string; + style?: any; + spin?: boolean; + rotate?: number | string; + flip?: 'vertical' | 'horizontal' | 'horizontal,vertical' | 'vertical,horizontal'; +} + +export const Icon = React.forwardRef<HTMLSpanElement, IUmiIconProps>((props, ref) => { + const { icon, hover, style, className = '' , rotate, spin, flip, ...extraProps } = props; + const iconName = normalizeIconName(alias[icon] || icon); + const Component = iconsMap[iconName]; + if (!Component) { + // TODO: give a error icon when dev, to help developer find the error + return null; + } + const HoverComponent = hover ? iconsMap[normalizeIconName(alias[hover] || hover)] : null; + const cls = spin ? 'umiIconLoadingCircle' : undefined; + const svgStyle = {}; + const transform: string[] = []; + if (rotate) { + const rotateDeg = normalizeRotate(rotate); + transform.push(`rotate(${rotateDeg}deg)`); + } + if (flip) { + const flipMap = flip.split(',').reduce((memo, item) => { + memo[item] = 1; + return memo; + }, {}); + if (flipMap.vertical) { + transform.push(`rotateY(180deg)`); + } + if (flipMap.horizontal) { + transform.push(`rotateX(180deg)`); + } + } + if (transform.length) { + const transformStr = transform.join(''); + svgStyle.msTransform = transformStr; + svgStyle.transform = transformStr; + } + + const spanClassName = HoverComponent ? 'umiIconDoNotUseThis ' : '' + className; + const spanClass = spanClassName ? { className: spanClassName } : {}; + + return ( + <span role="img" ref={ref} {...spanClass} style={style}> + <Component {...extraProps} className={cls} style={svgStyle} /> + { + HoverComponent ? <HoverComponent {...extraProps} className={'umiIconDoNotUseThisHover ' + cls} style={svgStyle} /> : null + } + </span> + ); +}); + +function normalizeRotate(rotate: number | string) { + if (typeof rotate === 'number') { + return rotate * 90; + } + if (typeof rotate === 'string') { + if (rotate.endsWith('deg')) { + return parseInt(rotate, 10); + } + if (rotate.endsWith('%')) { + return parseInt(rotate, 10) / 100 * 360; + } + return 0; + } +} + +function camelCase(str: string) { + return str.replace(/\//g, '-').replace(/-([a-zA-Z]|[1-9])/g, (g) => g[1].toUpperCase()); +} + +function normalizeIconName(name: string) { + return camelCase(name.replace(':', '-')); +} diff --git a/web/src/.umi/testBrowser.tsx b/web/src/.umi/testBrowser.tsx new file mode 100644 index 0000000..00f4134 --- /dev/null +++ b/web/src/.umi/testBrowser.tsx @@ -0,0 +1,87 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import React, { useEffect, useState } from 'react'; +import { ApplyPluginsType } from 'umi'; +import { renderClient, RenderClientOpts } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/renderer-react'; +import { createHistory } from './core/history'; +import { createPluginManager } from './core/plugin'; +import { getRoutes } from './core/route'; +import type { Location } from 'history'; + + +const publicPath = '/'; +const runtimePublicPath = false; + +type TestBrowserProps = { + location?: Partial<Location>; + historyRef?: React.MutableRefObject<Location>; +}; + +export function TestBrowser(props: TestBrowserProps) { + const pluginManager = createPluginManager(); + const [context, setContext] = useState<RenderClientOpts | undefined>( + undefined + ); + useEffect(() => { + const genContext = async () => { + const { routes, routeComponents } = await getRoutes(pluginManager); + // allow user to extend routes + await pluginManager.applyPlugins({ + key: 'patchRoutes', + type: ApplyPluginsType.event, + args: { + routes, + routeComponents, + }, + }); + const contextOpts = pluginManager.applyPlugins({ + key: 'modifyContextOpts', + type: ApplyPluginsType.modify, + initialValue: {}, + }); + const basename = contextOpts.basename || '/'; + const history = createHistory({ + type: 'memory', + basename, + }); + const context = { + routes, + routeComponents, + pluginManager, + rootElement: contextOpts.rootElement || document.getElementById('root'), + publicPath, + runtimePublicPath, + history, + basename, + components: true, + }; + const modifiedContext = pluginManager.applyPlugins({ + key: 'modifyClientRenderOpts', + type: ApplyPluginsType.modify, + initialValue: context, + }); + return modifiedContext; + }; + genContext().then((context) => { + setContext(context); + if (props.location) { + context?.history?.push(props.location); + } + if (props.historyRef) { + props.historyRef.current = context?.history; + } + }); + }, []); + + if (context === undefined) { + return <div id="loading" />; + } + + const Children = renderClient(context); + return ( + <React.Fragment> + <Children /> + </React.Fragment> + ); +} diff --git a/web/src/.umi/tsconfig.json b/web/src/.umi/tsconfig.json new file mode 100644 index 0000000..d9971ab --- /dev/null +++ b/web/src/.umi/tsconfig.json @@ -0,0 +1,43 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "moduleResolution": "bundler", + "importHelpers": true, + "noEmit": true, + "jsx": "react-jsx", + "esModuleInterop": true, + "sourceMap": true, + "baseUrl": "../../", + "strict": true, + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "paths": { + "@/*": [ + "src/*" + ], + "@@/*": [ + "src/.umi/*" + ], + "umi": [ + "C:\\Users\\zfc\\Desktop\\docgpt\\client\\node_modules\\umi" + ], + "umi/typings": [ + "src/.umi/typings" + ] + } + }, + "include": [ + "../../.umirc.ts", + "../../**/*.d.ts", + "../../**/*.ts", + "../../**/*.tsx" + ] +} diff --git a/web/src/.umi/typings.d.ts b/web/src/.umi/typings.d.ts new file mode 100644 index 0000000..19725a3 --- /dev/null +++ b/web/src/.umi/typings.d.ts @@ -0,0 +1,136 @@ +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +type CSSModuleClasses = { readonly [key: string]: string } +declare module '*.css' { + const classes: CSSModuleClasses + export default classes +} +declare module '*.scss' { + const classes: CSSModuleClasses + export default classes +} +declare module '*.sass' { + const classes: CSSModuleClasses + export default classes +} +declare module '*.less' { + const classes: CSSModuleClasses + export default classes +} +declare module '*.styl' { + const classes: CSSModuleClasses + export default classes +} +declare module '*.stylus' { + const classes: CSSModuleClasses + export default classes +} + +// images +declare module '*.jpg' { + const src: string + export default src +} +declare module '*.jpeg' { + const src: string + export default src +} +declare module '*.png' { + const src: string + export default src +} +declare module '*.gif' { + const src: string + export default src +} +declare module '*.svg' { + import * as React from 'react'; + export const ReactComponent: React.FunctionComponent<React.SVGProps< + SVGSVGElement + > & { title?: string }>; + + const src: string + export default src +} +declare module '*.ico' { + const src: string + export default src +} +declare module '*.webp' { + const src: string + export default src +} +declare module '*.avif' { + const src: string + export default src +} + +// media +declare module '*.mp4' { + const src: string + export default src +} +declare module '*.webm' { + const src: string + export default src +} +declare module '*.ogg' { + const src: string + export default src +} +declare module '*.mp3' { + const src: string + export default src +} +declare module '*.wav' { + const src: string + export default src +} +declare module '*.flac' { + const src: string + export default src +} +declare module '*.aac' { + const src: string + export default src +} + +// fonts +declare module '*.woff' { + const src: string + export default src +} +declare module '*.woff2' { + const src: string + export default src +} +declare module '*.eot' { + const src: string + export default src +} +declare module '*.ttf' { + const src: string + export default src +} +declare module '*.otf' { + const src: string + export default src +} + +// other +declare module '*.wasm' { + const initWasm: (options: WebAssembly.Imports) => Promise<WebAssembly.Exports> + export default initWasm +} +declare module '*.webmanifest' { + const src: string + export default src +} +declare module '*.pdf' { + const src: string + export default src +} +declare module '*.txt' { + const src: string + export default src +} diff --git a/web/src/.umi/umi.ts b/web/src/.umi/umi.ts new file mode 100644 index 0000000..9e3e220 --- /dev/null +++ b/web/src/.umi/umi.ts @@ -0,0 +1,76 @@ +// @ts-nocheck +// This file is generated by Umi automatically +// DO NOT CHANGE IT MANUALLY! +import './core/polyfill'; + +import { renderClient } from 'C:/Users/zfc/Desktop/docgpt/client/node_modules/@umijs/renderer-react'; +import { getRoutes } from './core/route'; +import { createPluginManager } from './core/plugin'; +import { createHistory } from './core/history'; +import { ApplyPluginsType } from 'umi'; + + +const publicPath = "/client/dist/"; +const runtimePublicPath = false; + +async function render() { + const pluginManager = createPluginManager(); + const { routes, routeComponents } = await getRoutes(pluginManager); + + // allow user to extend routes + await pluginManager.applyPlugins({ + key: 'patchRoutes', + type: ApplyPluginsType.event, + args: { + routes, + routeComponents, + }, + }); + + const contextOpts = pluginManager.applyPlugins({ + key: 'modifyContextOpts', + type: ApplyPluginsType.modify, + initialValue: {}, + }); + + const basename = contextOpts.basename || '/'; + const historyType = contextOpts.historyType || 'hash'; + + const history = createHistory({ + type: historyType, + basename, + ...contextOpts.historyOpts, + }); + + return (pluginManager.applyPlugins({ + key: 'render', + type: ApplyPluginsType.compose, + initialValue() { + const context = { + routes, + routeComponents, + pluginManager, + rootElement: contextOpts.rootElement || document.getElementById('root'), + publicPath, + runtimePublicPath, + history, + historyType, + basename, + callback: contextOpts.callback, + }; + const modifiedContext = pluginManager.applyPlugins({ + key: 'modifyClientRenderOpts', + type: ApplyPluginsType.modify, + initialValue: context, + }); + return renderClient(modifiedContext); + }, + }))(); +} + + +render(); + +window.g_umi = { + version: '4.1.0', +}; diff --git a/web/src/assets/logo.png b/web/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..24616f1d13b1a9dd602453b65c78aa2cc76b6cb6 GIT binary patch literal 12553 zcmeHug;&(kw=Xk*v>@G#(%m633`mM}Hxf!ncY`QM$&jPeAgz>ihtl2B-I6my=Ns?+ zy?6hHx7MBS`mS?k)~UVEK07{VPqdbXG7&y4J_ZH`k*bP<4h9Cm_TP*92>lBcog4^V z06cY+<uS@f==acHKG+$lzEM}l;6m4NF|Yxo7?}T>pdSnXEe7^~)iE$$0_gr<T?fGN zpEf`Yj3@^TtpBtzL6`qNY3LW-`#&XS4&Z-A%mM!2)&Sca%>SwX>*l{Pe2gye+*FJ` z(Mu)$_X6I+C(tAaFsdrZ>G=T;mwdg*4eR(<gC#lMK23sba#Y1*p2w*R&^%>PaKqa8 z+0%1=x%?Hec+qQW;#zj`hW=<4^YIK8W}Tpz&>SWkQ9nqCIx!itnUiU{<h|??4zYUb zT`#Gp{}Ax&@6q2Mx;sJot@^F|Q=HGFK^OpB2nLWO3<K+btN+V~{~v@Pi~#6lxBI0v z)!f{OG!`wqv=k(?W%VH?S$srO?4c5>ov4kC&X)@xX+}+XMUFSX>q#MW@oD~wRs$^{ zE?yT+8ds*Xf$N{7Mc5?JEH>0CP!0b&G2G&5#5-q8HOIj*CkFZ9;e3`1k{T|B3F5uz z+^z^w$anw+^~0W3(tsL^f{3^~Ki(w$z$NB=U&*^bW>CrN2%dgtMWx9>mX!P25?wN= zlR9^r!b-N(D<@$#T+^~WKfLfJY_|JqoQLP3sVX(?zK{BE64u!9`79MyZW~XRM^8o! zfw+BbN%a-J-SKYEP%QUVanE$(E({AkhndL`FbP_&etr8OqfOrsO4AYrsf7&m@?Iv~ zs<G@vUn|-Q(h#obTx7`V1~lnBv|LV2qQ}anEHAn3o=^c?F{@IudxExe%q}+M09PZ6 zN$18C={E`4>%X%c{MJ^0FJuV|PF4|_=P$Rd-g(f!$lke2oTPST^a`RG+H(P5+4{zc z=`B~ik5X~VHtI7V8lJa;Yy%}ez9vgDNKT{-9@8fm*JA_Ee1`-yg;!a_*XR)hErtqB z%P%WqUm>}#@5=_uVd1Ri6cC7y{>a=`8VnKL#PzuArK~cQHw$Qnt3*M2xA`Ys4O?)| z&p+v(VF6SsH>Jd?3*4F4jvHx(_*F^I47A;^h-)5S+0}oMG{OZ|MQHJj*2#Ok%sqLY z<blORLzl_f+aG3TF0upTry<I;JYqY4Ud=aDA{So6zy6#=bBlRhSw=TdTjlpTFY9*2 zi;y|t-xsi$u%Px&&C5luLfRGJygm?{XTY<mRBLm*zS=*YVY)P)%bMiRYYW#37_lb6 z1k4V#a6-o6hfq(U*+cadug}6Z)eikk#Eq@*$o	fJhm7mw@W3pR$}Dv^eXRJt?z& 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 ah->rXBXlWl8vgx_Kvhvgp<LeT{r>^YuX$kr literal 0 HcmV?d00001 diff --git a/web/src/assets/yay.jpg b/web/src/assets/yay.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e72bd8ffaecc9de0e74a2bd7fa3e741efde4aa99 GIT binary patch literal 180902 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μ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Ξ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 AE&u=k literal 0 HcmV?d00001 diff --git a/web/src/icons/github.svg b/web/src/icons/github.svg new file mode 100644 index 0000000..6f80a87 --- /dev/null +++ b/web/src/icons/github.svg @@ -0,0 +1,10 @@ +<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g clip-path="url(#clip0_660_5)"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M8.50662 0.453613C4.07917 0.453613 0.5 4.05917 0.5 8.51972C0.5 12.0853 2.79329 15.1035 5.9747 16.1717C6.37246 16.252 6.51816 15.9981 6.51816 15.7846C6.51816 15.5976 6.50505 14.9566 6.50505 14.2888C4.2778 14.7696 3.81399 13.3272 3.81399 13.3272C3.45606 12.3924 2.92572 12.1522 2.92572 12.1522C2.19674 11.658 2.97882 11.658 2.97882 11.658C3.78744 11.7115 4.21175 12.486 4.21175 12.486C4.92745 13.7145 6.08074 13.3674 6.54471 13.1537C6.61092 12.6328 6.82315 12.2723 7.0485 12.072C5.27211 11.885 3.40312 11.1906 3.40312 8.0923C3.40312 7.21091 3.72107 6.4898 4.22486 5.92897C4.14538 5.7287 3.86693 4.90057 4.30451 3.79219C4.30451 3.79219 4.98055 3.57848 6.50488 4.62016C7.1575 4.44359 7.83054 4.35377 8.50662 4.35302C9.18266 4.35302 9.87181 4.4466 10.5082 4.62016C12.0327 3.57848 12.7087 3.79219 12.7087 3.79219C13.1463 4.90057 12.8677 5.7287 12.7882 5.92897C13.3053 6.4898 13.6101 7.21091 13.6101 8.0923C13.6101 11.1906 11.7411 11.8716 9.95146 12.072C10.2432 12.3257 10.4949 12.8064 10.4949 13.5677C10.4949 14.6493 10.4818 15.5174 10.4818 15.7844C10.4818 15.9981 10.6277 16.252 11.0253 16.1719C14.2067 15.1033 16.5 12.0853 16.5 8.51972C16.5131 4.05917 12.9208 0.453613 8.50662 0.453613Z" fill="#24292F"/> +</g> +<defs> +<clipPath id="clip0_660_5"> +<rect width="16" height="16" fill="white" transform="translate(0.5 0.453613)"/> +</clipPath> +</defs> +</svg> diff --git a/web/src/icons/google.svg b/web/src/icons/google.svg new file mode 100644 index 0000000..f0d10ec --- /dev/null +++ b/web/src/icons/google.svg @@ -0,0 +1,13 @@ +<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g clip-path="url(#clip0_660_28)"> +<path d="M8 6.99902V10.0972H12.3054C12.1164 11.0936 11.549 11.9372 10.6981 12.5045L13.2945 14.5191C14.8072 13.1227 15.68 11.0718 15.68 8.63547C15.68 8.0682 15.6291 7.5227 15.5345 6.99911L8 6.99902Z" fill="#4285F4"/> +<path d="M3.51649 9.97632L2.93092 10.4246L0.858154 12.0391C2.17451 14.65 4.8725 16.4536 7.99974 16.4536C10.1597 16.4536 11.9706 15.7409 13.2942 14.5191L10.6979 12.5046C9.98516 12.9846 9.07606 13.2755 7.99974 13.2755C5.91976 13.2755 4.15254 11.8719 3.51976 9.98094L3.51649 9.97632Z" fill="#34A853"/> +<path d="M0.858119 4.86816C0.312695 5.94448 0 7.15905 0 8.45357C0 9.74809 0.312695 10.9627 0.858119 12.039C0.858119 12.0462 3.51998 9.97352 3.51998 9.97352C3.35998 9.49352 3.26541 8.98446 3.26541 8.45349C3.26541 7.92251 3.35998 7.41345 3.51998 6.93345L0.858119 4.86816Z" fill="#FBBC05"/> +<path d="M7.99991 3.63907C9.17811 3.63907 10.2254 4.04633 11.0617 4.83179L13.3526 2.54091C11.9635 1.24639 10.1599 0.453613 7.99991 0.453613C4.87266 0.453613 2.17451 2.24997 0.858154 4.86816L3.51994 6.93362C4.15263 5.04269 5.91992 3.63907 7.99991 3.63907Z" fill="#EA4335"/> +</g> +<defs> +<clipPath id="clip0_660_28"> +<rect width="16" height="16" fill="white" transform="translate(0 0.453613)"/> +</clipPath> +</defs> +</svg> diff --git a/web/src/layouts/components/user/index.tsx b/web/src/layouts/components/user/index.tsx new file mode 100644 index 0000000..0cc86aa --- /dev/null +++ b/web/src/layouts/components/user/index.tsx @@ -0,0 +1,38 @@ +import React, { useMemo } from 'react'; +import type { MenuProps } from 'antd'; +import { Button, Dropdown, } from 'antd'; +import { history } from 'umi' +import { useTranslation, Trans } from 'react-i18next' + +const App: React.FC = () => { + const { t } = useTranslation() + const logout = () => { history.push('/login') } + const toSetting = () => { history.push('/setting') } + const items: MenuProps['items'] = useMemo(() => { + return [ + { + key: '1', + label: ( + <Button type="text" onClick={logout}>{t('header.logout')}</Button> + ), + }, + { + key: '2', + label: ( + <Button type="text" onClick={toSetting}>{t('header.setting')}</Button> + ), + }, + ] + }, []); + + return (<> + <Dropdown menu={{ items }} placement="bottomLeft" arrow> + <img + style={{ width: '50px', height: '50px', borderRadius: '25px' }} + src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" + /> + </Dropdown> + </>) +} + +export default App; \ No newline at end of file diff --git a/web/src/layouts/index.less b/web/src/layouts/index.less new file mode 100644 index 0000000..fc201ab --- /dev/null +++ b/web/src/layouts/index.less @@ -0,0 +1,33 @@ +.navs { + ul { + padding: 0; + list-style: none; + display: flex; + } + + li { + margin-right: 1em; + } +} + +.layout { + height: 100vh; +} + +body { + margin: 0; +} + +.tag { + height: 40px; + padding: 0 30px; + margin: 0 5px; + border: 1px solid #000; + border-radius: 10px; + cursor: pointer; +} + +.checked { + color: #1677ff; + border-color: #1677ff; +} \ No newline at end of file diff --git a/web/src/layouts/index.tsx b/web/src/layouts/index.tsx new file mode 100644 index 0000000..6d4cfe0 --- /dev/null +++ b/web/src/layouts/index.tsx @@ -0,0 +1,74 @@ +import React, { useEffect, useState } from 'react'; +import { history, Outlet, useLocation, useNavigate } from 'umi'; +import { useTranslation, Trans } from 'react-i18next' +import classnames from 'classnames' +import '../locales/config'; +import logo from '@/assets/logo.png' +import { + RedditOutlined +} from '@ant-design/icons'; +import { Layout, Button, theme, Space, } from 'antd'; +import styles from './index.less' +import User from './components/user' +import { head } from 'lodash'; + +const { Header, Content } = Layout; + +const App: React.FC = (props) => { + const { t } = useTranslation() + const navigate = useNavigate() + const { + token: { colorBgContainer, borderRadiusLG }, + } = theme.useToken(); + const [current, setCurrent] = useState('knowledge'); + + const location = useLocation(); + useEffect(() => { + if (location.pathname !== '/') { + const path = location.pathname.split('/') + setCurrent(path[1]); + } + console.log(location.pathname.split('/')) + }, [location.pathname]) + + const handleChange = (path: string) => { + setCurrent(path) + navigate(path); + }; + const tagsData = [{ path: '/knowledge', name: 'knowledge' }, { path: '/chat', name: 'chat' }, { path: '/file', name: 'file' }]; + + return ( + <Layout className={styles.layout} > + <Layout> + <Header style={{ padding: '0 8px', background: colorBgContainer, display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}> + + <img src={logo} alt="" style={{ height: 30, width: 30 }} /> + <Space size={[0, 8]} wrap> + {tagsData.map((item) => + (<span key={item.name} className={classnames(styles['tag'], { + [styles['checked']]: current === item.name + })} onClick={() => handleChange(item.path)}> + {item.name} + </span>) + )} + </Space> + <User ></User> + </Header> + <Content + style={{ + margin: '24px 16px', + + minHeight: 280, + background: colorBgContainer, + borderRadius: borderRadiusLG, + overflow: 'auto' + }} + > + <Outlet /> + </Content> + </Layout> + </Layout > + ); +}; + +export default App; \ No newline at end of file diff --git a/web/src/locales/config.ts b/web/src/locales/config.ts new file mode 100644 index 0000000..dd92cd3 --- /dev/null +++ b/web/src/locales/config.ts @@ -0,0 +1,24 @@ +import i18n from 'i18next'; +import { initReactI18next } from 'react-i18next'; + +import translation_en from './en.json'; +import translation_zh from './zh.json'; + +const resources = { + en: { + translation: translation_en, + }, + zh: { + translation: translation_zh, + }, +}; + +i18n.use(initReactI18next).init({ + resources, + lng: 'zh', + interpolation: { + escapeValue: false, + }, +}); + +export default i18n; diff --git a/web/src/locales/en.json b/web/src/locales/en.json new file mode 100644 index 0000000..91ad5c4 --- /dev/null +++ b/web/src/locales/en.json @@ -0,0 +1,20 @@ +{ + "header": { + "register": "Register", + "signin": "Sign In", + "home": "Home", + "setting": "用户设置", + "logout": "登出" + }, + "footer": { + "detail": "All rights reserved @ React" + }, + "layout": { + "file": "file", + "knowledge": "knowledge", + "chat": "chat" + }, + "setting": { + "btn": "en" + } +} \ No newline at end of file diff --git a/web/src/locales/zh.json b/web/src/locales/zh.json new file mode 100644 index 0000000..0573105 --- /dev/null +++ b/web/src/locales/zh.json @@ -0,0 +1,20 @@ +{ + "header": { + "register": "注册", + "signin": "登陆", + "home": "首页", + "setting": "user setting", + "logout": "logout" + }, + "footer": { + "detail": "版æƒæ‰€æœ‰ @ React" + }, + "layout": { + "file": "文件", + "knowledge": "知识库", + "chat": "èŠå¤©" + }, + "setting": { + "btn": "ä¸æ–‡" + } +} \ No newline at end of file diff --git a/web/src/pages/404.jsx b/web/src/pages/404.jsx new file mode 100644 index 0000000..e05f99d --- /dev/null +++ b/web/src/pages/404.jsx @@ -0,0 +1,17 @@ +import { Button, Result } from 'antd'; +import React from 'react'; +import { history } from 'umi'; + +const NoFoundPage = () => { + return (<Result + status="404" + title="404" + subTitle="页é¢æœªæ‰¾åˆ°ï¼Œè¯·è¾“å…¥æ£ç¡®çš„地å€ã€‚" + extra={< Button type="primary" onClick={() => history.push('/')}> + 返回主页 + </Button>} + /> + ) +}; + +export default NoFoundPage; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/createEFileModal.tsx b/web/src/pages/add-knowledge/components/knowledge-file/createEFileModal.tsx new file mode 100644 index 0000000..62fce6e --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-file/createEFileModal.tsx @@ -0,0 +1,72 @@ +import { connect } from 'umi'; +import i18n from 'i18next'; +import { useTranslation, Trans } from 'react-i18next' +import { Input, Modal, Form } from 'antd' +import { rsaPsw } from '@/utils' +import styles from './index.less'; + +type FieldType = { + name?: string; +}; +const Index = ({ kFModel, dispatch, getKfList, kb_id }) => { + const { isShowCEFwModal } = kFModel + const { t } = useTranslation() + const handleCancel = () => { + dispatch({ + type: 'kFModel/updateState', + payload: { + isShowCEFwModal: false + } + }); + }; + const [form] = Form.useForm() + const handleOk = async () => { + try { + const values = await form.validateFields(); + dispatch({ + type: 'kFModel/document_create', + payload: { + name: values.name, + kb_id + }, + callback: () => { + dispatch({ + type: 'kFModel/updateState', + payload: { + isShowCEFwModal: false + } + }); + getKfList && getKfList() + } + }); + + } catch (errorInfo) { + console.log('Failed:', errorInfo); + } + }; + + return ( + <Modal title="Basic Modal" open={isShowCEFwModal} onOk={handleOk} onCancel={handleCancel}> + <Form + form={form} + name="validateOnly" + labelCol={{ span: 8 }} + wrapperCol={{ span: 16 }} + style={{ maxWidth: 600 }} + autoComplete="off" + > + <Form.Item<FieldType> + label="文件å" + name="name" + rules={[{ required: true, message: 'Please input name!' }]} + > + <Input /> + </Form.Item> + + </Form> + </Modal > + + + ); +} +export default connect(({ kFModel, loading }) => ({ kFModel, loading }))(Index); diff --git a/web/src/pages/add-knowledge/components/knowledge-file/index.less b/web/src/pages/add-knowledge/components/knowledge-file/index.less new file mode 100644 index 0000000..3b5c3ef --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-file/index.less @@ -0,0 +1,24 @@ +.filter { + height: 32px; + display: flex; + margin: 10px 0; + justify-content: space-between; + + .search { + flex: 1; + } + + .operate { + width: 200px; + } +} + +.img { + height: 16px; + width: 16px; + margin-right: 6px; +} + +.column { + min-width: 200px +} \ No newline at end of file diff --git a/web/src/pages/add-knowledge/components/knowledge-file/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/index.tsx new file mode 100644 index 0000000..28598cc --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-file/index.tsx @@ -0,0 +1,218 @@ +import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import { connect, useNavigate, useLocation } from 'umi' +import { Space, Table, Tag, Input, Button, Switch, Popover, Dropdown, } from 'antd'; +import type { MenuProps } from 'antd'; +import { PlusOutlined, DownOutlined } from '@ant-design/icons' +import { debounce } from 'lodash'; +import type { ColumnsType } from 'antd/es/table'; +import UploadFile from './upload' +import CreateEPModal from './createEFileModal' +import SegmentSetModal from './segmentSetModal' +import styles from './index.less' + +interface DataType { + name: string; + chunk_num: string; + token_num: number; + update_date: string; + size: string; + status: string; + id: string; + parser_id: string +} + + + +const Index: React.FC = ({ kFModel, dispatch, id }) => { + const { data, loading } = kFModel + const [inputValue, setInputValue] = useState('') + const [doc_id, setDocId] = useState('0') + const [parser_id, setParserId] = useState('0') + const changeValue = (value: string) => { + { + console.log(value) + } + } + const getKfList = () => { + dispatch({ + type: 'kFModel/getKfList', + payload: { + kb_id: id + } + }); + } + useEffect(() => { + if (id) { + getKfList() + } + }, [id]) + const debounceChange = debounce(changeValue, 300) + const debounceCallback = useCallback((value: string) => debounceChange(value), []) + const handleInputChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => { + const value = e.target.value + setInputValue(value) + debounceCallback(e.target.value) + + } + const onChangeStatus = (e: boolean, doc_id: string) => { + dispatch({ + type: 'kFModel/updateDocumentStatus', + payload: { + doc_id, + status: Number(e) + }, + callback() { + getKfList() + } + }); + } + const onRmDocument = () => { + dispatch({ + type: 'kFModel/document_rm', + payload: { + doc_id + }, + callback() { + getKfList() + } + }); + + } + const showCEFModal = () => { + dispatch({ + type: 'kFModel/updateState', + payload: { + isShowCEFwModal: true + } + }); + }; + + const showSegmentSetModal = () => { + dispatch({ + type: 'kFModel/updateState', + payload: { + isShowSegmentSetModal: true + } + }); + }; + const actionItems: MenuProps['items'] = useMemo(() => { + return [ + { + key: '1', + label: ( + <div> + <UploadFile kb_id={id} getKfList={getKfList} /> + </div> + + ), + }, + { + key: '2', + label: ( + <div> + <Button type="link" onClick={showCEFModal}> 导入虚拟文件</Button> + </div> + ), + // disabled: true, + }, + ] + }, [id]); + const chunkItems: MenuProps['items'] = [ + { + key: '1', + label: ( + <div> + + <Button type="link" onClick={showSegmentSetModal}> 分段设置</Button> + </div> + + ), + }, + { + key: '2', + label: ( + <div> + <Button type="link" onClick={onRmDocument}> åˆ é™¤</Button> + </div> + ), + // disabled: true, + }, + ] + const columns: ColumnsType<DataType> = [ + { + title: 'å称', + dataIndex: 'name', + key: 'name', + render: (text) => <a><img className={styles.img} src='https://gw.alipayobjects.com/zos/antfincdn/efFD%24IOql2/weixintupian_20170331104822.jpg' alt="" />{text}</a>, + className: `${styles.column}` + }, + { + title: 'æ•°æ®æ€»é‡', + dataIndex: 'chunk_num', + key: 'chunk_num', + className: `${styles.column}` + }, + { + title: 'Tokens', + dataIndex: 'token_num', + key: 'token_num', + className: `${styles.column}` + }, + { + title: '文件大å°', + dataIndex: 'size', + key: 'size', + className: `${styles.column}` + }, + { + title: '状æ€', + key: 'status', + dataIndex: 'status', + className: `${styles.column}`, + render: (_, { status: string, id }) => ( + <> + <Switch defaultChecked={status === '1'} onChange={(e) => { + onChangeStatus(e, id) + }} /> + </> + ), + }, + { + title: 'Action', + key: 'action', + className: `${styles.column}`, + render: (_, record) => ( + <Space size="middle"> + <Dropdown menu={{ items: chunkItems }} trigger={['click']}> + <a onClick={() => { + setDocId(record.id) + setParserId(record.parser_id) + }}> + 分段设置 <DownOutlined /> + </a> + </Dropdown> + </Space> + ), + }, + ]; + return <> + <div className={styles.filter}> + <div className="search"> + <Input placeholder="æœç´¢" value={inputValue} allowClear onChange={handleInputChange} /> + </div> + <div className="operate"> + <Dropdown menu={{ items: actionItems }} trigger={['click']} > + <a> + 导入文件 <DownOutlined /> + </a> + </Dropdown> + + </div> + </div> + <Table rowKey='id' columns={columns} dataSource={data} loading={loading} pagination={false} scroll={{ scrollToFirstRowOnChange: true, x: true }} /> + <CreateEPModal getKfList={getKfList} kb_id={id} /> + <SegmentSetModal getKfList={getKfList} parser_id={parser_id} doc_id={doc_id} /> + </> +}; + +export default connect(({ kFModel, loading }) => ({ kFModel, loading }))(Index); \ No newline at end of file diff --git a/web/src/pages/add-knowledge/components/knowledge-file/model.ts b/web/src/pages/add-knowledge/components/knowledge-file/model.ts new file mode 100644 index 0000000..4f62d03 --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-file/model.ts @@ -0,0 +1,127 @@ +import { message } from 'antd'; +import { addParam } from '@/utils'; +import kbService from '@/services/kbService'; + +const Model = { + namespace: 'kFModel', + state: { + isShowCEFwModal: false, + isShowTntModal: false, + isShowSegmentSetModal: false, + loading: false, + tenantIfo: {} + }, + subscriptions: { + setup({ dispatch, history }) { + history.listen(location => { + }); + } + }, + effects: { + * createKf({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.createKb, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + + message.success('创建æˆåŠŸï¼'); + } + }, + * updateKf({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.updateKb, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('修改æˆåŠŸï¼'); + + } + }, + *getKfDetail({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.get_kb_detail, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + // localStorage.setItem('userInfo',res.) + callback && callback(res) + } + }, + *getKfList({ payload = {} }, { call, put }) { + yield put({ + type: 'updateState', + payload: { + loading: true + } + }); + const { data, response } = yield call(kbService.get_document_list, payload); + const { retcode, data: res, retmsg } = data + yield put({ + type: 'updateState', + payload: { + loading: false + } + }); + if (retcode === 0) { + yield put({ + type: 'updateState', + payload: { + data: res + } + }); + } + }, + *updateDocumentStatus({ payload = {}, callback }, { call, put }) { + yield put({ + type: 'updateState', + payload: { + loading: true + } + }); + const { data, response } = yield call(kbService.document_change_status, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('修改æˆåŠŸï¼'); + yield put({ + type: 'updateState', + payload: { + loading: false + } + }); + callback && callback() + } + + }, + *document_rm({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.document_rm, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('åˆ é™¤æˆåŠŸï¼'); + callback && callback() + } + + }, + *document_create({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.document_create, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('创建æˆåŠŸï¼'); + callback && callback() + } + + }, + *document_change_parser({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.document_change_parser, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('修改æˆåŠŸï¼'); + callback && callback() + } + + }, + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload + }; + } + } +}; +export default Model; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/segmentSetModal.tsx b/web/src/pages/add-knowledge/components/knowledge-file/segmentSetModal.tsx new file mode 100644 index 0000000..4853b23 --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-file/segmentSetModal.tsx @@ -0,0 +1,84 @@ +import { connect } from 'umi'; +import i18n from 'i18next'; +import { useTranslation, Trans } from 'react-i18next' +import { Input, Modal, Form, Tag, Space } from 'antd' +import { rsaPsw } from '@/utils' +import { useEffect, useState } from 'react'; +import styles from './index.less'; +const { CheckableTag } = Tag; +type FieldType = { + name?: string; +}; +const Index = ({ kFModel, settingModel, dispatch, getKfList, parser_id, doc_id }) => { + const [selectedTag, setSelectedTag] = useState('') + const { tenantIfo = {} } = settingModel + const { parser_ids = '' } = tenantIfo + useEffect(() => { + dispatch({ + type: 'settingModel/getTenantInfo', + payload: { + } + }); + setSelectedTag(parser_id) + }, [parser_id]) + const { isShowSegmentSetModal } = kFModel + const { t } = useTranslation() + const handleCancel = () => { + dispatch({ + type: 'kFModel/updateState', + payload: { + isShowSegmentSetModal: false + } + }); + }; + const handleOk = () => { + console.log(1111, selectedTag) + dispatch({ + type: 'kFModel/document_change_parser', + payload: { + parser_id: selectedTag, + doc_id + }, + callback: () => { + dispatch({ + type: 'kFModel/updateState', + payload: { + isShowSegmentSetModal: false + } + }); + getKfList && getKfList() + } + }); + }; + + const handleChange = (tag: string, checked: boolean) => { + const nextSelectedTag = checked + ? tag + : selectedTag; + console.log('You are interested in: ', nextSelectedTag); + setSelectedTag(nextSelectedTag); + }; + + return ( + <Modal title="Basic Modal" open={isShowSegmentSetModal} onOk={handleOk} onCancel={handleCancel}> + <Space size={[0, 8]} wrap> + <div className={styles.tags}> + { + parser_ids.split(',').map((tag: string) => { + return (<CheckableTag + key={tag} + checked={selectedTag === tag} + onChange={(checked) => handleChange(tag, checked)} + > + {tag} + </CheckableTag>) + }) + } + </div> + </Space> + </Modal > + + + ); +} +export default connect(({ kFModel, settingModel, loading }) => ({ kFModel, settingModel, loading }))(Index); diff --git a/web/src/pages/add-knowledge/components/knowledge-file/upload.tsx b/web/src/pages/add-knowledge/components/knowledge-file/upload.tsx new file mode 100644 index 0000000..1c2f7c9 --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-file/upload.tsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { connect } from 'umi' +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, message, Upload } from 'antd'; +import uploadService from '@/services/uploadService' + + +const Index = ({ kb_id, getKfList }) => { + console.log(kb_id) + const createRequest = async function ({ file, onSuccess, onError }) { + const { retcode, data } = await uploadService.uploadFile(file, kb_id); + if (retcode === 0) { + onSuccess(data, file); + + } else { + onError(data); + } + getKfList && getKfList() + }; + const uploadProps: UploadProps = { + customRequest: createRequest, + showUploadList: false, + }; + return (<Upload {...uploadProps} > + <Button type="link">导入文件</Button> + </Upload>) +} + +export default connect(({ kFModel, settingModel, loading }) => ({ kFModel, settingModel, loading }))(Index); \ No newline at end of file diff --git a/web/src/pages/add-knowledge/components/knowledge-search/index.tsx b/web/src/pages/add-knowledge/components/knowledge-search/index.tsx new file mode 100644 index 0000000..619f2ff --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-search/index.tsx @@ -0,0 +1,3 @@ +export default () => { + return <div>知识库æœç´¢</div> +} \ No newline at end of file diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/index.less b/web/src/pages/add-knowledge/components/knowledge-setting/index.less new file mode 100644 index 0000000..1c06588 --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-setting/index.less @@ -0,0 +1,24 @@ +.tags { + margin-bottom: 24px; +} + +.preset { + display: flex; + height: 80px; + background-color: rgba(0, 0, 0, 0.1); + border-radius: 5px; + padding: 5px; + margin-bottom: 24px; + + .left { + flex: 1; + + } + + .right { + width: 100px; + border-left: 1px solid rgba(0, 0, 0, 0.4); + margin: 10px 0px; + padding: 5px; + } +} \ No newline at end of file diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx new file mode 100644 index 0000000..5002633 --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx @@ -0,0 +1,192 @@ +import React, { useEffect, useState } from 'react'; +import { useNavigate, connect } from 'umi' +import { Button, Form, Input, InputNumber, Radio, Select, Tag, Space, Avatar, Divider, List, Skeleton } from 'antd'; +import styles from './index.less' +const { CheckableTag } = Tag; +const layout = { + labelCol: { span: 8 }, + wrapperCol: { span: 16 }, + labelAlign: 'left' as const +}; +const { Option } = Select +/* eslint-disable no-template-curly-in-string */ +const validateMessages = { + required: '${label} is required!', + types: { + email: '${label} is not a valid email!', + number: '${label} is not a valid number!', + }, + number: { + range: '${label} must be between ${min} and ${max}', + }, +}; +/* eslint-enable no-template-curly-in-string */ + + +interface DataType { + gender: string; + name: { + title: string; + first: string; + last: string; + }; + email: string; + picture: { + large: string; + medium: string; + thumbnail: string; + }; + nat: string; +} +const tags = [{ title: 'ç ”æŠ¥' }, { title: '法律' }, { title: '简历' }, { title: '说明书' }, { title: '书ç±' }, { title: '演讲稿' }] + +const Index: React.FC = ({ settingModel, kSModel, dispatch, ...props }) => { + let navigate = useNavigate(); + const { tenantIfo = {} } = settingModel + const { parser_ids = '', embd_id = '' } = tenantIfo + const { id = '' } = props + const [form] = Form.useForm(); + + useEffect(() => { + dispatch({ + type: 'settingModel/getTenantInfo', + payload: { + } + }); + if (id) { + + dispatch({ + type: 'kSModel/getKbDetail', + payload: { + kb_id: id + }, + callback(detail: any) { + console.log(detail) + const { description, name, permission, embd_id } = detail + form.setFieldsValue({ description, name, permission, embd_id }) + setSelectedTag(detail.parser_id) + } + }); + } + + }, [id]) + const [selectedTag, setSelectedTag] = useState('') + const values = Form.useWatch([], form); + console.log(values, '......å˜åŒ–') + const onFinish = () => { + form.validateFields().then( + () => { + if (id) { + dispatch({ + type: 'kSModel/updateKb', + payload: { + ...values, + parser_id: selectedTag, + kb_id: id, + embd_id: undefined + } + }); + } else { + dispatch({ + type: 'kSModel/createKb', + payload: { + ...values, + parser_id: selectedTag + }, + callback(id: string) { + navigate(`/knowledge/add/setting?activeKey=file&id=${id}`); + } + }); + } + }, + () => { + + }, + ); + + + + }; + + const handleChange = (tag: string, checked: boolean) => { + const nextSelectedTag = checked + ? tag + : selectedTag; + console.log('You are interested in: ', nextSelectedTag); + setSelectedTag(nextSelectedTag); + }; + + return <Form + {...layout} + form={form} + name="validateOnly" + style={{ maxWidth: 1000, padding: 14 }} + > + <Form.Item name='name' label="知识库å称" rules={[{ required: true }]}> + <Input /> + </Form.Item> + <Form.Item name='description' label="知识库æè¿°"> + <Input.TextArea /> + </Form.Item> + <Form.Item name="permission" label="å¯è§æƒé™"> + <Radio.Group> + <Radio value="me">åªæœ‰æˆ‘</Radio> + <Radio value="team">所有团队æˆå‘˜</Radio> + </Radio.Group> + </Form.Item> + <Form.Item + name="embd_id" + label="Embedding 模型" + hasFeedback + rules={[{ required: true, message: 'Please select your country!' }]} + > + <Select placeholder="Please select a country" disabled={id}> + {embd_id.split(',').map((item: string) => { + return <Option value={item} key={item}>{item}</Option> + })} + + </Select> + </Form.Item> + <div style={{ marginTop: '5px' }}> + 修改Embedding 模型,请去<span style={{ color: '#1677ff' }}>设置</span> + </div> + <Space size={[0, 8]} wrap> + <div className={styles.tags}> + { + parser_ids.split(',').map((tag: string) => { + return (<CheckableTag + key={tag} + checked={selectedTag === tag} + onChange={(checked) => handleChange(tag, checked)} + > + {tag} + </CheckableTag>) + }) + } + </div> + </Space> + <Space size={[0, 8]} wrap> + + </Space> + <div className={styles.preset}> + <div className={styles.left}> + xxxxxæ–‡ç« + </div> + <div className={styles.right}> + 预估份数 + </div> + </div> + <Form.Item wrapperCol={{ ...layout.wrapperCol, offset: 8 }}> + <Button type="primary" onClick={onFinish}> + ä¿å˜å¹¶å¤„ç† + </Button> + <Button htmlType="button" style={{ marginLeft: '20px' }}> + å–消 + </Button> + </Form.Item> + </Form> +} + + + +export default connect(({ settingModel, kSModel, loading }) => ({ settingModel, kSModel, loading }))(Index); \ No newline at end of file diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/model.ts b/web/src/pages/add-knowledge/components/knowledge-setting/model.ts new file mode 100644 index 0000000..197ad04 --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-setting/model.ts @@ -0,0 +1,53 @@ +import { message } from 'antd'; +import { addParam } from '@/utils'; +import kbService from '@/services/kbService'; + +const Model = { + namespace: 'kSModel', + state: { + isShowPSwModal: false, + isShowTntModal: false, + loading: false, + tenantIfo: {} + }, + subscriptions: { + setup({ dispatch, history }) { + history.listen(location => { + }); + } + }, + effects: { + * createKb({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.createKb, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('创建知识库æˆåŠŸï¼'); + callback && callback(res.kb_id) + } + }, + * updateKb({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.updateKb, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('更新知识库æˆåŠŸï¼'); + } + }, + *getKbDetail({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.get_kb_detail, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + // localStorage.setItem('userInfo',res.) + callback && callback(res) + } + }, + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload + }; + } + } +}; +export default Model; diff --git a/web/src/pages/add-knowledge/index.less b/web/src/pages/add-knowledge/index.less new file mode 100644 index 0000000..d60a41d --- /dev/null +++ b/web/src/pages/add-knowledge/index.less @@ -0,0 +1,19 @@ +.container { + display: flex; + + .menu { + .defaultWidth { + width: 256px; + } + + .minWidth { + width: 50px + } + } + + .content { + flex: 1; + overflow-x: auto; + height: 100%; + } +} \ No newline at end of file diff --git a/web/src/pages/add-knowledge/index.tsx b/web/src/pages/add-knowledge/index.tsx new file mode 100644 index 0000000..3becb3f --- /dev/null +++ b/web/src/pages/add-knowledge/index.tsx @@ -0,0 +1,106 @@ +import { connect, useNavigate, useLocation } from 'umi' +import React, { useMemo, useState, useEffect } from 'react'; +import type { MenuProps } from 'antd'; +import { Radio, Space, Tabs, Menu } from 'antd'; +import { + ToolOutlined, + BarsOutlined, + SearchOutlined +} from '@ant-design/icons'; +import File from './components/knowledge-file' +import Setting from './components/knowledge-setting' +import Search from './components/knowledge-search' +import styles from './index.less' +import { getWidth } from '@/utils' + + +const Index: React.FC = ({ kAModel, dispatch }) => { + const [collapsed, setCollapsed] = useState(false); + const { id, activeKey } = kAModel + const [windowWidth, setWindowWidth] = useState(getWidth()); + let navigate = useNavigate(); + const location = useLocation(); + // æ ‡è®°ä¸€ä¸‹ + useEffect(() => { + const widthSize = () => { + const width = getWidth() + console.log(width) + + setWindowWidth(width); + }; + window.addEventListener("resize", widthSize); + return () => { + window.removeEventListener("resize", widthSize); + }; + }, []); + useEffect(() => { + console.log(location) + const search = location.search.slice(1) + const map = search.split('&').reduce((obj, cur) => { + const [key, value] = cur.split('=') + obj[key] = value + return obj + }, {}) + dispatch({ + type: 'kAModel/updateState', + payload: { + ...map + } + }); + }, [location]) + useEffect(() => { + if (windowWidth.width > 957) { + setCollapsed(false) + } else { + setCollapsed(true) + } + }, [windowWidth.width]) + type MenuItem = Required<MenuProps>['items'][number]; + + function getItem( + label: React.ReactNode, + key: React.Key, + icon?: React.ReactNode, + children?: MenuItem[], + type?: 'group', + ): MenuItem { + return { + key, + icon, + children, + label, + type, + } as MenuItem; + } + const items: MenuItem[] = [ + getItem('é…ç½®', 'setting', <ToolOutlined />), + getItem('知识库', 'file', <BarsOutlined />), + getItem('æœç´¢æµ‹è¯•', 'search', <SearchOutlined />), + ]; + const handleSelect: MenuProps['onSelect'] = (e) => { + navigate(`/knowledge/add/setting?activeKey=${e.key}&id=${id}`); + } + return ( + <> + <div className={styles.container}> + <div className={styles.menu}> + <Menu + selectedKeys={[activeKey]} + mode="inline" + className={windowWidth.width > 957 ? styles.defaultWidth : styles.minWidth} + inlineCollapsed={collapsed} + items={items} + onSelect={handleSelect} + /> + </div> + <div className={styles.content}> + {activeKey === 'file' && <File id={id} />} + {activeKey === 'setting' && <Setting id={id} />} + {activeKey === 'search' && <Search id={id} />} + </div> + </div> + </> + ); +}; + +export default connect(({ kAModel, loading }) => ({ kAModel, loading }))(Index); \ No newline at end of file diff --git a/web/src/pages/add-knowledge/model.ts b/web/src/pages/add-knowledge/model.ts new file mode 100644 index 0000000..1372b21 --- /dev/null +++ b/web/src/pages/add-knowledge/model.ts @@ -0,0 +1,34 @@ +import { message } from 'antd'; +import { addParam } from '@/utils'; +import kbService from '@/services/kbService'; + +const Model = { + namespace: 'kAModel', + state: { + isShowPSwModal: false, + isShowTntModal: false, + loading: false, + tenantIfo: {}, + activeKey: 'setting', + id: '' + + }, + subscriptions: { + setup({ dispatch, history }) { + history.listen(location => { + }); + } + }, + effects: { + + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload + }; + } + } +}; +export default Model; diff --git a/web/src/pages/chat/index.tsx b/web/src/pages/chat/index.tsx new file mode 100644 index 0000000..3e1b4d0 --- /dev/null +++ b/web/src/pages/chat/index.tsx @@ -0,0 +1,19 @@ +import React, { FC } from 'react'; +import { IndexModelState, ConnectProps, Loading, connect } from 'umi'; + +interface PageProps extends ConnectProps { + index: IndexModelState; + loading: boolean; +} + +const IndexPage: FC<PageProps> = ({ index, dispatch }) => { + const { name } = index; + return <div>chat: {name}</div>; +}; + +export default connect( + ({ index, loading }: { index: IndexModelState; loading: Loading }) => ({ + index, + loading: loading.models.index, + }), +)(IndexPage); \ No newline at end of file diff --git a/web/src/pages/chat/model.ts b/web/src/pages/chat/model.ts new file mode 100644 index 0000000..94d6b4e --- /dev/null +++ b/web/src/pages/chat/model.ts @@ -0,0 +1,52 @@ +import { Effect, ImmerReducer, Reducer, Subscription } from 'umi'; + +export interface IndexModelState { + name: string; +} + +export interface IndexModelType { + namespace: 'index'; + state: IndexModelState; + effects: { + query: Effect; + }; + reducers: { + save: Reducer<IndexModelState>; + // å¯ç”¨ immer ä¹‹åŽ + // save: ImmerReducer<IndexModelState>; + }; + subscriptions: { setup: Subscription }; +} + +const IndexModel: IndexModelType = { + namespace: 'index', + state: { + name: 'kate', + }, + + effects: { + *query({ payload }, { call, put }) { }, + }, + reducers: { + save(state, action) { + return { + ...state, + ...action.payload, + }; + }, + // å¯ç”¨ immer ä¹‹åŽ + // save(state, action) { + // state.name = action.payload; + // }, + }, + subscriptions: { + setup({ dispatch, history }) { + return history.listen((query) => { + console.log(query) + + }); + }, + }, +}; + +export default IndexModel; \ No newline at end of file diff --git a/web/src/pages/file/index.tsx b/web/src/pages/file/index.tsx new file mode 100644 index 0000000..c690f18 --- /dev/null +++ b/web/src/pages/file/index.tsx @@ -0,0 +1,51 @@ +import React, { useEffect, useState } from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import { Button, Upload } from 'antd'; +import type { UploadFile } from 'antd/es/upload/interface'; + + +const App: React.FC = () => { + const [fileList, setFileList] = useState([{ + uid: '0', + name: 'xxx.png', + status: 'uploading', + percent: 10, + }]) + const obj = { + uid: '-1', + name: 'yyy.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + } + useEffect(() => { + const timer = setInterval(() => { + setFileList((fileList) => { + const percent = fileList[0]?.percent + if (percent + 10 >= 100) { + clearInterval(timer) + return [obj] + } + const list = [{ ...fileList[0], percent: percent + 10 }] + console.log(list) + return list + + }) + }, 300) + }, []) + return ( + + <> + <Upload + action="https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188" + listType="picture" + fileList={[...fileList]} + multiple + > + <Button icon={<UploadOutlined />}>Upload</Button> + </Upload> + </> + ) +}; + +export default App; \ No newline at end of file diff --git a/web/src/pages/knowledge/index.less b/web/src/pages/knowledge/index.less new file mode 100644 index 0000000..1533a8e --- /dev/null +++ b/web/src/pages/knowledge/index.less @@ -0,0 +1,41 @@ +.knowledge { + padding: 24px; +} + +.container { + height: 100px; + display: flex; + flex-direction: column; + justify-content: space-between; + + .content { + display: flex; + justify-content: space-between; + + .context { + flex: 1 + } + } + + .footer { + height: 20px; + + .text { + margin-left: 10px; + } + } +} + +.card { + :global { + .ant-card-body { + padding: 10px; + margin: 0; + } + + margin-bottom: 10px; + } + + cursor: pointer; + +} \ No newline at end of file diff --git a/web/src/pages/knowledge/index.tsx b/web/src/pages/knowledge/index.tsx new file mode 100644 index 0000000..48025bc --- /dev/null +++ b/web/src/pages/knowledge/index.tsx @@ -0,0 +1,109 @@ +import React, { useEffect, useState, } from 'react'; +import { useNavigate, connect } from 'umi' +import { Card, List, Popconfirm, message, FloatButton, Row, Col } from 'antd'; +import { MinusSquareOutlined, DeleteOutlined, PlusOutlined } from '@ant-design/icons'; +import styles from './index.less' +import { formatDate } from '@/utils/date' + +const dd = [{ + title: 'Title 4', + text: '4', + des: '111' +}] +const Index: React.FC = ({ knowledgeModel, dispatch }) => { + const navigate = useNavigate() + // const [datas, setDatas] = useState(data) + const { data } = knowledgeModel + const confirm = (id) => { + dispatch({ + type: 'knowledgeModel/rmKb', + payload: { + kb_id: id + }, + callback: () => { + dispatch({ + type: 'knowledgeModel/getList', + payload: { + + } + }); + } + }); + }; + const handleAddKnowledge = () => { + navigate(`add/setting?activeKey=setting`); + } + const handleEditKnowledge = (id: string) => { + navigate(`add/setting?activeKey=file&id=${id}`); + } + useEffect(() => { + dispatch({ + type: 'knowledgeModel/getList', + payload: { + + } + }); + }, []) + return (<> + <div className={styles.knowledge}> + <FloatButton onClick={handleAddKnowledge} icon={<PlusOutlined />} type="primary" style={{ right: 24, top: 100 }} /> + <Row gutter={{ xs: 8, sm: 16, md: 24, lg: 32 }}> + { + data.map((item, index) => { + return (<Col className="gutter-row" key={item.title} xs={24} sm={12} md={8} lg={6}> + <Card className={styles.card} + onClick={() => { handleEditKnowledge(item.id) }} + > + <div className={styles.container}> + <div className={styles.content}> + <span className={styles.context}> + {item.name} + </span> + <span className={styles.delete}> + <Popconfirm + title="Delete the task" + description="Are you sure to delete this task?" + onConfirm={(e) => { + e.stopPropagation(); + e.nativeEvent.stopImmediatePropagation() + confirm(item.id) + + }} + okText="Yes" + cancelText="No" + > + <DeleteOutlined onClick={(e) => { + e.stopPropagation(); + e.nativeEvent.stopImmediatePropagation() + }} /> + </Popconfirm> + + </span> + </div> + <div className={styles.footer}> + <span className={styles.text}> + <MinusSquareOutlined />{item.doc_num}文档 + </span> + <span className={styles.text}> + <MinusSquareOutlined />{item.chunk_num}个 + </span> + <span className={styles.text}> + <MinusSquareOutlined />{item.token_num}åƒå—符 + </span> + <span style={{ float: 'right' }}> + {formatDate(item.update_date)} + </span> + </div> + + </div> + </Card> + </Col>) + }) + } + </Row> + </div> + </> + ) +}; + +export default connect(({ knowledgeModel, loading }) => ({ knowledgeModel, loading }))(Index); \ No newline at end of file diff --git a/web/src/pages/knowledge/model.ts b/web/src/pages/knowledge/model.ts new file mode 100644 index 0000000..0e5090f --- /dev/null +++ b/web/src/pages/knowledge/model.ts @@ -0,0 +1,61 @@ +import { message } from 'antd'; +import { addParam } from '@/utils'; +import kbService from '@/services/kbService'; + +const Model = { + namespace: 'knowledgeModel', + state: { + loading: false, + data: [] + }, + subscriptions: { + setup({ dispatch, history }) { + history.listen(location => { + console.log(location) + }); + } + }, + effects: { + * rmKb({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(kbService.rmKb, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + callback && callback() + + } + }, + *getList({ payload = {} }, { call, put }) { + yield put({ + type: 'updateState', + payload: { + loading: true + } + }); + const { data, response } = yield call(kbService.getList, payload); + const { retcode, data: res, retmsg } = data + yield put({ + type: 'updateState', + payload: { + loading: false + } + }); + if (retcode === 0) { + yield put({ + type: 'updateState', + payload: { + data: res + } + }); + } + }, + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload + }; + } + } +}; +export default Model; diff --git a/web/src/pages/login/index.less b/web/src/pages/login/index.less new file mode 100644 index 0000000..4683848 --- /dev/null +++ b/web/src/pages/login/index.less @@ -0,0 +1,63 @@ +@import '../../theme/vars'; + +.loginPage { + // width: 100%; + display: flex; + + + .loginLeft { + // width: 610px; + width: 40%; + background-color: #fff; + height: 100vh; + } + + + + @media screen and (max-width:957px) { + .loginLeft { + // width: 610px; + width: 100%; + background-color: #fff; + height: 100vh; + } + + .modal { + width: 80%; + } + } + + .loginRight { + flex: 1; + background-color: #F2F4F7; + ; + } + + .loginTitle { + //styleName: Heading/1; + font-family: SF Pro Text; + font-size: 38px; + font-weight: 600; + line-height: 46px; + letter-spacing: 0em; + height: 80px; + margin-bottom: 69px; + + // text-align: center; + span { + font-size: 16px; + line-height: 24px; + + color: #000000A6; + } + + } +} + +.modal { + // width: 360px; + width: 60%; + height: 724px; + padding: 5px, 0px, 5px, 0px; + margin: 80px auto +} \ No newline at end of file diff --git a/web/src/pages/login/index.tsx b/web/src/pages/login/index.tsx new file mode 100644 index 0000000..d992fed --- /dev/null +++ b/web/src/pages/login/index.tsx @@ -0,0 +1,157 @@ +import { connect, Icon, Dispatch } from 'umi'; +import { Input, Form, Button, Checkbox } from 'antd'; +import styles from './index.less'; +import { rsaPsw } from '@/utils' +import { useState, useEffect, FC } from 'react'; +interface LoginProps { + dispatch: Dispatch; +} +const View: FC<LoginProps> = ({ + dispatch, +}) => { + const [title, setTitle] = useState('login') + const changeTitle = () => { + setTitle((title) => title === 'login' ? 'register' : 'login') + } + const [form] = Form.useForm(); + const [checkNick, setCheckNick] = useState(false); + + useEffect(() => { + form.validateFields(['nickname']); + }, [checkNick, form]); + + const onCheck = async () => { + try { + const params = await form.validateFields(); + + var rsaPassWord = rsaPsw(params.password) + if (title === 'login') { + dispatch({ + type: 'loginModel/login', + payload: { + email: params.email, + password: rsaPassWord + } + }); + } else { + dispatch({ + type: 'loginModel/register', + payload: { + nickname: params.nickname, + email: params.email, + password: rsaPassWord, + }, + callback() { + setTitle('login') + } + }); + } + } catch (errorInfo) { + console.log('Failed:', errorInfo); + } + }; + const formItemLayout = { + labelCol: { span: 6 }, + // wrapperCol: { span: 8 }, + }; + + + const toGoogle = () => { + window.location.href = "https://github.com/login/oauth/authorize?scope=user:email&client_id=302129228f0d96055bee" + } + return ( + <div className={styles.loginPage}> + + <div className={styles.loginLeft}> + <div className={styles.modal}> + <div className={styles.loginTitle}> + <div> + {title === 'login' ? 'Sign in' : 'Create an account'} + </div> + <span > + {title === 'login' ? 'We’re so excited to see you again!' : 'Glad to have you on board!'} + </span> + </div> + + <Form form={form} layout="vertical" name="dynamic_rule" style={{ maxWidth: 600 }}> + <Form.Item + {...formItemLayout} + name="email" + label="Email" + rules={[{ required: true, message: 'Please input your name' }]} + > + <Input size='large' placeholder="Please input your name" /> + </Form.Item> + { + title === 'register' && <Form.Item + {...formItemLayout} + name="nickname" + label="Nickname" + rules={[{ required: true, message: 'Please input your nickname' }]} + > + <Input size='large' placeholder="Please input your nickname" /> + </Form.Item> + } + <Form.Item + {...formItemLayout} + name="password" + label="Password" + rules={[{ required: true, message: 'Please input your name' }]} + > + <Input size='large' placeholder="Please input your name" /> + </Form.Item> + { + title === 'login' && <Form.Item + name="remember" + valuePropName="checked" + + > + <Checkbox> Remember me</Checkbox> + </Form.Item> + } + <div> { + title === 'login' && (<div> + Don’t have an account? + <Button type="link" onClick={changeTitle}> + Sign up + </Button> + </div>) + } + { + title === 'register' && (<div> + Already have an account? + <Button type="link" onClick={changeTitle}> + Sign in + </Button> + </div>) + } + </div> + <Button type="primary" block size='large' onClick={onCheck}> + {title === 'login' ? 'Sign in' : 'Continue'} + </Button> + { + title === 'login' && (<><Button block size='large' onClick={toGoogle} style={{ marginTop: 15 }}> + <div > + <Icon icon="local:google" style={{ verticalAlign: 'middle', marginRight: 5 }} /> + Sign in with Google + </div> + </Button> + <Button block size='large' onClick={toGoogle} style={{ marginTop: 15 }}> + <div > + <Icon icon="local:github" style={{ verticalAlign: 'middle', marginRight: 5 }} /> + Sign in with Github + </div> + </Button></>) + } + + </Form> + </div> + </div> + <div className={styles.loginRight}> + + </div> + </div> + ); +}; + +export default connect(({ loginModel, loading }) => ({ loginModel, loading }))(View); diff --git a/web/src/pages/login/model.ts b/web/src/pages/login/model.ts new file mode 100644 index 0000000..b886ab3 --- /dev/null +++ b/web/src/pages/login/model.ts @@ -0,0 +1,61 @@ +import { message } from 'antd'; +import { addParam } from '@/utils'; +import userService from '@/services/userService'; + +const Model = { + namespace: 'loginModel', + state: { + list: [], + info: {}, + visible: false, + pagination: {}, + campaignInfo: {} + }, + subscriptions: { + setup({ dispatch, history }) { + history.listen(location => { }); + } + }, + effects: { + *login({ payload = {} }, { call, put }) { + console.log(111, payload) + const { data, response } = yield call(userService.login, payload); + const { retcode, data: res, retmsg } = data + console.log() + const Authorization = response.headers.get('Authorization') + if (retcode === 0) { + message.success('登录æˆåŠŸï¼'); + const token = res.access_token; + const userInfo = { + avatar: res.avatar, + name: res.nickname, + email: res.email + }; + localStorage.setItem('token', token) + localStorage.setItem('userInfo', JSON.stringify(userInfo)) + localStorage.setItem('Authorization', Authorization) + setTimeout(() => { + window.location.href = '/file'; + }, 300); + } + }, + *register({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(userService.register, payload); + console.log() + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('注册æˆåŠŸï¼'); + callback && callback() + } + } + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload + }; + } + } +}; +export default Model; diff --git a/web/src/pages/setting/CPwModal.tsx b/web/src/pages/setting/CPwModal.tsx new file mode 100644 index 0000000..0864e7e --- /dev/null +++ b/web/src/pages/setting/CPwModal.tsx @@ -0,0 +1,92 @@ +import { connect, Dispatch } from 'umi'; +import i18n from 'i18next'; +import { useTranslation, Trans } from 'react-i18next' +import { Input, Modal, Form } from 'antd' +import { rsaPsw } from '@/utils' +import styles from './index.less'; +import { FC } from 'react'; + +type FieldType = { + newPassword?: string; + password?: string; +}; +interface CPwModalProps { + dispatch: Dispatch; + settingModel: any +} +const Index: FC<CPwModalProps> = ({ settingModel, dispatch }) => { + const { isShowPSwModal } = settingModel + const { t } = useTranslation() + const handleCancel = () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowPSwModal: false + } + }); + }; + const [form] = Form.useForm() + const handleOk = async () => { + try { + const values = await form.validateFields(); + var password = rsaPsw(values.password) + var new_password = rsaPsw(values.newPassword) + + dispatch({ + type: 'settingModel/setting', + payload: { + password, + new_password + }, + callback: () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowPSwModal: false + } + }); + dispatch({ + type: 'settingModel/getUserInfo', + payload: { + + } + }); + } + }); + + } catch (errorInfo) { + console.log('Failed:', errorInfo); + } + }; + + return ( + <Modal title="Basic Modal" open={isShowPSwModal} onOk={handleOk} onCancel={handleCancel}> + <Form + form={form} + labelCol={{ span: 8 }} + wrapperCol={{ span: 16 }} + style={{ maxWidth: 600 }} + autoComplete="off" + > + <Form.Item<FieldType> + label="旧密ç " + name="password" + rules={[{ required: true, message: 'Please input your password!' }]} + > + <Input.Password /> + </Form.Item> + <Form.Item<FieldType> + label="新密ç " + name="newPassword" + rules={[{ required: true, message: 'Please input your newPassword!' }]} + > + <Input.Password /> + </Form.Item> + + </Form> + </Modal > + + + ); +} +export default connect(({ settingModel, loading }) => ({ settingModel, loading }))(Index); diff --git a/web/src/pages/setting/List.tsx b/web/src/pages/setting/List.tsx new file mode 100644 index 0000000..f54b752 --- /dev/null +++ b/web/src/pages/setting/List.tsx @@ -0,0 +1,197 @@ +import { connect, Dispatch } from 'umi'; +import i18n from 'i18next'; +import { useTranslation, Trans } from 'react-i18next' + +import styles from './index.less'; +import type { ColumnsType } from 'antd/es/table'; +import { useEffect, useState, FC } from 'react'; + +import { RadarChartOutlined } from '@ant-design/icons'; +import { ProCard } from '@ant-design/pro-components'; +import { Button, Tag, Row, Col, Card } from 'antd'; +import { divide } from 'lodash'; + + +interface DataType { + key: React.Key; + name: string; + age: number; + address: string; + description: string; +} +interface ListProps { + dispatch: Dispatch; + settingModel: any +} +const Index: FC<ListProps> = ({ settingModel, dispatch }) => { + const { llmInfo = {}, factoriesList, myLlm = [] } = settingModel + const { OpenAI = [], tongyi = [] } = llmInfo + console.log(OpenAI) + const [collapsed, setCollapsed] = useState(true); + const { t } = useTranslation() + const columns: ColumnsType<DataType> = [ + { title: 'Name', dataIndex: 'name', key: 'name' }, + { title: 'Age', dataIndex: 'age', key: 'age' }, + { + title: 'Action', + dataIndex: '', + key: 'x', + render: () => <a>Delete</a>, + }, + ]; + useEffect(() => { + dispatch({ + type: 'settingModel/factories_list', + payload: { + }, + }); + dispatch({ + type: 'settingModel/llm_list', + payload: { + }, + }); + dispatch({ + type: 'settingModel/my_llm', + payload: { + }, + }); + + }, []) + const data: DataType[] = [ + { + key: 1, + name: 'John Brown', + age: 32, + address: 'New York No. 1 Lake Park', + description: 'My name is John Brown, I am 32 years old, living in New York No. 1 Lake Park.', + }, + { + key: 2, + name: 'Jim Green', + age: 42, + address: 'London No. 1 Lake Park', + description: 'My name is Jim Green, I am 42 years old, living in London No. 1 Lake Park.', + }, + { + key: 3, + name: 'Not Expandable', + age: 29, + address: 'Jiangsu No. 1 Lake Park', + description: 'This not expandable', + }, + { + key: 4, + name: 'Joe Black', + age: 32, + address: 'Sydney No. 1 Lake Park', + description: 'My name is Joe Black, I am 32 years old, living in Sydney No. 1 Lake Park.', + }, + ]; + + return ( + <div + className={styles.list} + style={{ + display: 'flex', + flexDirection: 'column', + padding: 24, + gap: 12, + }} + > + { + myLlm.map((item: any) => { + return (<ProCard + key={item.llm_factory} + // title={<div>å¯æŠ˜å -å›¾æ ‡è‡ªå®šä¹‰</div>} + collapsibleIconRender={({ + collapsed: buildInCollapsed, + }: { + collapsed: boolean; + }) => { + return (<div> + <h3><RadarChartOutlined />{item.llm_factory}</h3> + <div>{item.tags.split(',').map((d: string) => { + return <Tag key={d}>{d}</Tag> + })}</div> + { + buildInCollapsed ? <span>显示{OpenAI.length}个模型</span> : <span>收起{OpenAI.length}个模型 </span> + } + </div>) + }} + extra={ + <Button + size="small" + type='link' + onClick={(e) => { + e.stopPropagation(); + dispatch({ + type: 'settingModel/updateState', + payload: { + llm_factory: item.llm_factory, + isShowSAKModal: true + } + }); + }} + > + 设置 + </Button> + } + style={{ marginBlockStart: 16 }} + headerBordered + collapsible + defaultCollapsed + > + {/* <ul> + {OpenAI.map(item => { + return <li key={item.llm_name}> + <span>{item.llm_name}</span> + <span className={styles[item.available ? 'statusAvailable' : 'statusDisaabled']}> + </span> + </li> + })} + </ul> */} + </ProCard>) + }) + } + + + + <Row gutter={{ xs: 8, sm: 16, md: 24, lg: 32 }}> + { + factoriesList.map((item: any) => { + return (<Col key={item.name} xs={24} sm={12} md={8} lg={6}> + <Card title={item.name} bordered={false} extra={ + <Button + size="small" + type='link' + onClick={(e) => { + e.stopPropagation(); + dispatch({ + type: 'settingModel/updateState', + payload: { + llm_factory: item.name, + isShowSAKModal: true + } + }); + }} + > + 设置 + </Button> + }> + + <div> + { + item.tags.split(',').map((d: string) => { + return <Tag key={d}>{d}</Tag> + }) + } + </div> + </Card> + </Col>) + }) + } + </Row> + </div> + ); +} +export default connect(({ settingModel, loading }) => ({ settingModel, loading }))(Index); diff --git a/web/src/pages/setting/SAKModal.tsx b/web/src/pages/setting/SAKModal.tsx new file mode 100644 index 0000000..ffdd72b --- /dev/null +++ b/web/src/pages/setting/SAKModal.tsx @@ -0,0 +1,84 @@ +import { connect, Dispatch } from 'umi'; +import i18n from 'i18next'; +import { FC } from 'react' +import { useTranslation, Trans } from 'react-i18next' +import { Input, Modal, Form } from 'antd' +import { rsaPsw } from '@/utils' +import styles from './index.less'; + +type FieldType = { + api_key?: string; +}; +interface SAKModalProps { + dispatch: Dispatch; + settingModel: any +} +const Index: FC<SAKModalProps> = ({ settingModel, dispatch }) => { + const { isShowSAKModal, llm_factory } = settingModel + console.log(llm_factory) + const { t } = useTranslation() + const handleCancel = () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowSAKModal: false + } + }); + }; + const [form] = Form.useForm() + const handleOk = async () => { + try { + const values = await form.validateFields(); + + dispatch({ + type: 'settingModel/set_api_key', + payload: { + api_key: values.api_key, + llm_factory: llm_factory + }, + callback: () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowSAKModal: false + } + }); + // dispatch({ + // type: 'settingModel/getUserInfo', + // payload: { + + // } + // }); + } + }); + + } catch (errorInfo) { + console.log('Failed:', errorInfo); + } + }; + + return ( + <Modal title="Basic Modal" open={isShowSAKModal} onOk={handleOk} onCancel={handleCancel}> + <Form + form={form} + name="validateOnly" + labelCol={{ span: 8 }} + wrapperCol={{ span: 16 }} + style={{ maxWidth: 600 }} + autoComplete="off" + > + <Form.Item<FieldType> + label="API Key" + name="api_key" + rules={[{ required: true, message: 'Please input ' }]} + > + <Input /> + </Form.Item> + + </Form> + </Modal > + + + ); +} +export default connect(({ settingModel, loading }) => ({ settingModel, loading }))(Index); diff --git a/web/src/pages/setting/SSModal.tsx b/web/src/pages/setting/SSModal.tsx new file mode 100644 index 0000000..19e5617 --- /dev/null +++ b/web/src/pages/setting/SSModal.tsx @@ -0,0 +1,153 @@ +import { connect, Dispatch } from 'umi'; +import { FC } from 'react' +import i18n from 'i18next'; +import { useTranslation, Trans } from 'react-i18next' +import { Input, Modal, Form, Select } from 'antd' +import { rsaPsw } from '@/utils' +import styles from './index.less'; + +type FieldType = { + embd_id?: string; + img2txt_id?: string; + llm_id?: string; + asr_id?: string +}; +interface SSModalProps { + dispatch: Dispatch; + settingModel: any +} +const Index: FC<SSModalProps> = ({ settingModel, dispatch }) => { + const { isShowSSModal, llmInfo = {}, tenantIfo } = settingModel + + const { t } = useTranslation() + const handleCancel = () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowSSModal: false + } + }); + }; + const [form] = Form.useForm() + const handleOk = async () => { + try { + const values = await form.validateFields(); + console.log(values) + dispatch({ + type: 'settingModel/set_tenant_info', + payload: { + ...values, + tenant_id: tenantIfo.tenant_id, + }, + callback: () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowSSModal: false + } + }); + // dispatch({ + // type: 'settingModel/getUserInfo', + // payload: { + + // } + // }); + } + }); + + } catch (errorInfo) { + console.log('Failed:', errorInfo); + } + }; + const handleChange = () => { + + } + + return ( + <Modal title="Basic Modal" open={isShowSSModal} onOk={handleOk} onCancel={handleCancel}> + <Form + form={form} + name="validateOnly" + // labelCol={{ span: 8 }} + // wrapperCol={{ span: 16 }} + style={{ maxWidth: 600 }} + autoComplete="off" + layout="vertical" + > + <Form.Item<FieldType> + label="embedding 模型" + name="embd_id" + rules={[{ required: true, message: 'Please input your password!' }]} + initialValue={tenantIfo.embd_id} + + > + <Select + // style={{ width: 200 }} + onChange={handleChange} + // fieldNames={label:} + options={Object.keys(llmInfo).map(t => { + const options = llmInfo[t].filter((d: any) => d.model_type === 'embedding').map((d: any) => ({ label: d.llm_name, value: d.llm_name, })) + return { label: t, options } + })} + /> + </Form.Item> + <Form.Item<FieldType> + label="chat 模型" + name="llm_id" + rules={[{ required: true, message: 'Please input your password!' }]} + initialValue={tenantIfo.llm_id} + + > + <Select + // style={{ width: 200 }} + onChange={handleChange} + // fieldNames={label:} + options={Object.keys(llmInfo).map(t => { + const options = llmInfo[t].filter((d: any) => d.model_type === 'chat').map((d: any) => ({ label: d.llm_name, value: d.llm_name, })) + return { label: t, options } + })} + /> + </Form.Item> + <Form.Item<FieldType> + label="image2text 模型" + name="img2txt_id" + rules={[{ required: true, message: 'Please input your password!' }]} + initialValue={tenantIfo.img2txt_id} + + > + <Select + // style={{ width: 200 }} + onChange={handleChange} + // fieldNames={label:} + options={Object.keys(llmInfo).map(t => { + const options = llmInfo[t].filter((d: any) => d.model_type === 'image2text').map((d: any) => ({ label: d.llm_name, value: d.llm_name, })) + return { label: t, options } + })} + /> + </Form.Item> + <Form.Item<FieldType> + label="speech2text 模型" + name="asr_id" + rules={[{ required: true, message: 'Please input your password!' }]} + initialValue={tenantIfo.asr_id} + + > + <Select + // style={{ width: 200 }} + onChange={handleChange} + // fieldNames={label:} + options={Object.keys(llmInfo).map(t => { + const options = llmInfo[t].filter((d: any) => d.model_type === 'speech2text').map((d: any) => ({ label: d.llm_name, value: d.llm_name, })) + return { label: t, options } + })} + /> + </Form.Item> + + + </Form> + </Modal > + + + ); +} +export default connect(({ settingModel, loading }) => ({ settingModel, loading }))(Index); diff --git a/web/src/pages/setting/TntModal.tsx b/web/src/pages/setting/TntModal.tsx new file mode 100644 index 0000000..21c99b0 --- /dev/null +++ b/web/src/pages/setting/TntModal.tsx @@ -0,0 +1,58 @@ +import { connect, Dispatch } from 'umi'; +import { FC } from 'react' +import i18n from 'i18next'; +import { useTranslation, Trans } from 'react-i18next' +import { Modal, Table } from 'antd' +import styles from './index.less'; +import type { ColumnsType } from 'antd/es/table'; + + +interface DataType { + key: React.Key; + name: string; + role: string; + time: string; +} + +interface TntodalProps { + dispatch: Dispatch; + settingModel: any +} + +const Index: FC<TntodalProps> = ({ settingModel, dispatch }) => { + const { isShowTntModal, tenantIfo, loading, factoriesList } = settingModel + const { t } = useTranslation() + const handleCancel = () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowTntModal: false + } + }); + }; + console.log(tenantIfo) + const handleOk = async () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowTntModal: false + } + }); + }; + const columns: ColumnsType<DataType> = [ + { title: '姓å', dataIndex: 'name', key: 'name' }, + { title: '活动时间', dataIndex: 'update_date', key: 'update_date' }, + { title: '角色', dataIndex: 'role', key: 'age' }, + + ]; + + return ( + <Modal title="用户" open={isShowTntModal} onOk={handleOk} onCancel={handleCancel}> + <div className={styles.tenantIfo}> + {tenantIfo.name} + </div> + <Table rowKey='name' loading={loading} columns={columns} dataSource={factoriesList} /> + </Modal > + ); +} +export default connect(({ settingModel, loading }) => ({ settingModel, loading }))(Index); diff --git a/web/src/pages/setting/index.less b/web/src/pages/setting/index.less new file mode 100644 index 0000000..5904ac8 --- /dev/null +++ b/web/src/pages/setting/index.less @@ -0,0 +1,49 @@ +.settingPage { + padding: 10px; +} + +.avatar { + display: flex; + justify-content: center; +} + +.tenantIfo { + height: 50px; + background-color: #f4dfdf; + margin-bottom: 10px; + padding: 5px; + box-sizing: border-box; + display: flex; + align-items: center; +} + +.list { + :global { + .ant-pro-card-header { + height: 150px; + background-color: rgb(229, 231, 235); + } + } +} + +ul { + li { + display: flex; + justify-content: space-between; + margin-bottom: 5px; + + .statusDisaabled { + width: 10px; + height: 10px; + border-radius: 40%; + background: rgba(0, 0, 0, 0.4); + } + + .statusAvailable { + width: 10px; + height: 10px; + border-radius: 50%; + background: green; + } + } +} \ No newline at end of file diff --git a/web/src/pages/setting/index.tsx b/web/src/pages/setting/index.tsx new file mode 100644 index 0000000..d21e14a --- /dev/null +++ b/web/src/pages/setting/index.tsx @@ -0,0 +1,90 @@ +import { connect, Dispatch } from 'umi'; +import i18n from 'i18next'; +import { useTranslation, Trans } from 'react-i18next' +import { Button, Input, Modal, Form, FloatButton, Table } from 'antd' + + +import styles from './index.less'; +import CPwModal from './CPwModal' +import SAKModal from './SAKModal' +import TntModal from './TntModal' +import SSModal from './SSModal' +import List from './List' +import { useEffect, useState, FC } from 'react'; +interface CPwModalProps { + dispatch: Dispatch; + settingModel: any +} +const Index: FC<CPwModalProps> = ({ settingModel, dispatch }) => { + // const [llm_factory, set_llm_factory] = useState('') + const { t } = useTranslation() + const userInfo = JSON.parse(localStorage.getItem('userInfo') || '') + const changeLang = (val: string) => { // 改å˜çŠ¶æ€é‡Œçš„ è¯è¨€ è¿›è¡Œåˆ‡æ¢ + i18n.changeLanguage(val); + } + useEffect(() => { + dispatch({ + type: 'settingModel/getTenantInfo', + payload: { + } + }); + }, []) + const showCPwModal = () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowPSwModal: true + } + }); + }; + const showTntModal = () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowTntModal: true + } + }); + }; + const showSSModal = () => { + dispatch({ + type: 'settingModel/updateState', + payload: { + isShowSSModal: true + } + }); + // dispatch({ + // type: 'settingModel/getTenantInfo', + // payload: { + // } + // }); + }; + return ( + <div className={styles.settingPage}> + <div className={styles.avatar}> + <img style={{ width: 50, marginRight: 5 }} src="https://os.alipayobjects.com/rmsportal/QBnOOoLaAfKPirc.png" alt="" /> + <div> + <div>è´¦å·ï¼š{userInfo.name}</div> + <div><span>密ç :******</span><Button type='link' onClick={showCPwModal}>修改密ç </Button></div> + + </div> + </div > + <div> + <Button type="link" onClick={showTntModal}> + 租户 + </Button> + <Button type="link" onClick={showSSModal}> + 系统模型设置 + </Button> + <List /> + </div> + <CPwModal /> + <SAKModal /> + <SSModal /> + <TntModal /> + <FloatButton shape='square' description={t('setting.btn')} onClick={() => i18n.changeLanguage(i18n.language == 'en' ? 'zh' : 'en')} type="default" style={{ right: 94, fontSize: 14 }} /> + </div > + + + ); +} +export default connect(({ settingModel, loading }) => ({ settingModel, loading }))(Index); diff --git a/web/src/pages/setting/model.ts b/web/src/pages/setting/model.ts new file mode 100644 index 0000000..49e781d --- /dev/null +++ b/web/src/pages/setting/model.ts @@ -0,0 +1,181 @@ +import { Effect, Reducer, Subscription } from 'umi'; +import { message } from 'antd'; +import { addParam } from '@/utils'; +import userService from '@/services/userService'; +import { rearg } from 'lodash'; + +export interface settingModelState { + isShowPSwModal: boolean; + isShowTntModal: boolean; + isShowSAKModal: boolean; + isShowSSModal: boolean; + llm_factory: string; + loading: boolean; + tenantIfo: any, + llmInfo: any, + myLlm: any[], + factoriesList: any[] +} + +export interface settingModelType { + namespace: 'settingModel'; + state: settingModelState; + effects: { + setting: Effect; + getUserInfo: Effect; + getTenantInfo: Effect; + set_tenant_info: Effect; + factories_list: Effect; + llm_list: Effect; + my_llm: Effect; + set_api_key: Effect; + }; + reducers: { + updateState: Reducer<settingModelState>; + }; + subscriptions: { setup: Subscription }; +} +const Model: settingModelType = { + namespace: 'settingModel', + state: { + isShowPSwModal: false, + isShowTntModal: false, + isShowSAKModal: false, + isShowSSModal: false, + llm_factory: '', + loading: false, + tenantIfo: {}, + llmInfo: {}, + myLlm: [], + factoriesList: [] + }, + subscriptions: { + setup({ dispatch, history }) { + history.listen(location => { + }); + } + }, + effects: { + *setting({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(userService.setting, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('密ç 修改æˆåŠŸï¼'); + callback && callback() + } + }, + *getUserInfo({ payload = {} }, { call, put }) { + const { data, response } = yield call(userService.user_info, payload); + const { retcode, data: res, retmsg } = data + const userInfo = { + avatar: res.avatar, + name: res.nickname, + email: res.email + }; + localStorage.setItem('userInfo', JSON.stringify(userInfo)) + if (retcode === 0) { + // localStorage.setItem('userInfo',res.) + } + }, + *getTenantInfo({ payload = {} }, { call, put }) { + yield put({ + type: 'updateState', + payload: { + loading: true + } + }); + const { data, response } = yield call(userService.get_tenant_info, payload); + const { retcode, data: res, retmsg } = data + // llm_id 对应chat_id + // asr_id 对应speech2txt + + yield put({ + type: 'updateState', + payload: { + loading: false + } + }); + if (retcode === 0) { + res.chat_id = res.llm_id + res.speech2text_id = res.asr_id + yield put({ + type: 'updateState', + payload: { + tenantIfo: res + } + }); + } + }, + *set_tenant_info({ payload = {} }, { call, put }) { + const { data, response } = yield call(userService.set_tenant_info, payload); + const { retcode, data: res, retmsg } = data + // llm_id 对应chat_id + // asr_id 对应speech2txt + if (retcode === 0) { + yield put({ + type: 'updateState', + payload: { + isShowSSModal: false + } + }); + yield put({ + type: 'getTenantInfo' + }) + } + }, + + *factories_list({ payload = {} }, { call, put }) { + const { data, response } = yield call(userService.factories_list, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + yield put({ + type: 'updateState', + payload: { + factoriesList: res + } + }); + } + }, + *llm_list({ payload = {} }, { call, put }) { + const { data, response } = yield call(userService.llm_list, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + yield put({ + type: 'updateState', + payload: { + llmInfo: res + } + }); + } + }, + *my_llm({ payload = {} }, { call, put }) { + const { data, response } = yield call(userService.my_llm, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + yield put({ + type: 'updateState', + payload: { + myLlm: res + } + }); + } + }, + *set_api_key({ payload = {}, callback }, { call, put }) { + const { data, response } = yield call(userService.set_api_key, payload); + const { retcode, data: res, retmsg } = data + if (retcode === 0) { + message.success('设置API KEYæˆåŠŸï¼'); + callback && callback() + } + }, + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload + }; + } + } +}; +export default Model; diff --git a/web/src/services/kbService.ts b/web/src/services/kbService.ts new file mode 100644 index 0000000..9e03475 --- /dev/null +++ b/web/src/services/kbService.ts @@ -0,0 +1,70 @@ +import api from '@/utils/api'; +import registerServer from '@/utils/registerServer'; +import request from '@/utils/request'; + +const { + create_kb, + update_kb, + rm_kb, + get_kb_detail, + kb_list, get_document_list, document_change_status, document_rm, document_create, document_change_parser } = api; +interface kbService { + createKb: () => void; + updateKb: () => void; + rmKb: () => void; + get_kb_detail: () => void; + getList: () => void; + get_document_list: () => void; + document_change_status: () => void; + document_rm: () => void; + document_create: () => void; + document_change_parser: () => void; +} +const kbService: kbService = registerServer( + { + createKb: { + url: create_kb, + method: 'post' + }, + updateKb: { + url: update_kb, + method: 'post' + }, + rmKb: { + url: rm_kb, + method: 'post' + }, + get_kb_detail: { + url: get_kb_detail, + method: 'get' + }, + getList: { + url: kb_list, + method: 'get' + }, + get_document_list: { + url: get_document_list, + method: 'get' + }, + document_change_status: { + url: document_change_status, + method: 'post' + }, + document_rm: { + url: document_rm, + method: 'post' + }, + document_create: { + url: document_create, + method: 'post' + }, + document_change_parser: { + url: document_change_parser, + method: 'post' + }, + + }, + request +); + +export default kbService; diff --git a/web/src/services/uploadService.ts b/web/src/services/uploadService.ts new file mode 100644 index 0000000..159e050 --- /dev/null +++ b/web/src/services/uploadService.ts @@ -0,0 +1,21 @@ +import request from '@/utils/request'; +import api from '@/utils/api'; + +const { upload } = api; + +const uploadService = { + uploadFile: function (file, kb_id) { + const formData = new FormData(); + formData.append('file', file); + formData.append('kb_id', kb_id); + + const options = { + method: 'post', + data: formData + }; + + return request(upload, options); + } +}; + +export default uploadService; diff --git a/web/src/services/userService.ts b/web/src/services/userService.ts new file mode 100644 index 0000000..37a7b33 --- /dev/null +++ b/web/src/services/userService.ts @@ -0,0 +1,57 @@ +import api from '@/utils/api'; +import registerServer from '@/utils/registerServer'; +import request from '@/utils/request'; + +const { + login, register, setting, user_info, tenant_info, factories_list, llm_list, my_llm, set_api_key, set_tenant_info } = api; +interface userServiceType { + login: (params: any) => void +} +const userService = registerServer( + { + login: { + url: login, + method: 'post', + + }, + register: { + url: register, + method: 'post' + }, + setting: { + url: setting, + method: 'post' + }, + user_info: { + url: user_info, + method: 'get' + }, + get_tenant_info: { + url: tenant_info, + method: 'get' + }, + set_tenant_info: { + url: set_tenant_info, + method: 'post' + }, + factories_list: { + url: factories_list, + method: 'get' + }, + llm_list: { + url: llm_list, + method: 'get' + }, + my_llm: { + url: my_llm, + method: 'get' + }, + set_api_key: { + url: set_api_key, + method: 'post' + }, + }, + request +); + +export default userService; diff --git a/web/src/theme/theme.ts b/web/src/theme/theme.ts new file mode 100644 index 0000000..8bbdf13 --- /dev/null +++ b/web/src/theme/theme.ts @@ -0,0 +1,11 @@ +module.exports = { + 'primary-color': '#338AFF', // '#338AFF', + 'border-radius-base': '4px', + // 'menu-dark-color': '', + // 'menu-dark-danger-color': '', + 'menu-dark-bg': '#092140', + 'menu-dark-item-active-bg': '#092140' + + // 'menu-dark-arrow-color': '', + // 'menu-dark-inline-submenu-bg': '', +}; diff --git a/web/src/theme/vars.less b/web/src/theme/vars.less new file mode 100644 index 0000000..3c0cd70 --- /dev/null +++ b/web/src/theme/vars.less @@ -0,0 +1,9 @@ +@header-height: 64px; +@menu-width: 200px; +@menu-small-width: 83px; +@layout-bg: #f2f3f6; +@logo-font-size: 22px; +@border-color: #d9d9d9; +@dashboard-desc-color: #9d9fa2; +@primary-color: #338aff; +@primary-color-light: rgba(21, 65, 255, 0.5); diff --git a/web/src/utils/api.ts b/web/src/utils/api.ts new file mode 100644 index 0000000..19599ad --- /dev/null +++ b/web/src/utils/api.ts @@ -0,0 +1,42 @@ + + + +let api_host = `/v1`; + + +export { api_host }; + +export default { + + + // 用户 + login: `${api_host}/user/login`, + register: `${api_host}/user/register`, + setting: `${api_host}/user/setting`, + user_info: `${api_host}/user/info`, + tenant_info: `${api_host}/user/tenant_info`, + set_tenant_info: `${api_host}/user/set_tenant_info`, + + // æ¨¡åž‹ç®¡ç† + factories_list: `${api_host}/llm/factories`, + llm_list: `${api_host}/llm/list`, + my_llm: `${api_host}/llm/my_llms`, + set_api_key: `${api_host}/llm/set_api_key`, + + + //çŸ¥è¯†åº“ç®¡ç† + kb_list: `${api_host}/kb/list`, + create_kb: `${api_host}/kb/create`, + update_kb: `${api_host}/kb/update`, + rm_kb: `${api_host}/kb/rm`, + get_kb_detail: `${api_host}/kb/detail`, + + // ä¸Šä¼ + upload: `${api_host}/document/upload`, + get_document_list: `${api_host}/document/list`, + document_change_status: `${api_host}/document/change_status`, + document_rm: `${api_host}/document/rm`, + document_create: `${api_host}/document/create`, + document_change_parser: `${api_host}/document/change_parser`, + +}; diff --git a/web/src/utils/date.ts b/web/src/utils/date.ts new file mode 100644 index 0000000..9f806e9 --- /dev/null +++ b/web/src/utils/date.ts @@ -0,0 +1,20 @@ +import moment from 'moment'; + +export function today() { + return formatDate(moment()); +} + +export function lastDay() { + return formatDate(moment().subtract(1, 'days')); +} + +export function lastWeek() { + return formatDate(moment().subtract(1, 'weeks')); +} + +export function formatDate(date) { + if (!date) { + return ''; + } + return moment(date).format('YYYY-MM-DD'); +} diff --git a/web/src/utils/hooks.ts b/web/src/utils/hooks.ts new file mode 100644 index 0000000..2c7fb7f --- /dev/null +++ b/web/src/utils/hooks.ts @@ -0,0 +1,14 @@ +import { useState } from 'react'; + +export const usePagination = function (defaultPage: number, defaultPageSize: number, total: number) { + const [page = 1, setPage] = useState(defaultPage); + const [pageSize = 10, setPageSize] = useState(defaultPageSize); + return { + page, + pageSize, + count: total, + setPage, + setPageSize, + nextPage: () => setPage(page + 1) + }; +}; diff --git a/web/src/utils/index.ts b/web/src/utils/index.ts new file mode 100644 index 0000000..2eec00f --- /dev/null +++ b/web/src/utils/index.ts @@ -0,0 +1,26 @@ +/** + * @param {String} url + * @param {Boolean} isNoCaseSensitive 是å¦åŒºåˆ†å¤§å°å†™ + * @return {Object} + */ +// import numeral from 'numeral'; + +import JSEncrypt from 'jsencrypt'; +import { Base64 } from 'js-base64'; + +export const getWidth = () => { + return { width: window.innerWidth }; +}; +export const rsaPsw = (password: string) => { + const pub = "-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArq9XTUSeYr2+N1h3Afl/z8Dse/2yD0ZGrKwx+EEEcdsBLca9Ynmx3nIB5obmLlSfmskLpBo0UACBmB5rEjBp2Q2f3AG3Hjd4B+gNCG6BDaawuDlgANIhGnaTLrIqWrrcm4EMzJOnAOI1fgzJRsOOUEfaS318Eq9OVO3apEyCCt0lOQK6PuksduOjVxtltDav+guVAA068NrPYmRNabVKRNLJpL8w4D44sfth5RvZ3q9t+6RTArpEtc5sh5ChzvqPOzKGMXW83C95TxmXqpbK6olN4RevSfVjEAgCydH6HN6OhtOQEcnrU97r9H0iZOWwbw3pVrZiUkuRD1R56Wzs2wIDAQAB-----END PUBLIC KEY-----" + const encryptor = new JSEncrypt() + + encryptor.setPublicKey(pub) + + return encryptor.encrypt(Base64.encode(password)) +} + +export default { + getWidth, + rsaPsw +}; diff --git a/web/src/utils/registerServer.ts b/web/src/utils/registerServer.ts new file mode 100644 index 0000000..148ce08 --- /dev/null +++ b/web/src/utils/registerServer.ts @@ -0,0 +1,22 @@ +const registerServer = (opt: any, request: any): any => { + let server = {}; + for (let key in opt) { + server[key] = (params: any) => { + if (opt[key].method === 'post' || opt[key].method === 'POST') { + return request(opt[key].url, { + method: opt[key].method, + data: params + }); + } + + if (opt[key].method === 'get' || opt[key].method === 'GET') { + return request.get(opt[key].url, { + params + }); + } + }; + } + return server; +}; + +export default registerServer; diff --git a/web/src/utils/request.ts b/web/src/utils/request.ts new file mode 100644 index 0000000..74227ff --- /dev/null +++ b/web/src/utils/request.ts @@ -0,0 +1,116 @@ + +import { extend } from 'umi-request'; +import { notification, message } from 'antd'; +import _ from 'lodash'; + +import api from '@/utils/api'; +const { login } = api; + +const ABORT_REQUEST_ERR_MESSAGE = 'The user aborted a request.'; // 手动ä¸æ–请求。errorHandler 抛出的error message + + + +const retcodeMessage = { + 200: 'æœåŠ¡å™¨æˆåŠŸè¿”回请求的数æ®ã€‚', + 201: '新建或修改数æ®æˆåŠŸã€‚', + 202: '一个请求已ç»è¿›å…¥åŽå°æŽ’队(异æ¥ä»»åŠ¡ï¼‰ã€‚', + 204: 'åˆ é™¤æ•°æ®æˆåŠŸã€‚', + 400: 'å‘出的请求有错误,æœåŠ¡å™¨æ²¡æœ‰è¿›è¡Œæ–°å»ºæˆ–修改数æ®çš„æ“作。', + 401: '用户没有æƒé™ï¼ˆä»¤ç‰Œã€ç”¨æˆ·åã€å¯†ç 错误)。', + 403: '用户得到授æƒï¼Œä½†æ˜¯è®¿é—®æ˜¯è¢«ç¦æ¢çš„。', + 404: 'å‘出的请求针对的是ä¸å˜åœ¨çš„记录,æœåŠ¡å™¨æ²¡æœ‰è¿›è¡Œæ“作。', + 406: 'è¯·æ±‚çš„æ ¼å¼ä¸å¯å¾—。', + 410: '请求的资æºè¢«æ°¸ä¹…åˆ é™¤ï¼Œä¸”ä¸ä¼šå†å¾—到的。', + 422: '当创建一个对象时,å‘生一个验è¯é”™è¯¯ã€‚', + 500: 'æœåŠ¡å™¨å‘生错误,请检查æœåŠ¡å™¨ã€‚', + 502: '网关错误。', + 503: 'æœåŠ¡ä¸å¯ç”¨ï¼ŒæœåŠ¡å™¨æš‚时过载或维护。', + 504: '网关超时。' +}; + +/** + * 异常处ç†ç¨‹åº + */ +const errorHandler = (error: any) => { + const { response } = error; + // 手动ä¸æ–请求 abort + if (error.message === ABORT_REQUEST_ERR_MESSAGE) { + console.log('user abort request'); + } else { + if (response && response.status) { + const errorText = retcodeMessage[response.status] || response.statusText; + const { status, url } = response; + notification.error({ + message: `请求错误 ${status}: ${url}`, + description: errorText, + }); + } else if (!response) { + notification.error({ + description: '您的网络å‘ç”Ÿå¼‚å¸¸ï¼Œæ— æ³•è¿žæŽ¥æœåŠ¡å™¨', + message: '网络异常', + }); + } + } + return response; +}; + +/** + * é…ç½®request请求时的默认å‚æ•° + */ +const request = extend({ + errorHandler, // é»˜è®¤é”™è¯¯å¤„ç† + // credentials: 'include', // 默认请求是å¦å¸¦ä¸Šcookie + timeout: 3000000, + getResponse: true +}); + +request.interceptors.request.use((url, options) => { + let prefix = ''; + console.log(url) + const Authorization = localStorage.getItem('Authorization') + return { + url, + options: { + ...options, + headers: { + ...(options.skipToken ? undefined : { Authorization }), + ...options.headers + }, + interceptors: true + } + }; +}); + +/* + * 请求response拦截器 + * */ +request.interceptors.response.use(async (response, request) => { + console.log(response, request) + const data = await response.clone().json(); + // response 拦截 + + if (data.retcode === 401 || data.retcode === 401) { + notification.error({ + message: data.retmsg, + description: data.retmsg, + duration: 3, + }); + } else if (data.retcode !== 0) { + if (data.retcode === 100) { + message.error(data.retmsg); + } else { + notification.error({ + message: `æ示 : ${data.retcode}`, + description: data.retmsg, + duration: 3, + }); + } + + return response; + } else { + + return response; + } +}); + +export default request; diff --git a/web/src/wrappers/auth.tsx b/web/src/wrappers/auth.tsx new file mode 100644 index 0000000..5ad888c --- /dev/null +++ b/web/src/wrappers/auth.tsx @@ -0,0 +1,12 @@ +import { Navigate, Outlet } from 'umi' + +export default (props) => { + // const { isLogin } = useAuth(); + console.log(props) + const isLogin = false + if (isLogin) { + return <Outlet />; + } else { + return <Navigate to="/login" />; + } +} \ No newline at end of file diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 0000000..5f6aa1e --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "./src/.umi/tsconfig.json", + "@@/*": [ + "src/.umi/*" + ] +} \ No newline at end of file diff --git a/web/typings.d.ts b/web/typings.d.ts new file mode 100644 index 0000000..8fb5f3e --- /dev/null +++ b/web/typings.d.ts @@ -0,0 +1,2 @@ +import 'umi/typings'; +declare module 'lodash' \ No newline at end of file -- GitLab