commit 3e6f452aa54d60df0e0c06d36dac8222aa7918c1 Author: wtq <2394975549@qq.com> Date: Fri Nov 28 10:19:58 2025 +0800 '!' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7ce6e50 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +*.local + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? \ No newline at end of file diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..b3dfbe2 --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,36 @@ +{ + // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/ + // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数 + "version" : "0.0", + "configurations" : [ + { + "app-plus" : { + "launchtype" : "local" + }, + "default" : { + "launchtype" : "local" + }, + "mp-alipay" : { + "launchtype" : "local" + }, + "mp-kuaishou" : { + "launchtype" : "local" + }, + "mp-toutiao" : { + "launchtype" : "local" + }, + "mp-weixin" : { + "launchtype" : "local" + }, + "type" : "uniCloud" + }, + { + "playground" : "custom", + "type" : "uni-app:app-android" + }, + { + "playground" : "custom", + "type" : "uni-app:app-ios" + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..356c61a --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# 京西菜市/京西到家 +- 小程序(微信、抖音、快手、支付宝) +- app(Android 、 Ios) + +## 项目安装 +- node版本: 19.6.0 +- npm install / cnpm i + +### 项目仓库 +- 名字:jxc4_app_and_mini +- 项目地址:https://e.coding.net/rosydev/jxc4_app_and_mini/jxc4_app_and_mini.git \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..c71e3d5 --- /dev/null +++ b/index.html @@ -0,0 +1,23 @@ + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..44648b4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,19547 @@ +{ + "name": "uni-preset-vue", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "uni-preset-vue", + "version": "0.0.0", + "dependencies": { + "@dcloudio/uni-app": "3.0.0-3081220230817001", + "@dcloudio/uni-app-plus": "3.0.0-3081220230817001", + "@dcloudio/uni-components": "3.0.0-3081220230817001", + "@dcloudio/uni-h5": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-alipay": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-baidu": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-jd": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-kuaishou": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-lark": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-qq": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-toutiao": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", + "@dcloudio/uni-quickapp-webview": "3.0.0-3081220230817001", + "sass": "^1.67.0", + "vue": "^3.2.45", + "vue-i18n": "^9.1.9", + "vuex": "^4.1.0" + }, + "devDependencies": { + "@dcloudio/types": "^3.3.2", + "@dcloudio/uni-automator": "3.0.0-3081220230817001", + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-stacktracey": "3.0.0-3081220230817001", + "@dcloudio/vite-plugin-uni": "3.0.0-3081220230817001", + "@vue/runtime-core": "^3.2.45", + "vite": "4.1.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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.24.0", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "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.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "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/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-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "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-create-class-features-plugin": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", + "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.0.tgz", + "integrity": "sha512-efwOM90nCG6YeT8o3PCyBVSxRfmILxCNL+TNI8CGQl7a62M0Wd9VkV+XHwIlkOz1r4b+lxu6gBjdWiOMdUCrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.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-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "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-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "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/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "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.24.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "dev": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "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-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "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-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "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-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "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-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "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-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "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-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "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-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "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-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "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-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.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==", + "dev": true, + "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-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "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-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", + "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "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-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "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-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "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-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "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-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "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-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "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-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "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-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "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-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@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-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime/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/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "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.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "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/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "peer": true + }, + "node_modules/@dcloudio/types": { + "version": "3.4.8", + "resolved": "https://registry.npmmirror.com/@dcloudio/types/-/types-3.4.8.tgz", + "integrity": "sha512-IPXuoghLv7qNPOnRuP7vC5++MdRHhE0U7EMw9ia//uOh69fFXZiRTfoHd51+nzciD6R50gqYhbrCCZIxnxhM9Q==" + }, + "node_modules/@dcloudio/uni-app": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app/-/uni-app-3.0.0-3081220230817001.tgz", + "integrity": "sha512-sf8PzXHSd/VFCn7X9+QbD4nrY21FnIwjrhyX2hFit7PZK9kpyQluqCmG7YuotuXJzsNML8c8u2O9q5FaeOyTHg==", + "dependencies": { + "@dcloudio/uni-cloud": "3.0.0-3081220230817001", + "@dcloudio/uni-components": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-push": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-stat": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "@dcloudio/types": "^3.3.2" + } + }, + "node_modules/@dcloudio/uni-app-plus": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-plus/-/uni-app-plus-3.0.0-3081220230817001.tgz", + "integrity": "sha512-GpQobx3WbcyOZ49f8JM+febzKvlthFBAxcs4xrbtNVzmkj0jLJoh9GoH37oa7m5DI1k4l5wUuwvg4/JxBbhOSA==", + "dependencies": { + "@dcloudio/uni-app-uts": "3.0.0-3081220230817001", + "@dcloudio/uni-app-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-app-vue": "3.0.0-3081220230817001", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "licia": "^1.29.0", + "postcss-selector-parser": "^6.0.6" + } + }, + "node_modules/@dcloudio/uni-app-uts": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-uts/-/uni-app-uts-3.0.0-3081220230817001.tgz", + "integrity": "sha512-snMFEpTw5T0TT5uFwp0piytLRB0FBRHDM5ML00E1nrzfts0XlaFKoB4UsvLySG5sE5+Xt8F5/uzKxid3mcgTLQ==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-nvue-styler": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "es-module-lexer": "^1.2.1", + "fs-extra": "^10.0.0", + "picocolors": "^1.0.0", + "source-map": "^0.6.1" + } + }, + "node_modules/@dcloudio/uni-app-vite": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vite/-/uni-app-vite-3.0.0-3081220230817001.tgz", + "integrity": "sha512-iHmKh6hjPGh+FC6Fi4qqwT5N31QiWv9JymCLdbkOJRi71A3byDjxoH7ScSEEEg+A5AAPky6LHbmFmznPMeSwAg==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-nvue-styler": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@rollup/pluginutils": "^4.2.0", + "@vitejs/plugin-vue": "^4.2.1", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "picocolors": "^1.0.0" + } + }, + "node_modules/@dcloudio/uni-app-vue": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vue/-/uni-app-vue-3.0.0-3081220230817001.tgz", + "integrity": "sha512-08ZUIn2a+OZWjqvjTbLygWZOY9YXbf2J1ns2letBI9aoMZDx+Sgx2lUFWHDksmOhvApPLKrRjJM0Hmmxi2mjJw==" + }, + "node_modules/@dcloudio/uni-automator": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-automator/-/uni-automator-3.0.0-3081220230817001.tgz", + "integrity": "sha512-boaRlUAAXsEh4aN5PbtMVvzdmvXqoEWa8eQBD4oCH36lyGgK8q75vsjLRi4LBFFwNlCNMrYepTNbBCjP+Sgt0g==", + "dev": true, + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "address": "^1.1.2", + "cross-env": "^7.0.3", + "debug": "^4.3.3", + "default-gateway": "^6.0.3", + "fs-extra": "^10.0.0", + "jsonc-parser": "^3.2.0", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + }, + "peerDependencies": { + "jest": "27.0.4", + "jest-environment-node": "27.5.1" + } + }, + "node_modules/@dcloudio/uni-cli-shared": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cli-shared/-/uni-cli-shared-3.0.0-3081220230817001.tgz", + "integrity": "sha512-FOeydfIdKZg+MnQsHSFLXBzzmXtgCWnmEyjw3MHNN5mGwQB6+f7vK8sLw+yjizD/j71eMnh8XXCk+dV3nD/Vzg==", + "dependencies": { + "@ampproject/remapping": "^2.1.2", + "@babel/core": "^7.21.3", + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@intlify/core-base": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "autoprefixer": "^10.4.14", + "base64url": "^3.0.1", + "chokidar": "^3.5.3", + "compare-versions": "^3.6.0", + "debug": "^4.3.3", + "es-module-lexer": "^1.2.1", + "esbuild": "^0.17.5", + "estree-walker": "^2.0.2", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.0", + "hash-sum": "^2.0.0", + "jsonc-parser": "^3.0.0", + "magic-string": "^0.30.0", + "merge": "^2.1.1", + "mime": "^3.0.0", + "module-alias": "^2.2.2", + "os-locale-s-fix": "^1.0.8-fix-1", + "picocolors": "^1.0.0", + "postcss-import": "^14.0.2", + "postcss-load-config": "^3.1.1", + "postcss-modules": "^4.3.0", + "postcss-selector-parser": "^6.0.6", + "resolve": "^1.22.1", + "tapable": "^2.2.0", + "xregexp": "3.1.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + } + }, + "node_modules/@dcloudio/uni-cloud": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cloud/-/uni-cloud-3.0.0-3081220230817001.tgz", + "integrity": "sha512-rrHN4PvvylrhmivAoSv4h8ZcQ3ZWHnMRXhQWPC9FBR1TInrrxrrAHuMqSZn6pTIXhCiRA3Kuy6aDNVCbt6VA+g==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47", + "fast-glob": "^3.2.11" + } + }, + "node_modules/@dcloudio/uni-components": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-components/-/uni-components-3.0.0-3081220230817001.tgz", + "integrity": "sha512-FlIrTgR/9Yp8FWYfhXfLPd0jJtBwJwRBAWWmLNaufkTojm6X7rX8wQOd13n+7gJGKzfXcEV8npOYpVou4P46Pw==", + "dependencies": { + "@dcloudio/uni-cloud": "3.0.0-3081220230817001", + "@dcloudio/uni-h5": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001" + } + }, + "node_modules/@dcloudio/uni-h5": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5/-/uni-h5-3.0.0-3081220230817001.tgz", + "integrity": "sha512-m2RCZpYxuAGnXlQKSQ8FGy4OlnUJJ8XMx2HNQWriDwtjDpAGDU8I2LZQZ7MHCNPIUd503y+mgU2NPlSQHnrlkQ==", + "dependencies": { + "@dcloudio/uni-h5-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-h5-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "localstorage-polyfill": "^1.0.1", + "postcss-selector-parser": "^6.0.6", + "safe-area-insets": "^1.4.1", + "vue-router": "^4.1.6", + "xmlhttprequest": "^1.8.0" + } + }, + "node_modules/@dcloudio/uni-h5-vite": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vite/-/uni-h5-vite-3.0.0-3081220230817001.tgz", + "integrity": "sha512-x7F6mUTjHiOx7+lj5yIrzhD7gr0HTNJaku5gV3O8bFjxKLcIkFkAyliKPbqJ4QZCmCCmEfJpOGKrDhk35tlibg==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "mime": "^3.0.0", + "module-alias": "^2.2.2" + } + }, + "node_modules/@dcloudio/uni-h5-vue": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vue/-/uni-h5-vue-3.0.0-3081220230817001.tgz", + "integrity": "sha512-q1eFoXb5/4whNIJ1CumKmeypPjZofw8xDQRHZeGZ7NVRQ0/MYnEm6A0n/vkmEo1IgTZIY83m/jr6RNg7a9Ko/A==", + "dependencies": { + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/server-renderer": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-i18n": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-i18n/-/uni-i18n-3.0.0-3081220230817001.tgz", + "integrity": "sha512-ooAIoNCy+DPlMtA4k9eoaJJsYQtici85le+ietIIzLdJoa2YUnudYv9CvG9Mw/RsKQI+MLl96ADAPgUpGzounw==" + }, + "node_modules/@dcloudio/uni-mp-alipay": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-alipay/-/uni-mp-alipay-3.0.0-3081220230817001.tgz", + "integrity": "sha512-lZR2u8sxJ/ZaDqaxEmGzgWWKHcjnLGedDTrMh8kOEPLHO6THVNe5TP6XeiTcE0HKJfWEXv6X13erjn0FCstz3A==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-baidu": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-baidu/-/uni-mp-baidu-3.0.0-3081220230817001.tgz", + "integrity": "sha512-FYwK1AqSc+NvtvaCia/fOP57ELx5O5icHjuwPKMsJv5eGtqlwhXzyvSCoGEFyYQcsWP9ZqYSb3fTuxVlbiEYdA==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "jimp": "^0.10.1", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "node_modules/@dcloudio/uni-mp-compiler": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-compiler/-/uni-mp-compiler-3.0.0-3081220230817001.tgz", + "integrity": "sha512-KDfwEr9jFNSkNbYmdDc+zfGuZwXGkz3bW3c4cuV44IncTf/UW2m594Z2UzhJkx/p662aQ2W9M4BFZ0o5QSfQDw==", + "dependencies": { + "@babel/generator": "^7.20.5", + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2" + } + }, + "node_modules/@dcloudio/uni-mp-jd": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-jd/-/uni-mp-jd-3.0.0-3081220230817001.tgz", + "integrity": "sha512-sKDppXhk7k8Euce9v7ItQ2cs3+XpQV/DX8FjXzfO9DfjQEKiR/Pyfis7e3ANQrF4V/W3uwK5wgN/PyI3/NRloQ==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-kuaishou": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-kuaishou/-/uni-mp-kuaishou-3.0.0-3081220230817001.tgz", + "integrity": "sha512-wYXwoxcdms8PviNsKg2Y9oqHawKqseoD97sYs94RLDVSnyO9c6NOoUMsYjXwIZXt05E56bJ9EbxDqYDwwJhEKw==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-lark": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-lark/-/uni-mp-lark-3.0.0-3081220230817001.tgz", + "integrity": "sha512-4aHwULp+Nx55BoJvj1jCXWnVJrzl0ACEbDlXVvxmNUI5tkqn2kYL4AZgrXP1vCx8MHKVPI4E34Z+lrBTfSfKMA==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-toutiao": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-qq": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-qq/-/uni-mp-qq-3.0.0-3081220230817001.tgz", + "integrity": "sha512-StSsxCCKMdZCghUZ+wdX1otCmlYkIV+O2Z/AxMv772HfIKlpDp44PPaxlKBG4L6+X7h2JsCvyZW1iSznM5A3CQ==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47", + "fs-extra": "^10.0.0" + } + }, + "node_modules/@dcloudio/uni-mp-toutiao": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-toutiao/-/uni-mp-toutiao-3.0.0-3081220230817001.tgz", + "integrity": "sha512-ZMSNNjQpCV4z+76OA8rDKKhqr+vQmTvKNUOzKfND5KPYhgWbqviEBZ8ptiDT5gaWXMpkUHNfWz32hdi5CLbj5Q==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-vite": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vite/-/uni-mp-vite-3.0.0-3081220230817001.tgz", + "integrity": "sha512-jmEbsVOJ1dlj46QiSFMB2C3zbgGivkGf1KXoPTAprv0WZrkmjF1uNLj0pHFOOUnnyHwHPViEApsMOPS4twIjIQ==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3" + } + }, + "node_modules/@dcloudio/uni-mp-vue": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vue/-/uni-mp-vue-3.0.0-3081220230817001.tgz", + "integrity": "sha512-EfdTH6+qGXRh3402+psl8X4K34/gHfBPaMfxbwMsne1rGnB8ZVXiN73gVXKfCWeznvJqdWuTWmmjqaLoBhjOjA==", + "dependencies": { + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-weixin": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-weixin/-/uni-mp-weixin-3.0.0-3081220230817001.tgz", + "integrity": "sha512-vo2k8OaWFOvoXuRX83UCR0AOOKXXwjRDIOX0y/jUC9TX63Ne5OTdRKH9253D9109FrwtrtsUWqnpfn1ynKXl9g==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47", + "jimp": "^0.10.1", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "node_modules/@dcloudio/uni-nvue-styler": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-nvue-styler/-/uni-nvue-styler-3.0.0-3081220230817001.tgz", + "integrity": "sha512-EImnyrYHmAc7ibKfIMkBG1uMavS5sPdrtQj52m40o/QNU5kcsqUk2Od9c1ULkQloxhmK2E4FZvXo4cgszE/Txw==", + "dependencies": { + "@vue/shared": "3.2.47", + "parse-css-font": "^4.0.0", + "postcss": "^8.4.23" + } + }, + "node_modules/@dcloudio/uni-push": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-push/-/uni-push-3.0.0-3081220230817001.tgz", + "integrity": "sha512-1IyVJlBnZVVvY49SQKpZG5Oxak5Wl51NvYEozuYoeBaaTeZObm7B6eyd722sXi0Dd6N1sE3kIdm/XReprK53eg==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001" + } + }, + "node_modules/@dcloudio/uni-quickapp-webview": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-quickapp-webview/-/uni-quickapp-webview-3.0.0-3081220230817001.tgz", + "integrity": "sha512-w6yitVyCKEFSO+UDsJPjc5RfAstIdOEbBHgim0gInTfOl90odmyUPKDxWhwQgS5vqezBXpCj0/6ywVMHvZu+7A==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-shared": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-shared/-/uni-shared-3.0.0-3081220230817001.tgz", + "integrity": "sha512-NI1pBO40VqvnWjwNXad3CqrUYvr4ffGjiDMgJGMP13rgOEAqamU7ozBimoASDVPKyyfSHTeuYuh0gtaaLu4CsQ==", + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-stacktracey": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stacktracey/-/uni-stacktracey-3.0.0-3081220230817001.tgz", + "integrity": "sha512-DUTTN8JWXxjO3ryz7uhD3+vazHVMflln15+r0ycWBjXO0p0MepRY3gX5gKCyiq9D3NUIxazcFAUJ6agFVUbDog==", + "dev": true + }, + "node_modules/@dcloudio/uni-stat": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stat/-/uni-stat-3.0.0-3081220230817001.tgz", + "integrity": "sha512-xpbsor5WKU1eCbo0dmQ0hBUX6RrdG7DNDzCSD6oimndIXVGLkFhWrIC3brQ7S1G2GQvXdXnXJpUVskI3qNe/uw==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "debug": "^4.3.3" + } + }, + "node_modules/@dcloudio/vite-plugin-uni": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/vite-plugin-uni/-/vite-plugin-uni-3.0.0-3081220230817001.tgz", + "integrity": "sha512-dLeqqyrNNUBTZfI0ppPk4YoD+DBI0gJLeTjpN6bK5i3nFKkju9g2K6IWl62YMObjTiXwQF8qAEDb+fyWoe4Ksw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@rollup/pluginutils": "^4.2.0", + "@vitejs/plugin-legacy": "^4.0.3", + "@vitejs/plugin-vue": "^4.2.1", + "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "cac": "6.7.9", + "debug": "^4.3.3", + "estree-walker": "^2.0.2", + "express": "^4.17.1", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.0", + "hash-sum": "^2.0.0", + "jsonc-parser": "^3.0.0", + "magic-string": "^0.30.0", + "picocolors": "^1.0.0", + "terser": "^5.4.0" + }, + "bin": { + "uni": "bin/uni.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0" + } + }, + "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/@intlify/core-base": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz", + "integrity": "sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==", + "dependencies": { + "@intlify/devtools-if": "9.1.9", + "@intlify/message-compiler": "9.1.9", + "@intlify/message-resolver": "9.1.9", + "@intlify/runtime": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/devtools-if": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.1.9.tgz", + "integrity": "sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==", + "dependencies": { + "@intlify/shared": "9.1.9" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.1.9.tgz", + "integrity": "sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==", + "dependencies": { + "@intlify/message-resolver": "9.1.9", + "@intlify/shared": "9.1.9", + "source-map": "0.6.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/message-resolver": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/message-resolver/-/message-resolver-9.1.9.tgz", + "integrity": "sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/runtime": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/runtime/-/runtime-9.1.9.tgz", + "integrity": "sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==", + "dependencies": { + "@intlify/message-compiler": "9.1.9", + "@intlify/message-resolver": "9.1.9", + "@intlify/shared": "9.1.9" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/shared": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.1.9.tgz", + "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/vue-devtools": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.1.9.tgz", + "integrity": "sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==", + "dependencies": { + "@intlify/message-resolver": "9.1.9", + "@intlify/runtime": "9.1.9", + "@intlify/shared": "9.1.9" + }, + "engines": { + "node": ">= 10" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/console/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/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, + "peer": true + }, + "node_modules/@jest/console/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/core/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/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, + "peer": true + }, + "node_modules/@jest/core/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "peer": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/reporters/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/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, + "peer": true + }, + "node_modules/@jest/reporters/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "peer": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jimp/bmp": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/bmp/-/bmp-0.10.3.tgz", + "integrity": "sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "bmp-js": "^0.1.0", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/core": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/core/-/core-0.10.3.tgz", + "integrity": "sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^3.4.1", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "node_modules/@jimp/custom": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/custom/-/custom-0.10.3.tgz", + "integrity": "sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "node_modules/@jimp/gif": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/gif/-/gif-0.10.3.tgz", + "integrity": "sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "omggif": "^1.0.9" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/jpeg": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/jpeg/-/jpeg-0.10.3.tgz", + "integrity": "sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "jpeg-js": "^0.3.4" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blit": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-blit/-/plugin-blit-0.10.3.tgz", + "integrity": "sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blur": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-blur/-/plugin-blur-0.10.3.tgz", + "integrity": "sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-circle": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-circle/-/plugin-circle-0.10.3.tgz", + "integrity": "sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-color": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-color/-/plugin-color-0.10.3.tgz", + "integrity": "sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "tinycolor2": "^1.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-contain": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-contain/-/plugin-contain-0.10.3.tgz", + "integrity": "sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-cover": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-cover/-/plugin-cover-0.10.3.tgz", + "integrity": "sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-crop": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-crop/-/plugin-crop-0.10.3.tgz", + "integrity": "sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-displace": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-displace/-/plugin-displace-0.10.3.tgz", + "integrity": "sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-dither": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-dither/-/plugin-dither-0.10.3.tgz", + "integrity": "sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-fisheye": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.3.tgz", + "integrity": "sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-flip": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-flip/-/plugin-flip-0.10.3.tgz", + "integrity": "sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-rotate": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-gaussian": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.3.tgz", + "integrity": "sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-invert": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-invert/-/plugin-invert-0.10.3.tgz", + "integrity": "sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-mask": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-mask/-/plugin-mask-0.10.3.tgz", + "integrity": "sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-normalize": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-normalize/-/plugin-normalize-0.10.3.tgz", + "integrity": "sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-print": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-print/-/plugin-print-0.10.3.tgz", + "integrity": "sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "load-bmfont": "^1.4.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-resize": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-resize/-/plugin-resize-0.10.3.tgz", + "integrity": "sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-rotate": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-rotate/-/plugin-rotate-0.10.3.tgz", + "integrity": "sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-scale": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-scale/-/plugin-scale-0.10.3.tgz", + "integrity": "sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-shadow": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-shadow/-/plugin-shadow-0.10.3.tgz", + "integrity": "sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blur": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-threshold": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-threshold/-/plugin-threshold-0.10.3.tgz", + "integrity": "sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-color": ">=0.8.0", + "@jimp/plugin-resize": ">=0.8.0" + } + }, + "node_modules/@jimp/plugins": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugins/-/plugins-0.10.3.tgz", + "integrity": "sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.10.3", + "@jimp/plugin-blur": "^0.10.3", + "@jimp/plugin-circle": "^0.10.3", + "@jimp/plugin-color": "^0.10.3", + "@jimp/plugin-contain": "^0.10.3", + "@jimp/plugin-cover": "^0.10.3", + "@jimp/plugin-crop": "^0.10.3", + "@jimp/plugin-displace": "^0.10.3", + "@jimp/plugin-dither": "^0.10.3", + "@jimp/plugin-fisheye": "^0.10.3", + "@jimp/plugin-flip": "^0.10.3", + "@jimp/plugin-gaussian": "^0.10.3", + "@jimp/plugin-invert": "^0.10.3", + "@jimp/plugin-mask": "^0.10.3", + "@jimp/plugin-normalize": "^0.10.3", + "@jimp/plugin-print": "^0.10.3", + "@jimp/plugin-resize": "^0.10.3", + "@jimp/plugin-rotate": "^0.10.3", + "@jimp/plugin-scale": "^0.10.3", + "@jimp/plugin-shadow": "^0.10.3", + "@jimp/plugin-threshold": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/png": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/png/-/png-0.10.3.tgz", + "integrity": "sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "pngjs": "^3.3.3" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/tiff": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/tiff/-/tiff-0.10.3.tgz", + "integrity": "sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "utif": "^2.0.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/types": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/types/-/types-0.10.3.tgz", + "integrity": "sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.10.3", + "@jimp/gif": "^0.10.3", + "@jimp/jpeg": "^0.10.3", + "@jimp/png": "^0.10.3", + "@jimp/tiff": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/utils": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/utils/-/utils-0.10.3.tgz", + "integrity": "sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "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==", + "devOptional": true, + "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.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "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/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "peer": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "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==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "20.11.25", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.25.tgz", + "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", + "devOptional": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true, + "peer": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "peer": true + }, + "node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true + }, + "node_modules/@vitejs/plugin-legacy": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-4.1.1.tgz", + "integrity": "sha512-um3gbVouD2Q/g19C0qpDfHwveXDCAHzs8OC3e9g6aXpKoD1H14himgs7wkMnhAynBJy7QqUoZNAXDuqN8zLR2g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "browserslist": "^4.21.9", + "core-js": "^3.31.1", + "magic-string": "^0.30.1", + "regenerator-runtime": "^0.13.11", + "systemjs": "^6.14.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "terser": "^5.4.0", + "vite": "^4.0.0" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz", + "integrity": "sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3", + "@vue/babel-plugin-jsx": "^1.1.5" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.1.tgz", + "integrity": "sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.1.tgz", + "integrity": "sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "@vue/babel-helper-vue-transform-on": "1.2.1", + "@vue/babel-plugin-resolve-type": "1.2.1", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.1.tgz", + "integrity": "sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/parser": "^7.23.6", + "@vue/compiler-sfc": "^3.4.15" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-core": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-dom": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-sfc": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.21", + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-ssr": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", + "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.1", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.1.tgz", + "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==" + }, + "node_modules/@vue/reactivity": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.21.tgz", + "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/reactivity-transform/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@vue/reactivity/node_modules/@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.21.tgz", + "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/runtime-core/node_modules/@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "dependencies": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/runtime-dom/node_modules/@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/runtime-dom/node_modules/@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "dependencies": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "dependencies": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "vue": "3.2.47" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true, + "peer": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "devOptional": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "peer": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "peer": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "peer": true, + "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/any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "peer": true + }, + "node_modules/autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "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/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "peer": true, + "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": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.9", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.9.tgz", + "integrity": "sha512-BXIWIaO3MewbXWdJdIGDWZurv5OGJlFNo7oy20DpB3kWDVJLcY2NRypRsRUbRe5KMqSNLuOGnWTFQQtY5MAsRw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.0", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.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==", + "dev": true, + "peer": true, + "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": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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==", + "dev": true, + "peer": true + }, + "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/base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "engines": { + "node": ">=6.0.0" + } + }, + "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/bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/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/body-parser/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/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "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/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true, + "peer": true + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "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==", + "dev": true, + "peer": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", + "engines": { + "node": ">=0.4.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==", + "devOptional": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cac": { + "version": "6.7.9", + "resolved": "https://registry.npmmirror.com/cac/-/cac-6.7.9.tgz", + "integrity": "sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001597", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", + "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==" + }, + "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/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "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/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true, + "peer": true + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "peer": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "peer": true + }, + "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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "peer": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "devOptional": true + }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "peer": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.36.0", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "dev": true, + "dependencies": { + "browserslist": "^4.22.3" + } + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-font-size-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==" + }, + "node_modules/css-font-stretch-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==" + }, + "node_modules/css-font-style-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==" + }, + "node_modules/css-font-weight-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==" + }, + "node_modules/css-list-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/css-list-helpers/-/css-list-helpers-2.0.0.tgz", + "integrity": "sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==" + }, + "node_modules/css-system-font-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==" + }, + "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/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true, + "peer": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "peer": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "peer": true + }, + "node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "peer": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true, + "peer": true + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "peer": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==" + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "peer": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.699", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz", + "integrity": "sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "peer": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "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==" + }, + "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.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "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/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "peer": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "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==", + "dev": true, + "peer": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "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/exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmmirror.com/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmmirror.com/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/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/express/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/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/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==", + "dev": true, + "peer": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "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==", + "dev": true, + "peer": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", + "engines": { + "node": ">=6" + } + }, + "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/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/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/finalhandler/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/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "peer": true + }, + "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/generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dependencies": { + "loader-utils": "^3.2.0" + } + }, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "peer": true, + "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/global": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "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/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "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/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-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "peer": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "peer": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "peer": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==" + }, + "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/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==" + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "peer": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.19" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true + }, + "node_modules/invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.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==", + "dev": true, + "peer": true + }, + "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-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-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-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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "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-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-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "peer": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "peer": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "peer": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.0.4", + "resolved": "https://registry.npmmirror.com/jest/-/jest-27.0.4.tgz", + "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/core": "^27.0.4", + "import-local": "^3.0.2", + "jest-cli": "^27.0.4" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-circus/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/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, + "peer": true + }, + "node_modules/jest-circus/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-cli/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/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, + "peer": true + }, + "node_modules/jest-cli/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-config/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/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, + "peer": true + }, + "node_modules/jest-config/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-diff/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/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, + "peer": true + }, + "node_modules/jest-diff/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "peer": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-each/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/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, + "peer": true + }, + "node_modules/jest-each/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "peer": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/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, + "peer": true + }, + "node_modules/jest-jasmine2/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "peer": true, + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-matcher-utils/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/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, + "peer": true + }, + "node_modules/jest-matcher-utils/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-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==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-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==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-message-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==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-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==", + "dev": true, + "peer": true + }, + "node_modules/jest-message-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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-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==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "peer": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-resolve/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/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, + "peer": true + }, + "node_modules/jest-resolve/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-runner/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/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, + "peer": true + }, + "node_modules/jest-runner/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-runtime/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/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, + "peer": true + }, + "node_modules/jest-runtime/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/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, + "peer": true + }, + "node_modules/jest-snapshot/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/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==", + "dev": true, + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-validate/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/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, + "peer": true + }, + "node_modules/jest-validate/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/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, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/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, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watcher/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, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/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, + "peer": true + }, + "node_modules/jest-watcher/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, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jimp": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/jimp/-/jimp-0.10.3.tgz", + "integrity": "sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.10.3", + "@jimp/plugins": "^0.10.3", + "@jimp/types": "^0.10.3", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/jpeg-js": { + "version": "0.3.7", + "resolved": "https://registry.npmmirror.com/jpeg-js/-/jpeg-js-0.3.7.tgz", + "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==" + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "peer": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "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-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==", + "dev": true, + "peer": true + }, + "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/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + }, + "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/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "dependencies": { + "invert-kv": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/licia": { + "version": "1.39.2", + "resolved": "https://registry.npmmirror.com/licia/-/licia-1.39.2.tgz", + "integrity": "sha512-4pte7gXufSAa3JcsR0iT+2Lj2RX5Qpj+Nc0n84xs0ynNmw7eJmeZzk2oPTEtsQqwHwtT+NiX0arGkL5HPjTs7g==" + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "peer": true + }, + "node_modules/load-bmfont": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", + "dependencies": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "node_modules/load-bmfont/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/localstorage-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/localstorage-polyfill/-/localstorage-polyfill-1.0.1.tgz", + "integrity": "sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==", + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "peer": 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==" + }, + "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/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/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "peer": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/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==", + "dev": true, + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "peer": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==" + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "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==", + "dev": true + }, + "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/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "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==" + }, + "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==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/module-alias": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.3.tgz", + "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==" + }, + "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/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "peer": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dev": true, + "peer": true + }, + "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-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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true, + "peer": true + }, + "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==", + "dev": true + }, + "node_modules/omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-locale-s-fix": { + "version": "1.0.8-fix-1", + "resolved": "https://registry.npmmirror.com/os-locale-s-fix/-/os-locale-s-fix-1.0.8-fix-1.tgz", + "integrity": "sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==", + "dependencies": { + "lcid": "^3.0.0" + }, + "engines": { + "node": ">=10", + "yarn": "^1.22.4" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "p-limit": "^2.2.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==", + "dev": true, + "peer": true, + "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/parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==" + }, + "node_modules/parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==" + }, + "node_modules/parse-bmfont-xml": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz", + "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==", + "dependencies": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.5.0" + } + }, + "node_modules/parse-css-font": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-css-font/-/parse-css-font-4.0.0.tgz", + "integrity": "sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==", + "dependencies": { + "css-font-size-keywords": "^1.0.0", + "css-font-stretch-keywords": "^1.0.1", + "css-font-style-keywords": "^1.0.1", + "css-font-weight-keywords": "^1.0.0", + "css-list-helpers": "^2.0.0", + "css-system-font-keywords": "^1.0.0", + "unquote": "^1.1.1" + } + }, + "node_modules/parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" + }, + "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==", + "dev": true, + "peer": true, + "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/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "peer": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "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": "0.1.7", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/phin": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." + }, + "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": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", + "dependencies": { + "pngjs": "^3.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "peer": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-modules": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz", + "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", + "dependencies": { + "generic-names": "^4.0.0", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "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", + "string-hash": "^1.1.1" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "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.4", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "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.1", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "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-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-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/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "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/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "peer": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "peer": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode-reader": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/qrcode-reader/-/qrcode-reader-1.0.4.tgz", + "integrity": "sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==" + }, + "node_modules/qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==", + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "peer": true + }, + "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/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "peer": true + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "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/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "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/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "peer": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "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-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "peer": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "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/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-area-insets": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/safe-area-insets/-/safe-area-insets-1.4.1.tgz", + "integrity": "sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==" + }, + "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==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.71.1", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.71.1.tgz", + "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "peer": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/send": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/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/send/node_modules/debug/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/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "peer": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "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-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-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==", + "devOptional": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "peer": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "peer": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "peer": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "peer": true + }, + "node_modules/systemjs": { + "version": "6.14.3", + "resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.14.3.tgz", + "integrity": "sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==", + "dev": 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/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "5.29.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.29.1.tgz", + "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", + "devOptional": true, + "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/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==", + "dev": true, + "peer": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "dev": true, + "peer": true + }, + "node_modules/timm": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" + }, + "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/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "peer": true + }, + "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-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/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "peer": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "peer": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "peer": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "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==", + "devOptional": true, + "peer": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "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/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "peer": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/utif": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "dependencies": { + "pako": "^1.0.5" + } + }, + "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/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "peer": true + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/vite/-/vite-4.1.4.tgz", + "integrity": "sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==", + "dependencies": { + "esbuild": "^0.16.14", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.10.0" + }, + "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/vite/node_modules/@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "node_modules/vue": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/vue-i18n": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.10.1.tgz", + "integrity": "sha512-37HVJQZ/pZaRXGzFmmMomM1u1k7kndv3xCBPYHKEVfv5W3UVK67U/TpBug71ILYLNmjHLHdvTUPRF81pFT5fFg==", + "dependencies": { + "@intlify/core-base": "9.10.1", + "@intlify/shared": "9.10.1", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-i18n/node_modules/@intlify/core-base": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.10.1.tgz", + "integrity": "sha512-0+Wtjj04GIyglh5KKiNjRwgjpHrhqqGZhaKY/QVjjogWKZq5WHROrTi84pNVsRN18QynyPmjtsVUWqFKPQ45xQ==", + "dependencies": { + "@intlify/message-compiler": "9.10.1", + "@intlify/shared": "9.10.1" + }, + "engines": { + "node": ">= 16" + } + }, + "node_modules/vue-i18n/node_modules/@intlify/message-compiler": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.10.1.tgz", + "integrity": "sha512-b68UTmRhgZfswJZI7VAgW6BXZK5JOpoi5swMLGr4j6ss2XbFY13kiw+Hu+xYAfulMPSapcHzdWHnq21VGnMCnA==", + "dependencies": { + "@intlify/shared": "9.10.1", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + } + }, + "node_modules/vue-i18n/node_modules/@intlify/shared": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.10.1.tgz", + "integrity": "sha512-liyH3UMoglHBUn70iCYcy9CQlInx/lp50W2aeSxqqrvmG+LDj/Jj7tBJhBoQL4fECkldGhbmW0g2ommHfL6Wmw==", + "engines": { + "node": ">= 16" + } + }, + "node_modules/vue-router": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.3.0.tgz", + "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.1" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "dependencies": { + "@vue/devtools-api": "^6.0.0-beta.11" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "peer": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "peer": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "peer": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "peer": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true, + "peer": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "peer": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true, + "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==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true, + "peer": true + }, + "node_modules/xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==" + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "peer": true + }, + "node_modules/xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xregexp": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/xregexp/-/xregexp-3.1.0.tgz", + "integrity": "sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==" + }, + "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==", + "dev": true, + "peer": true, + "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": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "peer": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "requires": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + } + }, + "@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==" + }, + "@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "requires": { + "@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.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "requires": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@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, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@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==", + "requires": { + "@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" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", + "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.0.tgz", + "integrity": "sha512-efwOM90nCG6YeT8o3PCyBVSxRfmILxCNL+TNI8CGQl7a62M0Wd9VkV+XHwIlkOz1r4b+lxu6gBjdWiOMdUCrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@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==" + }, + "@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==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@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==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@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==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@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==", + "requires": { + "@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" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@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==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@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==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@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==" + }, + "@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==" + }, + "@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==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "requires": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@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==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "requires": {} + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", + "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@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-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "requires": { + "regenerator-runtime": "^0.14.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + } + } + }, + "@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "requires": { + "@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.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "peer": true + }, + "@dcloudio/types": { + "version": "3.4.8", + "resolved": "https://registry.npmmirror.com/@dcloudio/types/-/types-3.4.8.tgz", + "integrity": "sha512-IPXuoghLv7qNPOnRuP7vC5++MdRHhE0U7EMw9ia//uOh69fFXZiRTfoHd51+nzciD6R50gqYhbrCCZIxnxhM9Q==" + }, + "@dcloudio/uni-app": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app/-/uni-app-3.0.0-3081220230817001.tgz", + "integrity": "sha512-sf8PzXHSd/VFCn7X9+QbD4nrY21FnIwjrhyX2hFit7PZK9kpyQluqCmG7YuotuXJzsNML8c8u2O9q5FaeOyTHg==", + "requires": { + "@dcloudio/uni-cloud": "3.0.0-3081220230817001", + "@dcloudio/uni-components": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-push": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-stat": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-app-plus": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-plus/-/uni-app-plus-3.0.0-3081220230817001.tgz", + "integrity": "sha512-GpQobx3WbcyOZ49f8JM+febzKvlthFBAxcs4xrbtNVzmkj0jLJoh9GoH37oa7m5DI1k4l5wUuwvg4/JxBbhOSA==", + "requires": { + "@dcloudio/uni-app-uts": "3.0.0-3081220230817001", + "@dcloudio/uni-app-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-app-vue": "3.0.0-3081220230817001", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "licia": "^1.29.0", + "postcss-selector-parser": "^6.0.6" + } + }, + "@dcloudio/uni-app-uts": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-uts/-/uni-app-uts-3.0.0-3081220230817001.tgz", + "integrity": "sha512-snMFEpTw5T0TT5uFwp0piytLRB0FBRHDM5ML00E1nrzfts0XlaFKoB4UsvLySG5sE5+Xt8F5/uzKxid3mcgTLQ==", + "requires": { + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-nvue-styler": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "es-module-lexer": "^1.2.1", + "fs-extra": "^10.0.0", + "picocolors": "^1.0.0", + "source-map": "^0.6.1" + } + }, + "@dcloudio/uni-app-vite": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vite/-/uni-app-vite-3.0.0-3081220230817001.tgz", + "integrity": "sha512-iHmKh6hjPGh+FC6Fi4qqwT5N31QiWv9JymCLdbkOJRi71A3byDjxoH7ScSEEEg+A5AAPky6LHbmFmznPMeSwAg==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-nvue-styler": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@rollup/pluginutils": "^4.2.0", + "@vitejs/plugin-vue": "^4.2.1", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "picocolors": "^1.0.0" + } + }, + "@dcloudio/uni-app-vue": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vue/-/uni-app-vue-3.0.0-3081220230817001.tgz", + "integrity": "sha512-08ZUIn2a+OZWjqvjTbLygWZOY9YXbf2J1ns2letBI9aoMZDx+Sgx2lUFWHDksmOhvApPLKrRjJM0Hmmxi2mjJw==" + }, + "@dcloudio/uni-automator": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-automator/-/uni-automator-3.0.0-3081220230817001.tgz", + "integrity": "sha512-boaRlUAAXsEh4aN5PbtMVvzdmvXqoEWa8eQBD4oCH36lyGgK8q75vsjLRi4LBFFwNlCNMrYepTNbBCjP+Sgt0g==", + "dev": true, + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "address": "^1.1.2", + "cross-env": "^7.0.3", + "debug": "^4.3.3", + "default-gateway": "^6.0.3", + "fs-extra": "^10.0.0", + "jsonc-parser": "^3.2.0", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "@dcloudio/uni-cli-shared": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cli-shared/-/uni-cli-shared-3.0.0-3081220230817001.tgz", + "integrity": "sha512-FOeydfIdKZg+MnQsHSFLXBzzmXtgCWnmEyjw3MHNN5mGwQB6+f7vK8sLw+yjizD/j71eMnh8XXCk+dV3nD/Vzg==", + "requires": { + "@ampproject/remapping": "^2.1.2", + "@babel/core": "^7.21.3", + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@intlify/core-base": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "autoprefixer": "^10.4.14", + "base64url": "^3.0.1", + "chokidar": "^3.5.3", + "compare-versions": "^3.6.0", + "debug": "^4.3.3", + "es-module-lexer": "^1.2.1", + "esbuild": "^0.17.5", + "estree-walker": "^2.0.2", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.0", + "hash-sum": "^2.0.0", + "jsonc-parser": "^3.0.0", + "magic-string": "^0.30.0", + "merge": "^2.1.1", + "mime": "^3.0.0", + "module-alias": "^2.2.2", + "os-locale-s-fix": "^1.0.8-fix-1", + "picocolors": "^1.0.0", + "postcss-import": "^14.0.2", + "postcss-load-config": "^3.1.1", + "postcss-modules": "^4.3.0", + "postcss-selector-parser": "^6.0.6", + "resolve": "^1.22.1", + "tapable": "^2.2.0", + "xregexp": "3.1.0" + } + }, + "@dcloudio/uni-cloud": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cloud/-/uni-cloud-3.0.0-3081220230817001.tgz", + "integrity": "sha512-rrHN4PvvylrhmivAoSv4h8ZcQ3ZWHnMRXhQWPC9FBR1TInrrxrrAHuMqSZn6pTIXhCiRA3Kuy6aDNVCbt6VA+g==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47", + "fast-glob": "^3.2.11" + } + }, + "@dcloudio/uni-components": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-components/-/uni-components-3.0.0-3081220230817001.tgz", + "integrity": "sha512-FlIrTgR/9Yp8FWYfhXfLPd0jJtBwJwRBAWWmLNaufkTojm6X7rX8wQOd13n+7gJGKzfXcEV8npOYpVou4P46Pw==", + "requires": { + "@dcloudio/uni-cloud": "3.0.0-3081220230817001", + "@dcloudio/uni-h5": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001" + } + }, + "@dcloudio/uni-h5": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5/-/uni-h5-3.0.0-3081220230817001.tgz", + "integrity": "sha512-m2RCZpYxuAGnXlQKSQ8FGy4OlnUJJ8XMx2HNQWriDwtjDpAGDU8I2LZQZ7MHCNPIUd503y+mgU2NPlSQHnrlkQ==", + "requires": { + "@dcloudio/uni-h5-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-h5-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "localstorage-polyfill": "^1.0.1", + "postcss-selector-parser": "^6.0.6", + "safe-area-insets": "^1.4.1", + "vue-router": "^4.1.6", + "xmlhttprequest": "^1.8.0" + } + }, + "@dcloudio/uni-h5-vite": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vite/-/uni-h5-vite-3.0.0-3081220230817001.tgz", + "integrity": "sha512-x7F6mUTjHiOx7+lj5yIrzhD7gr0HTNJaku5gV3O8bFjxKLcIkFkAyliKPbqJ4QZCmCCmEfJpOGKrDhk35tlibg==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "mime": "^3.0.0", + "module-alias": "^2.2.2" + } + }, + "@dcloudio/uni-h5-vue": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vue/-/uni-h5-vue-3.0.0-3081220230817001.tgz", + "integrity": "sha512-q1eFoXb5/4whNIJ1CumKmeypPjZofw8xDQRHZeGZ7NVRQ0/MYnEm6A0n/vkmEo1IgTZIY83m/jr6RNg7a9Ko/A==", + "requires": { + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/server-renderer": "3.2.47" + } + }, + "@dcloudio/uni-i18n": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-i18n/-/uni-i18n-3.0.0-3081220230817001.tgz", + "integrity": "sha512-ooAIoNCy+DPlMtA4k9eoaJJsYQtici85le+ietIIzLdJoa2YUnudYv9CvG9Mw/RsKQI+MLl96ADAPgUpGzounw==" + }, + "@dcloudio/uni-mp-alipay": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-alipay/-/uni-mp-alipay-3.0.0-3081220230817001.tgz", + "integrity": "sha512-lZR2u8sxJ/ZaDqaxEmGzgWWKHcjnLGedDTrMh8kOEPLHO6THVNe5TP6XeiTcE0HKJfWEXv6X13erjn0FCstz3A==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-baidu": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-baidu/-/uni-mp-baidu-3.0.0-3081220230817001.tgz", + "integrity": "sha512-FYwK1AqSc+NvtvaCia/fOP57ELx5O5icHjuwPKMsJv5eGtqlwhXzyvSCoGEFyYQcsWP9ZqYSb3fTuxVlbiEYdA==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "jimp": "^0.10.1", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "@dcloudio/uni-mp-compiler": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-compiler/-/uni-mp-compiler-3.0.0-3081220230817001.tgz", + "integrity": "sha512-KDfwEr9jFNSkNbYmdDc+zfGuZwXGkz3bW3c4cuV44IncTf/UW2m594Z2UzhJkx/p662aQ2W9M4BFZ0o5QSfQDw==", + "requires": { + "@babel/generator": "^7.20.5", + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2" + } + }, + "@dcloudio/uni-mp-jd": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-jd/-/uni-mp-jd-3.0.0-3081220230817001.tgz", + "integrity": "sha512-sKDppXhk7k8Euce9v7ItQ2cs3+XpQV/DX8FjXzfO9DfjQEKiR/Pyfis7e3ANQrF4V/W3uwK5wgN/PyI3/NRloQ==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-kuaishou": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-kuaishou/-/uni-mp-kuaishou-3.0.0-3081220230817001.tgz", + "integrity": "sha512-wYXwoxcdms8PviNsKg2Y9oqHawKqseoD97sYs94RLDVSnyO9c6NOoUMsYjXwIZXt05E56bJ9EbxDqYDwwJhEKw==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-lark": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-lark/-/uni-mp-lark-3.0.0-3081220230817001.tgz", + "integrity": "sha512-4aHwULp+Nx55BoJvj1jCXWnVJrzl0ACEbDlXVvxmNUI5tkqn2kYL4AZgrXP1vCx8MHKVPI4E34Z+lrBTfSfKMA==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-toutiao": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-qq": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-qq/-/uni-mp-qq-3.0.0-3081220230817001.tgz", + "integrity": "sha512-StSsxCCKMdZCghUZ+wdX1otCmlYkIV+O2Z/AxMv772HfIKlpDp44PPaxlKBG4L6+X7h2JsCvyZW1iSznM5A3CQ==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47", + "fs-extra": "^10.0.0" + } + }, + "@dcloudio/uni-mp-toutiao": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-toutiao/-/uni-mp-toutiao-3.0.0-3081220230817001.tgz", + "integrity": "sha512-ZMSNNjQpCV4z+76OA8rDKKhqr+vQmTvKNUOzKfND5KPYhgWbqviEBZ8ptiDT5gaWXMpkUHNfWz32hdi5CLbj5Q==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-vite": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vite/-/uni-mp-vite-3.0.0-3081220230817001.tgz", + "integrity": "sha512-jmEbsVOJ1dlj46QiSFMB2C3zbgGivkGf1KXoPTAprv0WZrkmjF1uNLj0pHFOOUnnyHwHPViEApsMOPS4twIjIQ==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-i18n": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3" + } + }, + "@dcloudio/uni-mp-vue": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vue/-/uni-mp-vue-3.0.0-3081220230817001.tgz", + "integrity": "sha512-EfdTH6+qGXRh3402+psl8X4K34/gHfBPaMfxbwMsne1rGnB8ZVXiN73gVXKfCWeznvJqdWuTWmmjqaLoBhjOjA==", + "requires": { + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-weixin": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-weixin/-/uni-mp-weixin-3.0.0-3081220230817001.tgz", + "integrity": "sha512-vo2k8OaWFOvoXuRX83UCR0AOOKXXwjRDIOX0y/jUC9TX63Ne5OTdRKH9253D9109FrwtrtsUWqnpfn1ynKXl9g==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47", + "jimp": "^0.10.1", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "@dcloudio/uni-nvue-styler": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-nvue-styler/-/uni-nvue-styler-3.0.0-3081220230817001.tgz", + "integrity": "sha512-EImnyrYHmAc7ibKfIMkBG1uMavS5sPdrtQj52m40o/QNU5kcsqUk2Od9c1ULkQloxhmK2E4FZvXo4cgszE/Txw==", + "requires": { + "@vue/shared": "3.2.47", + "parse-css-font": "^4.0.0", + "postcss": "^8.4.23" + } + }, + "@dcloudio/uni-push": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-push/-/uni-push-3.0.0-3081220230817001.tgz", + "integrity": "sha512-1IyVJlBnZVVvY49SQKpZG5Oxak5Wl51NvYEozuYoeBaaTeZObm7B6eyd722sXi0Dd6N1sE3kIdm/XReprK53eg==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001" + } + }, + "@dcloudio/uni-quickapp-webview": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-quickapp-webview/-/uni-quickapp-webview-3.0.0-3081220230817001.tgz", + "integrity": "sha512-w6yitVyCKEFSO+UDsJPjc5RfAstIdOEbBHgim0gInTfOl90odmyUPKDxWhwQgS5vqezBXpCj0/6ywVMHvZu+7A==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-shared": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-shared/-/uni-shared-3.0.0-3081220230817001.tgz", + "integrity": "sha512-NI1pBO40VqvnWjwNXad3CqrUYvr4ffGjiDMgJGMP13rgOEAqamU7ozBimoASDVPKyyfSHTeuYuh0gtaaLu4CsQ==", + "requires": { + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-stacktracey": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stacktracey/-/uni-stacktracey-3.0.0-3081220230817001.tgz", + "integrity": "sha512-DUTTN8JWXxjO3ryz7uhD3+vazHVMflln15+r0ycWBjXO0p0MepRY3gX5gKCyiq9D3NUIxazcFAUJ6agFVUbDog==", + "dev": true + }, + "@dcloudio/uni-stat": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stat/-/uni-stat-3.0.0-3081220230817001.tgz", + "integrity": "sha512-xpbsor5WKU1eCbo0dmQ0hBUX6RrdG7DNDzCSD6oimndIXVGLkFhWrIC3brQ7S1G2GQvXdXnXJpUVskI3qNe/uw==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "debug": "^4.3.3" + } + }, + "@dcloudio/vite-plugin-uni": { + "version": "3.0.0-3081220230817001", + "resolved": "https://registry.npmmirror.com/@dcloudio/vite-plugin-uni/-/vite-plugin-uni-3.0.0-3081220230817001.tgz", + "integrity": "sha512-dLeqqyrNNUBTZfI0ppPk4YoD+DBI0gJLeTjpN6bK5i3nFKkju9g2K6IWl62YMObjTiXwQF8qAEDb+fyWoe4Ksw==", + "dev": true, + "requires": { + "@babel/core": "^7.21.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-shared": "3.0.0-3081220230817001", + "@rollup/pluginutils": "^4.2.0", + "@vitejs/plugin-legacy": "^4.0.3", + "@vitejs/plugin-vue": "^4.2.1", + "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "cac": "6.7.9", + "debug": "^4.3.3", + "estree-walker": "^2.0.2", + "express": "^4.17.1", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.0", + "hash-sum": "^2.0.0", + "jsonc-parser": "^3.0.0", + "magic-string": "^0.30.0", + "picocolors": "^1.0.0", + "terser": "^5.4.0" + } + }, + "@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@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==", + "optional": true + }, + "@intlify/core-base": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz", + "integrity": "sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==", + "requires": { + "@intlify/devtools-if": "9.1.9", + "@intlify/message-compiler": "9.1.9", + "@intlify/message-resolver": "9.1.9", + "@intlify/runtime": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9" + } + }, + "@intlify/devtools-if": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.1.9.tgz", + "integrity": "sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==", + "requires": { + "@intlify/shared": "9.1.9" + } + }, + "@intlify/message-compiler": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.1.9.tgz", + "integrity": "sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==", + "requires": { + "@intlify/message-resolver": "9.1.9", + "@intlify/shared": "9.1.9", + "source-map": "0.6.1" + } + }, + "@intlify/message-resolver": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/message-resolver/-/message-resolver-9.1.9.tgz", + "integrity": "sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==" + }, + "@intlify/runtime": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/runtime/-/runtime-9.1.9.tgz", + "integrity": "sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==", + "requires": { + "@intlify/message-compiler": "9.1.9", + "@intlify/message-resolver": "9.1.9", + "@intlify/shared": "9.1.9" + } + }, + "@intlify/shared": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.1.9.tgz", + "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==" + }, + "@intlify/vue-devtools": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.1.9.tgz", + "integrity": "sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==", + "requires": { + "@intlify/message-resolver": "9.1.9", + "@intlify/runtime": "9.1.9", + "@intlify/shared": "9.1.9" + } + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "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" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "peer": true + } + } + }, + "@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==", + "dev": true, + "peer": true + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "peer": true, + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "peer": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "peer": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "peer": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jimp/bmp": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/bmp/-/bmp-0.10.3.tgz", + "integrity": "sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "bmp-js": "^0.1.0", + "core-js": "^3.4.1" + } + }, + "@jimp/core": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/core/-/core-0.10.3.tgz", + "integrity": "sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^3.4.1", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/custom": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/custom/-/custom-0.10.3.tgz", + "integrity": "sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/gif": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/gif/-/gif-0.10.3.tgz", + "integrity": "sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "omggif": "^1.0.9" + } + }, + "@jimp/jpeg": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/jpeg/-/jpeg-0.10.3.tgz", + "integrity": "sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "jpeg-js": "^0.3.4" + } + }, + "@jimp/plugin-blit": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-blit/-/plugin-blit-0.10.3.tgz", + "integrity": "sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-blur": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-blur/-/plugin-blur-0.10.3.tgz", + "integrity": "sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-circle": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-circle/-/plugin-circle-0.10.3.tgz", + "integrity": "sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-color": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-color/-/plugin-color-0.10.3.tgz", + "integrity": "sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/plugin-contain": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-contain/-/plugin-contain-0.10.3.tgz", + "integrity": "sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-cover": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-cover/-/plugin-cover-0.10.3.tgz", + "integrity": "sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-crop": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-crop/-/plugin-crop-0.10.3.tgz", + "integrity": "sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-displace": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-displace/-/plugin-displace-0.10.3.tgz", + "integrity": "sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-dither": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-dither/-/plugin-dither-0.10.3.tgz", + "integrity": "sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-fisheye": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.3.tgz", + "integrity": "sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-flip": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-flip/-/plugin-flip-0.10.3.tgz", + "integrity": "sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-gaussian": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.3.tgz", + "integrity": "sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-invert": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-invert/-/plugin-invert-0.10.3.tgz", + "integrity": "sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-mask": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-mask/-/plugin-mask-0.10.3.tgz", + "integrity": "sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-normalize": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-normalize/-/plugin-normalize-0.10.3.tgz", + "integrity": "sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-print": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-print/-/plugin-print-0.10.3.tgz", + "integrity": "sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "load-bmfont": "^1.4.0" + } + }, + "@jimp/plugin-resize": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-resize/-/plugin-resize-0.10.3.tgz", + "integrity": "sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-rotate": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-rotate/-/plugin-rotate-0.10.3.tgz", + "integrity": "sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-scale": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-scale/-/plugin-scale-0.10.3.tgz", + "integrity": "sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-shadow": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-shadow/-/plugin-shadow-0.10.3.tgz", + "integrity": "sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-threshold": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-threshold/-/plugin-threshold-0.10.3.tgz", + "integrity": "sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugins": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugins/-/plugins-0.10.3.tgz", + "integrity": "sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.10.3", + "@jimp/plugin-blur": "^0.10.3", + "@jimp/plugin-circle": "^0.10.3", + "@jimp/plugin-color": "^0.10.3", + "@jimp/plugin-contain": "^0.10.3", + "@jimp/plugin-cover": "^0.10.3", + "@jimp/plugin-crop": "^0.10.3", + "@jimp/plugin-displace": "^0.10.3", + "@jimp/plugin-dither": "^0.10.3", + "@jimp/plugin-fisheye": "^0.10.3", + "@jimp/plugin-flip": "^0.10.3", + "@jimp/plugin-gaussian": "^0.10.3", + "@jimp/plugin-invert": "^0.10.3", + "@jimp/plugin-mask": "^0.10.3", + "@jimp/plugin-normalize": "^0.10.3", + "@jimp/plugin-print": "^0.10.3", + "@jimp/plugin-resize": "^0.10.3", + "@jimp/plugin-rotate": "^0.10.3", + "@jimp/plugin-scale": "^0.10.3", + "@jimp/plugin-shadow": "^0.10.3", + "@jimp/plugin-threshold": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + } + }, + "@jimp/png": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/png/-/png-0.10.3.tgz", + "integrity": "sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "pngjs": "^3.3.3" + } + }, + "@jimp/tiff": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/tiff/-/tiff-0.10.3.tgz", + "integrity": "sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==", + "requires": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "utif": "^2.0.1" + } + }, + "@jimp/types": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/types/-/types-0.10.3.tgz", + "integrity": "sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.10.3", + "@jimp/gif": "^0.10.3", + "@jimp/jpeg": "^0.10.3", + "@jimp/png": "^0.10.3", + "@jimp/tiff": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + } + }, + "@jimp/utils": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/utils/-/utils-0.10.3.tgz", + "integrity": "sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==", + "requires": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" + }, + "@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==", + "devOptional": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@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==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@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==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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==" + }, + "@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==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "peer": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "peer": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "peer": true + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@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==", + "dev": true, + "peer": true + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@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==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/node": { + "version": "20.11.25", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.25.tgz", + "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", + "devOptional": true, + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true, + "peer": true + }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "peer": true + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dev": true, + "peer": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@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==", + "dev": true, + "peer": true + }, + "@vitejs/plugin-legacy": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-4.1.1.tgz", + "integrity": "sha512-um3gbVouD2Q/g19C0qpDfHwveXDCAHzs8OC3e9g6aXpKoD1H14himgs7wkMnhAynBJy7QqUoZNAXDuqN8zLR2g==", + "dev": true, + "requires": { + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "browserslist": "^4.21.9", + "core-js": "^3.31.1", + "magic-string": "^0.30.1", + "regenerator-runtime": "^0.13.11", + "systemjs": "^6.14.1" + } + }, + "@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "requires": {} + }, + "@vitejs/plugin-vue-jsx": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz", + "integrity": "sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==", + "dev": true, + "requires": { + "@babel/core": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3", + "@vue/babel-plugin-jsx": "^1.1.5" + } + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.1.tgz", + "integrity": "sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.1.tgz", + "integrity": "sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "@vue/babel-helper-vue-transform-on": "1.2.1", + "@vue/babel-plugin-resolve-type": "1.2.1", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-plugin-resolve-type": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.1.tgz", + "integrity": "sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/parser": "^7.23.6", + "@vue/compiler-sfc": "^3.4.15" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "dev": true, + "requires": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "@vue/compiler-sfc": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.21", + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", + "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + } + } + }, + "@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "requires": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/devtools-api": { + "version": "6.6.1", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.1.tgz", + "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==" + }, + "@vue/reactivity": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.21.tgz", + "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==", + "dev": true, + "requires": { + "@vue/shared": "3.4.21" + }, + "dependencies": { + "@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + } + } + }, + "@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/runtime-core": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.21.tgz", + "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==", + "dev": true, + "requires": { + "@vue/reactivity": "3.4.21", + "@vue/shared": "3.4.21" + }, + "dependencies": { + "@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + } + } + }, + "@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "requires": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + }, + "dependencies": { + "@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "requires": { + "@vue/shared": "3.2.47" + } + }, + "@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "requires": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + } + } + }, + "@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "requires": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true, + "peer": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "devOptional": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "peer": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "peer": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "peer": true + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "peer": true, + "requires": { + "debug": "4" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "peer": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "peer": true + }, + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "peer": true + }, + "autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "requires": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "peer": true, + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "@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" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.9", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.9.tgz", + "integrity": "sha512-BXIWIaO3MewbXWdJdIGDWZurv5OGJlFNo7oy20DpB3kWDVJLcY2NRypRsRUbRe5KMqSNLuOGnWTFQQtY5MAsRw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.0", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + } + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + } + } + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "@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" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "peer": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==" + }, + "body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true, + "peer": true + }, + "browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "requires": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "peer": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==" + }, + "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==", + "devOptional": true + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cac": { + "version": "6.7.9", + "resolved": "https://registry.npmmirror.com/cac/-/cac-6.7.9.tgz", + "integrity": "sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==", + "dev": true + }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "peer": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001597", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", + "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "peer": true + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "peer": true + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true, + "peer": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "peer": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "peer": true + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "peer": true + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "peer": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "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==", + "devOptional": true + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "peer": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true + }, + "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==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==" + }, + "core-js-compat": { + "version": "3.36.0", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "dev": true, + "requires": { + "browserslist": "^4.22.3" + } + }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-font-size-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==" + }, + "css-font-stretch-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==" + }, + "css-font-style-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==" + }, + "css-font-weight-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==" + }, + "css-list-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/css-list-helpers/-/css-list-helpers-2.0.0.tgz", + "integrity": "sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==" + }, + "css-system-font-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true, + "peer": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "peer": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "peer": true + } + } + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "peer": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true, + "peer": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "peer": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "peer": true + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "peer": true + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "peer": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "peer": true + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.699", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz", + "integrity": "sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==" + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "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==" + }, + "esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "requires": { + "@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" + } + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "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==" + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "peer": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "peer": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmmirror.com/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "peer": true + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "express": { + "version": "4.18.3", + "resolved": "https://registry.npmmirror.com/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "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==", + "requires": { + "@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" + } + }, + "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==", + "dev": true, + "peer": true + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "peer": true, + "requires": { + "bser": "2.1.1" + } + }, + "file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "peer": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "peer": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "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==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "peer": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "requires": { + "loader-utils": "^3.2.0" + } + }, + "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==" + }, + "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==", + "dev": true, + "peer": true + }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "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==", + "dev": true, + "peer": true + }, + "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==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "peer": true, + "requires": { + "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" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "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==" + }, + "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==" + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "peer": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "peer": true + }, + "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==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "peer": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==" + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==" + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "peer": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "peer": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "peer": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "peer": true + }, + "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==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "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==", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "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==", + "dev": true, + "peer": true + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "peer": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "peer": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "peer": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "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==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "@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" + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "peer": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "peer": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "peer": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "27.0.4", + "resolved": "https://registry.npmmirror.com/jest/-/jest-27.0.4.tgz", + "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", + "dev": true, + "peer": true, + "requires": { + "@jest/core": "^27.0.4", + "import-local": "^3.0.2", + "jest-cli": "^27.0.4" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "peer": true, + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "peer": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "peer": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "peer": true + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "peer": true, + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "peer": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "peer": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "peer": true, + "requires": {} + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "peer": true + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "peer": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + } + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "peer": true, + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + }, + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "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, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jimp": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/jimp/-/jimp-0.10.3.tgz", + "integrity": "sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.10.3", + "@jimp/plugins": "^0.10.3", + "@jimp/types": "^0.10.3", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } + }, + "jpeg-js": { + "version": "0.3.7", + "resolved": "https://registry.npmmirror.com/jpeg-js/-/jpeg-js-0.3.7.tgz", + "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "peer": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "peer": true, + "requires": {} + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "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==", + "dev": true, + "peer": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "peer": true + }, + "lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "requires": { + "invert-kv": "^3.0.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "peer": true + }, + "licia": { + "version": "1.39.2", + "resolved": "https://registry.npmmirror.com/licia/-/licia-1.39.2.tgz", + "integrity": "sha512-4pte7gXufSAa3JcsR0iT+2Lj2RX5Qpj+Nc0n84xs0ynNmw7eJmeZzk2oPTEtsQqwHwtT+NiX0arGkL5HPjTs7g==" + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + }, + "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==", + "dev": true, + "peer": true + }, + "load-bmfont": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", + "requires": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + } + } + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + }, + "localstorage-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/localstorage-polyfill/-/localstorage-polyfill-1.0.1.tgz", + "integrity": "sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "peer": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "peer": true + }, + "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==" + }, + "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 + }, + "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==", + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "peer": true, + "requires": { + "semver": "^7.5.3" + }, + "dependencies": { + "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==", + "dev": true, + "peer": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "peer": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "peer": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "merge": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "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==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "module-alias": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.3.tgz", + "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "peer": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "peer": true + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "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==" + }, + "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==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true, + "peer": true + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true + }, + "omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "peer": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "os-locale-s-fix": { + "version": "1.0.8-fix-1", + "resolved": "https://registry.npmmirror.com/os-locale-s-fix/-/os-locale-s-fix-1.0.8-fix-1.tgz", + "integrity": "sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==", + "requires": { + "lcid": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "peer": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "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==", + "dev": true, + "peer": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==" + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==" + }, + "parse-bmfont-xml": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz", + "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==", + "requires": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.5.0" + } + }, + "parse-css-font": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-css-font/-/parse-css-font-4.0.0.tgz", + "integrity": "sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==", + "requires": { + "css-font-size-keywords": "^1.0.0", + "css-font-stretch-keywords": "^1.0.1", + "css-font-style-keywords": "^1.0.1", + "css-font-weight-keywords": "^1.0.0", + "css-list-helpers": "^2.0.0", + "css-system-font-keywords": "^1.0.0", + "unquote": "^1.1.1" + } + }, + "parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "@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" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "peer": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "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==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "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==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "phin": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "peer": true + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", + "requires": { + "pngjs": "^3.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "peer": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, + "postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-modules": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz", + "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", + "requires": { + "generic-names": "^4.0.0", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "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", + "string-hash": "^1.1.1" + } + }, + "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==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "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==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "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==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "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==" + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "peer": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "peer": true + } + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "peer": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "peer": true + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "peer": true + }, + "qrcode-reader": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/qrcode-reader/-/qrcode-reader-1.0.4.tgz", + "integrity": "sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==" + }, + "qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "peer": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "peer": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "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==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "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==", + "dev": true, + "peer": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "peer": true + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "peer": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "peer": true + }, + "resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true, + "peer": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "peer": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "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==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-area-insets": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/safe-area-insets/-/safe-area-insets-1.4.1.tgz", + "integrity": "sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==" + }, + "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==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.71.1", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.71.1.tgz", + "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sax": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "peer": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "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==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "peer": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==" + }, + "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==", + "devOptional": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "peer": true + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "peer": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "peer": true + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "peer": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "peer": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "peer": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "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, + "peer": true + }, + "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, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==" + }, + "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==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "peer": true + }, + "systemjs": { + "version": "6.14.3", + "resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.14.3.tgz", + "integrity": "sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "peer": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.29.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.29.1.tgz", + "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", + "devOptional": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "throat": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "dev": true, + "peer": true + }, + "timm": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" + }, + "tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "peer": true + }, + "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==" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "peer": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "peer": true + } + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "peer": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "peer": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "peer": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "peer": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "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==", + "devOptional": true, + "peer": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "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==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "peer": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "utif": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "requires": { + "pako": "^1.0.5" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "peer": true + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "peer": true + } + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "vite": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/vite/-/vite-4.1.4.tgz", + "integrity": "sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==", + "requires": { + "esbuild": "^0.16.14", + "fsevents": "~2.3.2", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.10.0" + }, + "dependencies": { + "@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "optional": true + }, + "esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "requires": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + } + } + }, + "vue": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "vue-i18n": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.10.1.tgz", + "integrity": "sha512-37HVJQZ/pZaRXGzFmmMomM1u1k7kndv3xCBPYHKEVfv5W3UVK67U/TpBug71ILYLNmjHLHdvTUPRF81pFT5fFg==", + "requires": { + "@intlify/core-base": "9.10.1", + "@intlify/shared": "9.10.1", + "@vue/devtools-api": "^6.5.0" + }, + "dependencies": { + "@intlify/core-base": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.10.1.tgz", + "integrity": "sha512-0+Wtjj04GIyglh5KKiNjRwgjpHrhqqGZhaKY/QVjjogWKZq5WHROrTi84pNVsRN18QynyPmjtsVUWqFKPQ45xQ==", + "requires": { + "@intlify/message-compiler": "9.10.1", + "@intlify/shared": "9.10.1" + } + }, + "@intlify/message-compiler": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.10.1.tgz", + "integrity": "sha512-b68UTmRhgZfswJZI7VAgW6BXZK5JOpoi5swMLGr4j6ss2XbFY13kiw+Hu+xYAfulMPSapcHzdWHnq21VGnMCnA==", + "requires": { + "@intlify/shared": "9.10.1", + "source-map-js": "^1.0.2" + } + }, + "@intlify/shared": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.10.1.tgz", + "integrity": "sha512-liyH3UMoglHBUn70iCYcy9CQlInx/lp50W2aeSxqqrvmG+LDj/Jj7tBJhBoQL4fECkldGhbmW0g2ommHfL6Wmw==" + } + } + }, + "vue-router": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.3.0.tgz", + "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==", + "requires": { + "@vue/devtools-api": "^6.5.1" + } + }, + "vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.11" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "peer": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "peer": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "peer": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "peer": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "peer": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true, + "peer": true + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "peer": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "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==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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, + "peer": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "peer": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "8.16.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "requires": {} + }, + "xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true, + "peer": true + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==" + }, + "xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "peer": true + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==" + }, + "xregexp": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/xregexp/-/xregexp-3.1.0.tgz", + "integrity": "sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "peer": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "peer": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "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==", + "dev": true, + "peer": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..9991bac --- /dev/null +++ b/package.json @@ -0,0 +1,68 @@ +{ + "name": "uni-preset-vue", + "version": "0.0.0", + "scripts": { + "dev:app": "uni -p app", + "dev:app-android": "uni -p app-android", + "dev:app-ios": "uni -p app-ios", + "dev:custom": "uni -p", + "dev:h5": "uni", + "dev:h5:ssr": "uni --ssr", + "dev:mp-alipay": "uni -p mp-alipay", + "dev:mp-baidu": "uni -p mp-baidu", + "dev:mp-jd": "uni -p mp-jd", + "dev:mp-kuaishou": "uni -p mp-kuaishou", + "dev:mp-lark": "uni -p mp-lark", + "dev:mp-qq": "uni -p mp-qq", + "dev:mp-toutiao": "uni -p mp-toutiao", + "dev:mp-weixin": "uni -p mp-weixin", + "dev:quickapp-webview": "uni -p quickapp-webview", + "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei", + "dev:quickapp-webview-union": "uni -p quickapp-webview-union", + "build:app": "uni build -p app", + "build:app-android": "uni build -p app-android", + "build:app-ios": "uni build -p app-ios", + "build:custom": "uni build -p", + "build:h5": "uni build", + "build:h5:ssr": "uni build --ssr", + "build:mp-alipay": "uni build -p mp-alipay", + "build:mp-baidu": "uni build -p mp-baidu", + "build:mp-jd": "uni build -p mp-jd", + "build:mp-kuaishou": "uni build -p mp-kuaishou", + "build:mp-lark": "uni build -p mp-lark", + "build:mp-qq": "uni build -p mp-qq", + "build:mp-toutiao": "uni build -p mp-toutiao", + "build:mp-weixin": "uni build -p mp-weixin", + "build:quickapp-webview": "uni build -p quickapp-webview", + "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei", + "build:quickapp-webview-union": "uni build -p quickapp-webview-union" + }, + "dependencies": { + "@dcloudio/uni-app": "3.0.0-3081220230817001", + "@dcloudio/uni-app-plus": "3.0.0-3081220230817001", + "@dcloudio/uni-components": "3.0.0-3081220230817001", + "@dcloudio/uni-h5": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-alipay": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-baidu": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-jd": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-kuaishou": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-lark": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-qq": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-toutiao": "3.0.0-3081220230817001", + "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", + "@dcloudio/uni-quickapp-webview": "3.0.0-3081220230817001", + "sass": "^1.67.0", + "vue": "^3.2.45", + "vue-i18n": "^9.1.9", + "vuex": "^4.1.0" + }, + "devDependencies": { + "@dcloudio/types": "^3.3.2", + "@dcloudio/uni-automator": "3.0.0-3081220230817001", + "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", + "@dcloudio/uni-stacktracey": "3.0.0-3081220230817001", + "@dcloudio/vite-plugin-uni": "3.0.0-3081220230817001", + "@vue/runtime-core": "^3.2.45", + "vite": "4.1.4" + } +} diff --git a/shims-uni.d.ts b/shims-uni.d.ts new file mode 100644 index 0000000..ed4adcf --- /dev/null +++ b/shims-uni.d.ts @@ -0,0 +1,10 @@ +/// +import 'vue' + +declare module '@vue/runtime-core' { + type Hooks = App.AppInstance & Page.PageInstance; + + interface ComponentCustomOptions extends Hooks { + + } +} diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..3e98195 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/androidPrivacy.json b/src/androidPrivacy.json new file mode 100644 index 0000000..654485a --- /dev/null +++ b/src/androidPrivacy.json @@ -0,0 +1,14 @@ +{ + "version" : "2", + "prompt" : "template", + "title" : "服务协议和隐私政策", + "message" : "  请您务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向您提供服务,我们需要收集您的设备标识、操作日志等信息用于分析、优化应用性能。
  您可阅读《服务协议》《隐私政策》了解详细信息。如果您同意,请点击下面按钮开始接受我们的服务。", + "buttonAccept" : "同意并接受", + "buttonRefuse" : "暂不同意", + "second" : { + "title" : "确认提示", + "message" : "  进入应用前,您需先同意《用户协议》《隐私政策》,否则将退出应用。", + "buttonAccept" : "同意并继续", + "buttonRefuse" : "退出应用" + } +} diff --git a/src/apis/address/index.js b/src/apis/address/index.js new file mode 100644 index 0000000..85156b4 --- /dev/null +++ b/src/apis/address/index.js @@ -0,0 +1,171 @@ +import api from '../request' +import { gdMapKey } from "@/apis/config" +import { json2query } from '@/utils' + +export default { + /** + * 高德坐标解析 + */ + posToCity: async (data) => { + try { + let res = await api('v3/geocode/regeo', { + data: { + key: gdMapKey, + location: `${data.longitude},${data.latitude}`, + extensions: data.extensions ? 'all' : 'base' + } + }, 'gdMap') + return res + } catch (e) { + console.error('posToCity', e) + throw (e) + } + }, + + /** + * 获取建议地址 + */ + getSuggestion: async (keywords, city) => { + try { + let res = await api('v3/place/text', { + data: { + key: gdMapKey, + keywords, + city, + citylimit: true + } + }, 'gdMap') + return res + } catch (e) { + console.error('getSuggestion', e) + throw (e) + } + }, + + /** + * 按当前位置匹配门店 + */ + storeListByLocation: async (data) => { + try { + + // #ifdef MP-KUAISHOU + // data.lat = 30.69015 + // data.lng = 104.05293 + // #endif + + let res = await api('v2/store/GetStoreListByLocation', { + data + }) + return res + } catch (e) { + console.error('storeListByLocation', e) + throw (e) + } + }, + + /** + * 关键字检索城市 + */ + getCity: async (params) => { + try { + let res = await api('v2/cms/GetPlaces', { + data: { + level: params.level, + includeDisabled: true, + keyword: params.keyword + } + }) + return mapCity(res || []) + } catch (e) { + console.error('getCity', e) + throw (e) + } + }, + + /** + * 查询地址管理 + * @param {*} params 暂无 + */ + getMyDeliveryAddress: async (params = {}) => { + try { + let res = await api('v2/user2/QueryMyDeliveryAddress', { + data: params + }) + return res + } catch (e) { + console.error('getMyDeliveryAddress', e) + throw (e) + } + }, + + /** + * 添加地址 + * @param {Object} form 参数对象 + * consigneeName 收货人 + * consigneeMobile 收货人手机 + * address 详细地址 + * detailAddress + * lng 经度 Number + * lat 纬度 Number + * + * 非必须 + * tag 标签(家、公司、学校) + * remark 备注 + * isDefault 是否是默认 true false + */ + addAddressList: async (form = {}) => { + try { + let res = await api('v2/user2/AddMyDeliveryAddress', { + method: 'POST', + data: json2query(form) + }) + return res + } catch (e) { + console.error('addMyDeliveryAddress', e) + throw (e) + } + }, + + /** + * 修改地址 + * @param {Object} form + */ + updateMyDeliveryAddress: async (form = {}) => { + try { + let res = await api('v2/user2/UpdateMyDeliveryAddress', { + method: 'PUT', + data: json2query(form) + }) + return res + } catch (e) { + console.error('updateMyDeliveryAddress', e) + throw (e) + } + }, + + /** + * 删除地址 + * @param {Number} addressID 地址ID + */ + delMyDeliveryAddress: async (addressID) => { + try { + let res = await api('v2/user2/DeleteMyDeliveryAddress?id=' + addressID, { + method: 'DELETE' + }) + return res + } catch (e) { + console.error('delMyDeliveryAddress', e) + throw (e) + } + } + +} + +const mapCity = (arr) => { + if (arr.length === 0) return [] + return arr.map(item => ({ + id: item.id, + code: item.code, + name: item.name + })) +} \ No newline at end of file diff --git a/src/apis/apiStore/index.js b/src/apis/apiStore/index.js new file mode 100644 index 0000000..f7f69fb --- /dev/null +++ b/src/apis/apiStore/index.js @@ -0,0 +1,173 @@ +import api from '../request' +import { store } from '@/store' +export default { + /** + * 获取配置文件 + * @param {string} keyword // 1.banner时 shopBanner 2.vip时 DiscountCard 3.materialDesc时 materialDesc + * @param {string} type // 1.banner 和 materialDesc 时 JxStore 2.Vip时 DiscountCard + */ + getConfigInfo: async (type) => { + try { + let res = await api('v2/cms/QueryConfigs', { + data: { + keyword: type === 'banner' ? 'shopBanner' : (type === 'vip' ? 'DiscountCard' : (type === 'materialDesc' ? 'materialDesc' : '')), + type: (type === 'banner' || type === 'materialDesc') ? 'JxStore' : 'DiscountCard' + } + }) + if (res && res.length > 0) { + return JSON.parse(res[0].value) + } else { + return [] + } + + } catch (e) { + throw (e) + } + }, + + /** + * 推荐商家 + */ + getNearlyStore: async (data,dns = 'wxC4') => { + try { + // if (!data.lat) return [] + if (!(data && data.lat)) return [] + + // #ifdef MP-KUAISHOU + // data.lat = 30.69015 + // data.lng = 104.05293 + // #endif + + if(data.brandID && data.brandID.length) data.brandID = JSON.stringify(data.brandID) + let res = await api('v2/store/GetHomePageByLocation', { + data + }, + dns) + + // 过滤重复项 + let array = [] + let storeIDsArr = [] + if (res && res.length > 0) { + res.map((item) => { + let findIndex = storeIDsArr.findIndex(i => i === item.storeInfo.storeID) + if (findIndex === -1) { + storeIDsArr.push(item.storeInfo.storeID) + array.push(item) + } + }) + } + return array + } catch (e) { + console.error('getNearlyStore', e) + throw (e) + } + }, + + /** + * 获取门店信息 + */ + getStoreInfo: async (data) => { + try { + let res = await api('v2/store/GetStores', { + data + }) + return res + } catch (e) { + console.error('getStoreInfo', e) + throw (e) + } + }, + + /** + * 获取门店减运策略 + */ + getWayBillFeeMinus: async (storeID) => { + try { + let res = await api('v2/store/GetStoreVendorMaps', { + data: { + storeID, + vendorID: 9 + } + }) + if (res && res.length > 0) { + store.commit('indexPage/saveWaybillSLG', { + satisfy: res[0].deliveryFeeDeductionSill / 100, + reduce: res[0].deliveryFeeDeductionFee / 100 + }) + } else { + store.commit('indexPage/saveWaybillSLG', { + satisfy: 0, + reduce: 0 + }) + } + return res + } catch (e) { + console.error('getWayBillFeeMinus', e) + throw (e) + } + }, + + /** + * 获取品牌 + * @param {*} brandID + * @param {*} storeID + * brandID + */ + getBrand: async (data) => { + try { + let res = await api('v2/store/GetBrands', { + data + }) + return res + } catch (e) { + console.error('getBrand', e) + throw (e) + } + }, + + /** + * 获取配送时间 + */ + getDeliverTime: async (storeID) => { + try { + let res = await api('v2/jxorder/GetAvailableDeliverTime', { + data: { + storeID + } + }) + return res + } catch (e) { + console.error('getDeliverTime', e) + throw (e) + } + }, + + /** + * 物料篇----------- + * 刷新物料库存 + */ + refreshStock: async () => { + try { + let res = await api('v2/store/sku/RefreshMatterStock', { + method: 'POST' + }) + return res + } catch (e) { + console.error('', e) + throw (e) + } + }, + + /** + * 物料是否能够购买,以及销量 + */ + getMatterStoreOrderStatus: async (storeID) => { + try { + let res = await api(`v2/order/GetMatterStoreOrderCount?storeID=${storeID}`) + return res + } catch (e) { + console.error('', e) + throw (e) + } + } +} \ No newline at end of file diff --git a/src/apis/cartPage/index.js b/src/apis/cartPage/index.js new file mode 100644 index 0000000..fa85962 --- /dev/null +++ b/src/apis/cartPage/index.js @@ -0,0 +1,71 @@ +import api from '../request' +import { json2query } from '@/utils' + +export default { + /** + * 获取购物车列表 + */ + getMyCart: async (storeIDs) => { + try { + if (!(storeIDs && storeIDs.length !== 0)) return + let res = await api('v2/user2/LoadMyCart', { + data: { + storeIDs: JSON.stringify(storeIDs) + } + }) + return res + } catch (e) { + console.error('getMyCart', e) + throw (e) + } + }, + + /** + * 存储购物车信息 + * @params {Number} StoreID + * @params {String} payload 购物车商品列表 + * payload [] + * { + * skuID, count, price, storeID, isChecked + * } + */ + saveToCart: async (storeID, list) => { + try { + let payload = list.filter(item => item.storeID === storeID).map(item => ({ + skuID: item.id, + count: item.count, + price: item.curPrice, + storeID: item.storeID, + isChecked: item.checked ? 1 : 0 + })) + let res = await api('v2/user2/SaveMyCart', { + method: 'POST', + data: json2query({ + storeID, + payload: JSON.stringify(payload) + }) + }) + return res + } catch (e) { + console.error('saveToCart', e) + throw (e) + } + }, + + /** + * 批量采购**************************** + */ + getSupplySupportStoreSkus: async (json) => { + try { + let res = await api('v2/jxorder/GetSupplySupportStoreSkus', { + data: { + ...json + } + }) + return res + } catch (e) { + console.error('getSupplySupportStoreSkus', e) + throw (e) + } + } +} \ No newline at end of file diff --git a/src/apis/config.js b/src/apis/config.js new file mode 100644 index 0000000..90ebd65 --- /dev/null +++ b/src/apis/config.js @@ -0,0 +1,459 @@ +import { getCode } from "@/utils/uniapi.js"; + +// 跳转页面 +export const rootUrl = { + wxC4: 'https://wx.jxc4.com/', + wxBeta: 'http://beta.jxc4.com/', + wwwJxgy: 'http://www-jxgy.jxc4.com/', + wwwJxpet: 'http://www-gblm.jxc4.com/', + wxGy: 'https://wx-jxgy.jxc4.com/', + wxJxpet: 'https://wx-gblm.jxc4.com/', + print: 'https://print.jxc4.com/', + gdMap: 'https://restapi.amap.com/' +} + +export const authType = () => { + let authType = '' + + // #ifdef MP-WEIXIN + authType = 'weixinmini' + // #endif + + // #ifdef MP-ALIPAY + authType = 'alipaycode' + // #endif + + // #ifdef MP-KUAISHOU + authType = 'kuaishoumini' + // #endif + + // #ifdef APP-PLUS || APP + authType = 'weixinappcs' + // #endif + + // #ifdef MP-TOUTIAO + authType = 'tiktokmini' + // #endif + + return authType +} + +export const storeMap = { + 668594: { + name: "印象汇店", + status: 1, + distance: 782, + mobile: "13408671524", + index: 1, + item: { + address: "成都市金牛区二环路北一段沙湾印象汇", + cityCode: 510100, + cityName: "成都市", + closeTime1: 2200, + closeTime2: 0, + createdAt: "2022-09-15T14:25:55+08:00", + deletedAt: "1970-01-01T00:00:00+08:00", + distance: 782, + districtCode: 510106, + districtName: "", + id: 668594, + lastOperator: "18744776542", + lat: 0, + lng: 0, + name: "印象汇店", + openTime1: 700, + openTime2: 0, + originalName: "", + status: 1, + tel1: "13408671524", + tel2: "", + updatedAt: "2023-07-19T13:42:34+08:00", + walkDistance: 0, + }, + address: { + address: "成都市金牛区二环路北一段沙湾印象汇", + name: '印象汇店' + } + } +} + +/************************************************* + * 不需要token验证的白名单接口 +*/ +export const whiteListUrl = [ + 'v2/cms/QueryConfigs', + 'v2/store/GetBrands', + 'v2/store/GetStores', + 'v2/store/sku/GetTopCategoriesByStoreIDs', + 'v2/store/sku/GetTopSkusByStoreIDs', + 'v2/store/sku/GetStoresSkus', + 'v2/store/GetStoreVendorMaps' +] + +export const txMapKey = '4SNBZ-TBDHO-X6KW2-STWJO-WDUSO-HJBEB' // 腾讯地图key +// export const gdMapKey = '56d9fe55b7db37bb1eab89a35d57e482' // 高德地图key 找不到在那个账号下 +export const gdMapKey = 'ef64f638f31e05cb7bde28790f7309fe' // 高德地图key + + +export const hotCity = [ // 热门城市 + { + code: 110100, + id: 6371, + nickName: "北京", + name: "北京市" + }, + { + code: 510100, + id: 5973, + nickName: "成都", + name: "成都市" + }, + { + code: 500100, + id: 4706, + nickName: "重庆", + name: "重庆市" + }, + { + code: 440100, + id: 3549, + nickName: "广州", + name: "广州市" + }, + { + code: 330100, + id: 5577, + nickName: "杭州", + name: "杭州市" + }, + { + code: 320100, + id: 4368, + nickName: "南京", + name: "南京市" + }, + { + code: 310100, + id: 4577, + nickName: "上海", + name: "上海市" + }, + { + code: 440300, + id: 3467, + nickName: "深圳", + name: "深圳市" + }, + { + code: 320500, + id: 4447, + nickName: "苏州", + name: "苏州市" + }, + { + code: 120100, + id: 6207, + nickName: "天津", + name: "天津市" + }, + { + code: 420100, + id: 4001, + nickName: "武汉", + name: "武汉市" + }, + { + code: 610100, + id: 4467, + nickName: "西安", + name: "西安市" + } +] + +// 推荐分类 +export const topCats = [ + { + "id": 1, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "时令鲜蔬", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 3, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 1, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/dd531a6bc50ce9c88e7bb2e6d7f560dd.jpg", + "exdName": "抢鲜蔬菜", + "exdSeq": 4, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 2, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "大肉家禽", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 4, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 2, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/a1d196481a3f44d99e1f67e0c6df1e70.jpg", + "exdName": "大肉家禽", + "exdSeq": 5, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 4, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "新鲜水果", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 5, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 4, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/2469bc3b21a2d71895ef9e2d951270b7.jpg", + "exdName": "新鲜水果", + "exdSeq": 8, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 15, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "粮油副食", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 10, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 15, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/430f3bc5ca619f91521d6cd5be1e3f3b.jpg", + "exdName": "米面粮油/南北干货", + "exdSeq": 13, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 10, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "组合食材", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 7, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 10, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/10bb48a518b2f93bc3060221bbfc650d.jpg", + "exdName": "达人快手菜", + "exdSeq": 12, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 17, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "休闲食品", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 13, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 17, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/a6a24791451ca69e6e33fc9b99bf4ae8.jpg", + "exdName": "休闲食品", + "exdSeq": 16, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 8, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "海鲜河产", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 11, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 8, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/48c0d49fbb16d7bbe318fb43eeeef225.jpg", + "exdName": "水产海鲜", + "exdSeq": 9, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 5, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-08-04T11:26:50+08:00", + "lastOperator": "uponisland", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "火锅烧烤", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 2, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 5, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/4aa84e070d5b1d7318ff7d5a07312cae.jpg", + "exdName": "火锅专区", + "exdSeq": 11, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 11, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "烘焙熟食", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 14, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 11, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/37c37268823307ee916bebe694c2f743.jpg", + "exdName": "主食熟食", + "exdSeq": 10, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + }, + { + "id": 9, + "createdAt": "2018-10-29T07:37:05+08:00", + "updatedAt": "2023-02-07T10:39:56+08:00", + "lastOperator": "Tlp1111", + "deletedAt": "1970-01-01T00:00:00+08:00", + "name": "日配冷藏", + "parentID": 0, + "level": 1, + "type": 0, + "seq": 9, + "isHidden": 1, + "jdCategoryID": 0, + "ebaiCategoryID": 0, + "mtwmCategoryID": 0, + "ddCategoryID": 0, + "taoCategoryID": 0, + "ybCategoryID": 9, + "jdsCategoryID": 0, + "goMeiCategoryID": 0, + "status": 1, + "img": "http://image.jxc4.com/image/7a945aad7a231c0c89821f48328c527b.jpg", + "exdName": "冷冻食材", + "exdSeq": 15, + "isExdSpec": 0, + "isExdSync": 0, + "isSync": 0 + } +] + +// 京西分类 +export const JXCateroy = [{ "id": 175, "createdAt": "2019-04-15T18:02:41+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 175, "name": "赠品专区", "storeCategorySeq": 0, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 675, "createdAt": "2021-10-16T00:35:19+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 675, "name": "当季热销", "storeCategorySeq": 1, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 5, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-03-15T10:51:28+08:00", "lastOperator": "uponisland", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 5, "name": "踏青烧烤季", "storeCategorySeq": 2, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 1, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 1, "name": "时令鲜蔬", "storeCategorySeq": 3, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 2, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 2, "name": "大肉家禽", "storeCategorySeq": 4, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 4, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 4, "name": "新鲜水果", "storeCategorySeq": 5, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 3, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 3, "name": "优质蛋品", "storeCategorySeq": 6, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 10, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 10, "name": "组合食材", "storeCategorySeq": 7, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 399, "createdAt": "2020-07-15T18:11:16+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 399, "name": "豆制品", "storeCategorySeq": 8, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 9, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 9, "name": "日配冷藏", "storeCategorySeq": 9, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 15, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 15, "name": "粮油副食", "storeCategorySeq": 10, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 8, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 8, "name": "海鲜河产", "storeCategorySeq": 11, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 441, "createdAt": "2021-01-21T17:33:09+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 441, "name": "酒水饮料", "storeCategorySeq": 12, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 17, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 17, "name": "休闲食品", "storeCategorySeq": 13, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 11, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 11, "name": "烘焙熟食", "storeCategorySeq": 14, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 451, "createdAt": "2021-01-25T21:38:36+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 451, "name": "母婴呵护", "storeCategorySeq": 15, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 459, "createdAt": "2021-01-25T21:57:25+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 459, "name": "宠物生活", "storeCategorySeq": 16, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 498, "createdAt": "2021-01-25T23:36:00+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 498, "name": "纸品清洁", "storeCategorySeq": 17, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 475, "createdAt": "2021-01-25T22:36:44+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 475, "name": "文体玩具", "storeCategorySeq": 18, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 479, "createdAt": "2021-01-25T22:43:42+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 479, "name": "服饰家纺", "storeCategorySeq": 19, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 487, "createdAt": "2021-01-25T22:55:58+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 487, "name": "日用百货", "storeCategorySeq": 20, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 486, "createdAt": "2021-01-25T22:55:09+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 486, "name": "数码家电", "storeCategorySeq": 21, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 488, "createdAt": "2021-01-25T22:58:05+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 488, "name": "鲜花礼品", "storeCategorySeq": 22, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 467, "createdAt": "2021-01-25T22:12:48+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 467, "name": "个护美妆", "storeCategorySeq": 23, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 592, "createdAt": "2021-03-11T16:03:13+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 592, "name": "安全避孕", "storeCategorySeq": 24, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 648, "createdAt": "2021-03-25T15:00:32+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 648, "name": "进口商品", "storeCategorySeq": 25, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 656, "createdAt": "2021-03-25T15:24:52+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 656, "name": "外带美食", "storeCategorySeq": 26, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 291, "createdAt": "2020-04-01T16:20:34+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 291, "name": "暂无分类勿删", "storeCategorySeq": 27, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 290, "createdAt": "2020-03-17T13:50:35+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 290, "name": "物料", "storeCategorySeq": 28, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 20, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:38:36+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 20, "name": "新鲜猪肉", "storeCategorySeq": 0, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 21, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:42:51+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 21, "name": "苹果类", "storeCategorySeq": 0, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 42, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:44:38+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 42, "name": "坚果炒货", "storeCategorySeq": 0, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 66, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:55:32+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 66, "name": "酱卤食品", "storeCategorySeq": 0, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 69, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:59:16+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 69, "name": "常温奶制品", "storeCategorySeq": 0, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 78, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-04T16:19:14+08:00", "lastOperator": "18744776542", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 78, "name": "盐糖调味酱", "storeCategorySeq": 0, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 593, "createdAt": "2021-03-11T16:15:55+08:00", "updatedAt": "2021-03-17T11:57:21+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 593, "name": "避孕套", "storeCategorySeq": 0, "level": 2, "parentID": 592, "isHidden": 1 }, { "id": 365, "createdAt": "2020-05-06T10:58:53+08:00", "updatedAt": "2022-11-02T18:52:20+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 365, "name": "荤素净菜", "storeCategorySeq": 0, "level": 2, "parentID": 10, "isHidden": 1 }, { "id": 637, "createdAt": "2021-03-18T21:35:53+08:00", "updatedAt": "2022-11-18T13:59:03+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 637, "name": "面部护理", "storeCategorySeq": 0, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 638, "createdAt": "2021-03-18T21:42:45+08:00", "updatedAt": "2022-11-08T14:38:58+08:00", "lastOperator": "18981810340", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 638, "name": "一次性用品", "storeCategorySeq": 0, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 649, "createdAt": "2021-03-25T15:01:47+08:00", "updatedAt": "2022-11-18T14:03:55+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 649, "name": "乳制品", "storeCategorySeq": 0, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 404, "createdAt": "2020-07-15T18:42:02+08:00", "updatedAt": "2022-11-02T18:54:41+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 404, "name": "豆腐", "storeCategorySeq": 0, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 662, "createdAt": "2021-03-25T15:35:48+08:00", "updatedAt": "2022-11-18T14:07:05+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 662, "name": "早餐", "storeCategorySeq": 0, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 156, "createdAt": "2019-01-26T14:19:41+08:00", "updatedAt": "2022-11-02T18:45:59+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 156, "name": "鸡蛋类", "storeCategorySeq": 0, "level": 2, "parentID": 3, "isHidden": 1 }, { "id": 443, "createdAt": "2021-01-25T15:52:15+08:00", "updatedAt": "2022-11-23T11:41:11+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 443, "name": "啤酒", "storeCategorySeq": 0, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 190, "createdAt": "2019-11-30T10:33:02+08:00", "updatedAt": "2022-11-02T19:09:54+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 190, "name": "新鲜鱼类", "storeCategorySeq": 0, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 452, "createdAt": "2021-01-25T21:40:29+08:00", "updatedAt": "2022-11-18T11:59:42+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 452, "name": "奶粉", "storeCategorySeq": 0, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 460, "createdAt": "2021-01-25T21:58:51+08:00", "updatedAt": "2022-11-02T19:42:17+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 460, "name": "狗狗食品", "storeCategorySeq": 0, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 476, "createdAt": "2021-01-25T22:38:17+08:00", "updatedAt": "2022-11-02T19:50:47+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 476, "name": "文创文具", "storeCategorySeq": 0, "level": 2, "parentID": 475, "isHidden": 1 }, { "id": 733, "createdAt": "2022-11-01T10:16:10+08:00", "updatedAt": "2022-11-01T10:18:23+08:00", "lastOperator": "uponisland", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 733, "name": "一人食", "storeCategorySeq": 0, "level": 2, "parentID": 5, "isHidden": 0 }, { "id": 480, "createdAt": "2021-01-25T22:45:02+08:00", "updatedAt": "2022-11-02T19:51:59+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 480, "name": "毛巾浴巾", "storeCategorySeq": 0, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 494, "createdAt": "2021-01-25T23:08:55+08:00", "updatedAt": "2022-11-18T13:51:48+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 494, "name": "生活电器", "storeCategorySeq": 0, "level": 2, "parentID": 486, "isHidden": 1 }, { "id": 499, "createdAt": "2021-01-25T23:38:06+08:00", "updatedAt": "2022-11-02T19:46:26+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 499, "name": "纸品湿巾", "storeCategorySeq": 0, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 504, "createdAt": "2021-01-26T11:40:17+08:00", "updatedAt": "2022-11-18T13:54:28+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 504, "name": "礼品鲜花", "storeCategorySeq": 0, "level": 2, "parentID": 488, "isHidden": 1 }, { "id": 19, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T16:36:52+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 19, "name": "叶菜类", "storeCategorySeq": 1, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 25, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:52:53+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 25, "name": "营养小炒", "storeCategorySeq": 1, "level": 2, "parentID": 10, "isHidden": 1 }, { "id": 26, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:48:16+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 26, "name": "饼干糕点", "storeCategorySeq": 1, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 44, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:10:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 44, "name": "新鲜河产", "storeCategorySeq": 1, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 53, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:55:55+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 53, "name": "凉拌菜", "storeCategorySeq": 1, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 81, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:59:47+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 81, "name": "低温奶", "storeCategorySeq": 1, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 625, "createdAt": "2021-03-17T11:57:04+08:00", "updatedAt": "2021-03-17T11:57:21+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 625, "name": "早孕试纸", "storeCategorySeq": 1, "level": 2, "parentID": 592, "isHidden": 1 }, { "id": 652, "createdAt": "2021-03-25T15:05:06+08:00", "updatedAt": "2022-11-18T14:04:29+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 652, "name": "母婴用品", "storeCategorySeq": 1, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 157, "createdAt": "2019-01-26T14:19:51+08:00", "updatedAt": "2022-11-02T18:47:39+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 157, "name": "其他蛋类", "storeCategorySeq": 1, "level": 2, "parentID": 3, "isHidden": 1 }, { "id": 670, "createdAt": "2021-03-25T15:43:58+08:00", "updatedAt": "2022-11-18T14:07:30+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 670, "name": "快餐简餐", "storeCategorySeq": 1, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 159, "createdAt": "2019-01-31T09:10:12+08:00", "updatedAt": "2022-11-02T18:43:16+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 159, "name": "梨类", "storeCategorySeq": 1, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 167, "createdAt": "2019-01-31T09:25:57+08:00", "updatedAt": "2022-11-18T11:34:03+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 167, "name": "酱油醋料酒", "storeCategorySeq": 1, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 184, "createdAt": "2019-09-17T09:14:00+08:00", "updatedAt": "2022-11-02T18:39:03+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 184, "name": "冷冻猪肉", "storeCategorySeq": 1, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 449, "createdAt": "2021-01-25T21:31:59+08:00", "updatedAt": "2022-11-02T18:55:23+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 449, "name": "豆浆", "storeCategorySeq": 1, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 453, "createdAt": "2021-01-25T21:46:16+08:00", "updatedAt": "2022-11-18T13:39:16+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 453, "name": "营养辅食", "storeCategorySeq": 1, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 462, "createdAt": "2021-01-25T22:01:03+08:00", "updatedAt": "2022-11-02T19:43:12+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 462, "name": "狗狗玩具", "storeCategorySeq": 1, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 468, "createdAt": "2021-01-25T22:13:51+08:00", "updatedAt": "2022-11-18T13:59:20+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 468, "name": "洗发护发", "storeCategorySeq": 1, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 477, "createdAt": "2021-01-25T22:40:02+08:00", "updatedAt": "2022-11-02T19:51:09+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 477, "name": "游戏玩具", "storeCategorySeq": 1, "level": 2, "parentID": 475, "isHidden": 1 }, { "id": 734, "createdAt": "2022-11-01T10:16:34+08:00", "updatedAt": "2022-11-01T10:18:23+08:00", "lastOperator": "uponisland", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 734, "name": "二人食", "storeCategorySeq": 1, "level": 2, "parentID": 5, "isHidden": 0 }, { "id": 481, "createdAt": "2021-01-25T22:47:19+08:00", "updatedAt": "2022-11-02T19:52:41+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 481, "name": "内衣库", "storeCategorySeq": 1, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 489, "createdAt": "2021-01-25T23:00:58+08:00", "updatedAt": "2022-11-18T13:49:44+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 489, "name": "卫浴用品", "storeCategorySeq": 1, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 495, "createdAt": "2021-01-25T23:09:46+08:00", "updatedAt": "2022-11-18T13:51:59+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 495, "name": "厨房电器", "storeCategorySeq": 1, "level": 2, "parentID": 486, "isHidden": 1 }, { "id": 500, "createdAt": "2021-01-25T23:40:59+08:00", "updatedAt": "2022-11-02T19:46:49+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 500, "name": "杀虫驱蚊", "storeCategorySeq": 1, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 505, "createdAt": "2021-01-26T11:41:32+08:00", "updatedAt": "2022-11-18T13:55:55+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 505, "name": "居家鲜花", "storeCategorySeq": 1, "level": 2, "parentID": 488, "isHidden": 1 }, { "id": 508, "createdAt": "2021-02-02T15:35:59+08:00", "updatedAt": "2022-11-02T19:13:24+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 508, "name": "预调酒", "storeCategorySeq": 1, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 28, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:10:26+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 28, "name": "新鲜海鲜", "storeCategorySeq": 2, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 34, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-10-26T09:14:06+08:00", "lastOperator": "18744776542", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 34, "name": "根茎类", "storeCategorySeq": 2, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 36, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:43:52+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 36, "name": "柑桔橙柚", "storeCategorySeq": 2, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 54, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:49:29+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 54, "name": "糖果巧克力", "storeCategorySeq": 2, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 57, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:53:31+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 57, "name": "健康煲汤", "storeCategorySeq": 2, "level": 2, "parentID": 10, "isHidden": 1 }, { "id": 90, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:59:58+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 90, "name": "汤圆面点", "storeCategorySeq": 2, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 626, "createdAt": "2021-03-17T11:57:16+08:00", "updatedAt": "2021-03-17T11:57:21+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 626, "name": "排卵试纸", "storeCategorySeq": 2, "level": 2, "parentID": 592, "isHidden": 1 }, { "id": 651, "createdAt": "2021-03-25T15:04:09+08:00", "updatedAt": "2022-11-18T14:04:43+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 651, "name": "酒水饮品", "storeCategorySeq": 2, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 403, "createdAt": "2020-07-15T18:12:28+08:00", "updatedAt": "2022-11-02T18:56:26+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 403, "name": "豆皮豆干", "storeCategorySeq": 2, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 671, "createdAt": "2021-03-25T15:44:29+08:00", "updatedAt": "2022-11-18T14:08:01+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 671, "name": "烧烤小吃", "storeCategorySeq": 2, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 424, "createdAt": "2020-07-16T18:03:42+08:00", "updatedAt": "2022-11-02T18:39:15+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 424, "name": "新鲜排骨", "storeCategorySeq": 2, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 176, "createdAt": "2019-04-17T10:43:20+08:00", "updatedAt": "2022-11-18T11:34:45+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 176, "name": "米面粉", "storeCategorySeq": 2, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 444, "createdAt": "2021-01-25T15:53:00+08:00", "updatedAt": "2022-11-02T19:13:31+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 444, "name": "白酒黄酒", "storeCategorySeq": 2, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 454, "createdAt": "2021-01-25T21:47:25+08:00", "updatedAt": "2022-11-18T13:41:11+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 454, "name": "尿裤湿巾", "storeCategorySeq": 2, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 464, "createdAt": "2021-01-25T22:04:53+08:00", "updatedAt": "2022-11-02T19:44:13+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 464, "name": "狗狗用品", "storeCategorySeq": 2, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 469, "createdAt": "2021-01-25T22:15:01+08:00", "updatedAt": "2022-11-18T13:59:33+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 469, "name": "沐浴清洁", "storeCategorySeq": 2, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 478, "createdAt": "2021-01-25T22:42:30+08:00", "updatedAt": "2022-11-02T19:51:36+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 478, "name": "体育运动", "storeCategorySeq": 2, "level": 2, "parentID": 475, "isHidden": 1 }, { "id": 735, "createdAt": "2022-11-01T10:16:49+08:00", "updatedAt": "2022-11-01T10:18:23+08:00", "lastOperator": "uponisland", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 735, "name": "全家福", "storeCategorySeq": 2, "level": 2, "parentID": 5, "isHidden": 0 }, { "id": 482, "createdAt": "2021-01-25T22:48:31+08:00", "updatedAt": "2022-11-02T19:52:58+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 482, "name": "袜子", "storeCategorySeq": 2, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 491, "createdAt": "2021-01-25T23:03:03+08:00", "updatedAt": "2022-11-18T13:50:52+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 491, "name": "厨房用具", "storeCategorySeq": 2, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 496, "createdAt": "2021-01-25T23:13:58+08:00", "updatedAt": "2022-11-18T13:52:23+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 496, "name": "数码配件", "storeCategorySeq": 2, "level": 2, "parentID": 486, "isHidden": 1 }, { "id": 501, "createdAt": "2021-01-25T23:42:02+08:00", "updatedAt": "2022-11-02T19:47:25+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 501, "name": "衣物清洁", "storeCategorySeq": 2, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 49, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T16:38:42+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 49, "name": "花果类", "storeCategorySeq": 3, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 50, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:39:45+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 50, "name": "新鲜禽类", "storeCategorySeq": 3, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 51, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:44:04+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 51, "name": "香蕉类", "storeCategorySeq": 3, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 65, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:27:47+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 65, "name": "食用油", "storeCategorySeq": 3, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 70, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:54:16+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 70, "name": "爽口凉菜", "storeCategorySeq": 3, "level": 2, "parentID": 10, "isHidden": 1 }, { "id": 71, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:12:27+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 71, "name": "虾蟹贝壳", "storeCategorySeq": 3, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 82, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:00:42+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 82, "name": "素菜", "storeCategorySeq": 3, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 88, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:57:38+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 88, "name": "面点美食", "storeCategorySeq": 3, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 356, "createdAt": "2020-04-28T18:10:42+08:00", "updatedAt": "2022-11-18T11:32:17+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 356, "name": "雪糕冰淇淋", "storeCategorySeq": 3, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 646, "createdAt": "2021-03-19T13:50:12+08:00", "updatedAt": "2022-11-02T19:13:59+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 646, "name": "洋酒葡萄酒", "storeCategorySeq": 3, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 653, "createdAt": "2021-03-25T15:06:54+08:00", "updatedAt": "2022-11-18T14:05:23+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 653, "name": "干果零食", "storeCategorySeq": 3, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 405, "createdAt": "2020-07-15T18:44:56+08:00", "updatedAt": "2022-11-02T18:55:57+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 405, "name": "凉粉", "storeCategorySeq": 3, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 673, "createdAt": "2021-03-25T15:47:03+08:00", "updatedAt": "2022-11-18T14:08:34+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 673, "name": "火锅冒菜", "storeCategorySeq": 3, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 455, "createdAt": "2021-01-25T21:50:02+08:00", "updatedAt": "2022-11-18T13:41:33+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 455, "name": "宝宝洗护", "storeCategorySeq": 3, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 461, "createdAt": "2021-01-25T21:59:28+08:00", "updatedAt": "2022-11-02T19:44:45+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 461, "name": "猫猫食品", "storeCategorySeq": 3, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 472, "createdAt": "2021-01-25T22:20:43+08:00", "updatedAt": "2022-11-18T13:59:48+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 472, "name": "口腔护理", "storeCategorySeq": 3, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 483, "createdAt": "2021-01-25T22:51:18+08:00", "updatedAt": "2022-11-02T19:53:31+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 483, "name": "鞋", "storeCategorySeq": 3, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 492, "createdAt": "2021-01-25T23:03:56+08:00", "updatedAt": "2022-11-18T13:51:16+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 492, "name": "五金工具", "storeCategorySeq": 3, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 503, "createdAt": "2021-01-25T23:45:26+08:00", "updatedAt": "2022-11-02T19:48:57+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 503, "name": "厨卫清洁", "storeCategorySeq": 3, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 506, "createdAt": "2021-02-02T15:33:12+08:00", "updatedAt": "2022-11-18T11:49:50+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 506, "name": "肉干辣条", "storeCategorySeq": 3, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 35, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:40:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 35, "name": "新鲜牛肉", "storeCategorySeq": 4, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 58, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:12:51+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 58, "name": "其他水产", "storeCategorySeq": 4, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 59, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:00:58+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 59, "name": "荤菜", "storeCategorySeq": 4, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 64, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:45:24+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 64, "name": "浆果类", "storeCategorySeq": 4, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 85, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T16:47:28+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 85, "name": "菇菌类", "storeCategorySeq": 4, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 101, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:04:51+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 101, "name": "快手菜调料", "storeCategorySeq": 4, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 636, "createdAt": "2021-03-18T21:30:17+08:00", "updatedAt": "2022-11-18T11:33:07+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 636, "name": "奶酪黄油", "storeCategorySeq": 4, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 654, "createdAt": "2021-03-25T15:12:33+08:00", "updatedAt": "2022-11-18T14:06:02+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 654, "name": "进口粮油", "storeCategorySeq": 4, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 658, "createdAt": "2021-03-25T15:28:41+08:00", "updatedAt": "2022-11-18T14:08:50+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 658, "name": "现制奶茶", "storeCategorySeq": 4, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 407, "createdAt": "2020-07-15T18:46:46+08:00", "updatedAt": "2022-11-02T18:56:45+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 407, "name": "魔芋", "storeCategorySeq": 4, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 442, "createdAt": "2021-01-21T17:36:32+08:00", "updatedAt": "2022-11-18T11:40:21+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 442, "name": "饮用水", "storeCategorySeq": 4, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 456, "createdAt": "2021-01-25T21:52:42+08:00", "updatedAt": "2022-11-18T13:44:09+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 456, "name": "宝宝服饰", "storeCategorySeq": 4, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 463, "createdAt": "2021-01-25T22:02:29+08:00", "updatedAt": "2022-11-02T19:45:16+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 463, "name": "猫猫玩具", "storeCategorySeq": 4, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 470, "createdAt": "2021-01-25T22:17:49+08:00", "updatedAt": "2022-11-18T14:00:07+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 470, "name": "女士护理", "storeCategorySeq": 4, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 484, "createdAt": "2021-01-25T22:52:34+08:00", "updatedAt": "2022-11-02T19:53:48+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 484, "name": "床上用品", "storeCategorySeq": 4, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 493, "createdAt": "2021-01-25T23:06:04+08:00", "updatedAt": "2022-11-18T13:51:33+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 493, "name": "百货", "storeCategorySeq": 4, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 502, "createdAt": "2021-01-25T23:44:53+08:00", "updatedAt": "2022-11-02T19:50:11+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 502, "name": "清洁用具", "storeCategorySeq": 4, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 507, "createdAt": "2021-02-02T15:34:17+08:00", "updatedAt": "2022-11-18T11:50:14+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 507, "name": "薯条膨化", "storeCategorySeq": 4, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 38, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:58:07+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 38, "name": "米饭炒菜", "storeCategorySeq": 5, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 56, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:00:21+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 56, "name": "冷藏", "storeCategorySeq": 5, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 62, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:37:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 62, "name": "调味类", "storeCategorySeq": 5, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 67, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:51:12+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 67, "name": "休闲零食", "storeCategorySeq": 5, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 86, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-03-07T11:52:11+08:00", "lastOperator": "18981810340", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 86, "name": "瓜果类", "storeCategorySeq": 5, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 639, "createdAt": "2021-03-18T21:44:15+08:00", "updatedAt": "2022-11-02T19:54:04+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 639, "name": "雨具", "storeCategorySeq": 5, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 386, "createdAt": "2020-07-07T15:08:12+08:00", "updatedAt": "2022-11-02T18:40:19+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 386, "name": "新鲜羊肉", "storeCategorySeq": 5, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 643, "createdAt": "2021-03-18T22:38:44+08:00", "updatedAt": "2022-11-18T11:36:35+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 643, "name": "咸菜罐头", "storeCategorySeq": 5, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 650, "createdAt": "2021-03-25T15:03:07+08:00", "updatedAt": "2022-11-18T14:06:14+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 650, "name": "洗护用品", "storeCategorySeq": 5, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 659, "createdAt": "2021-03-25T15:29:14+08:00", "updatedAt": "2022-11-18T14:09:15+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 659, "name": "现制咖啡", "storeCategorySeq": 5, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 408, "createdAt": "2020-07-15T18:47:29+08:00", "updatedAt": "2022-11-02T18:56:59+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 408, "name": "面筋", "storeCategorySeq": 5, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 189, "createdAt": "2019-10-18T11:50:06+08:00", "updatedAt": "2022-11-02T20:01:10+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 189, "name": "菌菇", "storeCategorySeq": 5, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 446, "createdAt": "2021-01-25T16:58:36+08:00", "updatedAt": "2022-11-18T11:41:34+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 446, "name": "果汁", "storeCategorySeq": 5, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 457, "createdAt": "2021-01-25T21:54:43+08:00", "updatedAt": "2022-11-18T13:44:53+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 457, "name": "宝妈用品", "storeCategorySeq": 5, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 465, "createdAt": "2021-01-25T22:06:05+08:00", "updatedAt": "2022-11-02T19:45:31+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 465, "name": "猫猫用品", "storeCategorySeq": 5, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 471, "createdAt": "2021-01-25T22:19:19+08:00", "updatedAt": "2022-11-18T14:00:32+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 471, "name": "男士护理", "storeCategorySeq": 5, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 533, "createdAt": "2021-03-07T11:32:54+08:00", "updatedAt": "2022-11-02T18:45:36+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 533, "name": "果切果捞", "storeCategorySeq": 6, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 39, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:00:32+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 39, "name": "冷冻食品", "storeCategorySeq": 6, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 72, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:01:22+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 72, "name": "丸子", "storeCategorySeq": 6, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 75, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:37:29+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 75, "name": "菜豆类", "storeCategorySeq": 6, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 352, "createdAt": "2020-04-27T18:37:39+08:00", "updatedAt": "2022-11-18T11:51:32+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 352, "name": "火腿罐头", "storeCategorySeq": 6, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 633, "createdAt": "2021-03-18T15:27:26+08:00", "updatedAt": "2022-11-18T11:37:30+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 633, "name": "方便速食", "storeCategorySeq": 6, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 655, "createdAt": "2021-03-25T15:13:21+08:00", "updatedAt": "2022-11-18T14:06:48+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 655, "name": "其他进口", "storeCategorySeq": 6, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 657, "createdAt": "2021-03-25T15:28:07+08:00", "updatedAt": "2021-03-25T15:57:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 657, "name": "现制果汁", "storeCategorySeq": 6, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 410, "createdAt": "2020-07-15T18:49:59+08:00", "updatedAt": "2022-11-02T18:57:22+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 410, "name": "腐竹", "storeCategorySeq": 6, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 155, "createdAt": "2019-01-26T14:09:01+08:00", "updatedAt": "2022-11-02T18:41:12+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 155, "name": "冰冻冷鲜", "storeCategorySeq": 6, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 172, "createdAt": "2019-01-31T10:00:37+08:00", "updatedAt": "2022-11-18T11:58:56+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 172, "name": "香肠腊肉", "storeCategorySeq": 6, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 445, "createdAt": "2021-01-25T15:54:51+08:00", "updatedAt": "2022-11-18T11:41:59+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 445, "name": "茶饮料", "storeCategorySeq": 6, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 458, "createdAt": "2021-01-25T21:56:18+08:00", "updatedAt": "2022-11-18T13:45:26+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 458, "name": "宝宝其他", "storeCategorySeq": 6, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 466, "createdAt": "2021-01-25T22:08:25+08:00", "updatedAt": "2022-11-07T16:03:39+08:00", "lastOperator": "18981810340", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 466, "name": "其他宠物", "storeCategorySeq": 6, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 473, "createdAt": "2021-01-25T22:25:14+08:00", "updatedAt": "2022-11-18T14:02:24+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 473, "name": "医务护理", "storeCategorySeq": 6, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 485, "createdAt": "2021-01-25T22:54:17+08:00", "updatedAt": "2022-11-02T19:54:47+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 485, "name": "其他家纺", "storeCategorySeq": 6, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 22, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-04T16:21:18+08:00", "lastOperator": "18744776542", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 22, "name": "五谷杂粮", "storeCategorySeq": 7, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 76, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:42:25+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 76, "name": "腌腊肉类", "storeCategorySeq": 7, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 79, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:59:21+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 79, "name": "烘焙食品", "storeCategorySeq": 7, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 627, "createdAt": "2021-03-17T13:35:50+08:00", "updatedAt": "2021-03-25T11:48:44+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 627, "name": "其它洗护", "storeCategorySeq": 7, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 645, "createdAt": "2021-03-19T11:25:40+08:00", "updatedAt": "2022-11-18T11:52:03+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 645, "name": "豆干海苔果冻", "storeCategorySeq": 7, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 660, "createdAt": "2021-03-25T15:30:05+08:00", "updatedAt": "2021-03-25T15:57:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 660, "name": "现制烘焙", "storeCategorySeq": 7, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 158, "createdAt": "2019-01-30T14:36:07+08:00", "updatedAt": "2022-11-02T18:38:03+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 158, "name": "净菜类", "storeCategorySeq": 7, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 185, "createdAt": "2019-09-17T09:23:17+08:00", "updatedAt": "2022-11-02T18:45:46+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 185, "name": "其他水果", "storeCategorySeq": 7, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 448, "createdAt": "2021-01-25T17:05:00+08:00", "updatedAt": "2022-11-18T11:42:35+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 448, "name": "蛋白饮料", "storeCategorySeq": 7, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 497, "createdAt": "2021-01-25T23:22:36+08:00", "updatedAt": "2022-11-02T20:01:35+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 497, "name": "串串", "storeCategorySeq": 7, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 30, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:01:57+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 30, "name": "蘸料", "storeCategorySeq": 8, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 63, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:42:41+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 63, "name": "其他肉类", "storeCategorySeq": 8, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 87, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:39:21+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 87, "name": "南北干货", "storeCategorySeq": 8, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 647, "createdAt": "2021-03-19T19:17:00+08:00", "updatedAt": "2022-11-18T11:52:16+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 647, "name": "话梅山楂果干", "storeCategorySeq": 8, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 661, "createdAt": "2021-03-25T15:33:32+08:00", "updatedAt": "2021-03-25T15:57:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 661, "name": "现制甜品", "storeCategorySeq": 8, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 509, "createdAt": "2021-02-02T16:02:50+08:00", "updatedAt": "2022-11-18T11:42:53+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 509, "name": "碳酸饮料", "storeCategorySeq": 8, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 45, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:02:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 45, "name": "底料", "storeCategorySeq": 9, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 644, "createdAt": "2021-03-19T11:12:38+08:00", "updatedAt": "2022-11-04T16:24:43+08:00", "lastOperator": "18744776542", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 644, "name": "水调冲饮", "storeCategorySeq": 9, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 672, "createdAt": "2021-03-25T15:45:20+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 672, "name": "日韩料理", "storeCategorySeq": 9, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 447, "createdAt": "2021-01-25T17:03:47+08:00", "updatedAt": "2022-11-18T11:43:45+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 447, "name": "功能饮料", "storeCategorySeq": 9, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 635, "createdAt": "2021-03-18T20:22:23+08:00", "updatedAt": "2022-11-18T11:44:18+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 635, "name": "冲调饮品", "storeCategorySeq": 10, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 663, "createdAt": "2021-03-25T15:40:00+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 663, "name": "川湘菜", "storeCategorySeq": 10, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 169, "createdAt": "2019-01-31T09:32:35+08:00", "updatedAt": "2022-11-02T20:02:19+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 169, "name": "其他工具", "storeCategorySeq": 10, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 666, "createdAt": "2021-03-25T15:41:47+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 666, "name": "江浙菜", "storeCategorySeq": 11, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 664, "createdAt": "2021-03-25T15:40:43+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 664, "name": "清真菜", "storeCategorySeq": 12, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 665, "createdAt": "2021-03-25T15:41:24+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 665, "name": "西北菜", "storeCategorySeq": 13, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 667, "createdAt": "2021-03-25T15:42:07+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 667, "name": "东北菜", "storeCategorySeq": 14, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 668, "createdAt": "2021-03-25T15:42:35+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 668, "name": "北京菜", "storeCategorySeq": 15, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 669, "createdAt": "2021-03-25T15:43:24+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 669, "name": "粤港菜", "storeCategorySeq": 16, "level": 2, "parentID": 656, "isHidden": 1 }] + diff --git a/src/apis/goodPage/index.js b/src/apis/goodPage/index.js new file mode 100644 index 0000000..e61d64d --- /dev/null +++ b/src/apis/goodPage/index.js @@ -0,0 +1,155 @@ +import api from '../request' +// import config from "@/apis/config" +import { store } from "@/store" +import { mapSkuNames } from '@/utils' + +export default { + /** + * 获取门店分类 + */ + getCat: async (storeID) => { + try { + let res = await api('v2/store/GetStoreCategoryMap', { + data: { + storeID, + parentID: -1 + } + }) + + // #ifdef MP-KUAISHOU || MP-ALIPAY || MP-TOUTIAO + // if (GetStoreCategoryMap === null) { + // data = config.JXCateroy + // } + // #endif + + return { + catL1: mapCats(res, 1), + catL2: mapCats(res, 2), + } + } catch (e) { + console.error('getCat', e) + throw (e) + } + }, + + /** + * 获取推荐分类 + */ + getTopCats: async (data) => { + try { + let res = await api('v2/store/sku/GetTopCategoriesByStoreIDs', { + data + }) + // let res = config.topCats + + if (res !== null) { + return res.map(item => ({ + id: item.id, + level: item.level, + name: item.name.substring(0, 4), + parentID: item.parentID, + // img: item.img.includes('https') ? item.img : item.img.substring(0, 4) + 's' + item.img.substring(4) + img: item.img + })) + } else { + return [] + } + } catch (e) { + console.error('getTopCats', e) + throw (e) + } + }, + + /** + * 获取分类商品 + */ + getStoresSkus: async (params = { pageSize: -1, offset: 0 }) => { + let json = { + storeIDs: params.storeID ? JSON.stringify([params.storeID]) : JSON.stringify(store.getters['indexPage/storeID']), + isBySku:true, + pageSize: params.pageSize ? params.pageSize : -1, + offset: params.offset ? params.offset : 0 + } + + if (params.categoryID) { + if (params.categoryID === 'act') { + json.isAct = true + } else if (params.categoryID === 'one') { + json.skuIDs = JSON.stringify([Number(params.skuID)]) + json.pageSize = 1 + } else { + json.categoryID = params.categoryID + } + } + + if (params.keyword) json.keyword = params.keyword + if (params.skuIDs) json.skuIDs = JSON.stringify(params.skuIDs) + if(!params.isBySku) json.isBySku = false + + try { + let res = await api('v2/store/sku/GetStoresSkus', { + data: { + isFocus: true, + actVendorID: 9, + // isBySku: true, + + fromStatus: 1, + toStatus: 1, + ...json + } + }) + return { + totalCount: res.totalCount, + skuNames: mapSkuNames(res.skuNames || []) + } + } catch (e) { + console.error('getStoresSkus', e) + throw (e) + } + }, + + /** + * GetCategories + */ + getCategories: async (storeID) => { + try { + let res = await api('v2/store/sku/GetStoreCategories', { + storeID + }) + return res + } catch (e) { + console.error('getCategories', e) + throw (e) + } + }, + + /** + * 获取热销商品 + */ + getTopGoods: async (storeID) => { + try { + let res = await api('v2/store/sku/GetTopSkusByStoreIDs', { + data: { + storeIDs: JSON.stringify(storeID) + } + }) + return res + } catch (e) { + console.error('getTopGoods', e) + throw (e) + } + }, + +} + + +// 过滤分类 +const mapCats = (arr, level) => { + return arr.filter(item => item.level === level && (item.isHidden === 1 || item.isHidden === 0)).map((item, index) => ({ + id: item.categoryID, + level: item.level, + name: item.name.substring(0, 4), + parentID: item.parentID, + index: index + 1 + })) +} \ No newline at end of file diff --git a/src/apis/login/index.js b/src/apis/login/index.js new file mode 100644 index 0000000..ee9ccf0 --- /dev/null +++ b/src/apis/login/index.js @@ -0,0 +1,249 @@ +import api from '../request' +import { getCode } from "@/utils/uniapi.js"; +import { authType } from "@/apis/config" +import { json2query } from '@/utils' + +export default { + /** + * 登录 + */ + wLogin: async (json) => { + try { + let data = json + // 获取code + if (!data) data = await loginData(data) + let res = await api('v2/auth2/Login', { + method: 'POST', + data + }) + return res + } catch (e) { + console.error('wLogin', e) + throw (e) + } + + }, + + /** + * 解析手机号 微信 + */ + getUserByMiniInfo: async (data) => { + try { + let res = await api('v2/auth2/GetUserByMiniInfo', { + method: 'POST', + data: { + data: data.encryptedData, + iv: data.iv, + jsCode: await getCode('oauth'), + appID: 'wx4b5930c13f8b1170' + }, + header: { + 'content-type': 'application/x-www-form-urlencoded' + }, + }) + return res + } catch (e) { + console.error('getUserByMiniInfo', e) + throw (e) + } + }, + + /** + * 解析手机号 快手和抖音 + * @param {*} sessionKey // 用户 login 返回的 sessionKey + * @param {*} msg // 密文 encryptedData + * @param {*} iv // 密钥 iv + * @param {*} loginType // 类型 authType() + */ + analyzeMobile: async (data) => { + try { + let res = await api('v2/auth2/TiktokDecrypt', { + method: 'POST', + data: { + sessionKey: data.sessionKey, + msg: data.phone.encryptedData, + iv: data.phone.iv, + loginType: await authType() + } + }) + return res + } catch (e) { + console.error('analyzeMobile', e) + throw (e) + } + }, + + /** + * 绑定手机号 + */ + addAuthBindWithMobile: async (data) => { + try { + let res = await api('v2/auth2/AddAuthBindWithMobile', { + method: 'POST', + data + }) + return res + } catch (e) { + console.error('addAuthBindWithMobile', e) + throw (e) + } + }, + + /** + * 注册 + * @param {String} authToken // login返回的临时token + * @param {Object} payload + * @param {String} payload.userID2 + * @param {String} payload.name + * @param {String} payload.mobile + * @param {String} payload.avatar + */ + registerUser: async (data) => { + try { + let res = await api('v2/user2/RegisterUser', { + method: 'POST', + data + }) + return res + } catch (e) { + console.error('registerUser', e) + throw (e) + } + }, + + /** + * 获取用户信息 + */ + getSelfInfo: async () => { + try { + let res = await api('v2/user2/GetSelfInfo') + return res + } catch (e) { + console.error('getSelfInfo', e) + throw (e) + } + }, + + /** + * 更新用户信息 + */ + updateUserLastInfo: async (storeID, brandID) => { + try { + let res = await api('v2/user2/UpdateUserLastInfo', { + method: 'POST', + data: json2query({ + brandID, + storeID + }) + }) + return res + } catch (e) { + console.error('updateUserLastInfo', e) + throw (e) + } + }, + + /** + * 获取服务信息 + */ + getServiceInfo: async () => { + try { + let res = await api('v2/cms/GetServiceInfo') + return res + } catch (e) { + console.error('', e) + throw (e) + } + }, + + /** + * 获取个人推荐码 + * data:{scene: json} + */ + getTiktokOrWxCode: async (json) => { + try { + let res = await api('v2/event/GetWeixinUnlimited', { + method: 'POST', + data: json + }) + return res + } catch (e) { + console.error('getTiktokCode', e) + throw (e) + } + }, + + /** + * 通过商家电话号码或者商家信息 + */ + getUsers: async (mobile) => { + try { + let res = await api(`v2/user2/GetUsers?userType=0&mobile=${mobile}`) + return res + } catch (e) { + console.error('getUsers', e) + throw (e) + } + }, + + /** + * 聊天记录 + */ + getImMessageRecord: async (vendorOrderID) => { + try { + let res = await api('v2/event/GetImMessageRecord', { + data: { + vendorOrderID + } + }) + return res + } catch (e) { + console.error('getImMessageRecord', e) + throw (e) + } + }, + + // /** + // * 获取临时token + // */ + // getTemToken: async () => { + // try { + // let res =await api('v2/app_need/getToken4Jxc4', { + // method: 'POST', + // }, 'print') + // return res + // }catch(e){ + // console.error('', e) + // throw(e) + // } + // }, + + /** + * 获取版本信息 + */ + getVersionController: async (appId) => { + try { + let res = await api('v2/version/GetVersionController', { + data: { + appId + } + }) + return res + } catch (e) { + console.error('getVersionController', e) + throw (e) + } + } + +} + +/** + * 组合登录的参数 + */ +const loginData = async (code) => { + let data = { + authType: authType(), + authSecret: code ? code : await getCode('oauth') + } + return data +} \ No newline at end of file diff --git a/src/apis/orderPage/index.js b/src/apis/orderPage/index.js new file mode 100644 index 0000000..48334b3 --- /dev/null +++ b/src/apis/orderPage/index.js @@ -0,0 +1,406 @@ +import api from '../request' +import { json2query, mapData } from '@/utils' +import { formatDate } from '@/utils/assist.js' +import { store } from '@/store' +export default { + /** + * 创建订单 + */ + createOrder: async (json = {}) => { + try { + let res = await api('v2/jxorder/CreateOrder', { + method: 'POST', + data: json2query(json) + }) + return res + } catch (e) { + console.error('createOrder', e) + throw (e) + } + }, + + /** + * 查询订单 通过vendorOrderID + */ + getOrderInfo:async (json,dns = 'wxC4') => { + try { + let res = await api('v2/order/GetOrders', { + data: json, + },dns) + return res + } catch (e) { + throw e + } + }, + + /** + * 查询订单数量 + * @param {String} fromDate 开始日期 2019-12-12 + * @param {String} toDate 结束日期 + * @param {String} statuss 订单状态列表 [1,2,3] + */ + getOrderCount: async () => { + try { + let res = await api('v2/jxorder/GetMyOrderCountInfo', { + data: { + fromDate: formatDate(new Date() - 6 * 24 * 3600 * 1000, 'YYYY-MM-DD'), + toDate: formatDate(null, 'YYYY-MM-DD'), + statuss: JSON.stringify([2, 5, 10, 15, 17, 18, 20]) + } + }) + let orderInfo = res || [] + let waitCount = orderInfo.find(item => item.status === 2) // 计算数量 + let deliverCount = orderInfo.reduce((prev, next) => { + if (next.status >= 5 && next.status <= 20) { + return prev + next.count + } else { + return prev + } + }, 0) + return { + waitCount: waitCount ? waitCount.count : 0, + deliverCount + } + } catch (e) { + console.error('getMyOrderCountInfo', e) + throw (e) + } + }, + + /** + * 获取支付信息 Pay4Order + * @param {String} vendorOrderID 订单号 + * @param {Number} payType 支付类型 PayTypeWX = 1 // 微信支付 + * @param {String} vendorPayType 平台支付类型 + */ + pay4Order: async (json,dns="wxC4") => { + try { + let res = await api('v2/jxorder/Pay4Order', { + method: 'POST', + data: json + },dns ? dns : 'wxC4') + return res + } catch (e) { + console.error('pay4Order', e) + throw { + errKey: 'pay4Order', + err: e + } + // throw (e) + } + }, + + /** + * @param {String} id 会员折扣id + * @param {Number} payType 支付类型 PayTypeWX = 1 // 微信支付 + * @param {String} vendorPayType 平台支付类型 + */ + pay4User: async (json) => { + try { + let res = await api('v2/jxorder/Pay4User', { + method: 'POST', + data: json + }) + return res + } catch (e) { + console.error('pay4User', e) + throw (e) + } + // orderPage.pay4User + }, + + /** + * 获取我的订单 + * @param {String} vendorOrderID 订单号 + * @param {String} keyword 关键字 + * @param {String} fromDate 开始日期 2006-01-02 + * @param {String} fromDate 结束日期 2006-01-02 + * @param {String} statuss 状态,缺省不限制 + * @param {Number} offset 序号 + * @param {Number} pageSize 页大小 + */ + getMyOrders: async (json) => { + try { + let res = await api('v2/jxorder/GetMyOrders', { + data: { + ...json, + fromDate: formatDate(new Date() - 364 * 24 * 3600 * 1000, 'YYYY-MM-DD'), + toDate: formatDate(null, 'YYYY-MM-DD'), + offset: 0, + pageSize: 10, + } + }) + return { + totalCount: res.totalCount, + data: mapData(res.data) + } + } catch (e) { + console.error('getMyOrders', e) + throw (e) + } + }, + + /** + * 获取订单商品信息 + * @param {String} vendorOrderID 订单号 + * @param {Number} vendorID 厂商 + */ + getOrderSkuInfo: async (vendorOrderID, vendorID) => { + try { + let res = await api('v2/order/GetOrderSkuInfo', { + data: { + vendorOrderID, + vendorID + } + }) + return res + } catch (e) { + console.error('getOrderSkuInfo', e) + throw (e) + } + }, + + /** + * 获取订单状态 + * @param {String} vendorOrderID 订单号 + * @param {Number} vendorID 厂商 + * @param {Number} orderType 订单:1;运单:2;订单+运单:-1 + */ + getOrderStatus: async (vendorOrderID, vendorID) => { + try { + let res = await api('v2/order/GetOrderStatusList', { + data: { + vendorOrderID, + vendorID, + orderType: 1 + } + }) + if (res) { + return res.map(item => ({ + id: item.id, + statusText: store.getters['login/cms'].orderStatus[item.status], + statusTime: formatDate(item.statusTime, 'YYYY-MM-DD hh:mm:ss'), + remark: item.remark + })).sort((n1, n2) => (new Date(n2.statusTime) - new Date(n1.statusTime))) + } else { + return [] + } + // return res + } catch (e) { + console.error('getOrderStatus', e) + throw (e) + } + }, + + /** + * 查询物料订单状态 + * @param {*} json + */ + getMatterOrderStatus: async (json) => { + try { + let res = await api('v2/jxorder/GetMatterOrderStatus', { + data: json + }) + if (res) { + return res.map(item => ({ + id: parseInt(Math.random() * 2000) + 1, + statusText: item.status, + statusTime: formatDate(item.time, 'YYYY-MM-DD hh:mm:ss'), + remark: item.name + })).sort((n1, n2) => (new Date(n2.statusTime) - new Date(n1.statusTime))) + } else { + return [] + } + } catch (e) { + console.error('getMatterOrderStatus', e) + throw (e) + } + }, + + /** + * 买家取消订单 + * @param {*} vendorOrderID 订单号 + * @param {*} reason 原因 + */ + buyerCancelOrder: async (json) => { + // try { + // await api('v2/jxorder/BuyerCancelOrder', { + // method: 'POST', + // data: json + // }) + // } catch (e) { + // console.error('BuyerCancelOrder', e) + // throw e + // } + try { + let res = await api('v2/order/CancelOrder', { + method: 'PUT', + data: json + }) + return res + } catch (e) { + console.error('buyerCancelOrder', e) + throw (e) + } + }, + + /** + * 获取售后单 + * @param {*} afsOrderID 售后单号 + * @param {*} vendorOrderID 订单号 + * @param {*} fromTime 开始时间 + * @param {*} toTime 结束时间 + * @param {*} offset 起始序号 + * @param {*} pageSize 页大小 + */ + getAfsOrders: async (json) => { + try { + let res = await api('v2/jxorder/GetMyAfsOrders', { + data: json + }) + return res + } catch (e) { + console.error('getAfsOrders', e) + throw (e) + } + }, + + /** + * 获取售后单商品 + * @param {*} afsOrderID 售后单号 + * @param {*} vendorID 厂商ID + */ + getAfsOrderSkuInfo: async (json) => { + try { + let data = {} + if (json.afsOrderID) data.afsOrderID = json.afsOrderID + if (json.vendorOrderID) data.vendorOrderID = json.vendorOrderID + data.vendorID = json.vendorID + data.isNotFaild = json.isNotFaild ? true : false + + let res = await api('v2/order/GetAfsOrderSkuInfo', { + data + }) + return res + } catch (e) { + console.error('getAfsOrderSkuInfo', e) + throw (e) + } + }, + + // /** + // * 发起售后退款 ,该接口直接退款,并没有审核这一步,故取消使用该接口发起售后,修改为v2/jxshop/JxMsg + // * @param {*} vendorOrderID 订单号 + // * @param {*} vendorID 厂商ID + // * @param {*} refundSkuList [{skuID, count, storeSubID}] + // * @param {*} reason 原因 + // */ + // partRefundOrder: async (vendorOrderID, vendorID, refundSkuList, reason) => { + // try { + // let res = await api('v2/order/PartRefundOrder', { + // method: 'PUT', + // data: { + // vendorOrderID, + // vendorID, + // refundSkuList, + // reason + // } + // }) + // return res + // } catch (e) { + // console.error('partRefundOrder', e) + // throw (e) + // } + // } + + /** + * 申请售后 + * 该接口存在问题,需后端优化 + * 目前只能进行部分商品售后退款申请 + * 问题1:全部商品申请退款,失败 + * 问题2:每次只申请退款一个商品,直至退到最后一个,运费,退不回来 + */ + applyAfterSale: async (data) => { + try { + let res = await api('v2/jxshop/JxMsg', { + method: 'POST', + data + }) + return res + } catch (e) { + console.error('applyAfterSale', e) + throw (e) + } + }, + + /** + * 自定义金额支付(接口已经调通,后端待优化)京西支付 + */ + pay4StoreMyselfDeliverOrder: async (json) => { + try { + if (!store.getters['login/isLogin']) return + + let res = await api('v2/jxorder/Pay4StoreMyselfDeliverOrder', { + method: 'POST', + data: json + }) + return res + } catch (e) { + console.error('pay4StoreMyselfDeliverOrder', e) + throw (e) + } + }, + + /** + * 订单拣货完成 扫码支付 到店消费 + */ + finishedPickup:async (json,dns='wxC4') => { + try { + let res = await api('v2/order/FinishedPickup', { + method: 'POST', + data: json + },dns) + return res + } catch (error) { + console.error('finishedPickup', error) + throw (error) + } + }, + + /** + * 订单送达 + */ + selfDelivered:async (json,dns='wxC4') => { + try { + let res = await api('v2/order/SelfDelivered', { + method: 'POST', + data: json + },dns) + return res + } catch (error) { + console.error('selfDelivered', error) + throw (error) + } + }, + + /** + * 修改订单信息 + */ + updateOrderInfo:async (json,dns='wxC4') => { + try { + let res = await api('v2/order/UpdateOrderInfo', { + method: 'POST', + // headers: { + // 'Content-Type': 'application/x-www-form-urlencoded' + // }, + data: json + },dns) + return res + } catch (error) { + console.error('updateOrderInfo', error) + throw (error) + } + } + + +} \ No newline at end of file diff --git a/src/apis/request.js b/src/apis/request.js new file mode 100644 index 0000000..5c998bc --- /dev/null +++ b/src/apis/request.js @@ -0,0 +1,166 @@ +import { rootUrl,whiteListUrl } from "@/apis/config" //根路径 +// #ifdef MP-WEIXIN +import { logInfo } from '@/utils/log' +// #endif +import { jumpPage } from "@/utils/uniapi.js"; +import { store } from '@/store' + + + +/** + * 根路径的类型 + */ +const rootType = (type) => { + let rootType = type ? type : 'wxC4' // 默认为wxC4 + // if (rootType === 'wxC4' && store.getters['indexPage/isGy']) rootType = 'wxGy' + if (rootType === 'wxC4' && store.getters['indexPage/dns']) { + rootType = store.getters['indexPage/dns'] + } + return rootType +} + +/** + * header + */ +const headerType = (options) => { + if (options) { + if (options.method === 'POST' || options.method === 'PUT') { + return { + 'content-type': 'application/x-www-form-urlencoded' + } + } + } else { + return '' + } + +} + +/** + * 请求日志 + */ +const logInfoItem = (url, options, startTime, endTime, token, data,rootUrl) => { + // #ifdef MP-WEIXIN + let logJson = { + rootUrl:rootUrl, + url: url, + params: options.data, + time: endTime - startTime, + token, + data: JSON.stringify(data) + } + logInfo(logJson) + // #endif +} + +const request = (url, options = {}, root) => { + return new Promise((resolve, reject) => { + let type = rootType(root) // 根路径类型 + + let apiUrl = rootUrl[type] + url + + // #ifdef H5 + apiUrl = url + // #endif + + // header + options.header = headerType(options) + + // token + let token = uni.getStorageSync('token') ? uni.getStorageSync('token') : '' + if(whiteListUrl.includes(url) && !store.getters['indexPage/isMaterial']) token = '' + + let startTime = +new Date() // 开始时间 + + // store.commit('showLoad') + uni.request({ + url: apiUrl, + method: options.method || 'GET', + data: options.data, + // timeout: 15000, // 15s + header: { + token: token || '', + ...options.header + }, + success: ({ data, statusCode }) => { + const endTime = +new Date() // 结束时间 + // console.log(apiUrl, '花费时间', endTime - startTime) + if (statusCode !== 200 && statusCode !== 304) { + console.log(statusCode) + let msg = '请求出错' + reject(msg) + } + + let errMessage = '' + let code, res, desc + + if (root === 'gdMap') { + code = data.status === '1' ? '0' : data.status + + res = data.regeocode ? JSON.stringify(data.regeocode) : JSON.stringify(data) + + if (data.info !== 'ok') errMessage = data.info + } else { + code = data.code + res = data.data + desc = data.desc + } + + if (code !== '-104') logInfoItem(url, options, startTime, endTime, token, data,rootUrl[type]) // 请求日志 微信 + + + if (code === '0') { + resolve(JSON.parse(res)) + } else if (code === '-1') { + // 注册 + if (url.includes('RegisterUser') && desc === '用户标识已经存在' || desc === '要登录类型已经存在') { + resolve(desc) + } else if (url.includes('CreateOrder') && desc.includes('配送范围')) { + resolve(desc) + } else { + errMessage = desc + } + + // 校验地址范围 + } else if (code === '-104') { + resolve({ + ...data + }) + } else { + if (code === '-2') { + // 清空登录信息 + store.commit('login/changeLoginStatus', '') + + // 清空购物车 + store.commit('cartPage/saveCartList', []) + + errMessage = '身份验证过期,请重新登录' + + jumpPage('switchTab', '/pages/mine/index', 800) + } else if (code === '-3') { + errMessage = code + } else { + if (desc === '需要正式TOKEN' || desc === "token过期或无效,请重新登录") { + errMessage = '登录过期,请重新登录' + jumpPage('switchTab', '/pages/mine/index', 800) + } else { + errMessage = desc + } + } + } + if (errMessage) reject(new Error(errMessage)) + // store.commit('hideLoad') + }, + fail: (err) => { + console.log('请求错误', err) + const endTime = +new Date() + logInfoItem(url, options, startTime, endTime, token, err,rootUrl[type]) // 请求日志 微信 + // store.commit('hideLoad') + reject(err) + } + + }) + }) + +} + +export default request \ No newline at end of file diff --git a/src/assets/_animate.scss b/src/assets/_animate.scss new file mode 100644 index 0000000..b869307 --- /dev/null +++ b/src/assets/_animate.scss @@ -0,0 +1,115 @@ +%ani-bounceIn { + animation: bounceIn 2s infinite; + animation-direction: alternate; +} + +@keyframes bounceIn { + from, + 20%, + 40%, + 60%, + 80%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: .4; + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + transform: scale3d(0.9, 0.9, 0.9); + } + + 60% { + opacity: 1; + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + transform: scale3d(0.97, 0.97, 0.97); + } + + to { + opacity: 1; + transform: scale3d(1, 1, 1); + } +} + +%ani-rubberBand { + animation: rubberBand 1s infinite; + // animation-direction: alternate; +} + +@keyframes rubberBand { + from { + transform: scale3d(1, 1, 1); + } + + 30% { + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + transform: scale3d(1.05, 0.95, 1); + } + + to { + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceInUp { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} diff --git a/src/assets/_color.scss b/src/assets/_color.scss new file mode 100644 index 0000000..4dee619 --- /dev/null +++ b/src/assets/_color.scss @@ -0,0 +1,34 @@ +/* + 配色 + 引入: @import '@/assets/_color.scss'; +*/ + +$maincolor: #4EB331; +$maincolor2: #72b92c; + +$primary: #409EFF; +$success: #67C23A; +$warning: #E6A23C; +$danger: #F56C6C; +$info: #909399; + +$text1: #333; +$text2: #606266; +$text3: #909399; +$text4: #C0C4CC; + +$border1: #DCDFE6; +$border2: #E4E7ED; +$border3: #EBEEF5; +$border4: #F2F6FC; + +$strong: #fe6263; +$gray: #b2b2b2; +$noGoods: #dcdcdc; +$bggray: #fafafa; + +$inputplaceholder: #666; +$inputtext: $text1; +$bginput: #efefef; +$inputremove: #c5c5c5; +$inputsearch: #999; \ No newline at end of file diff --git a/src/assets/_extend.scss b/src/assets/_extend.scss new file mode 100644 index 0000000..1917b1a --- /dev/null +++ b/src/assets/_extend.scss @@ -0,0 +1,309 @@ +// @import '@/assets/bundle.scss'; + +%flex-center { + display: flex; + align-items: center; + justify-content: center; +} +%flex-between { + display: flex; + align-items: center; + justify-content: space-between; +} +%flex-around { + display: flex; + align-items: center; + justify-content: space-around; +} +%flex-left { + display: flex; + align-items: center; +} +%flex-right { + display: flex; + align-items: center; + justify-content: flex-end; +} +%flex-bottom { + display: flex; + align-items: flex-end; + justify-content: center; +} + +%flex-none { + flex: none; +} + +%flex-auto { + flex: auto; +} + +%bg-no-repeat-center { + background-repeat: no-repeat; + background-position: center center; +} + +%bg-size-100 { + background-size: 100%; +} + +%pd20 { + padding: 20rpx; +} +%pd30 { + padding: 30rpx; +} +%pd3020 { + padding: 30rpx 20rpx; +} +%pdtb20 { + padding: 20rpx 0; +} +%pdtb { + padding: 20rpx 0; +} + +%pdlr { + padding: 0 20rpx; +} + +// @extend %bgwhite; +%bgwhite { + background-color: white; +} + +// @extend %colorwhite; +%colorwhite { + color: white !important; +} + +// 文字一行 +%oneline { + white-space:nowrap; + overflow:hidden; + text-overflow:ellipsis; +} +%h100bs { + height: 100rpx; + box-sizing: border-box; +} + +// 渐变按钮 +%btn-linearGradient { + background: linear-gradient(to left, $maincolor, $maincolor2); + font-size: 32rpx; + @extend %colorwhite; + height: 80rpx; + width: 280rpx; + border-radius: 140rpx; + @extend %flex-center; +} + +// 直降秒杀badge +%act-type-text { + font-size: 16rpx; + border-radius: 20rpx; + color: $maincolor; + border: 1rpx solid $maincolor; + width: 40rpx; + height: 20rpx; + line-height: 0; + @extend %flex-center; + box-sizing: border-box; +} + +// 全屏 +%fullScreen { + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + +// 小盒子pd20 底部描边 +%boxpd20bb { + @extend %pdtb20; + border-bottom: 1rpx solid $border1; + box-sizing: border-box; + margin: 0 20rpx; +} + +// 下拉刷新遮罩样式 +%mask { + width: 100vw; + height: 100vh; + position: fixed; + left: 0; + top: 0; + background: black; + opacity: 0; + z-index: 999; +} + +%btn-base { + @extend %flex-center; + flex: 1; + height: 80rpx; + background: linear-gradient(to bottom, #4eb331 0%,#67c23a 100%); + @extend %colorwhite; + border-radius: 10rpx; + font-size: 32rpx; + box-sizing: border-box; + border-bottom: 6rpx solid $maincolor; +} + +%vendor-0-color { + color: #47B34F; +} +%vendor-1-color { + color: #FAD300; +} +%vendor-2-color { + color: #008DE1; +} +%vendor-3-color { + color: #008DE1; +} +%vendor-4-color { + color: $text2; +} +%vendor-5-color { + color: $text2; +} +%vendor-6-color { + color: $text2; +} +%vendor-7-color { + color: $text2; +} +%vendor-8-color { + color: $text2; +} +%vendor-9-color { + color: $maincolor; +} +%vendor-10-color { + color: $maincolor; +} +%vendor-11-color { + color: #0065fa; +} + +@for $vendorID from 0 to 10 { + %vendor-#{$vendorID}-icon { + .icon-vendor { + width: 40rpx; + height: 40rpx; + background-image: url(../../assets/images/icon-vendor.png); + background-repeat: no-repeat; + background-position: (-$vendorID * 40rpx) 0; + background-size: cover; + } + .order-seq { + @extend %vendor-#{$vendorID}-color; + font-size: 32rpx; + font-weight: 500; + margin-left: 10rpx; + @extend %text-shadow; + } + } +} + +%text-shadow { + text-shadow: 0 0 1rpx rgba(black, .2); +} + +%ft24 { + font-size: 24rpx; +} +%ft28 { + font-size: 28rpx; +} + +%ft32 { + font-size: 32rpx; +} + +%ft34 { + font-size: 34rpx; +} +%ft36 { + font-size: 36rpx; +} + +%ft30 { + font-size: 30rpx; +} + +// %vendor-0-icon { +// .icon-vendor { +// @extend %icon-vendor; +// } +// .order-seq { + +// } +// } + +%table-layout { + @extend %flex-left; + .left, .center, .right { + flex: none; + text-align: center; + } + .left { + width: 46%; + } + .center { + width: 30%; + } + .right { + width: 24%; + } +} + +%borderbottom { + border-bottom: 1rpx solid $border3; +} + +%devider { + border-top: 1rpx solid $warning; + height: 6rpx; + border-bottom: 1rpx dashed $warning; + opacity: .5; +} + +%mt20 { + margin-top: 20rpx; +} +%mb20 { + margin-bottom: 20rpx; +} +%mb200 { + margin-bottom: 200rpx; +} + +%icon-base { + @extend %bg-no-repeat-center; + @extend %bg-size-100; +} + +%pd4020 { + padding: 40rpx 20rpx; +} + +%boxShadow { + box-shadow: 0 0 4rpx rgba($border1, .4); +} + +%btn-group-bottom { + position: fixed; + left: 0; + bottom: 0; + height: 120rpx; + @extend %bgwhite; + @extend %flex-left; + @extend %boxShadow; + border-top: 1rpx solid $border2; + width: 100%; +} diff --git a/src/assets/_icon.scss b/src/assets/_icon.scss new file mode 100644 index 0000000..d63e4a0 --- /dev/null +++ b/src/assets/_icon.scss @@ -0,0 +1,211 @@ +// @import '@/assets/mixins/mixin_svg.scss'; +// @import './mixins/mixin_svg.scss'; + +%icon-shopcar { + // @include svg_icon(shopcar, 909399); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAhFJREFUWEfVl19SGkEQxr9eKCtvwROIJwjegNxAT2D54kKldmvnBJITDGHK0vEFbhBuoDlBuAHkBPCYIrhtzW6WIrp/lBnFzCvT0z+6+5tvlrDjRTvOj/cDIAf6jogZTBO+j78J0Z29RXXWFTAASUJCk4B5FPhHbwqQJZPyqkl1b8qIP4ugm0K94sqdgb7SzMCJCPyxVHpBwEdXDAx8FYHfy87LBZBKm/6PzEZ5edNCfN9wA+C1CbiIAn+dNx/AzAPxRASdyE3i9BSprtoE75ZXe/tCnC3SkctZUukRGE0R+m2nAAMdEUFWV0DpHjGfRmHn0CmA0j0w2pt/rKgCxwR83yR1AZJKnRci7BxXDGHWq/jQ5YUk1fUEoHG1CuSwQfXl3PVdkMib4zMRdkelFTA/ppshROj3nZS/4IIrNKOkX4S7zXLZgORJsFCGiWZzBsYKIEeC5QA5krECKDivrAVPLg0rgIKKFgP8vTZd3AXSqKq2nCZG9GioiwEub1oU889MirauyMAvrPZamQdUynAtxcyWbV1x9WHyOHnpEKbuZWyZx65dcXOWSh+lUl33ienUWLPNAGax7HlCfDn/56zKV7EcaPMmWJuHFUiNohcDWCV8RnB1BeSwUav9+RSG5z+ecd6TLUaCZfHVAErPCDjY1pjMIJfF/wcActhA/Xdr228E04Ky+MoKbNP3l8TsHOABxb4dMAyd9oUAAAAASUVORK5CYII=") +} +%icon-shopcar-white { + // @include svg_icon(shopcar, fff); + background-image: url("https://image.jxc4.com/image/b626ec15d8025aa088f697e4f1305c74.png") +} +%icon-share { + @include svg_icon(share, 909399); +} +%img-noGoods { + @include svg_icon(noGoods, DCDCDC); +} +%img-noOrders { + @include svg_icon(noOrders, DCDCDC); +} + +%icon-plus { + @include svg_icon(plus, 4EB331); +} + +%icon-minus { + @include svg_icon(minus, 858585); +} + +%icon-plus-fff { + @include svg_icon(plus, fff); +} +%icon-minus-fff { + @include svg_icon(minus, fff); +} + +%icon-store { + @include svg_icon(goodDetailStore, 909399); +} + +%icon-search { + @include svg_icon(search, 666); +} + +%icon-delete { + @include svg_icon(delete, c5c5c5); +} + +%icon-position { + @include svg_icon(position, 4EB331); +} + +%icon-aw-right { + @include svg_icon(arraw-right, DCDFE6); +} + +%icon-aw-right-slim { + // @include svg_icon(arraw-right-slim, DCDFE6); + // background-image: url("https://image.jxc4.com/image/0d67887b81058d2ffdc66f9b2915e04b.png"); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAARdJREFUWEfF1j1uwkAQBeC3MimSBtGkgGqlpA83gBtwBN8McRJ8gzi9hU3jSFTuMZrISI5SxTO7bxO3Hvl9ftL+OPzz4zT5Vf2ZZ8hK759LzbxlRgc4tQ2czDM8bNkIFaCuL2836Qs4ETZCBRgqTYVQA1IhTIAUCDOAjQgCMBHBABYiCsBARANiERRADIIGCEVQASEIOuAbgf5dIOWrX61/Ox2TAIbjG5A9gMOLX+Z/CrCEDzBqA9ZwKmAMF8jHDE8b7xed5mZEaSA0nNJATHg0IDY8CsAIDwawwoMAzHAzgB1uAtyv5bgeBThb1vnUXqDaB1KFqxuoTm0nThrmn4/NqBqo6naX4bHQbq9Ttf98rwJYPmid/QIWswUw7I8vVgAAAABJRU5ErkJggg=="); +} +%icon-aw-right-slim-text1 { + // @include svg_icon(arraw-right-slim, 333); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAQNJREFUWEfF1tENgjAQBuArDOAqlS6gGzgCmxknkQUa6wa4AQtwZ/pA4pPctX+1rzT8H3/CtY7+vJwmfxiGkZlTXpr9lj1awExEB2Y+oxEqgPfe930/iYigESpArrQVQg1ohTABWiDMADSiCIBEFANQiCoAAlENqEVAADUIGKAUAQWUIOCAD8SDiFKM8fjtdGwCyMe3c+5KRLcY4/hTgCU8w6ANWMOhgC1cRJ7MfEopLZqbEaSB0nBIAzXh1YDa8CoAIrwYgAovAiDDzQB0uAmQr+Vd192J6GX5z/dmgWoOtApXNxBCWERkRn751oyqgRDCZV3XSTte92r/fK4CWF5o3fsG5pk6MBm6BhMAAAAASUVORK5CYII=") +} +%icon-aw-bottom { + @include svg_icon(arraw-bottom, 606266); +} + +%icon-address-border { + @include svg_icon(addressBorder, DCDFE6); +} + +%icon-checked { + @include svg_icon(check, fff); +} + +%icon-checked-main { + @include svg_icon(check, 4EB331); +} + +%img-noShopCar { + @include svg_icon(noShopCar, DCDCDC); +} + +%icon-clearAll { + @include svg_icon(clearAll, 909399) +} + +%icon-position-small { + @include svg_icon(position-small, DCDCDC) +} +%icon-position-small-text2 { + @include svg_icon(position-small, 606266) +} +%icon-editor { + @include svg_icon(editor, 909399) +} +%icon-indexPosition-text1 { + @include svg_icon(index-position, 333); +} +%icon-home { + @include svg_icon(home, DCDCDC) +} +%icon-collect-text3 { + @include svg_icon(collect, 909399) +} + +// 我的页面图标 +// 订单 +%mine-order { + @include svg_icon(mine-order, 4EB331) +} + +%mine-order-text3 { + @include svg_icon(mine-order, 4EB331) +} + +// 待支付 +%mine-waitpay-text3 { + @include svg_icon(mine-waitpay, 909399) +} +// 待收货 +%mine-waitreceiving-text3 { + @include svg_icon(mine-waitreceiving, 909399) +} +// 待评价 +%mine-waitcomment-text3 { + @include svg_icon(mine-waitcomment, 909399) +} +// 售后退款 +%mine-aftersale-text3 { + @include svg_icon(mine-aftersale, 909399) +} + +// 优惠券 +%mine-coupons { + @include svg_icon(mine-coupons, bfbfbf) +} +// 地址 +%mine-address { + @include svg_icon(mine-address, bfbfbf) +} +// 联系客服 +%mine-service { + @include svg_icon(mine-service, 4EB331) +} +// 下载app +%icon-downloadApp { + @include svg_icon(mine-download, 000) +} +// 检查更新 +%icon-checkUpdate { + @include svg_icon(mine-checkUpdate, 000) +} + +// 配送员图标 +%icon-courier-border1 { + @include svg_icon(icon-courier, DCDFE6) +} + +// 电话图标 +%icon-mobile-text2 { + @include svg_icon(icon-mobile, 606266) +} +%icon-mobile-primary { + // @include svg_icon(icon-mobile, 409EFF) + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAYhJREFUWEftltFVwkAQRe/QgFCBWIFYgduB0gEh/lOC2oENhEAFYgVuCViBlIANMJ5NQsghkgQJ4Sf7vTnv5s3MmxUufOTC+rQArQOVHTChdoGu9WRVZ+OWAphQB2yYIDwCH3Yso0YATKh9lHdgkBFc27H0mgT4zokpnvVlVhdEYQlMoEuE2z2xlR3LTVMAI4QwJ7ZhaJ9kUQdEsQOu8zesEK5SMeXL+pLti5M4yqcg0J0Lyg8d+taT9UmqmY9LAdxdE6hz4RoiN+6aBwjVoHxG4MrC+jJs1IHIham+AZMEYmZ98eqAqFSCrZCZqgXuE4ha8uA4gHgqbJoNSs4JF93Wk2VVd44CiEqRh1jQIS5HHN0GIshX64lzrPAcDZBCKC6I4nK46YBoW+6nJoLrnfmhyfkXQNoTgb4gPJf9JULvLACJG25dz/7YGVuuedEKP8mB7J8bl5jgHHGBtTtxcB1sytoAMmVx0e0eLw9U2Bu1A6Qg7kHjxqHkCXc2gNLGTC60AK0DF3fgF4D0giGcX5joAAAAAElFTkSuQmCC") +} + +// 无定位 +%icon-no-position { + @include svg_icon(no-position, 409EFF) +} + +// 我的推广码 +%icon-my-promote { + @include svg_icon(icon-erweicode, 4EB331) +} + +%no-sale { + @include svg_icon(no-sale, 72b92c) +} + +%is-dev { + @include svg_icon(is-dev, 000) +} + +/* -------------- 物流相关 ----------------- */ + +%icon-mywaybill { + @include svg_icon(icon-mywaybill, 4EB331) +} + +%icon-send-address { + @include svg_icon(icon-send-address, 409EFF) +} + +%icon-receive-address { + @include svg_icon(icon-receive-address, F56C6C) +} +%icon-address-book { + @include svg_icon(icon-address-book, 409EFF) +} + +%icon-address-update { + @include svg_icon(icon-address-update, 409EFF) +} + + + diff --git a/src/assets/bundle.scss b/src/assets/bundle.scss new file mode 100644 index 0000000..214b7d6 --- /dev/null +++ b/src/assets/bundle.scss @@ -0,0 +1,5 @@ +@import '@/assets/_color.scss'; +@import '@/assets/_extend.scss'; +@import '@/assets/mixins/mixin_svg.scss'; +@import '@/assets/_icon.scss'; +@import '@/assets/_animate.scss'; diff --git a/src/assets/global.scss b/src/assets/global.scss new file mode 100644 index 0000000..8b93272 --- /dev/null +++ b/src/assets/global.scss @@ -0,0 +1,48 @@ +/* + 公共样式 +*/ +// 引入颜色配置 +@import './_color.scss'; + +.test { + width: 600rpx; + height: 600rpx; + background: orange; +} + +* { + font-family: Helvetica Neue, + Helvetica, + Arial, + sans-serif, + Verdana, + Geneva, + Tahoma, + sans-serif; +} + +/*隐藏滚动条*/ + +::-webkit-scrollbar { + width: 0; + height: 0; + color: transparent; + display: none; +} + +scroll-view { + -webkit-overflow-scrolling: touch; +} + +.no-border { + border: none !important; +} + +button { + outline: none; + &:after { + border: none; + } +} + +image{will-change: transform} \ No newline at end of file diff --git a/src/assets/images/account.png b/src/assets/images/account.png new file mode 100644 index 0000000..ab957b2 Binary files /dev/null and b/src/assets/images/account.png differ diff --git a/src/assets/images/backspace.png b/src/assets/images/backspace.png new file mode 100644 index 0000000..614a941 Binary files /dev/null and b/src/assets/images/backspace.png differ diff --git a/src/assets/images/collect-act.png b/src/assets/images/collect-act.png new file mode 100644 index 0000000..f88d56c Binary files /dev/null and b/src/assets/images/collect-act.png differ diff --git a/src/assets/images/collect.png b/src/assets/images/collect.png new file mode 100644 index 0000000..7121627 Binary files /dev/null and b/src/assets/images/collect.png differ diff --git a/src/assets/images/contact-online.png b/src/assets/images/contact-online.png new file mode 100644 index 0000000..d8973b5 Binary files /dev/null and b/src/assets/images/contact-online.png differ diff --git a/src/assets/images/correct.png b/src/assets/images/correct.png new file mode 100644 index 0000000..8480c92 Binary files /dev/null and b/src/assets/images/correct.png differ diff --git a/src/assets/images/create-store.png b/src/assets/images/create-store.png new file mode 100644 index 0000000..3cb557d Binary files /dev/null and b/src/assets/images/create-store.png differ diff --git a/src/assets/images/error.png b/src/assets/images/error.png new file mode 100644 index 0000000..dac6bc3 Binary files /dev/null and b/src/assets/images/error.png differ diff --git a/src/assets/images/hard-level.png b/src/assets/images/hard-level.png new file mode 100644 index 0000000..0c405c9 Binary files /dev/null and b/src/assets/images/hard-level.png differ diff --git a/src/assets/images/head.png b/src/assets/images/head.png new file mode 100644 index 0000000..42e76ca Binary files /dev/null and b/src/assets/images/head.png differ diff --git a/src/assets/images/password.png b/src/assets/images/password.png new file mode 100644 index 0000000..75bd4fe Binary files /dev/null and b/src/assets/images/password.png differ diff --git a/src/assets/images/recommend-to-you.png b/src/assets/images/recommend-to-you.png new file mode 100644 index 0000000..f300398 Binary files /dev/null and b/src/assets/images/recommend-to-you.png differ diff --git a/src/assets/images/time.png b/src/assets/images/time.png new file mode 100644 index 0000000..a760bdc Binary files /dev/null and b/src/assets/images/time.png differ diff --git a/src/assets/images/vip.png b/src/assets/images/vip.png new file mode 100644 index 0000000..233d665 Binary files /dev/null and b/src/assets/images/vip.png differ diff --git a/src/assets/mixins/mixin_svg.scss b/src/assets/mixins/mixin_svg.scss new file mode 100644 index 0000000..3bd4426 --- /dev/null +++ b/src/assets/mixins/mixin_svg.scss @@ -0,0 +1,254 @@ +@mixin svg_icon ($id, $color) { + // $bg: rgba(red($color), green($color), blue($color), $alpha); + + // + 号 + @if $id == plus { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M938.516 597.183H85.484C38.528 597.183 0 559.257 0 511.699c0-46.956 37.926-85.484 85.484-85.484h853.032c46.956 0 85.484 37.926 85.484 85.484 0 47.558-37.926 85.484-85.484 85.484zM512.301 1024c-46.956 0-85.484-37.926-85.484-85.484V85.484C426.817 37.926 464.743 0 512.301 0c46.956 0 85.484 37.926 85.484 85.484v853.634C597.183 985.472 559.257 1024 512.3 1024zm0 0' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAARtJREFUWEftV9FNAzEUsyX+uRE6QjoBDNBExwQtEyAm4LoBG3CdoJAsUDbICDdCuwBGua+e4CNNK1Cl5PvZeXGi2I8oXC6YDsITyEZSH1x8LKFiCch6syL5dowV9RwW8fVUvqIGXDA9wOV0M228jas/acB6syN5N1FA+gwu3tcGqgJVgarA9SnQbk3zdYOlgPSLNTknoGCSCU1qpb2ImIOHMID4CDa+8/d/PYvmAkVa04W5LsBURiENdH6+B3FbxnAmSjikK+gAvpxJVQjXZswDNpiWQCthlsNE0PxQTTgIynqEJIb0YFOAKQokNQ9UBaoCVYGqwP+PZqN3cDsZzaCHFDByvOS4psgLEkFyUYHjMEqo9zZ2p26e6r8Bfpv305Ktfv4AAAAASUVORK5CYII=") + } + + // - 号 + @if $id == minus { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M935 423.3H89C40.2 423.3.3 463.2.3 512c0 48.8 39.9 88.7 88.7 88.7h846c48.8 0 88.7-39.9 88.7-88.7 0-48.8-39.9-88.7-88.7-88.7z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAHlJREFUWEdjZBhgwDjA9jOMOmA0BEZDYDQERkNg8IRAU1OTPhMTkwKd6oYLNTU1D0F2wUOgpaVlOiMjYwY9HPDv37+U2trauaMOGFwh0NnZKfPz509hOqWBxw0NDe9QQoAeFmOzY/CUA6MhMBoCoyEwGgKjITBQIQAAThswIa6zqJIAAAAASUVORK5CYII=") + } + + // 星星 + @if $id == star { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='128'%3E%3Cpath d='M480.493 264.641c-191.932 0-347.527 155.592-347.527 347.527 0 191.933 155.595 347.527 347.527 347.527S828.02 804.101 828.02 612.168c0-191.935-155.594-347.527-347.527-347.527zm178.694 316.532l-68.521 66.792 16.175 94.312c5.433 31.662-12.654 45.507-41.65 30.262l-84.697-44.53-84.697 44.53c-28.432 14.947-47.19 2.027-41.65-30.262l16.176-94.312-68.521-66.792c-23.002-22.42-16.51-44.252 15.908-48.962l94.694-13.76 42.35-85.81c14.217-28.804 36.986-29.374 51.483 0l42.35 85.81 94.693 13.76c31.788 4.619 39.367 26.097 15.907 48.962zm146.18-516.87H590.49c-11.596 0-20.893 8.118-23.62 18.866l-66.24 130.608s141.828 8.533 225.607 89.209l98.934-199.642c2.932-4.076 5.02-8.812 5.02-14.218-.001-13.708-11.115-24.822-24.824-24.822zM456.854 213.778l-66.24-130.608c-2.727-10.748-12.023-18.865-23.62-18.865H152.118c-13.709 0-24.824 11.115-24.824 24.823 0 5.406 2.088 10.142 5.022 14.218l98.933 199.642c83.777-80.677 225.605-89.21 225.605-89.21z' fill='%23#{$color}'/%3E%3C/svg%3E"); + } + + // 问号 + @if $id == question { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M513.526 3.435C232.154 3.435 4.057 230.647 4.057 510.924s228.097 507.478 509.469 507.478c281.377 0 509.474-227.201 509.474-507.478S794.903 3.435 513.526 3.435zm0 958.592c-250.112 0-452.86-201.962-452.86-451.102 0-249.129 202.748-451.091 452.86-451.091s452.872 201.962 452.872 451.091c-.001 249.14-202.76 451.102-452.872 451.102zm-46.549-165.26h97.032v-67.941h-97.032v67.941zm190.668-529.621c-33.014-30.071-77.259-45.098-132.729-45.098-52.368 0-94.479 14.007-126.344 42.014-31.865 28.013-51.015 68.364-57.457 121.035l71.587 8.481c6.193-39.319 19.213-68.228 39.077-86.723 19.869-18.512 44.63-27.759 74.304-27.759 30.699 0 56.631 10.217 77.78 30.646 21.143 20.429 31.729 44.129 31.729 71.121 0 14.897-3.612 28.656-10.841 41.242-7.218 12.591-22.892 29.496-47.013 50.686-24.115 21.207-40.82 37.334-50.11 48.38-12.641 15.162-39.49 30.19-45.156 45.098-7.75 19.792-11.616 8.063-11.616 35.293 0 4.629.13 11.565.385 20.812h84.635c.521-27.748 2.457-12.546 5.814-24.878 3.34-12.343 8.514-23.26 15.477-32.772 6.963-9.501 21.789-24.292 44.494-44.32 33.795-29.812 56.501-55.118 68.117-75.942 11.605-20.812 17.407-43.553 17.407-68.228-.002-42.658-16.515-79.017-49.54-109.088z' fill='%23#{$color}'/%3E%3C/svg%3E"); + } + + // 放大镜 a8a8a8 + @if $id == search { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M946.945 874.898L787.54 718.397c50.77-67.228 81.246-150.643 81.246-241.39 0-221.655-179.646-401.349-401.348-401.349-221.676 0-401.35 179.695-401.35 401.349 0 221.7 179.672 401.372 401.35 401.372 102.136 0 195.097-38.478 265.923-101.305l159.634 156.708c15.679 15.399 40.462 14.755 55.381-1.474 14.87-16.232 14.248-41.962-1.431-57.41zm-479.483-67.321c-182.552 0-330.522-147.994-330.522-330.546 0-182.53 147.97-330.522 330.522-330.522 182.532 0 330.524 147.992 330.524 330.522 0 182.552-147.995 330.546-330.524 330.546z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAArxJREFUWEfFllFO20AQhv8xSZS30BOUnoDkBA0nKD0BQcqu8lY4QcMJCm9oFwlzgoYTkJ6gyQmanqDwakceNNE6Msax1xQlforkeOfbmX/+GcKOH9pxfHgBKKW6RHTCzF0A+wAeBZyIZsx8Z62dvfUipQDD4bAfBMEtgIOyAMw8ZeaLm5ubaV2QjQBa6xDAiTtwDiBMkmS2XC5n7XZ7f7lcHgRB0GXmMyL6KP+T39baqzoQhQCZ4E/uUIHZ+GitzwCMAXSYObTWnvpCvALQWstB3wHMmXngW1+nEymBQJxaa0uhU8AXAKPR6CBJkj8A5OZ93+DpYQ7iNzM/7u3t9a6vrxdVmXgBoJSaENGXOjfIB8hk8M4YM/AGSG/PzH+ttaWqLzt0MBjst1otuXkniqIPYRiuWnbTs86AE9IPAOfGmMsq8rL3SqlLIvoG4KsxZuIFkEl/r27tC8pwDOAngAtjjIi6OgNKqSkRfTbGeLlj2aGZcv6y1vZ9ARZiKO8BIAG11szMtQDeLQNOiP/eBOCj3CqBuhnywMz31lrRg5cGVsr9Hw9Io9TpqLXgUmoAXgZSdiuttYznQ2au7Ki8E66EGATBJx8bLYLIXGRujJH9ofTJAwyI6Fbmu7X2qOrj/HsRX7PZfCAiCVxpQvJ90TRM01drrLrWW+8Qvlp6BeBMRCBWsz2O4/MqP3dtJ5uTKF6Wl0MB8oEodL3sbAcgg2UcRdF9HsSlXLamMRHJrjiPoqjfbDaPXSllEB2VWftG23WHhzKe01qLNrJ1J6K1zTLzVRzH4xRSKZXqqRSi0vedqmWuS3o7OeE9AZgkSRIWLaQ+EJUA2YBSGmaWVKPRaCx8WjUdzbIlFZWjFkDdtsw4Y9odiyiKelktbQUg26LMPIvj+CiF2BpAzifWdr9VAIEQTWS7ZesAeR3tHOAZxNymMD2vqM0AAAAASUVORK5CYII=") + } + + // 尖括号-向上 + @if $id == arraw-up { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M942.936 747.245c29.315-28.497 29.315-74.739 0-103.307L564.925 276.702c-29.367-28.483-76.982-28.483-106.291 0L80.637 643.938c-29.367 28.562-29.367 74.806 0 103.307 29.325 28.546 76.929 28.546 106.304 0l324.841-315.6 324.803 315.599c29.367 28.545 76.973 28.544 106.356 0z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAANRJREFUWEft1MENwjAMBVB7AlZhhLJJOcRnRuGcHOgmdARWYQKjSI0UFUKSn0Mvzr35L1+1mQ4+fHA+GcAasAasgaEGvPdzXGQisqALDQZs4Y8t+IoiIEAKV9V3BDDziYggRDcgD2fmKQJUdUURXYB9uIi8IsB7f0YRzYBSePr5UEQToBY+gqgCWsNRxF9AbziCKALQ8F7ET8BoeA/iCxBCmFT1GZdMnPM0auiqzaeDmS/OuTW/q9TAnYiW0fC8CSKaReS2f0h1CtCXt35nAGvAGrAGPjJjsyGUY8cAAAAAAElFTkSuQmCC") + } + + // 尖括号-向右 + @if $id == arraw-right { + // background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E %3Cpath fill='%23#{$color}' d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'%3E%3C/path%3E %3C/svg%3E"); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAP5JREFUWEe918ENwjAMhWFbDXdO3DsBjAAbwWSwAYzABh0BuNALqChSESBC7MTPcKXl/5RGNWFSfLruNL1Tv20obNp2dlTcor6EpStj/EbXPRMviIZzQ5MVEpEFfMafVCziJyAdxyMkwIGJ5+nHhFkJzSNwRWg3oRtCBMTlH/eDC0IF8ESoAV6IIoAHohiARlQBkIhqAAphAiAQZoAVgQSMIzsxOQa6NByWqTFuBuSnJhFl4pFqAljjJgAiXg1AxasAyHgxAB0vAnjE1QCvuArgGRcB3vEs4B9xDSD9R1R4vUrHvffvy88FwLi4B75GLTiuArwQ/S5QWCNPxvG3H6VmHDDmlPe7AAAAAElFTkSuQmCC"); + } + + // 尖括号-向右-瘦版 + @if $id == arraw-right-slim { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M720.61 478.597c17.927-17.927 46.98-17.927 64.908 0 17.927 17.927 17.927 46.98 0 64.907l-454.36 454.36c-17.928 17.927-46.981 17.927-64.908 0s-17.927-46.98 0-64.908l454.36-454.36z' fill='%23#{$color}'/%3E%3Cpath d='M266.25 84.527c-17.927-17.927-17.927-46.98 0-64.907s46.98-17.927 64.907 0l454.36 454.36c17.928 17.928 17.928 46.981 0 64.908-17.926 17.927-46.98 17.927-64.907 0L266.25 84.528z' fill='%23#{$color}'/%3E%3C/svg%3E") + } + + // 尖括号-向下-瘦版 + @if $id == arraw-bottom { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M896.2 323.9L539.4 705.1h-56.2L128 323.9h59.2l324.9 347.9 324.8-347.9h59.3z' fill='%23#{$color}'/%3E%3Cpath d='M545.5 719.1h-68.4L95.8 309.9h97.5l318.8 341.4 318.7-341.4h97.7l-383 409.2zm-32.3-28h20.1l330.6-353.2H843L513.2 691.1zm-23.9 0H511L181.1 337.9h-20.9l329.1 353.2z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAOpJREFUWEftleEJgzAQRr9zAkdoN3CFbpIWhI5UENps0hXcoB2hEyTFgFA16uVSyJ/zp4a8x9OchMIXFeZDBbSAFtAC0QLm0ho49NZ2/T8GlTFtgwqNvXd2vt9CwJjrAZV7wfsPPE65EgFOeIKohquO1t7evxLrBUCPXIkJHP7MKjDahdeQIcGBD6zNUyCV4MJ3BYYFqRIpcJZAikQqnC3AkZDAkwS2JKTwZIGYRDg14zlfOWpbw0z0L5h8mEGAagjgogKLORFuxIcMZ4yLCkwlgNiE48CzCnABe+uyCuxtznmuAlpACxQv8AUD/6EhJs1yjwAAAABJRU5ErkJggg==") + } + + // 购物车 + @if $id == shopcar { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M246.4 912a2.1 2.1 0 1 0 134.4 0 2.1 2.1 0 1 0-134.4 0zM716.8 912a2.1 2.1 0 1 0 134.4 0 2.1 2.1 0 1 0-134.4 0zM905.6 764.8H368c-28.8 0-57.6-25.6-64-54.4L208 144c-9.6-54.4-60.8-96-115.2-96H70.4c-12.8 0-25.6 12.8-25.6 25.6s12.8 25.6 25.6 25.6h22.4c28.8 0 57.6 25.6 64 54.4l96 566.4c9.6 54.4 60.8 96 115.2 96h537.6c12.8 0 25.6-12.8 25.6-25.6s-9.6-25.6-25.6-25.6z' fill='%23#{$color}'/%3E%3Cpath d='M880 179.2H307.2c-12.8 0-25.6 12.8-25.6 25.6s12.8 25.6 25.6 25.6H880c25.6 0 38.4 16 32 41.6l-70.4 281.6c-6.4 32-41.6 57.6-73.6 60.8l-396.8 28.8c-12.8 0-25.6 12.8-22.4 28.8 0 12.8 12.8 25.6 28.8 22.4l396.8-28.8c54.4-3.2 105.6-48 118.4-99.2l70.4-281.6c12.8-54.4-25.6-105.6-83.2-105.6z' fill='%23#{$color}'/%3E%3C/svg%3E") + } +// + // 没有商品 + @if $id == noGoods { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1258 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M254.089 257.766a44.122 44.122 0 1 0 44.025-44.025 44.122 44.122 0 0 0-44.025 44.025zm177.843-70.924a36.865 36.865 0 1 0 36.768-36.866 36.768 36.768 0 0 0-36.768 36.866zm319.304 445.09a5.031 5.031 0 1 0-6.289 7.838l9.676 8.225a4.354 4.354 0 0 0 3.29 1.16 4.741 4.741 0 0 0 3.773-1.644 4.935 4.935 0 0 0-.483-7.063l-9.676-8.515zm27.867 25.448a4.935 4.935 0 0 0-7.063 0 4.838 4.838 0 0 0 0 7.064c6.095 5.902 11.998 11.514 17.416 17.223a6.096 6.096 0 0 0 3.58 1.645 4.935 4.935 0 0 0 3.484-1.452 5.128 5.128 0 0 0 0-7.063c-5.903-5.902-11.805-11.805-17.9-17.707zm174.166 93.373a238.124 238.124 0 0 1-23.512 4.934 4.935 4.935 0 0 0-4.258 5.612 5.031 5.031 0 0 0 4.935 4.258h.677c7.838-1.161 16.256-3 24.77-5.128a5.128 5.128 0 0 0 3.484-6.193 4.935 4.935 0 0 0-6.096-3.483zm89.986-37.252c-7.257 3.967-14.61 7.74-21.868 11.03a4.954 4.954 0 0 0 2.13 9.676 9.676 9.676 0 0 0 2.128 0c7.257-3.58 14.804-7.354 22.158-11.32a5.225 5.225 0 0 0 2.032-6.87 4.644 4.644 0 0 0-6.58-1.84zm-44.025 21.19c-7.741 3.29-15.288 6.096-22.835 8.708a5.031 5.031 0 0 0-3.097 6.386 5.322 5.322 0 0 0 6.386 3.096c7.548-2.612 15.288-5.708 23.32-8.998a4.964 4.964 0 0 0-3.774-9.192zm86.502-45.187c-7.063 4.451-14.223 8.709-20.997 12.676a5.225 5.225 0 0 0-1.935 6.87 5.031 5.031 0 0 0 4.258 2.612 5.419 5.419 0 0 0 2.612-.774c6.87-3.967 14.127-8.224 21.19-12.675a4.935 4.935 0 0 0 1.645-6.87 4.741 4.741 0 0 0-6.773-1.839zM905.664 758.3h-1.161a114.563 114.563 0 0 1-22.352-2.129 5.031 5.031 0 1 0-1.935 9.676 115.433 115.433 0 0 0 24.48 2.42h1.258a5.031 5.031 0 0 0 4.935-5.032 5.128 5.128 0 0 0-5.225-5.129zm328.013-135.463l1.644-3.29h1.645a13.643 13.643 0 1 0-13.643-13.642 13.353 13.353 0 0 0 3.29 8.901l-2.419 4.742a46.444 46.444 0 0 0-8.224-.678 42.187 42.187 0 0 0-24.964 8.225l-7.547-6.87a11.998 11.998 0 0 0 1.451-5.806 13.74 13.74 0 1 0-13.643 13.643 15.385 15.385 0 0 0 4.935-.967l7.257 6.87a31.543 31.543 0 0 0-4.258 5.902 25.254 25.254 0 0 0-5.612-1.645 57.185 57.185 0 0 0-10.837-1.161 46.25 46.25 0 0 0-41.22 31.543 4.644 4.644 0 0 0-4.256.774c-3.58 2.323-7.064 4.645-10.354 7.064a4.935 4.935 0 0 0-1.451 7.063 5.419 5.419 0 0 0 4.257 2.322 3.967 3.967 0 0 0 2.806-.967c3.484-2.129 6.87-4.451 9.676-6.773a46.928 46.928 0 0 0 34.833 27.092h.484a35.8 35.8 0 0 0 4.548 0 48.863 48.863 0 0 0 22.835-5.612l1.161-.774a37.833 37.833 0 0 0 4.741-3.29 42.38 42.38 0 0 0 67.151-34.349 42.284 42.284 0 0 0-24.286-38.704zm-62.7-4.644a3.774 3.774 0 0 1-2.71-1.161 3.774 3.774 0 1 1 5.419 0 3.774 3.774 0 0 1-2.71 1.161zm65.7-15.868a3.483 3.483 0 0 1 2.708 1.16 3.387 3.387 0 0 1 1.065 2.613 3.193 3.193 0 0 1-1.065 2.71 3.774 3.774 0 0 1-2.709 1.064 3.774 3.774 0 0 1-2.612-1.065 3.483 3.483 0 0 1-1.162-2.709 3.967 3.967 0 0 1 3.774-3.773zm-105.855 67.828a31.834 31.834 0 0 1 10.837-15.288 34.253 34.253 0 0 0-.968 4.74 54.96 54.96 0 0 0 3.096 28.448 29.028 29.028 0 0 1-12.965-17.9zm31.35 24.286h-1.839a36.478 36.478 0 0 1-9.676-33.188 20.9 20.9 0 0 1 5.612-13.45 3.967 3.967 0 0 0 1.645-1.16 21.287 21.287 0 0 1 4.258-.485 44.606 44.606 0 0 0-4.645 21.19 33.092 33.092 0 0 0 13.16 25.932 36.381 36.381 0 0 1-8.709 1.161zm20.222-5.902a22.835 22.835 0 0 1-14.804-21.674 27.963 27.963 0 0 1 5.612-19.352 8.128 8.128 0 0 0 1.935 0 43.348 43.348 0 0 0-1.935 12.192 42.67 42.67 0 0 0 9.676 27.576 1.935 1.935 0 0 1-.968.677zm33.285 4.257a32.317 32.317 0 1 1 32.221-32.22 32.317 32.317 0 0 1-32.22 32.22zm0 0' fill='%23#{$color}'/%3E%3Cpath d='M1194.199 654.284a7.063 7.063 0 0 0 2.129 5.032 6.676 6.676 0 0 0 4.934 2.031 6.967 6.967 0 0 0 7.064-7.063 7.063 7.063 0 0 0-10.547-6.096 6.967 6.967 0 0 0-3.58 6.096zm30.382-3a7.063 7.063 0 0 0 7.064 7.064 7.063 7.063 0 0 0 5.031-2.129 6.676 6.676 0 0 0 2.032-4.934 7.354 7.354 0 0 0-3.483-6.193 7.063 7.063 0 0 0-7.064 0 7.257 7.257 0 0 0-3.58 6.193zM960.816 158.492c6.386 0 29.028 12.095 43.252 34.35a46.638 46.638 0 0 1 3.58 48.863 10.837 10.837 0 0 0 3.87 14.417 9.676 9.676 0 0 0 2.71 1.161 9.676 9.676 0 0 0 11.61-4.935 66.764 66.764 0 0 0-4.064-70.537c-15.481-24.673-44.896-45.477-62.7-44.219a10.643 10.643 0 0 0-9.675 11.224 11.127 11.127 0 0 0 11.61 9.676zm20.803-52.153a125.787 125.787 0 0 1 70.538 44.896 98.888 98.888 0 0 1 14.223 86.213 10.353 10.353 0 0 0 7.45 12.772 10.547 10.547 0 0 0 12.773-7.45 118.143 118.143 0 0 0-17.61-104.113c-27.286-36.478-72.182-52.734-86.503-53.411a10.353 10.353 0 0 0-10.837 9.676 10.74 10.74 0 0 0 9.676 11.127zM241.607 680.506c-71.505-21.094-59.023-107.886-58.055-111.563a10.595 10.595 0 1 0-20.9-3.484 162.942 162.942 0 0 0 2.419 56.508 99.662 99.662 0 0 0 70.634 78.471 13.062 13.062 0 0 0 2.709 0 10.45 10.45 0 0 0 10.353-7.547 9.676 9.676 0 0 0-6.87-12.772zm0 0' fill='%23#{$color}'/%3E%3Cpath d='M817.226 765.847l17.417-20.029.774 1.355a75.762 75.762 0 0 0 6.773 7.837zm186.842-214.224l39.38-15.772-174.166 206.87-17.223 7.548a50.121 50.121 0 0 1-9.192-9.676 5.322 5.322 0 0 0-2.806-1.838zm-16.062-148.235v132.463l-280.601 84.084-7.257-149.106 287.858-67.731zm-124.82-219.74a89.309 89.309 0 1 1-89.308 89.212 89.309 89.309 0 0 1 89.309-89.211zM761.88 314.177a109.725 109.725 0 0 0 101.307 67.732h7.353l16.256 24.48-199.614 46.637a10.256 10.256 0 0 0-7.74 10.354l6.385 131.011-160.232-261.249 236.285-18.674zM424.965 581.521a107.983 107.983 0 0 0-31.06-76.052l113.983-163.523 160.716 262.507-106.435-61.732a10.353 10.353 0 0 0-12.675 2.032L394.68 726.466l-26.415-49.25a109.047 109.047 0 0 0 56.797-95.695zm-109.53 89.309a89.309 89.309 0 1 1 89.308-89.309 89.405 89.405 0 0 1-89.309 89.309zM28.35 874.024a197.679 197.679 0 0 0 55.83-32.318 250.8 250.8 0 0 0 72.666-89.695c17.03-46.832 12.482-96.76-13.352-149.396h.87l-2.419-3.967c-40.058-66.958-85.341-142.817-85.341-230.48a346.204 346.204 0 0 1 346.01-346.3c161.587 0 296.373 101.21 334.69 273.924l19.35-1.548a363.33 363.33 0 0 0-118.819-202.42A346.59 346.59 0 0 0 402.614 0 367.684 367.684 0 0 0 34.93 367.684c0 89.212 42.574 164.49 82.535 232.222l4.355 8.127c25.157 48.38 30.092 94.534 14.804 136.817C106.144 829.321 1.16 869.863.097 870.637s46.154 56.024 81.47 75.956c42.865 24.19 149.3 77.407 414.613 77.407s480.215-52.927 480.215-118.24c-.968-38.122-74.021-72.085-187.616-93.759l1.258-11.804 90.47-39.575a16.546 16.546 0 0 0 3.773-2.806l200.678-239.188a9.676 9.676 0 0 0 .774-12.966 9.676 9.676 0 0 0-11.804-3.58l-65.022 25.932V390.713a9.676 9.676 0 0 0-3.774-7.741 9.676 9.676 0 0 0-8.418-1.935L908.76 401.55l-15.481-23.32a109.434 109.434 0 1 0-138.366-105.563 116.11 116.11 0 0 0 2.129 21.674l-87.083 6.87h-19.352l-141.074 10.933h-1.645l-2.129.678a6 6 0 0 0-1.838 1.16l-1.936 1.936-121.82 174.166a107.693 107.693 0 0 0-62.892-20.029 109.338 109.338 0 0 0 0 218.675 110.595 110.595 0 0 0 34.155-5.418l30.867 57.475-52.734 61.732a9.676 9.676 0 0 0-2.129 8.418c.678 3.096 22.642 11.32 19.352 12.482-141.558 54.669-298.308 52.056-318.627 49.927zm323.078-66.183l48.38-56.991.484-.484 158.781-186.068 122.98 71.118-202.612 235.415-128.206-62.99zm410.936 67.73L484.085 966.72l7.837-76.053 276.828-84.083zm-249.542-11.9l191.1-221.869 263.861-78.955L829.708 720.95c-4.741-6.096-9.676-12.675-15.869-19.352a4.838 4.838 0 0 0-7.063 0 4.935 4.935 0 0 0 0 7.064c5.612 6.58 10.837 12.965 15.288 19.351a3.58 3.58 0 0 0 1.838 1.355l-48.38 55.83-262.7 78.471zm0 0' fill='%23#{$color}'/%3E%3C/svg%3E") + } + + // 没有订单 + @if $id == noOrders { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1025 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M971.52 583.68c1.28 14.08 12.8 25.6 28.16 25.6 14.08-1.28 24.32-11.52 25.6-25.6-1.28-14.08-12.8-25.6-28.16-25.6-14.08 1.28-24.32 11.52-25.6 25.6zm-64-400.64c0 20.48 16.64 37.12 37.12 37.12 6.4 0 12.8-1.28 17.92-5.12 17.92-10.24 23.04-33.28 12.8-49.92-3.84-5.12-7.68-10.24-12.8-12.8-11.52-6.4-25.6-6.4-37.12 0-11.52 5.12-17.92 16.64-17.92 30.72zm-208.64 6.4c0 14.08 11.52 25.6 25.6 25.6 5.12 0 8.96-1.28 12.8-3.84 11.52-6.4 16.64-23.04 8.96-34.56-2.56-3.84-5.12-7.68-8.96-8.96-7.68-5.12-17.92-5.12-25.6 0-7.68 3.84-12.8 12.8-12.8 21.76zM229.12 55.04l11.52 47.36L288 113.92c1.28 0 2.56 2.56 2.56 3.84 0 1.28-1.28 3.84-2.56 3.84l-47.36 11.52-11.52 46.08c0 1.28-2.56 2.56-3.84 2.56-1.28 0-3.84-1.28-3.84-2.56l-11.52-47.36-47.36-11.52c-1.28 0-2.56-2.56-2.56-3.84 0-1.28 1.28-3.84 2.56-3.84l47.36-10.24 11.52-47.36c0-1.28 2.56-3.84 3.84-3.84 2.56 0 3.84 1.28 3.84 3.84zM47.36 423.68l7.68 30.72 30.72 7.68c1.28 0 2.56 1.28 2.56 2.56s-1.28 2.56-2.56 2.56l-30.72 7.68-7.68 30.72c0 1.28-2.56 2.56-3.84 2.56-1.28 0-1.28-1.28-2.56-2.56l-7.68-32-30.72-7.68c-1.28 0-2.56-1.28-2.56-2.56s1.28-2.56 2.56-2.56l30.72-7.68 7.68-30.72c0-1.28 1.28-2.56 2.56-2.56 2.56 1.28 3.84 2.56 3.84 3.84zm61.44 545.28H49.92c-5.12 0-7.68-2.56-7.68-5.12 0-3.84 2.56-5.12 7.68-5.12h58.88c3.84-1.28 7.68 1.28 7.68 5.12 0 2.56-3.84 5.12-7.68 5.12zm307.2 53.76H49.92c-5.12 0-7.68-2.56-7.68-5.12 0-3.84 2.56-5.12 7.68-5.12h364.8c5.12 0 7.68 2.56 7.68 5.12 1.28 2.56-2.56 5.12-6.4 5.12zm555.52-53.76H144.64c-5.12 0-10.24-2.56-10.24-5.12 0-3.84 3.84-5.12 10.24-5.12h826.88c6.4 0 8.96 2.56 8.96 5.12s-3.84 5.12-8.96 5.12zM249.6 642.56s151.04 130.56 341.76 122.88c183.04-6.4 195.84 43.52 195.84 43.52L751.36 864l-455.68 12.8-44.8-43.52-5.12-170.24 3.84-20.48z' fill='%23#{$color}'/%3E%3Cpath d='M308.48 880.64c-44.8 0-70.4-26.88-70.4-70.4V378.88c0-25.6 8.96-67.84 66.56-67.84H352c3.84 0 5.12 0 5.12 7.68 0 1.28 0 11.52-5.12 11.52h-47.36c-26.88 0-46.08 19.2-46.08 46.08v435.2c0 28.16 29.44 46.08 56.32 46.08h407.04c26.88 0 46.08-19.2 46.08-46.08v-435.2c0-26.88-19.2-46.08-46.08-46.08h-38.4c-6.4 0-14.08-6.4-14.08-11.52s7.68-7.68 14.08-7.68h38.4c40.96 0 66.56 25.6 66.56 67.84v430.08c0 47.36-24.32 70.4-70.4 70.4l-409.6 1.28z' fill='%23#{$color}'/%3E%3Cpath d='M371.2 483.84c-5.12 0-10.24-5.12-10.24-10.24s5.12-10.24 10.24-10.24h284.16c5.12 0 10.24 5.12 10.24 10.24s-5.12 10.24-10.24 10.24H371.2zm0 104.96c-5.12 0-10.24-5.12-10.24-10.24s5.12-10.24 10.24-10.24h282.88c6.4 0 10.24 5.12 11.52 11.52 0 5.12-5.12 10.24-10.24 10.24L371.2 588.8zm0 113.92c-5.12 0-10.24-5.12-10.24-10.24s5.12-10.24 10.24-10.24h282.88c6.4 0 10.24 5.12 11.52 11.52 0 5.12-5.12 10.24-10.24 10.24l-284.16-1.28zM448 341.76c-11.52 0-20.48-11.52-20.48-24.32s8.96-24.32 20.48-24.32h130.56c11.52 0 20.48 11.52 20.48 24.32s-8.96 24.32-19.2 24.32H448z' fill='%23#{$color}'/%3E%3C/svg%3E") + // background-image: url("https://image.jxc4.com/image/27d10b20f28f905c14989e0467514fac.png") + background-image: url("https://image.jxc4.com/image/7cedefa48ac7b58cf9a4165223ccb86b.jpg") + } + + // 门店可售图标 + @if $id == goodDetailStore { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M512 928C282.25 928 96 741.75 96 512S282.25 96 512 96s416 186.25 416 416-186.25 416-416 416zm0-800c-212.077 0-384 171.923-384 384s171.923 384 384 384 384-171.923 384-384-171.923-384-384-384zm164.535 433.831c-21.308 0-41.551-10.383-54.678-27.912-13.12 17.529-33.362 27.912-54.677 27.912-21.306 0-41.548-10.383-54.674-27.912-13.12 17.529-33.362 27.912-54.677 27.912-21.307 0-41.549-10.383-54.675-27.912-13.122 17.529-33.364 27.912-54.677 27.912-38.309 0-69.475-32.638-69.475-72.756v-80.457c0-.319.032-.628.1-.941.264-5.505 1.728-10.874 4.355-15.966l.438-1.09 52.721-90.024c7.778-12.97 17.23-21.596 38.107-21.596H650.29c24.729 0 31.347 8.862 36.91 19.568.774 1.384 54.306 92.836 54.838 93.745l1.204 2.057-.254.286c1.742 4.173 2.717 8.498 2.902 12.876.073.307.139.713.119 1.195l.002 80.346c0 40.119-31.167 72.757-69.476 72.757zm-14.458-245.48c-3.833-6.385-5.743-6.67-11.776-6.67H374.733c-5.62 0-8.815 1.815-11.788 6.696-6.91 11.346-24.018 39.952-32.697 54.477h364.539a167993.81 167993.81 0 0 0-32.71-54.503zm46.84 85.184h-392.75c-4.064 0-7.373 3.233-7.535 7.36l.003 80.181c0 23.193 17.889 42.062 39.877 42.062 21.988 0 39.876-18.869 39.876-42.062v-11.477c0-8.464 6.634-15.35 14.788-15.35 8.161 0 14.8 6.886 14.8 15.35v11.477c0 23.193 17.888 42.062 39.876 42.062 21.989 0 39.877-18.869 39.877-42.062v-11.477c0-8.464 6.639-15.35 14.799-15.35s14.799 6.886 14.799 15.35v11.477c0 23.193 17.889 42.062 39.878 42.062 21.988 0 39.877-18.869 39.877-42.062v-11.477c0-8.464 6.639-15.35 14.799-15.35 8.154 0 14.789 6.886 14.789 15.349v11.477c0 23.193 17.889 42.062 39.877 42.062s39.877-18.869 39.877-42.062l.024-80.331c-.15-4.011-3.459-7.209-7.531-7.209zm-392.082 176.74c8.16 0 14.799 6.638 14.799 14.798v115.104c0 4.535 3.688 8.225 8.222 8.225h345.325c4.534 0 8.223-3.69 8.223-8.225V593.073c0-8.16 6.639-14.798 14.799-14.798s14.799 6.638 14.799 14.798v115.104c0 20.855-16.966 37.822-37.82 37.822H339.855c-20.854 0-37.82-16.967-37.82-37.822V593.073c0-8.16 6.639-14.798 14.8-14.798z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA39JREFUWEfFV9tx2kAUPXdF8C8lkApMOsAVmFRg/GPwJIC2AuMKhFEyRvkxrgBSQXAFUSow6YDfYNibWa2EQS8EE0/0YY/QPs59nHvuJRzwOF+/1WjNFyCuBduYzH9iP3z32aJH+enKvBd4aN8ax3moiNKyp8AfAfLBagbL8uOXOM59FSWhATUA1Ikx4XX5VsrLRd4duQDu3FFPgSQYA9ltDfaB3f7uDO+bILIFaNLrtG6z9qYC0FZTafnA4N9YnfT3WZF1uD4HpaVNwDmvymdp5yQA6DhjzQNAjWX3enyI1ZlAXK8BcB9CNOOh2wEQWv6DBV0ekkhFQAaGKTXG6qS+7YkdAAPXmzCr73HLNTDLejktclG0ptu9eoqvd1yvQcCN3Wl9iL5tADhDzwZxVXbadsrGMcALgHIzerOPuQYiX3Za/ZSzgt+ibwGAMFl8rMq1eKI47n0dLPqy26of4gHHHflpMQ/u09/CUBgArtcHY5FGtbyD8gBFMZedtilWW4+hqKjLTqsZAhj56Qs9m4jPBYuEK4t4QxHbzHjKMkzfSYZ2qi+7bV3BYki9GQizIpdlrmHU08LnuJ6m+JSM+9U8jfPO0JsdGvs0IzIAaIMbpC+BRXYa798SQJB7Q28WAMiy8q0BDIajZ9J/7G77fVoM4wCCfFm+m0dUDd41p7fkV/+2855noOvNdQ7MZadVzQKAtWpKeT0P+TsAsx/li+OOBro4RUXF9AtqEhkUSLQlxlkeDjyQGwItIgzbAt0wcT3sCSpCcQ8WVRSz1MAEkYM1L1hQn4Ffuh8QwAMDDYaSsnOdyiRtfG4ShkVKZ2stYkrYeDR14cK6bNTSWjZBqEDQVLvfrEEVK8wj7yXYoaXaWu6h4ZFlOLpsr3cDGgYyybYui0nhOE4HCgIwhSgSh9RS/KYeMOU/V4yOVcJ9HkiKkendEnKsARCEI5gSPUIRfVDEg+3mYwMsLsdhWUw0JIbHpLleKXJhcg0v4iIXaE+8IXl12WgK8PRfNaPJpDbN6Xa+JZpSzc0scTrOC2ZXoaZ0s/B/teWbUARV6s+YQM9Fxqssz+yMdbF2PNqTO5qFCdMUhJve59bjISG4++JdGK2gaVp3XAhAEJJwvAK4QYyfJGimXtRTvMZrxghBp0xoMNGZTuYiY93e6Xjb6jCRmq9jOcIxHWYc12O6EONDpqq/26JYZ9tgaHsAAAAASUVORK5CYII=") + } + + // 分享图标 + @if $id == share { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M699.392 598.528c-36.352 0-66.048 19.456-79.872 49.664L443.904 573.44c10.24-15.872 15.872-35.328 15.872-56.32 0-8.704-1.024-17.408-3.072-25.6l112.128-87.04c14.848 11.264 33.792 17.92 54.784 17.92 50.688 0 88.576-37.888 88.576-88.064s-37.888-88.064-88.576-88.064-88.064 37.888-88.064 88.064c0 12.8 2.56 24.576 6.656 34.816l-103.424 79.36c-20.48-30.72-54.272-52.224-92.672-52.224-62.976 0-113.664 50.688-113.664 113.664s50.688 113.664 113.664 113.664c23.552 0 45.568-6.144 63.488-17.408l201.728 86.016c2.56 47.616 39.424 82.944 88.064 82.944 50.688 0 88.064-37.888 88.064-88.064s-37.888-88.576-88.064-88.576zm-75.776-315.392c25.088 0 50.688 18.944 50.688 50.688s-18.944 50.688-50.688 50.688-50.688-25.088-50.688-50.688 25.6-50.688 50.688-50.688zM346.112 585.728c-37.888 0-69.632-31.744-69.632-69.632s31.744-69.632 69.632-69.632 69.632 31.744 69.632 69.632c-.512 37.888-31.744 69.632-69.632 69.632zm353.28 151.552c-31.744 0-50.688-18.944-50.688-50.688s25.088-50.688 50.688-50.688 50.688 18.944 50.688 50.688c-.512 31.744-19.456 50.688-50.688 50.688z' fill='%23#{$color}'/%3E%3Cpath d='M509.952 970.752c-61.952 0-122.368-12.288-179.2-36.352-54.784-23.04-103.936-56.32-146.432-98.816s-75.776-91.648-98.816-146.432c-24.064-56.832-36.352-117.248-36.352-179.2s12.288-122.368 36.352-179.2c23.04-54.784 56.32-103.936 98.816-146.432s91.648-75.776 146.432-98.816C387.584 61.44 448 49.152 509.952 49.152s122.368 12.288 179.2 36.352c54.784 23.04 103.936 56.32 146.432 98.816s75.776 91.648 98.816 146.432c24.064 56.832 36.352 117.248 36.352 179.2s-12.288 122.368-36.352 179.2c-23.04 54.784-56.32 103.936-98.816 146.432S743.936 911.36 689.152 934.4c-56.832 24.064-117.248 36.352-179.2 36.352zm0-875.52c-228.864 0-414.72 185.856-414.72 414.72s185.856 414.72 414.72 414.72 414.72-185.856 414.72-414.72-185.856-414.72-414.72-414.72z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAshJREFUWEftVj1uGmEUnPcZOylS4BPEbtOE3IAcIAKXqYybLCha4DtBuMFiVpZNGpMq6UxOYB8Bt2mCT2AipTGCneh9AZuYn2VtLEuRt1ppH2/mmzfzPgSP/Mgj4+OJwP+vQBAeZoVyQOCHLRd3bnvuQRQIgsMtk5IciSpEthSUwLn1vcyDEggahwURkwOQV0QIfgN4ARIE92y51Fo5geDgc0aG3AVQgCBN4IKUbwbRO4i8IqOvIuY9Bxub1u71VkIgCI7TJnW1S0gBgJOVwBcAbRjpypCnFAiMZDFkHcK09YtT8uvvEnkgCJt5IXMQB6yynoOsY/i8racbqXED3l/vSqp/SXDf+sXqrKUXS0ANJWumAjCvhiLwC2ALxrTsxw+dcVM3f5iAwgsMmLe21HWEgRMiemv90tnSBJzE6/0cyQIgWXda8jtEWtb32rcbjcx37BQZPMuOZx2ER3VACtb30vNW/pQCQdisCVEZGwpEHcOorSea1URBBFJxHhhsVCeNFoTNLsiOLRfzyQgAn0D0KNibdeJr2cNmS4BdBbe+53xx/U1HlzI/SVhb9upLE9BCNROiqCWQ1+psDiI7qYCOSFJXJzqeeQBBo1kVQcBBtD1PvdgUaBMIdCSslr1NR86B9081fmQ0c7m4usZRGyIZ63tuEyZS4LaUWDN5ldHFLOIxgW1dPDHj6Wla5sVvjBEbw3/INJpnEGR0wUxGcCoVegHBnBLYWUQydgTTcWu6LNuyl9WMu/dZsRwnY876neybXIEbAi4BM00aHnVA6SnRRfO/lwJ/jXZjUhHWKn5xf2TSy7j43d0DIwUm8441qYuIXsMdEOqTKo28WeSTlRGYWErqiboAL/W+WLR+V+KBWbNV+ZG6qgHSs75Xi5v/vT2wDEBczZ1TENd42e9JCbg/FYsul2WB72TCpM2XqU+kwDINk9Y8EfgDS/5tMDMVwCsAAAAASUVORK5CYII=") + } + + // 叉叉 + @if $id == delete { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M170.66699999999997 512a341.333 341.333 0 1 0 682.666 0 341.333 341.333 0 1 0-682.666 0z' fill='%23fff' data-spm-anchor-id='a313x.7781069.0.i35' /%3E%3Cpath d='M512 0a512 512 0 1 0 0 1024A512 512 0 0 0 512 0zm213.788 668.786a40.334 40.334 0 0 1-57.002 57.002L512 569.003 355.214 725.788a40.334 40.334 0 1 1-57.002-57.002L454.997 512 298.212 355.214a40.334 40.334 0 0 1 57.002-57.002L512 454.997l156.786-156.785a40.334 40.334 0 0 1 57.002 57.002L569.003 512l156.785 156.786z' fill='%23#{$color}' data-spm-anchor-id='a313x.7781069.0.i36'/%3E%3C/svg%3E"); + } + + // 定位符号 + @if $id == position { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M547.392 839.147l14.528-17.6c10.752-13.312 264.448-326.4 264.448-474.304 0-153.088-125.056-277.568-278.912-277.568-153.728 0-278.912 124.48-278.912 277.568 0 147.904 253.696 461.056 264.448 474.304l14.4 17.6zM424.768 348.65c0-68.992 56.96-125.056 126.848-125.056 70.016 0 126.976 56.064 126.976 125.056s-56.96 125.056-126.976 125.056c-69.952-.064-126.848-56.128-126.848-125.056zm0 0' fill='%23#{$color}' data-spm-anchor-id='a313x.7781069.0.i1'/%3E%3Cpath d='M650.176 748.33c-11.712 13.185-22.272 24.897-31.36 34.817 97.984 4.864 169.152 19.52 169.152 36.736 0 21.248-107.712 38.528-240.448 38.528-132.864 0-240.512-17.28-240.512-38.528 0-17.28 71.168-31.808 169.152-36.736a1930.88 1930.88 0 0 1-31.36-34.816c-103.232 11.328-176.192 39.104-176.192 71.552 0 42.496 124.864 76.992 278.976 76.992 153.984 0 278.848-34.496 278.848-76.992-.064-32.384-73.088-60.224-176.256-71.552zm0 0' fill='%23#{$color}' data-spm-anchor-id='a313x.7781069.0.i2'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAsxJREFUWEfNl81900AQxd/Y5kyoAKcC1hXgHIGs4nRgKoBUkKSChAriDrClAMeYCrx0YCogOWP78VvJBmm90q4CB3y0dkZ/zedbQcvfcaaGQpyIYAiIKsxpSMwpmN1qM2/jUmIPjz6qg3UPNwIZNdmQnHTXOJuemvsY31EA9uWbHu7+fHHINU1nhaMYiCgAnQ2MAC9Cr60+p0m1GYRsggA6VWMRuXEdEfgm4DSvAMjIB0jybZaYSRNEGCAbLAV4XnZC4Vl2bK7L/+lb9V4oV5WXkcs0MYePBnj9SaneRhZOaD+k2rz3OU0ydQ3Iu/KzTo+H01dmWQfRGAHbch3IXdl4Ax7VtVrb89ZvI4AvrKle1NoU3SI/KukK1MH/HQHvF4HTTJtTX051quYi8rJSAys+a5oH4S5I1VRETpywVqZdPiW7uBKRsXNuliWmcXLGAHjnAMh7CkxeSISCyMH+rOBppk0+Kx7VBTsj7ZkFoQlH4HumF/3QuWAErIMkUxeAnIechYaVzz4KIC/GriwheBoFQTx01uz/s2XUNgq+Uf1XNdCmFmJzv/MZlYLfADWbsZJ7hCu/fL4VgDX0DZudQ5Jfs8QMo+pke6g1gH9DFt5WHQ4+vzH5bIj9tQaoL0heptpcxL74UTWwMyoEqliZlgsVW3jdFVVM27mAwW1oDXorGNd5eff7NIKFXPWQy/Ymqe4FyLU/cA7BzJVe5S8oJiTQFHqrKUCcELj0gewBlEVok/hok+skGzBPlUecVADc/R+jakMgrqrqOPqgAuDTdPlN5wkum4SlD2L0RfXXP3HuagS3VfdTUHcJIZcEpiJYkuLtdREqEn0BRhDZW8X2LpHpxfY+WWDvAWzVzcRVQaFQh56TnHXXGLvdVNuGRTowBmUUvYZdCuIBwukGmNS1YtQk3MIMaaUXcCD2Wu5qA+KBoE3NvQjMBpjHXNV/AQvIezA4SeiWAAAAAElFTkSuQmCC") + } + + // 定位-小 + @if $id == position-small { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M512.103 320.121a106.222 106.222 0 1 1-75.507 31.355 106.222 106.222 0 0 1 75.507-31.355m0-63.989a170.85 170.85 0 1 0 120.94 49.911 169.57 169.57 0 0 0-120.94-49.911z' fill='%23#{$color}'/%3E%3Cpath d='M805.173 124.315a407.61 407.61 0 0 0-586.14 0 431.286 431.286 0 0 0 0 599.577L512.104 1024l293.07-300.108a431.286 431.286 0 0 0 0-599.577zM761.02 681.659L512.103 937.615 263.186 681.659a365.377 365.377 0 0 1 0-508.713 346.82 346.82 0 0 1 497.834 0 365.377 365.377 0 0 1 0 508.713z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAvRJREFUWEfFV1Fy2jAQ3UX+LzlB4mH9XXKCwglKTtD2BIUTNDlB0hM0OUHhBOEGpd8SY3qC0n+MOuuRMmtbsk2mU/RlwFo9vX27b0E488Iznw8nAzDGzADgPQBcAcDEXWAHADtEXA4Gg1Wapvy51+oNwB187w7m4H+stRt+QEQGcylOfFRKLdI03Xeh6AXAGPMAAJ9dsCel1EOapuXhfuV5PiyKYmatnSPiW2ZEKXVTf68OqBOAMeYRAD5Ya38mSTLrQ+92u51ba5mtvVIqbWOiFYAP5A6f9KHU39AY8xEAvgHAmoimsVREAeR5flUUxQ/OtVJqLA9nuo/HI7NSihAR1yHxGWOWTrA3RMTPjRUF4KkHgE9ExGkol7sZ0zusRWPBLeS77hJ5GwttADjgnohY4eXSWk8Q8ZlZAYC5UmrN3x+PRxbfLQC8AYDKbbXWGxalUuoilMIgAHHQVyKaCwBrRHynlLquq1vs2RFRKvbcIuIXa+00y7ISsFxBAEJAL/QLOldExM2osbTWDYAeGCIuRqMRl3M3AK11A7UPZK29y7KM6Q4BOHlfLAVlIJnP/81AKbb6bY0x3OMvQxrI83zsyvZXTbinayB2W+cH37k6XBWsOA9FUbA5cX65NCtV4HuB64gNk4qWYax8hEBDMqj0DOcPv7mTZlk2Dm2IAhBtuCE6xxD3+zIoIm6cQVVu6MG2CbetFbO7cUDbZSihm7mu6TUTbEIl+Nhm1/m8gKKl13K4N6MnIuLn4Opjx1Hlx4K63LORXTgji05InQBEA9pkWXbdxpj/TTSyTuY6Abhc+omo4g0hMLIf1G38pCqQLzOlh8OB+zyPWlFvd+89I+I4Zj69vKDlZuxmXBXT0KwnZohOpvwZvVLgXxadkAdOtuSXqVfUfLTpvDoFcqMQ2CZJEmZiL/Lux7d//79AghBU8/x/50xo2DfvMtZJKagxUY5azpjYhCo+0KdcOzthWxCn+CWPaG29vgvIqxnoCtz397MD+At2bgA/4baPNQAAAABJRU5ErkJggg==") + } + + // 地址下面的边框背景 + @if $id == addressBorder { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAAICAYAAAAr4RfwAAABI0lEQVRYCWP8////fwZywalTDAxLlpCrm/76zMwYGGJiaG7vlkv/GOo3/aW5PdSywEePiaHRj5ko45iIUoVN0cuXDAyrVmGTGZxi4uIMDGFhNHfb/Tf/Gdq3D53EoijCyFDpSVxiAQUeeQnm1y8GhrlzGRhA9FAAbGwMDMnJDAwgmobgx28GhrI1fxlA9FAAHKwMDF0hzAwgmlhAXoJZvZqB4cULYu0YeHWhoQwMEhI0d0fHjr8M996QX8PT3IFoFlR4MDMoiTCiieLnkp5gQO2WkyfxmzqYZEHtFnNzmrsI1G7ZfPEfze2hlgWgdouvPunRT5qO0XYL1vga7u0WZE8Tn2BG2y3I4QZnj4R2C9yzJDV6R9styOEGZ4+Edgvcs0AGAO1WWgxDoUKsAAAAAElFTkSuQmCC") + } + + // 勾勾 + @if $id == check { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M373.248 858.624c-13.312 0-26.624-5.12-36.864-15.36-20.992-20.48-21.504-53.76-1.024-74.752L914.944 176.64c20.48-20.992 53.76-21.504 74.752-1.024s21.504 53.76 1.024 74.752L411.136 842.752c-10.24 10.752-24.064 15.872-37.888 15.872z' fill='%23#{$color}'/%3E%3Cpath d='M373.248 857.088c-13.312 0-27.136-5.12-37.376-15.36L32.768 538.624c-20.48-20.48-20.48-54.272 0-74.752s54.272-20.48 74.752 0l303.104 303.104c20.48 20.48 20.48 54.272 0 74.752-10.24 10.24-24.064 15.36-37.376 15.36z' fill='%23#{$color}'/%3E%3C/svg%3E") + } + + // 空购物车 + @if $id == noShopCar { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1208 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M6.547 978.508h168.876v38.945H6.547v-38.945zM201.443 978.508h415.81v38.945h-415.81v-38.945zM643.273 978.508h181.97v38.945h-181.97v-38.945zM851.263 978.508h324.826v38.945H851.263v-38.945zM45.492 575.622h77.892a12.926 12.926 0 0 1 12.926 12.926 12.926 12.926 0 0 1-12.926 12.926H45.492a12.926 12.926 0 0 1-12.925-12.926 12.926 12.926 0 0 1 12.925-12.926z' fill='%23#{$color}'/%3E%3Cpath d='M97.532 549.603v78.059a12.926 12.926 0 0 1-12.926 12.926h-.672a12.926 12.926 0 0 1-12.925-12.926v-78.06a12.926 12.926 0 0 1 12.925-12.422 12.926 12.926 0 0 1 13.598 12.423zM1111.124 471.711h78.059a12.926 12.926 0 0 1 12.926 12.926 12.926 12.926 0 0 1-12.926 12.926h-78.06a12.926 12.926 0 0 1-12.925-12.926 12.926 12.926 0 0 1 12.926-12.926z' fill='%23#{$color}'/%3E%3Cpath d='M1163.163 445.692v78.059a12.926 12.926 0 0 1-12.926 12.926 12.926 12.926 0 0 1-12.926-12.926v-78.06a12.926 12.926 0 0 1 12.926-12.925 12.926 12.926 0 0 1 12.926 12.926zM396.338 887.523a52.04 52.04 0 1 0 52.04-52.04 52.04 52.04 0 0 0-52.04 52.04m351.014 0a52.04 52.04 0 1 0 52.04-52.04 52.04 52.04 0 0 0-52.04 52.04m206.311-469.865a24.509 24.509 0 0 0-21.32-33.574 26.02 26.02 0 0 0-29.544 23.334l-44.821 196.91c-5.036 24.34-21.152 29.377-42.303 33.574l-430.92 34.748c-26.859-156.453-64.125-369.311-65.804-376.865a88.131 88.131 0 0 0-63.79-67.148 194.728 194.728 0 0 0-53.718-12.086c-13.094 0-27.363 0-31.224 18.298a26.355 26.355 0 0 0 24.005 35.588c62.28 9.904 68.994 23.333 73.695 40.456 6.882 24.509 31.895 157.125 80.241 436.46a69.162 69.162 0 0 0 74.534 62.278h455.428c18.97 0 24.845-9.232 24.845-25.683a24.341 24.341 0 0 0-27.027-26.86H435.116c-13.262 0-33.574-1.007-36.595-18.297 0-2.015-2.518-14.94-2.854-16.787l444.18-33.574c36.764-5.372 60.937-16.787 69.33-59.09m-18.465-400.535l-71.344 77.556h58.586a11.919 11.919 0 0 1 12.758 13.765 11.08 11.08 0 0 1-12.758 12.254H794.02a13.43 13.43 0 0 1-14.437-8.225 16.787 16.787 0 0 1 3.357-17.626l73.191-77.724h-68.994a12.758 12.758 0 0 1-13.765-14.1c0-9.066 5.707-12.255 13.765-12.255h94.51a12.422 12.422 0 0 1 14.101 11.75 19.64 19.64 0 0 1-5.036 14.605z' fill='%23#{$color}'/%3E%3Cpath d='M716.968 354.875l-60.6 65.804h50.36a10.072 10.072 0 0 1 10.743 11.583 9.4 9.4 0 0 1-10.743 10.408h-71.68a11.415 11.415 0 0 1-12.255-6.211 14.437 14.437 0 0 1 2.854-14.94l62.615-66.644h-59.257a10.911 10.911 0 0 1-11.751-11.919c0-7.722 4.868-10.408 11.75-10.408h80.074a10.576 10.576 0 0 1 11.919 9.904 16.787 16.787 0 0 1-4.03 12.423zm-155.279 114.15l-53.046 57.58h43.478a8.897 8.897 0 0 1 9.4 10.24 8.226 8.226 0 0 1-9.4 9.065h-62.28a10.072 10.072 0 0 1-10.743-6.212 12.59 12.59 0 0 1 2.518-13.093l54.557-57.58h-51.536a9.569 9.569 0 0 1-10.24-10.407c0-6.715 4.365-9.233 10.24-9.233h69.33a9.233 9.233 0 0 1 10.408 8.73 14.605 14.605 0 0 1-2.686 10.91z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("https://image.jxc4.com/image/8038c5726b66868774d54011b5d1cec4.jpg") + } + + // 清空 + @if $id == clearAll { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M519.62 0C415.696 0 331.11 82.468 327.537 185.82H85.016a48.914 48.914 0 0 0-48.914 48.867 48.914 48.914 0 0 0 48.914 48.866h54.01v547.792c0 102.853 69.822 186.844 155.91 186.844h439.2c86.088 0 155.91-83.491 155.91-186.844V284.1h48.914a48.914 48.914 0 0 0 48.914-48.89 48.914 48.914 0 0 0-48.914-48.866H711.204A191.56 191.56 0 0 0 519.62 0zM412.386 177.08c3.549-49.77 46.628-88.54 99.852-88.54 53.224 0 96.328 38.746 99.352 88.54H412.386zM300.39 929.126c-30.982 0-65.083-39.15-65.083-95.041v-546.34h575.488v546.84c0 55.915-34.078 95.041-65.06 95.041H300.389v-.5z' fill='%23#{$color}'/%3E%3Cpath d='M368.116 796.815c24.362 0 44.27-21.67 44.27-48.819V469.373c0-27.148-19.908-48.819-44.27-48.819-24.338 0-44.27 21.671-44.27 48.819v278.623c0 27.148 19.36 48.819 44.294 48.819zm154.934 0c24.361 0 44.294-21.67 44.294-48.819V469.373c0-27.148-19.933-48.819-44.294-48.819-24.338 0-44.27 21.671-44.27 48.819v278.623c0 27.148 19.932 48.819 44.293 48.819zm132.81 0c24.338 0 44.27-21.67 44.27-48.819V469.373c0-27.148-19.932-48.819-44.27-48.819s-44.27 21.671-44.27 48.819v278.623c0 27.148 19.36 48.819 44.27 48.819z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAkhJREFUWEfNV1FuGjEQnTFRfkNv0N6AnKD0BhyB/nSDqkX4BtzAiFUEm59whL1B6QnCDdoblPxGwVONg1db48XeRSn4B2nt3Xnz3hvPgHDmhWeOD40AKLX4iB3xBAhdL3CCLe30rZSj37GJNQOQLfoI4geB/uILYPdkOlq/K4BJmniBz7KcGNzJANT9Q6+zgxs3C0LdI8CZIOz7MtRIawSaIImNu7/rwLP8/u3geW0msRQ2OedjrtYDaq93Hd2xgUOyXDAALrkr8Yterz9I+XXLGbM3qjpyWfLzatlVz5iydb7hMne0DKv0+SRRWT41ANLE/PIKvfN/AAi8ZaZifBTPgHrs4tXLH3rVnyzlLgNuwJMBqCznK3Ui06Rw6TWecCQ4BJAPWBWZJsYr/tvzSD2peb4GhLXV2C2pCABTIOjLceK9uDj0UQkuDoDKlhsgmsnxaOWVYL4YAoihzdgwdBoDywIQN1YCl5FDCf4NqLLlDAC7Mk2G7TzgZNAYgOOh5ia8OABZvgKgrUzvJv4yZMr5Ztzvn8zAPOdAgzpTHXjACWgkAyjkODHAWkjwNoLZluy6OgQg1IrD94AzE5wfgE+SSjd8o1yv7D3xDgws+gCikGlixnLPPbAF0AM7lBoA+87YygNlA6p8hIeMshuqRwOkHFiqe/cPPdT0FBrpgv8LYmj0ZRfTioMmNDTPlwUi3AgS5dRzpIGWWxr1lAie5fiOW3LtCjKgmObOC4P4HBPYniGCn7C7Hlh5WnugSdA2Z4MMtPlok3f+ArnVKD9YSbINAAAAAElFTkSuQmCC") + } + + // 编辑 + @if $id == editor { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M1017.191 619.424l-102.39-102.39a17.065 17.065 0 0 0-24.13 0l-375.429 375.43a17.201 17.201 0 0 0-4.983 12.081v102.39A17.065 17.065 0 0 0 527.324 1024h102.39c4.54 0 8.874-1.809 12.048-5.017l272.937-272.937.102-.068.069-.103 102.321-102.321a17.065 17.065 0 0 0 0-24.13zM622.65 989.87h-78.26v-78.26l255.975-255.974 78.26 78.26L622.649 989.87zm280.105-280.104l-78.26-78.26 78.26-78.26 78.26 78.26-78.26 78.26zM456.607 853.52l-218.363 31.638-8.157-59.863v-.069l-89.694-657.65 445.191-80.956.068-.034 272.767-49.59 78.738 426.965a17.065 17.065 0 1 0 33.583-6.212L888.931 14.061A17.03 17.03 0 0 0 869.067.375L585.14 52.014c-.546-.103-.921-.546-1.467-.615L54.659.204A17.201 17.201 0 0 0 35.956 16.45L1.826 801.44a17.065 17.065 0 0 0 14.88 17.645L198.04 842.77l8.737 64.096a16.997 16.997 0 0 0 19.283 14.54l235.395-34.13a17.065 17.065 0 1 0-4.847-33.755zm-420.003-66.28L69.232 35.87l394.542 38.19-345.6 62.834a17.065 17.065 0 0 0-13.822 19.078l88.874 651.711-156.622-20.443z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAg1JREFUWEflVtFx00AU3Bcbh091QDpIqACnA1NB7C/hD5lcB6aCM9YwjvJj04GpALkCkgpQB5g/ApGWOYg8klAcS6eMM4P/PHN6u2/33b0V7Pkne8bH0yOg9dxptX4d11Emjp9dKzVYV/k2p4ABl9bNF4gcVSmSniXwTnnuOP2v9exI2gcaoEPIe+W5y2LdPAH/YiKQtyQ/QeSqEglijbizSBXQHy5PJOZnCJwNQSYDNRousnXzBKZBKIJX555rNRtZcDIZIH6+RPsmFMgxkZwqbximJBonkOucjBgfvjSq/LG3/fObUVeN3vQehUC+c6yMmgCueNs5RetHT+RgTuCj8tx+4wSKshuvtR8sBDgDGZnBJniN28Nu9qY0YkEZ+OYm3M1VGbg5Y01gO/is/1f2fztvxAJbcCsF6oBrP4jAZJx9C2pZUAfcdDvxAxZfy8oE6oI3QsAGvBkCfhAJ8KL4mOjpw9NuTeBus30tLpZdwe0JTINzEWgCrwGOzWIBuYBIf9s9z24+qyHU04slRLrKc520a1N8V3B7BfxgLQTz+x0rxJ3erimotgKp/wS+A1iCSYgYoVLDqEpoqU2gCsi2s/83gYyNueBaGkqNzwJUC6UP+ETgBECPhFIjd1K+jvXcScNjU75n65BYqZHbvTcVb1KMP8sdaopMNg2XKtAUUJU6Vvm/CtB9Z/dO4DfehQU/A8eNeQAAAABJRU5ErkJggg==") + } + + // 首页定位 + @if $id == index-position { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M512 1019.672c-24.237 0-48.618-9.233-67.084-27.7L224.622 771.68c-95.648-83.242-150.47-203.415-150.47-330.08 0-116.712 45.445-226.498 127.965-309.163S394.567 4.472 511.279 4.472c49.771 0 98.533 8.368 145.276 24.67 13.56 4.76 20.63 19.62 15.869 33.037-4.761 13.56-19.62 20.63-33.037 15.869C598.27 63.62 555.28 56.264 511.423 56.264c-212.36 0-385.19 172.83-385.19 385.19 0 111.806 48.617 218.13 133.302 291.417l1.298 1.299 221.015 221.015c16.735 16.735 44.002 16.735 60.592 0l238.183-238.183.145-.144c74.585-72.999 115.7-170.811 115.7-275.116 0-90.31-31.882-178.024-89.733-246.983-9.233-10.964-7.79-27.41 3.174-36.643s27.41-7.79 36.644 3.173c32.315 38.52 57.418 81.8 74.73 128.686 17.889 48.473 27.122 99.543 27.122 151.767 0 59.87-11.83 117.722-35.346 172.254-22.65 52.657-54.82 99.688-95.936 139.794l-238.04 238.039c-18.465 18.61-42.702 27.843-67.083 27.843z' fill='%23#{$color}' data-spm-anchor-id='a313x.7781069.0.i7' /%3E%3Cpath d='M511.279 651.36c-115.702 0-209.907-94.205-209.907-209.906s94.205-209.907 209.907-209.907 209.907 94.206 209.907 209.907S626.98 651.36 511.279 651.36zm0-367.877c-87.137 0-157.972 70.834-157.972 157.97s70.835 157.972 157.972 157.972 157.97-70.834 157.97-157.971-70.834-157.971-157.97-157.971z' fill='%23#{$color}' data-spm-anchor-id='a313x.7781069.0.i8'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAulJREFUWEetV9t1FDEMlWYKYFMBSQUYu4BsKoBUQKiAUAFJBclWAFSQbAVZCrDjDtgOdinAFkdz7D2eh+dhmM8ZWbq+kq40CAseIYSo6/oSAD4CwAoABB8noiMiWiLaee+31lo71y3OMRRCrOu6/gYA62D/h4haQRCRwbwJ33fOuXtr7W7K/ygAIcSqqqoHRLwJN914759zjpmhqqpu2J6I9t77tbX2OAYiC4CD13X9EmjeOudurbX7qRvxdyHEOQAcp4Kz7SCANDgRfTXGPM4JXGIzCEAp9QwAH4joszHmR4njuWd6AKSUnMPvAPBTa93k/n887Jf9dC80BGCPiCvn3PmcHM4Fp5Q6EtHBGHORnmkBUEpxfz8R0b0x5m7MuZTyFgDeNYWEaLXWmwn7O0TkVr7WWnOKm6cLgPP9yTl3lrs9V3hd109RhJKg1jl3neuUUNgHANhqrfmigwCYpr0xplG4oUdKuUPEy7Q7mA1EfACAndb6auwss2aMOcsBICLaGGOY3t4TpPh1yEZK+YiIX5xz73NSnNicGD6lIHGezX+sEefcVVcNg1yzcLVynN5CStnUQXo+BcB6/zJWgDHIkDjFNAyBiyCmALD0HqY6ILQTee+Z6kaauTCrqnpFRNRa85TM1U9koJ8CPqGUom6Vdj0lrcojuJl2RLRm7RijP/hvFFZrfWK+1YZSSh6xb9MqzRTjuqoqvg3vBgzgl/eeh9XoHhDYs8aYONbbOhBzNHWTHMVj7xPmWsOtxUAQmd9T/VwCIOqHc+4iFaveLFBKRTXstVpJ4JD7RuKHBlwPQJDMPStSWumlwdMOGRpwuYWk0QQAYH1nJkbXqhy4dLHJ6UN2JUv2giIQna0qu9iMLqWlIOYGZ+Ym1/KlIJYEnwWAjeaCWBp8NoA5IEqCLwIwBqI0+GIAQyD4XfyBKVnjJ4twqMfjZsM6Eb7zCle0xhcBCPLaSHaYhpNbdE6sigFEEPxL/i9/T38Bbu0vP+RPMbcAAAAASUVORK5CYII=") + } + + // 房子 + @if $id == home { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M934.982 561.094c-6.52 0-13.065-2.504-18.012-7.5L512.118 146.1 107.266 553.594c-9.868 9.955-25.959 10.003-35.9.11-9.955-9.88-10.004-25.957-.125-35.899l422.866-425.61c9.557-9.6 26.49-9.6 36.023 0l422.853 425.61c9.892 9.942 9.843 26.02-.11 35.9a25.295 25.295 0 0 1-17.89 7.39z' fill='%23#{$color}'/%3E%3Cpath d='M845.085 937.173H652.457c-14.019 0-25.387-11.38-25.387-25.388V627.141H402.658v284.645c0 14.007-11.368 25.389-25.387 25.389h-198.13c-14.02 0-25.389-11.38-25.389-25.389V445.213c0-14.008 11.368-25.388 25.388-25.388 14.02 0 25.388 11.38 25.388 25.388V886.4h147.356V601.753c0-14.032 11.367-25.388 25.388-25.388h275.185c14.022 0 25.389 11.356 25.389 25.388V886.4h141.851V445.213c0-14.008 11.367-25.388 25.389-25.388 14.008 0 25.387 11.38 25.387 25.388v466.573c-.002 14.007-11.38 25.387-25.388 25.387z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAZlJREFUWEftlt1twjAQgO9kv3eFRpyfmxHSCcoGLROUTtB2gsIGdIKyQdmgvNso6gYMQLjqpKQiIYHYieAlfkv88325nM9GuHLDK/NhEOgUAefcDACeAWBCRIuQ3xks4JwT4BgApgAwQ8TX0Wg095UIEijgSqkkiqJ1mqZxlmUrAPgioomPhLdAFV7AQiW8BJrgXSRaC5yDh0q0EmgLD5E4K+AL95U4KRAK95FoFOgKr0j8AMCibovWCuTwR2Z+N8a8+ezrurHOOc7fH0kcCQicmeN8wrIvAUR8YWb5mFKxKgkUcK11stvtlgCw6kuAme+11ttqxfwXcM6NxVDgURRtrbVSWnsVMMasiorJzGN5bkzCUwL5KXhX87/nRCSRKzXJAYmAAKt93gLW2gQRv2XBw8UQUSIYG2OSiwgQUUneWisJlgwCQwR6jQAipkqp0mVzv9/HzDxrSMIHrbXcEUtNio/3NtxsNlNm/mg4Bz6J6OmwL03T2yzL1gBwUzPnVykVS4FrXQe6HkBt55+9kLRdKHTcIHD1CPwBj0qGMEAvdi4AAAAASUVORK5CYII=") + } + + // 收藏夹 + @if $id == collect { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M924.672 150.016H650.24c-6.144 0-12.288-3.072-15.872-7.68 0 0-70.656-91.648-71.168-92.16-14.336-15.872-34.816-24.576-56.32-25.088H206.336C156.672 24.064 107.52 38.4 65.024 65.024c-29.696 18.944-51.712 48.128-61.952 81.92-.512 2.048-1.024 4.096-1.024 6.144v53.76c0 15.36 12.8 28.16 28.16 28.16s28.16-12.8 28.16-28.16v-24.576C60.416 128 123.904 87.04 206.336 87.04H506.88c5.12.512 9.728 2.56 12.8 6.656l85.504 110.08c3.584 5.12 9.728 7.68 15.872 7.68h304.128c19.968 0 36.352 16.384 36.352 36.864v528.896c0 39.424-43.52 148.992-147.968 148.992H206.336c-81.92 0-147.968-53.248-147.968-148.992v-488.96c0-15.36-12.8-28.16-28.16-28.16s-28.16 12.8-28.16 28.16L2.56 775.68c-.512 115.712 87.552 211.456 203.264 212.48h607.232c115.712-.512 208.896-95.232 208.384-210.432v-529.92c.512-53.76-43.008-97.28-96.768-97.792z' fill='%23#{$color}'/%3E%3Cpath d='M762.368 518.144c22.016-21.504 29.696-54.272 19.456-83.456v-.512c-9.728-28.672-34.816-49.152-64.512-53.248l-81.408-12.288c-6.656-1.024-12.288-5.12-15.36-11.264l-34.816-72.192c-8.192-16.384-20.992-29.184-37.376-37.376-40.448-19.968-89.088-3.072-109.056 37.376L403.968 358.4c-3.072 6.144-8.704 10.24-14.848 11.264l-80.896 12.288c-30.208 4.096-55.296 25.088-65.024 53.76-10.24 29.184-2.56 61.44 19.456 83.456l59.904 59.392c4.608 4.608 6.656 11.264 5.632 17.408L314.368 678.4c-5.12 30.72 8.192 61.952 33.792 79.872 13.824 9.216 29.696 14.336 46.08 13.824 13.312 0 26.624-3.072 38.4-9.728l69.632-37.376c6.144-3.072 12.8-3.072 18.944 0l70.144 37.376c11.776 6.144 25.088 9.728 38.4 9.728 16.384 0 32.768-5.12 46.08-14.848 25.6-17.92 38.912-48.64 33.792-79.872l-13.824-82.432c-1.024-6.656 1.024-12.8 5.632-17.408l60.928-59.392zm-132.096 36.864c-4.608 4.608-6.656 11.264-5.632 17.408l19.456 117.248c.512 5.12-1.536 9.728-5.632 12.8-2.56 2.048-5.632 2.56-8.704 2.56-2.56 0-5.12-.512-7.168-1.536l-100.864-54.272c-6.144-3.072-12.8-3.072-18.944 0L401.92 703.488c-2.048 1.024-4.608 1.536-7.168 1.536-3.072 0-6.144-1.024-8.704-2.56-4.096-2.56-6.656-7.68-5.632-12.8l19.456-117.248c1.024-6.656-1.024-12.8-5.632-17.408l-84.992-84.48c-3.584-3.584-4.608-8.192-3.072-12.8 1.536-5.12 6.144-8.704 11.776-9.216l115.712-17.408c6.656-1.024 12.288-5.12 15.36-11.264L499.2 315.904c2.56-5.12 7.68-7.68 13.312-7.68s10.752 3.072 13.312 7.68L576 419.84c3.072 6.144 8.704 10.24 15.36 11.264l115.712 17.408c5.12.512 9.728 4.096 11.776 9.216 1.536 4.608.512 9.728-3.072 13.312l-85.504 83.968z' fill='%23#{$color}'/%3E%3C/svg%3E") + } + + // 我的-订单 + @if $id == mine-order { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M634.08 64H389.872C359.936 64 336 87.008 336 115.456c0 28.496 24 51.568 53.888 51.568h245.696C664 167.04 688 143.952 688 115.456 688 87.008 664.048 64 634.08 64z' fill='%23bfbfbf' data-spm-anchor-id='a313x.7781069.0.i12' /%3E%3Cpath d='M304.464 98.336a117.6 117.6 0 0 0-1.536 17.968c0 45.472 27.936 90.208 62.832 90.208h302.32c33.168 0 61.056-44.736 61.024-90.208 0-6.064-.544-12.048-1.488-17.968h96.896C894.56 98.336 928 149.184 928 222.512V837.04c0 88.272-35.728 122.832-109.232 122.832H196.176C122.672 959.872 96 915.792 96 836.992V222.528c0-73.328 18.624-124.16 94.448-124.16zm391.536 624H328a40 40 0 1 0 0 80h368a40 40 0 1 0 0-80zm0-192H328a40 40 0 1 0 0 80h368a40 40 0 1 0 0-80zm0-192H328a40 40 0 1 0 0 80h368a40 40 0 1 0 0-80z' fill='%234EB331' data-spm-anchor-id='a313x.7781069.0.i8'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAZdJREFUWEftVdFRwkAU3BX/xQrECjgqEH7VRKxA7AAr0Q6MFYiJ+itWwNEBdgD/4jrniAKGDBfijM7kPjPv9u3bt7ch1jyHD8ZU3nBJsJl1RVB/uoWLxyNr14HmfFH71lSnFdaXLybh4DmITY/kiYAXSKNUcLJGYE/SXRLa9nFimhQ1X1uZatg7tePZtwUCQdIYOYAFcGkUh3Y/TBqCNI5Du5s1WRg3xiB24mDALLxUAh9NUs4nmCVQlxSRSFVAQo1kR8AwCQYmC8+LgKRzEGOKkZsuc7fCRFQHQpXk9aqBvAg46V8raDljub1mEbgPbN8ZdnuKJ5DVYgh8ocgK+DJQGjiBKkCTRdKt1E+Bdd6TR80/IyBMQF15DPhdKnbTTOupgG7iwHbyEJiF1/JdTwKAi9c8BFbFtjeBPM3LV1CYAi7XBXXzrIFg9OPnBsDLA86ASWBbeQgEsemTPNj4FeRpXtgKim7u8LxWUBIA8kdxmJgI4NlmJpRGAnP9CwhFIGubEfgFE5QmLBUoFfjLCqQnV7FRsJis76OuCTB2uB0hAAAAAElFTkSuQmCC") + } + // 我的-优惠券 + @if $id == mine-coupons { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M219.232 287.872l571.84-26.032h63.088l-50.72-108.32c-17.44-43.632-66.08-66.592-112.672-53.2L164.752 261.84l54.48 26.032z' fill='%23bfbfbf' data-spm-anchor-id='a313x.7781069.0.i3'/%3E%3Cpath d='M828.24 256C901.008 256 960 313.856 960 385.232v94.752L774.496 480c-61.184 0-111.248 47.712-113.104 107.12l-.064 3.872c0 60 48.64 109.104 109.232 110.912l3.936.064H960v96.8C960 870.128 901.008 928 828.24 928H195.76C122.992 928 64 870.144 64 798.768V385.232C64 313.872 122.992 256 195.76 256h632.48z' fill='%234EB331' data-spm-anchor-id='a313x.7781069.0.i0'/%3E%3Cpath d='M704 592a64 64 0 1 0 128 0 64 64 0 1 0-128 0z' fill='%23bfbfbf' data-spm-anchor-id='a313x.7781069.0.i4'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAetJREFUWEftldFR20AQhv+VlLziDqADzh2ERxLkMRUEOiAVAB24g7gDHCnh1aYCjg6cCsCvDPKfWQUJ6SJLspyBYcZ6k3S7+9+3/+0J3viRN66PrYAtgZxAGJkTCL6+hikFuItCe6a1cgGD2FwAcv4aAkjexAP76Z0KIBYpJcGOS4vAbwF2myh2J0Asnnym6IJEZrkIYkHwzE8wWfoyrxJXFFUpQE0okFGL4NN4YMeffxnjL2UiRE9FXX+xVr8FCaYQ6a2koASF439MmAU8Jx4LsL8qCclUxPDK9B4/Yq9NcW0PwZOfoZ0V81YOIk2cBGLr+pmJ0GSNOycW3geayaGdu5taOQnD2AwFclUMWIIHxfdsN0exSX2RPR5kWi7Eyyi0F1VEVwpQCstA7otBUXjbanQP4j5d4S767H9tQjcRwVL/Eg/ftP9hZPRE5EUFUiLy5LGv69YioFhdlF0JFP2yhgf6asLSSSBR2pmf8G5ybB9UrFBeCAhKpEDOvQR9Xdso4O8JwHeBDJsmmppSe+u2qipO2+cHOHVPQu6BdBfAuRCmdpAUsq8jIAtLfST4ER/Z0caXURcBWrT7XeCwJTkWwRyQyjNeM0nf83Xc5MwW//9bC1rUqlxSKaBrsk3jWs32TYvUxW8FbAn8ASqYGjAtQrc2AAAAAElFTkSuQmCC") + } + // 我的-地址 + @if $id == mine-address { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M511.952 64l6.784.064C727.488 67.888 895.6 237.824 896 447.152 896 636.272 645.808 960 512 960S128 636.272 128 447.088C128.416 235.584 300.112 64.272 511.952 64zm-6.048 80.992c-164.336 3.488-296.528 137.392-296.848 302.16 0 71.648 47.2 175.12 120.704 272.32l10.336 13.44C407.632 818.72 482.272 879.072 512 879.072c30.4 0 107.712-63.056 176.384-151.92 76.832-99.408 126.56-206.464 126.56-279.92-.32-164.848-132.512-298.752-296.848-302.24l-6.096-.064-6.096.064z' fill='%234EB331' data-spm-anchor-id='a313x.7781069.0.i11' /%3E%3Cpath d='M352 448.688A160 160 0 1 1 512 608c-88.048-.128-159.488-71.264-160-159.312z' fill='%23bfbfbf' data-spm-anchor-id='a313x.7781069.0.i10' /%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAvJJREFUWEetV71OG0EQntkzvrMTAUV6o9BFCmfEA4CgD0WUlkjQE8npXfAAFDwAUlxGonB6ovAACT4ipUMyDxDJoMTeM96daE8css3+Xexrb2e+b2e+mdnBd58hgAJfP4x3GeAbYFBDwK3MlKhLCF1AaEsQX6r9nze+LtGXwKAS7zHCJiCuuJyTpE8yEEc+RJwE7uDVUrlSPnu8rQs9/0/UE0QH1TRp20ysBBR4WCmfA2DdF3f6nAS5XxkkLZO9lQCP6ueIuPm/4LndPYmd5/zqQufHSIBX4yYSa84K/iDSXsqHq4vw63ban5ZAFvqofA2Iy3MhoAoF5VHUT468CPjcnphsSJJtpfQ/0dpmCYNjBIiNhIm0UdBGgFfWrxGgZnJmyqlLMzpBPiHQr76uBVS6NoETUTvinbe6/3fRWhxi8N0YBUmtMO3sj/9/QkCFcwGDcyMBJhvR3+TE9D+trI8s5C8i3tmxEnDlX+XeSiBa/w0IS1oSRL2Qd17MRoDkScSThg7AlT5lEw4uS1YCatgEjJ3Zyk/gaFXX53lUP0PEXWMKAJJocLlhJ+AQ4UNj6d6DPMi7m+obC2G5yRh+sPYNHxEqB65yegQh6oEaw56zQle+2j7gk4aiHZI04Vc+zLNgToPINZCMBDJFy9IPY0kVCAFZKsc6jueRClPoc/7OF5GrMVkDQXCb8vSlbgx7E1AH07B+Cgz3CkQdQIGD2F7kV4nNzhmB3LgQCU9waxXoWHuRKABemEDWpCxPNSW4IYl9V9itrdgnz9mOAOx0/GwGPki3bYLT+fbSgOr1pWqwPOqLXg6QPT4g+Jr1ibEer84qIHV+5sUkW0rC8jEibKZ8uDF9u4xYuLClWz74s/gQBR4Koo+25cS1F0yMVwL6RhISxqAnJE2881kJayhhhQBiJKiPr3ApiQ2TLqwEdLn20UgRbTg1oGYCA/YeiO1an92TqLcqWpKoNdNuqLuterRmImOTKxsRdAXRDWPU9RFf7vsf50WncAPmMXsAAAAASUVORK5CYII=") + } + // 联系客服 + @if $id == mine-service { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M679.408 882.08a63.312 63.312 0 0 1-46.656 54.064l-81.728 21.808a63.488 63.488 0 0 1-77.232-44.832 63.2 63.2 0 0 1 44.384-77.312L599.888 814a63.584 63.584 0 0 1 60.16 15.248 304 304 0 0 0 147.76-125.92h-20.832c-62.304 0-112.8-50.336-112.8-112.416V478.496c0-62.08 50.496-112.4 112.8-112.4h28.208c4.064 0 8.096.208 12.064.64C784.128 240.112 659.504 148.288 512 148.288s-272.128 91.84-315.248 218.432c3.968-.416 8-.64 12.064-.64h28.208c62.304 0 112.8 50.336 112.8 112.416v112.416c0 62.08-50.496 112.4-112.8 112.4H208.8c-62.288 0-112.8-50.32-112.8-112.4V478.496c0-2.928.112-5.84.32-8.72a42.688 42.688 0 0 1-.32-5.328C96 242.912 282.608 64 512 64s416 178.912 416 400.448c0 1.808-.112 3.584-.32 5.328.208 2.88.32 5.792.32 8.72v112.416a112.128 112.128 0 0 1-46.88 91.232A360.128 360.128 0 0 1 679.392 882.08z' fill='%234EB331' data-spm-anchor-id='a313x.7781069.0.i19'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAnlJREFUWEftlt2V0kAUx/83wefFDrCDoQLZR3dNCB3QgVjBYgVgB2sFQLLq47IVOFYgJYRnk1zPDAkbwuQDsh6O58gjmZn7u//7Sbjwjy5sH/8ewM1XIToJhgwIAN1UwZAAGVlYfbuV8hRVGyvgPIgJJbgDUWbUbIc5BGHqO/JzE5BaAO1xjAWIevsHGVsGK0/D9L8ugQQIV89neBPZGNUpUgng+GJMwCzzmpmfmDB9cOTa5N37QAyIMSWit/o7c8jAx8CV92VqlAKknj9q48pj4nHgyGUTWZ1AeMR0rxVhDiMb12VKGAG8hegmNn5o2RnbyOZBnZRFsJ0DtE4hNlaM/nIks5DtjxsB3EBMAbpTpxLwdZnkdWqokFigx905/uQ7clq8Ywbw+yqTrwD+4jtyXGeo6rvjiyURDVUofFe+rgXQ8QMtUuqJ1cFq+U5uzoHwvoteEmEI0FxrAB4V8+hIATcQc4A+HBjkZiWV3TGWbkkYjgAcX6z3ZZSnYA6tGG9MiZQ/libwL1PDUmUcuHKQP98coGFCHobwMHCtAcoyOW8mX0HFvPkP0FoBUxkVZW6fA2rsMs2O6p6xtV6xqOsJuvZ/kzyYjM8j8qgbGjvhvntlF3fjd1I11fLAuylK8zwEAz/tiAfFMi6dhnq0EgQYG7sDWed5UTGlRBxB6KkIwIq513gYndN2TXeyrlqVO7Ub0bkweoVjmjHzKnClV/bOiwCki6regiILT3aCGYEGquzsGF5V+24FULqonrBBtQJwgz4ftduSbP8rIXD3i0v6PGObEHunbFCtFFBdD4wxETYJsDzFcKZIK4BzK6RyH3iJR0954+IK/AHtUmkwSFXb8wAAAABJRU5ErkJggg==") + } + // 我的-下载 + @if $id == mine-download { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADj0lEQVRYR+2WT2gcVRzHv7+XzUmp4p+D0JsExEo6s4stSi21WMxm973dVFtBpdTS5NBDi9700noqNCCt0oNtoVToqZDNvDfZxhW1J0GazEwT7CUVvSkiVPpHGpKZn6zNprtJtjOzZunFgTnMe78/n/f7N4/wiB96xP7xP0BHESiZ7BAj6gfEJgZHgmk26sFcJrN4pfLmzB9p0poKQE5k91LIhyFggXEdjBkQFgD0L723mGjUFL2TSSESA0hjXyTgXYCPZXp7zowNTP/W7KRcyT0fZcJRgIbAGNPKfysJRCIAZaxhgM6AUNJFXz/McMm132DGNyxImoLnxkHEAuSr9rO9IaYYqBnpD8cZrO8rY30M0IFFMf9atXD994fpxAJI1zpEEX2old+XxHlDRml7DkRntfRO/DcAY38vGLOO8g+nAShp+3Mm7NTSf6kjAOlmR8A8QkCOGYNG+ZfTAEht54lQBeAx03fUg291wZtcaWNVCqTJPUMUnWPGq2C61BNGo+NDwa9pnDdk90xuemp+oTcPIA/QeyDeq4vBpWZbLQDS5F4QiC5EwN8MHnFlMNeJ47V0lLGOAnRsZSe1AChjXwDhiQVx+53Lgzfm45wXjbWjLuPK4Eqc7FJ3HAXRLl30tzXklwHURHYAETsUhtud8syPSQ0yaIeR/utJ5HdP5p5bXIimADrV6I4HAMb+AuA/tQw+TWKscaI0AMtRYNqtlb+5/r0MIOvtBvrKkd75bgJIY5UJVLl3M3y8tm/mblMEsrcY4dtGXqt1E6BcsZ6MMnSTmbcYFVx9AODavxDTR470Kt0EKFXtFznET+ilPj3g3WhOwYQAVR3pne4mgNTWfiI6raX/WEsNKJM9yYg2GBkc6CaA0taXIPGyll62FcCxdkFQba1p1Q6oPlzSdEHZzeYi5iliHnZUcK4FoP4htfWZIBpggX264E/FRSINQL34OCPOg/CXU/Q+WDWIGgvKtcfB2A6ig7roja2EKBn7BwZeaQN3VUt/yyqd8f6tLMQpJvQZGTzd9l/Q2Chp6yATnQVwDeBK83BaaqNZABtbHDHuiIywxgenf14+TH3+E/Jg2grwRS2D91fCtb2Q3G8X3rNWjssVy4oy5DcbY8FlUwic5rV/hxvj6xCi5qppb62oxd6I2tVBY6Ld3+dPtAyOx9XMugIszfUjDGxO07qJU9DJaTrR6TgFnThb9xSsB8Q/ylSOMMWBWTAAAAAASUVORK5CYII=") + } + // 我的-检查更新 + @if $id == mine-checkUpdate { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADx0lEQVRYR8WXX2gcVRTGv29ma1sNTSgKhRQVBcEq6UxCKUVLq0gxyd7ZVI1IqKVUioIU9UWwqG0eBKmg0icbiNEoilHc3Zkx1YIEfGihtjvTICKaJ4sgCJKmVpN2d45MZOr+3+lmoPdpGO75vt+5f869l7jBje3490+bt+kluQ+iL6RSuLiEYAG4tHBiYG7pevViA2QcYwDUhgWyHYK7Gxj5IvIhb9Jc+9HCXByYlgDKMYYIHgKwBcApQHKkNntFW3W6469LQakj1bUUoIsBu0htkMA+ABsAnAD5iZ0ufNwMpCFA3/G+Vd3dchQiL0LwNcmxvCpk42SVcYwRgTYCyKAI3nQs75VGcXUBBr7askEPiuME7iBwNK+8yTjG1X0sxxwHsB/El3bae7yeRg3AUNa4M0gxByBFHU/mB7wf2zGPYizHOAzwCCCurXwV/g//2cofDb9rADJu74SIPEwd/Ss1jyCUbfaTmCYwnFfeF5Zjiq28Ze8KAGUb+0hOUPhc3iocX0nm1bEZ2zwmxMEAco8G/lwfwDFnCLlsKz+dpHmoNTy1be3SmsVZUH4H+GANQNoxdmrgDMGn8qrwWVIA/+lix/964XoAagCUbbxNcLtteeF+T6yFAAQPVws6ynuoYg0oxzxL4LStvIOJuccQWl6Ej033bCyW9AsgnrHT3vsx4hLrsgxwbf4pD+TT/qnE1GMIVQCEW8RV/i8x4truYrmmJYKXKtZAtFD0ouzO7fbn21aPEWg5xgGAY3XrQIz4FXdRrnGIwjduGEDGMScFCAvRXXXPghWn2ELAss3zQpxxlHfgGkCrYpEUlJXv7YEm50Uw4ljep9UArxK4F5CxyDA6MpMCyLi9bwnkicU/S/ef3Dt7uQJAE74GYj2BC3nlWUmZRjppu+92jcEZgJO2Krwc/S+rA3hdgGMEs4AcSTp75ZrvUTCEgLvsTGG2BiA8MMLiYLm974T3wGibJDESlmsMQzglgr2O5X1Urlk+AjvCrIeyRleQ4gwAAwE3l9O2AxOZNxrVupfStLO5W6P2AQSP1KOOA7Lrm55bVl/VXgiLTrMpbfousFxzHIL9ACY1SDan/PCy2rTtnNrUsW7t6j0CeZ7gRhEZdSz/3UZBLR8my7daoh/CrQB+Ajghgu9Azpc0bf7vm/+YX//PuluLgbYNgk0gnw5fTgRz1ILR3KDvNyNuCRAFZ3I9WwNdHyp7+VTrXgHwA8BvRYLPHcv/vtVotV2Kw/lds6h36jo7iwE6Uxou/vob5849e+5qHNOaXXC9QUn2/xfph4Ewri4OkQAAAABJRU5ErkJggg==") + } + + // 我的-待支付 + @if $id == mine-waitpay { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1162 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M962.196 1023.986H200.205C89.84 1023.986 0 934.174 0 823.78V200.205C0 89.84 89.811 0 200.205 0H962.21c110.365 0 200.205 89.811 200.205 200.205v623.49c-.015 110.48-89.811 200.29-200.22 200.29zM200.205 50.195a150.21 150.21 0 0 0-150.053 150.01v623.49A150.21 150.21 0 0 0 200.19 973.734h762.006a150.21 150.21 0 0 0 150.039-149.953V200.205a150.21 150.21 0 0 0-150.04-150.04z' fill='%23#{$color}'/%3E%3Cpath d='M1135.899 702.91h-375.04a173.43 173.43 0 0 1 0-346.775h373.62V406.3H760.86a123.265 123.265 0 0 0 0 246.443h375.04z' fill='%23#{$color}'/%3E%3Cpath d='M722.3879999999999 529.522a60.744 60.744 0 1 0 121.488 0 60.744 60.744 0 1 0-121.488 0z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAZlJREFUWEftl89RwkAUxr+XOHoUO9AKLEGoQOwALi6Os5lsJXHIQXNCKwArEDqwA7GDcEXxORsmDCYBgmQTDuSa3fd+78+3+5ZQ8UcV+8d+AXher2bbX5cmsjKzMVH3t+9J24sMeP5jndjqg1AzATC3yUP+PrlRqh3GPiIAHTnZ0w/tnIEJGCnSXaGIcBUhAC9KitZfAB09rDftXElhJAOeHzQJ6IN57Dqdi2wAxkg5or5rtKv2P/gB63+uFIvSz0sQZ+AAYDgDXjcY6owvl7nUEmT1RiEAUYczernPEEbIhLaSYlAMQPdpQETX26iHmV+V09HS3F0Furb6oGH8NJS8i+q86ksqzgjAHIjZlZ1GEqQ0gGS3xyClAFRQgqqb0A+aAJ4JOM2jhOjGBVqFyTCP01VrClFBXoAsdZQKcLiON2YAjNB1xFnemm6zLh7JGPhUUpynhlIcTceRjBghiAsfSgGKRr3MoTS+kABLX4+5tLxN9PFaZowwO26mxvJlY/qs/o/xjXssO1z7MNlowNCC/XobGgpyrdlfGXpQMO757qMAAAAASUVORK5CYII=") + } + + // 我的-待收货 + @if $id == mine-waitreceiving { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1266 1024' xmlns='http://www.w3.org/2000/svg' width='16' height='32'%3E%3Cpath d='M701.886 992h-508.25C104.516 992 32 913.03 32 815.981V208.033c0-97.062 72.515-176.02 161.637-176.02h785.23c89.123 0 161.638 78.972 161.638 176.02v237.064a24.039 24.039 0 0 1-48.078 0V208.033c0-70.55-50.948-127.942-113.56-127.942h-785.23c-62.61 0-113.56 57.391-113.56 127.942V815.98c0 70.55 50.95 127.941 113.56 127.941h508.249a24.039 24.039 0 0 1 0 48.078z' fill='%23#{$color}'/%3E%3Cpath d='M1116.466 329.312H71.492a24.039 24.039 0 0 1 0-48.078h1044.974a24.039 24.039 0 0 1 0 48.078zm-149.659 653.54c-139.095 0-252.256-113.161-252.256-252.257S827.711 478.34 966.807 478.34s252.257 113.16 252.257 252.256-113.161 252.257-252.257 252.257zm0-456.45c-112.639 0-204.178 91.595-204.178 204.18S854.223 934.76 966.807 934.76s204.18-91.58 204.18-204.179-91.596-204.178-204.18-204.178z' fill='%23#{$color}'/%3E%3Cpath d='M241.99 678.19a24.039 24.039 0 0 1-24.04-24.038V315.754a24.039 24.039 0 0 1 48.078 0v280.361l58.943-58.984a24.039 24.039 0 1 1 33.998 33.998l-99.988 99.987a24.039 24.039 0 0 1-16.992 7.075z' fill='%23#{$color}'/%3E%3Cpath d='M441.965 678.19a24.039 24.039 0 0 1-17.006-7.046l-99.988-99.988a24.05 24.05 0 1 1 33.998-34.025l58.943 58.943v-280.32a24.039 24.039 0 0 1 48.078 0v338.398a24.039 24.039 0 0 1-24.04 24.039zm660.765 88.175H955.063a24.039 24.039 0 0 1-24.04-24.039v-140.95a24.039 24.039 0 1 1 48.078 0v116.925h123.629a24.039 24.039 0 0 1 0 48.078z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAl9JREFUWEftl09u00AUxr9vEhV2hBMQbgAnINkjpexYphvSCjmNT0B6AJgkFkrNpmbFklQcgPYEDSdoOUHDBlFk5qHndNw/oEq4MakEXlmyPO/3/sw33xBLfrjk+Lg5ADaKVynSAlEvrSqCIyF3w6Az8TGyCtgo7hN4oe8i2C8LgMSjLAZkGAbrPX3PAAZRLFngHyurYbg2KwvA2p0aKicJyZYYPgyfP5vSRuMGYT6KuLWwu5GUFdyva1+/eUAnBz7eGQBcMww29soGyCsObIVBp798gFfD8VNjzDtApgBK6//FyrIhvgIeQEQ+AfwrALobcoB8CP/ZGfhfgaVX4OVg/LhSMR8gohJ5dJUQObh9FSs9Owwgm0Fnq4hwZdJfcBtOwm5nYEfxXDELnh0XAJbRAhvFMwj6mgz/pAWXy+1bclUbrB3XTZUtgDVAZi6V3TDcyFvNaykhMThvLi6D2Gh7QHBz7gHwmcA9CGak9DeD9WHmB8pqgQ4qADUdbcDNkN6eqtewo7hHwgrwROFLAVDjwer3Y3/mz4fu7Li3UZxQ0Op1O3fLAVB/CbyX1N3Xfv8GIP9eDsBo3CbNTi/o5JbPz4cAbwGXZC4MrkmdUlbNoe9JEWH5dfhObd5p2e1weyQ0X0n5htQlqKDhAb0rPiJwLOlKc1GmVMWKFOkF683zgNl8VE4OhNhVZ+wBVgEkBO4AmOp+LVoJAffV66n5hJM9AocEJvM1WRORthBfkN5qaLL5zUhbgappA6hDrnM5cYl3196Gg2xocqoFmqgCXriYFM12Ef/dnLvhIrIpssZPPfq+/i+43fMAAAAASUVORK5CYII=") + } + + // 我的-待评价 + @if $id == mine-waitcomment { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1065 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M209.717 1024a21.514 21.514 0 0 1-21.513-21.28c-.43-38.934-.21-78.422 0-116.618.172-31.054.356-62.98.172-94.661H140.43C62.98 791.453 0 721.306 0 635.04V156.363C0 70.148 62.968 0 140.381 0h784.483c77.45 0 140.381 70.148 140.381 156.363v478.678c0 86.215-62.968 156.363-140.381 156.363H456.279c-37.274 36.807-75.581 74.07-112.696 110.176-39.143 38.11-79.614 77.45-118.732 116.15a21.514 21.514 0 0 1-15.134 6.27zM140.381 43.028c-25.35 0-49.433 11.482-67.812 32.32-19.055 21.612-29.504 50.404-29.504 81.015v478.678c0 30.636 10.486 59.403 29.504 81.015 18.38 20.9 42.45 32.32 67.812 32.32h69.336a21.514 21.514 0 0 1 21.514 21.28c.43 38.947.21 78.446 0 116.643-.123 21.378-.246 43.175-.246 65.009 27.587-27.046 55.408-54.092 82.59-80.573 39.142-38.11 79.613-77.45 118.731-116.15a21.514 21.514 0 0 1 15.183-6.16h477.424c25.35 0 49.433-11.482 67.812-32.32 19.055-21.612 29.505-50.404 29.505-81.015V156.363c0-30.636-10.487-59.403-29.505-81.015-18.38-20.9-42.45-32.32-67.812-32.32z' fill='%23#{$color}'/%3E%3Cpath d='M147.069 241.607h772.607v43.028H147.069zm0 208.796h409.92v43.027h-409.92z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAcFJREFUWEftl1FOwkAQhv+hGh/hBuAJ4AZyBI4ALxZj2rAn0Bss0hjAF/AGeAL1BnADPIH4aqxjtmQJ1rbbQgEf6FvT2Z2v//yZ2SUc+KED58cRIFYB6Q2mBKrupETM847bPld7xwJ0vSGrAGa85gpBqBFQ7Dh2kDsRQCUXrl3PE0D2hi9EuDACqEAQT4XT7uwFQN4/1CwfxTyT6b18Cx/i+nKq3mMV0DXfBYDaU0ueCMDAG4BxzhBNAsrpAPZgumQF/huA7A0mRBmNyVBNpqXLGP7jTApIb7hQTSOLJ5SPhGNXcgHIkjgudisFjgBS9iuWZZVNSvj+6UyI1iIqbuMSSDkq0cnnuyn5cmLyk3DbDRNAAANUQSj9GUaqFYenn+z1m6DCytGxMAWa6F4fjllXIBhwwcMLDbwax1EAaf7eFBMuQTj+CPBLgTg5GXynDybq3EA+PysjmeRf/65NF1sC6Q1vozYk4EabU5mSUJBMwVGumxqAsRCuHRlvvBdocwLfY6LCiMEzfHFDiKt5aoCEwFQAev0y+Vk9rulsApQagIFH4djNTZIkrTECqAsKQBPh2JEe2RbICLBtAtP6gwP8ABxfWjDzJzUgAAAAAElFTkSuQmCC") + } + + // 我的-售后/退款 + @if $id == mine-aftersale { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M834.386 1024H189.6C89.77 1024 8.54 944.453 8.54 846.666V267.561c0-97.787 81.215-177.334 181.06-177.334h224.034a23.539 23.539 0 0 1 0 47.078H189.601c-73.871 0-133.982 58.43-133.982 130.256v579.078c0 71.827 60.097 130.257 133.982 130.257h644.798c73.871 0 133.982-58.43 133.982-130.257V267.561c0-71.827-60.097-130.256-133.982-130.256H643.615a23.539 23.539 0 0 1 0-47.078h190.784c99.831 0 181.06 79.547 181.06 177.334v579.078c-.014 97.8-81.242 177.361-181.073 177.361z' fill='%23#{$color}'/%3E%3Cpath d='M502.262 567.363L328.129 356.954a23.555 23.555 0 0 1 36.317-30.008l137.87 166.586 142.9-172.666a23.555 23.555 0 1 1 36.316 30.008z' fill='%23#{$color}'/%3E%3Cpath d='M644.005 557.45H355.488a23.539 23.539 0 0 1 0-47.078h288.517a23.539 23.539 0 1 1 0 47.078zm-3.35 124.176H352.14a23.539 23.539 0 0 1 0-47.077h288.517a23.539 23.539 0 1 1 0 47.077z' fill='%23#{$color}'/%3E%3Cpath d='M496.41 880.562a23.539 23.539 0 0 1-23.538-23.539V513.83a23.539 23.539 0 0 1 47.077 0v343.194a23.539 23.539 0 0 1-23.538 23.539z' fill='%23#{$color}'/%3E%3Cpath d='M496.41 880.562a23.539 23.539 0 0 1-23.538-23.539V513.83a23.539 23.539 0 0 1 47.077 0v343.194a23.539 23.539 0 0 1-23.538 23.539zm-74.113-743.217a23.471 23.471 0 0 1-16.638-6.9l-90.281-90.281a23.539 23.539 0 1 1 33.29-33.29l90.281 90.28a23.539 23.539 0 0 1-16.638 40.177z' fill='%23#{$color}'/%3E%3Cpath d='M332.016 228.177A23.539 23.539 0 0 1 315.378 188l90.281-90.28a23.559 23.559 0 0 1 33.29 33.343l-90.28 90.281a23.471 23.471 0 0 1-16.653 6.833z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA4RJREFUWEfFV0tWGlEQvfWaHDOLOwiuILgCcQUhK1AmaTxJE94KgitoleNRnCArkKxAXAGwAskOcChHunLq9cemoX9mYE8YvKberapbt24T3vmhd74fpQC4vas6MR2BUAVoF0DNJMA8B2EOpilbNNQ/vk+LJlYIgNvrd4n5CETVQoGZ56So++unPcx7PxOA615VqaLuwkwZPANoBHhj7ZyM48GlOoCqA9wg0JfgbMqKmlkVSQXgl1vdgbDLwF8AHe3Yo7yM5DwAc0vAZzAWTN63JOAwzlYA7uVNjVZ8H1w+xIvXBT4utG4uigAI33F7fQFxZGgC73AbiA0ArjvYJet5Euu3EKrGzH90u9UoA8BU4+LqmEgNTCUsOky2YxPAxfWIiL7GL2LgCYyubttnZQH4LYkqMe049n48xiYAYTzwWzIGaAyLxmXGKg2g27ueCjmZvaZun9xmciAvSxlLKBrFgbm9fgPwFmlkM6SGuhfN6LRbe28GEA/Eq519IaYhrccTmRbt2KlaEVVB0X4IPmqBZCCM5RdPa30yz6qCe9EfE+EAzLe82tFUWd4bogKn2rG7qW246HeI4DL4XDutjrz3CiAgX9q4rImOO9hFZTkn4BMDQwMcPNNOy5fmlCeqFONBt+16AoCfFb94e2kV8JWRBiY+o5qQ5inACwafpvFA/nbW63OcB1EFzIHInWNnqKNpk0hz6sMMnTWuyXtKAQhmuqEAo/UMmH5T8OsBszy5dnv9hbQuTDROQglW1Y59nD7L/18BUUaJH2pBoXUcAhIOwKKzwAvATIKxA3iIQFvUKSNcrxUQgllqwoTzrFGKV6cIb/JEbR1ART0mlSorQBkAUj31QR14RLN4hdZaEApMES3wCXk9BUh4I/Zs7ZGtqtTzARNkg9bDkZV2hRqwpgMm4OVNDSuul9l6clHSJ/grffkofiIJrNAyMprNmHTarWZeD7edCwBYz8HGI7FuDSNyW9RyuyMKZlW0/q0goskJvIDxFC9eLamyqZYMHo9FMMKFU9qOSRsqS5HthrlcUX3beKbLrvAhAiHGEs08lYuyFhsG5QaeMvXyDRJuMtkXnsiiyQcIaKRAo5WFpzAj8QgWW+yBhfHHIfmMQK2846z1XkgJfbfD3Zjfz+Rm8P3QLVKxQgDWpVhJlr47JlTF+/tSzAsQTZNWLW+KSgHIC/aW83cH8A9BdeEwfYjRyQAAAABJRU5ErkJggg==") + } + + // 订单详情-配送员icon + @if $id == icon-courier { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M512 1024C229.2 1024 0 794.8 0 512S229.2 0 512 0s512 229.2 512 512-229.2 512-512 512zm281.6-417.5H465.1V768h-4.3c-108.4 8.1-162.6 28.4-160-33.5 0-80.1 47.8-142.6 144.7-162.1 16.9 6.7 35.4 10.5 54.7 10.5 80.2 0 145.3-62.6 151.3-141.8h24.7v-47.3H675c.3-4 1.2-7.8 1.2-11.8 0-97.9-78.8-177.2-176-177.2s-176 79.4-176 177.2c0 4 .9 7.8 1.1 11.8H204.8v47.3h144.1c3.4 43.5 24.9 81.6 56.6 107.4-107.8 27.7-175.1 97.9-175.1 186 0 102.4 90.7 85.4 230.4 80.7v4h332.8V606.5zm-70.4 165.4H535.5V653.8h187.7v118.1zM610.9 441.1c-4.8 45.3-36.1 82.3-78 95.4-6.9-.3-13.7-.9-20.9-.9-14.1 0-27.6.8-40.8 1.9-43.7-12-76.7-49.9-81.6-96.5h221.3v.1zM371.2 382c0-71.8 57.8-130 129.1-130s129.1 58.2 129.1 130c0 4-.8 7.9-1.2 11.8H372.4c-.4-3.9-1.2-7.7-1.2-11.8z' fill='%23#{$color}' data-spm-anchor-id='a313x.7781069.0.i10'/%3E%3C/svg%3E") + } + + // 电话icon + @if $id == icon-mobile { + background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M587.492 646.485l19.512-11.776c7.624-4.494 13.938-7.85 20.196-10.581 44.316-19.627 83.342-5.746 134.94 52.907 31.972 36.295 41.416 68.55 29.07 97.28-9.158 21.39-26.85 36.181-58.367 54.5-2.048 1.137-20.196 11.377-24.86 14.221-73.33 43.976-241.38-56.718-362.27-228.864-121.173-172.544-152.575-356.522-78.278-401.18l9.841-6.03 10.639-6.713c37.546-23.666 61.61-33.11 90.112-28.445 28.501 4.78 52.736 25.26 73.216 62.578 43.235 78.962 33.678 116.395-21.903 150.414-3.982 2.504-18.204 10.81-19.512 11.663-13.654 8.192 9.443 63.146 63.09 139.491 54.271 77.198 99.669 119.467 114.517 110.535z' fill='%23#{$color}'/%3E%3C/svg%3E") + } + + // 没有开启定位 + @if $id == no-position { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M347.7 374.3a164.3 164.3 0 1 0 328.6 0 164.3 164.3 0 1 0-328.6 0z' fill='%23F7EEEE' data-spm-anchor-id='a313x.7781069.0.i6'/%3E%3Cpath d='M163.5 871.9a348.5 56.3 0 1 0 697 0 348.5 56.3 0 1 0-697 0z' fill='%23F7EEEE' data-spm-anchor-id='a313x.7781069.0.i7'/%3E%3Cpath d='M759.1 350.8c0-2 .1-4 .1-6 0-136.5-110.7-247.2-247.2-247.2S264.8 208.3 264.8 344.8c0 1.9 0 3.9.1 5.9v.6c3.7 140.2 121.2 458.4 247.1 521.3 126.1-62.9 243.5-381.1 247.1-521.3v-.5zM512 168.8c97.2 0 176 78.8 176 176s-78.8 176-176 176-176-78.8-176-176 78.8-176 176-176z' fill='%23F4C3C3'/%3E%3C/svg%3E") + } + + // 二维码 + @if $id == icon-erweicode { + // background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M178.3 540.9v-60.3H118v60.3h60.3zm20 284.1h121.3V702.4H198.3V825zm343.1-545.2h-60.7v60.1h60.7v-60.1zm-221.7-81.1H198.3v122.6h121.3V198.7zm362.4 423.4h-60.2v60.1h181v-60.1h-60v-60.9h-60.7v60.9zM541.4 117.8h-60.7V239h60.7V117.8zm-.3 463.9h60.7v-59.8h60.4v-61.4h-60.7v60.4h-60.4v60.8zm201.8 201.5V723h-60.7v60.1h60.7zm60.4-282.4h-60.7v60.1h60.7v-60.1zM420.1 98.2H97.7V420h322.4V98.2zM380.2 380H138.3V138.8h241.9V380zm463.1 160.8H904v-58.9h-60.7v58.9zm0 302.5h-40v-59.8h-60.7v59.8h-60.5v61.4H904v-59.2h.1V722.4h-60.7v120.9zm0-161.5H904v-60.1h-60.7v60.1zm-19.9-483.1H702v122.6h121.3V198.7zM601.7 98.2V420h322.4V98.2H601.7zM883.6 380H641.7V138.8h241.9V380zM541.4 722.1h60.4v-58.9h-60.4v-81.4h-60.7v321.4h60.4v.8h60.7v-60.1h-60.4V722.1zM238.9 541.6h201.7v-61H238.9v61zm302.5-161.3h-61v60.1h61v-60.1zM601.5 843h60.7v-60.1h-60.7V843zM97.6 924.1H420V602.3H97.6v321.8zm40.7-281.2h241.9v241.2H138.3V642.9z' fill='%23#{$color}'/%3E%3C/svg%3E") + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAATlJREFUWEftVttNwzAUPYcswAaMgJmA9hdw1BEYoWySEdgAKQF+aSeoOwIb0AHSg5zUUkVxWqqkEVXyFSnX9s15XRM9P+z5fAwNDAhEEZi8mMsy4XVMpGWi1fu9cw+FGVFUrK5IF/MmoUcb8BtfgB+xxZLmRepGaXETPdyvze2ikeb/0YCoJwnO/1FA5ScCApaCpr6GYEagoq8VBNbQ+NW6md8wQL7TwIYSX2NzMyN5ez4N/CbE8xfh3ZsxSYksZkMSLrdu6vlu8rm36lE5cKop2VoOBE104oJDRNhpAz5kIH1VIbPx964L5CTWQURlAM1JcyCmmc6TMBy8Pby2k3OfmA8UoZyAmgKwslWgoLIhIQKfa+C5nhd4FHDl3wvrxkfZ8K/juFMR9uKCfdy19X24lA4IDAj0jsA3teI6MNBKxJcAAAAASUVORK5CYII=") + } + + // 售罄 + @if $id == no-sale { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M832 166.4c-12.8 6.4-25.6 12.8-38.4 6.4-25.6-19.2-51.2-32-76.8-51.2-25.6-12.8-57.6-25.6-96-38.4-32-6.4-64-6.4-102.4-12.8h-76.8c-6.4 0-19.2 0-32 6.4-44.8 12.8-83.2 25.6-115.2 51.2-19.2 12.8-32 25.6-44.8 38.4-19.2 12.8-32 25.6-51.2 38.4-12.8 19.2-25.6 32-38.4 51.2-12.8 12.8-25.6 32-32 51.2-44.8 76.8-57.6 166.4-51.2 256-6.4 25.6 0 44.8 6.4 64 6.4 19.2 12.8 44.8 25.6 64 12.8 19.2 19.2 38.4 32 57.6 12.8 19.2 25.6 32 38.4 51.2 25.6 32 57.6 57.6 96 83.2 19.2 12.8 32 25.6 51.2 32 19.2 12.8 32 19.2 51.2 25.6C416 953.6 454.4 960 492.8 960h76.8c6.4 0 19.2 0 25.6-6.4 38.4-6.4 70.4-19.2 102.4-32 12.8-6.4 32-12.8 44.8-25.6 12.8-6.4 25.6-19.2 38.4-32 25.6-19.2 44.8-44.8 57.6-70.4 19.2-25.6 32-44.8 44.8-70.4 25.6-44.8 44.8-89.6 51.2-128 25.6-44.8 25.6-76.8 25.6-96v-38.4l-6.4-6.4c0-6.4 0-6.4-6.4-12.8-6.4-25.6 12.8-57.6 6.4-89.6 12.8 32 19.2 57.6 19.2 76.8v160c0 19.2-6.4 44.8-12.8 64 0 6.4 0 12.8-6.4 19.2 0 6.4-6.4 12.8-6.4 19.2-6.4 12.8-6.4 25.6-12.8 38.4-12.8 25.6-25.6 51.2-44.8 76.8-19.2 25.6-44.8 51.2-70.4 70.4-12.8 12.8-32 19.2-44.8 32-6.4 0-6.4 6.4-12.8 6.4s-6.4 6.4-12.8 6.4c-6.4 6.4-12.8 6.4-25.6 12.8-32 19.2-70.4 32-108.8 44.8-12.8 0-19.2 6.4-32 6.4H492.8c-19.2 0-25.6-12.8-44.8-12.8-6.4 0-64-19.2-64-19.2-12.8 0-57.6-6.4-83.2-12.8-19.2-6.4-38.4-19.2-57.6-32C224 896 204.8 883.2 192 864c-19.2-12.8-32-32-44.8-51.2-25.6-38.4-44.8-76.8-64-121.6L76.8 672c0-6.4 0-12.8-6.4-19.2 0-6.4-6.4-12.8-6.4-19.2V608c6.4-12.8 0-25.6-12.8-44.8-12.8-89.6 6.4-185.6 44.8-268.8 19.2-38.4 44.8-76.8 76.8-115.2 6.4-6.4 19.2-12.8 25.6-19.2l12.8-12.8 12.8-12.8c19.2-12.8 38.4-25.6 57.6-32 19.2-6.4 38.4-19.2 57.6-25.6l57.6-19.2c12.8-6.4 19.2-6.4 32-6.4 6.4 0 12.8 0 12.8-6.4H512c38.4 0 76.8 6.4 115.2 12.8 38.4 12.8 70.4 25.6 102.4 38.4 32 19.2 57.6 38.4 83.2 57.6 6.4 0 12.8 6.4 19.2 12.8zM249.6 729.6l19.2 19.2c6.4 6.4 19.2 19.2 32 25.6 12.8 12.8 25.6 19.2 44.8 25.6 0 0 6.4 0 6.4 6.4l19.2 12.8c6.4 0 6.4 6.4 12.8 6.4-6.4 6.4 0 6.4 6.4 6.4s12.8 6.4 12.8 6.4c6.4 0 12.8 6.4 12.8 6.4 6.4 0 12.8 6.4 19.2 6.4h134.4c12.8 0 32-6.4 44.8-6.4 25.6 0 32-19.2 57.6-32 12.8-6.4 19.2-12.8 32-19.2 12.8-6.4 6.4 19.2 6.4 19.2-6.4 6.4-12.8 6.4-19.2 6.4-6.4 0-12.8 6.4-19.2 6.4-12.8 6.4-25.6 6.4-38.4 12.8-6.4 0-12.8 6.4-19.2 6.4H595.2c-12.8 0-25.6 6.4-38.4 6.4h-96c-6.4 0-12.8 0-19.2-6.4-6.4 0-12.8 0-19.2-6.4-6.4 0-12.8 0-19.2-6.4-6.4 0-12.8 0-19.2-6.4-6.4 0-12.8-6.4-12.8-6.4-6.4 0-12.8-6.4-12.8-6.4-6.4 0-6.4-6.4-12.8-6.4-6.4-6.4-19.2-6.4-25.6-12.8-19.2-12.8-32-19.2-38.4-32-12.8-12.8-19.2-19.2-32-25.6l-19.2-19.2-6.4-6.4s19.2 19.2 25.6 19.2zm480 44.8c6.4-6.4 12.8-6.4 19.2-19.2l25.6-25.6c12.8-12.8 19.2-25.6 32-44.8 0 0 0-6.4 6.4-6.4 0 0 0-6.4 6.4-6.4 0-6.4 6.4-6.4 6.4-12.8s6.4-6.4 6.4-12.8 6.4-12.8 6.4-12.8c0-6.4 6.4-12.8 6.4-12.8 0-6.4 6.4-12.8 6.4-12.8 0-6.4 6.4-12.8 6.4-19.2V480c0-6.4 6.4-6.4 12.8 0v76.8c0 6.4 0 12.8-6.4 19.2 0 6.4 0 12.8-6.4 19.2 0 6.4 0 12.8-6.4 19.2 0 6.4 0 12.8-6.4 19.2 0 6.4-6.4 12.8-6.4 12.8 0 6.4-6.4 12.8-6.4 12.8 0 6.4-6.4 6.4-6.4 12.8-6.4 6.4-6.4 19.2-12.8 25.6-12.8 19.2-19.2 32-32 38.4-12.8 12.8-19.2 19.2-25.6 32L736 787.2l-6.4 6.4s-6.4-12.8 0-19.2zm-32-569.6c-6.4 0-6.4-6.4-12.8-6.4s-6.4-6.4-12.8-6.4-6.4-6.4-12.8-6.4h-12.8c-6.4-6.4-19.2-12.8-25.6-19.2-12.8 0-19.2-6.4-32-12.8H486.4c-12.8 0-25.6 0-32 6.4-12.8 0-25.6 6.4-32 6.4-6.4 0-12.8 0-19.2 6.4-6.4 0-12.8 6.4-19.2 6.4-6.4 0-19.2 6.4-25.6 12.8-12.8 6.4-12.8 12.8-25.6 19.2-6.4 6.4-25.6 6.4-32 12.8-12.8 6.4-12.8 19.2-19.2 25.6-6.4 12.8-12.8 19.2-19.2 25.6-12.8 6.4-12.8 12.8-19.2 25.6L224 320c-6.4 6.4-6.4 19.2-12.8 25.6 0 6.4-6.4 12.8-6.4 19.2-6.4 12.8-19.2 12.8-25.6 44.8-6.4 25.6-12.8 0-12.8 0s6.4-6.4 6.4-19.2c0-12.8 6.4-25.6 12.8-38.4 6.4 0 6.4-6.4 12.8-19.2 6.4-6.4 6.4-12.8 12.8-19.2 12.8-12.8 19.2-32 32-44.8l25.6-25.6c6.4-6.4 19.2-12.8 25.6-19.2 12.8-6.4 19.2-12.8 25.6-25.6 6.4 0 12.8 0 19.2-6.4 6.4 0 12.8-6.4 12.8-6.4 12.8-6.4 25.6-6.4 32-12.8 6.4 0 12.8 0 19.2-6.4 6.4 0 12.8 0 19.2-6.4 12.8 0 25.6-6.4 32-6.4 12.8 0 25.6-6.4 32-6.4h32c12.8 0 25.6 0 32 6.4 6.4 0 12.8 0 19.2 6.4h57.6c19.2 6.4 38.4 12.8 51.2 25.6 6.4 0 6.4 6.4 12.8 6.4s12.8 12.8 6.4 12.8zm0 0' fill='%23#{$color}'/%3E%3Cpath d='M230.4 556.8l-12.8-19.2c25.6-32 38.4-70.4 44.8-102.4h19.2c0 6.4 0 19.2-6.4 25.6l70.4-19.2c0-6.4-6.4-12.8-19.2-19.2l19.2-6.4c6.4 6.4 12.8 19.2 19.2 25.6l83.2-19.2 6.4 19.2-83.2 12.8 6.4 19.2 70.4-12.8 6.4 19.2-76.8 12.8L384 512l76.8-19.2 6.4 19.2-76.8 19.2 6.4 19.2 89.6-25.6 6.4 19.2-211.2 57.6-25.6-83.2c-6.4 12.8-12.8 25.6-25.6 38.4zm121.6-96L275.2 480v6.4l6.4 19.2 76.8-19.2-6.4-25.6zm6.4 38.4l-76.8 19.2 6.4 19.2 76.8-19.2-6.4-19.2zm140.8 160l-19.2 6.4-6.4-12.8L320 691.2l6.4 12.8-19.2 6.4-25.6-89.6 192-51.2 25.6 89.6zm-128-121.6L288 556.8l6.4 19.2 76.8-19.2v-19.2zm102.4 96l-12.8-38.4-153.6 38.4L320 672l153.6-38.4zm89.6-256v-19.2l19.2-6.4 6.4 12.8L640 352v19.2L588.8 384l6.4 12.8 38.4-12.8 6.4 19.2-108.8 25.6-6.4-12.8 51.2-12.8-6.4-12.8-57.6 12.8-6.4-12.8 57.6-12.8zm-12.8 140.8l-19.2-6.4c12.8-12.8 12.8-32 6.4-51.2v-19.2L640 416l12.8 44.8-89.6 19.2c-6.4 12.8-6.4 25.6-12.8 38.4zm38.4 19.2l-19.2-6.4c19.2-19.2 25.6-38.4 32-57.6h19.2c0 6.4 0 12.8-6.4 19.2l134.4-32 6.4 19.2-70.4 19.2 6.4 25.6L800 499.2l6.4 12.8-108.8 25.6L704 576l64-19.2-6.4-25.6 19.2-6.4 12.8 51.2-19.2 6.4v-12.8l-153.6 44.8v12.8l-19.2 6.4-12.8-57.6H608l6.4 25.6 64-19.2-6.4-32L556.8 576l-6.4-19.2 121.6-32-6.4-25.6-57.6 19.2-19.2 19.2zm-32-89.6c0 6.4 0 12.8 6.4 19.2l32-6.4-12.8-19.2-25.6 6.4zm76.8 0l-6.4-19.2-25.6 6.4 6.4 19.2 25.6-6.4zm89.6-121.6l6.4 25.6c0 6.4 6.4 6.4 6.4 6.4l19.2-6.4 6.4 12.8-25.6 6.4c-12.8 0-19.2 0-19.2-12.8v-12.8l-38.4 6.4v19.2c0 6.4-6.4 12.8-12.8 19.2l-19.2-6.4c6.4-6.4 12.8-12.8 12.8-19.2v-25.6l64-12.8zm38.4 57.6c-6.4 12.8-12.8 25.6-25.6 38.4h51.2l-6.4 19.2c-25.6 0-44.8 0-64-6.4-12.8 12.8-25.6 25.6-44.8 32l-12.8-12.8c19.2-6.4 32-12.8 44.8-19.2-12.8-6.4-25.6-12.8-32-25.6h-12.8l-6.4-12.8 102.4-25.6 6.4 12.8zm-44.8 38.4c12.8-12.8 19.2-19.2 25.6-32l-57.6 12.8c6.4 12.8 19.2 19.2 32 19.2zm0 0' fill='%23#{$color}'/%3E%3C/svg%3E") + } + + // 开发中 + @if $id == is-dev { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1455 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M773.443 53.086l-301.81 948.925H654.12L955.93 53.086z' fill='%23CED0DB'/%3E%3Cpath d='M343.148 164.379H22.097A17.516 17.516 0 0 0 4.58 181.84v707.53c0 9.701 7.869 17.516 17.516 17.516h321.05c9.702 0 17.517-7.869 17.517-17.516V783.144a17.516 17.516 0 0 0-17.516-17.461H146.216v-460.1h196.932c9.7 0 17.516-7.815 17.516-17.408V181.841a17.516 17.516 0 0 0-17.516-17.408M1417.755 164.379h-320.997a17.516 17.516 0 0 0-17.57 17.462v106.334c0 9.593 7.869 17.408 17.57 17.408h196.877V765.63h-196.877a17.516 17.516 0 0 0-17.57 17.462v106.28c0 9.701 7.869 17.516 17.57 17.516h320.997c9.701 0 17.57-7.869 17.57-17.516V181.84a17.516 17.516 0 0 0-17.57-17.408' fill='%23E4E6EF'/%3E%3C/svg%3E") + } + + /* ------------------ 物流相关 ------------------- */ + @if $id == icon-mywaybill { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M46.248 420.11c-8.17 11.766-15.287 22.83-21.136 32.833-18.6 31.744-20.997 46.504-20.997 55.842v210.708c0 36.601 29.77 66.371 66.371 66.371h36.71c12.262 57.708 64.223 100.33 123.864 100.33 59.648 0 111.576-42.621 123.832-100.33h16.632c14.654 0 28.642-4.757 40.124-13.53 11.52 8.773 25.507 13.53 40.161 13.53h177.168c12.264 57.708 64.191 100.33 123.87 100.33 59.643 0 111.57-42.621 123.834-100.33h76.833c36.601 0 66.371-29.77 66.371-66.371v-521.75c0-36.603-29.77-66.373-66.371-66.373H451.777c-36.608 0-66.372 29.77-66.372 66.373v75.602a65.786 65.786 0 0 0-13.917-1.478H200.904c-11.057 0-26.7 4.086-58.76 34.35-13.849 13.068-29.701 30.013-45.87 49.037l-.172.209-12.154 14.305h.28c-.528.634-1.022 1.269-1.549 1.903-13.003 16.066-25.577 32.833-36.43 48.438.037-.033.037 0 0 0zm706.563 413.629c-40.866 0-74.126-33.254-74.126-74.123 0-40.865 33.259-74.12 74.126-74.12 40.864 0 74.086 33.255 74.086 74.12 0 40.87-33.222 74.123-74.086 74.123zm-314.914-495.5V197.744c0-7.682 6.235-13.917 13.912-13.917h501.705c7.682 0 13.917 6.235 13.917 13.917v521.78c0 7.682-6.235 13.917-13.917 13.917H876.61c-11.945-56.893-61.266-98.572-120.063-100.298h-6.207c-.032-.037-.14 0-.242 0h-.811v-.037h-.386c-58.73 1.833-107.98 43.478-119.925 100.299H451.81c-7.676 0-13.912-6.235-13.912-13.912V338.24zM231.03 833.74c-40.833 0-74.125-33.254-74.125-74.123 0-40.865 33.258-74.12 74.125-74.12 40.864 0 74.123 33.255 74.123 74.12.001 40.87-33.259 74.123-74.123 74.123zM56.467 719.492V565.146h194.5c36.603 0 66.372-29.764 66.372-66.371V418.49c0-36.602-29.77-66.371-66.372-66.371H170.08c1.376-1.339 2.677-2.646 4.015-3.947 17.863-17.406 26.491-22.513 29.205-23.851h168.116c7.682 0 13.918 6.237 13.918 13.918v381.075c0 7.682-6.237 13.917-13.918 13.917H354.79c-11.45-53.87-57.775-95.191-113.086-99.88-.424-.032-.81-.032-1.198-.07h-.145v.209h-.033v-.209h-.14v.178l-.14-.178v.14h-.037v-.14l-.178.108h-.031v-.108h-.147v.07l-.877-.14h-3.945l-.178-.036v.076l-.139-.076v.107h-.039l-.139-.107v.144-.144l-.177.144-.14-.144v.144h-.037l-.14-.107v.07h-.032v-.07l-.178.07v-.031h-5.074c-.108-.04-.211 0-.28 0h-.92v-.076.076h-.35c-.039.031-.07.031-.107.031v-.14.14h-.04c-.03.037-.07.037-.1.037h-1.653c-.215.033-.495.033-.742.033h-1.13c-.279.037-.595.07-.875.139-.075.039-.145.039-.177.039-.07 0-.107.037-.178.037-.07 0-.107.032-.178.032s-.102.037-.172.037c-.075 0-.107.032-.177.032v-.247c-55.841 4.192-102.732 45.73-114.285 99.98H70.524c-7.682 0-13.917-6.234-13.917-13.911h-.14zm.102-206.83v-3.56c.177-1.198 1.973-10.36 17.053-35.054l3.525-5.672-7.256-4.617 7.396 4.37-3.311-2.22 3.559 1.904c7.676-12.085 17.222-25.755 27.582-39.597.069-.108.14-.215.215-.285a793.303 793.303 0 0 1 18.246-23.388h127.53c7.682 0 13.918 6.237 13.918 13.912v80.29c0 7.681-6.235 13.917-13.919 13.917H56.57zm.038 0' fill='%23#{$color}'/%3E%3C/svg%3E"); + } + + // icon-收件人 + @if $id == icon-receive-address { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M865.856 305.072a382.656 382.656 0 0 0-82.304-122.128 382.32 382.32 0 0 0-122.048-82.336A381.28 381.28 0 0 0 512.016 70.4c-51.84 0-102.128 10.144-149.472 30.192a382.928 382.928 0 0 0-122.048 82.336A383.088 383.088 0 0 0 128 454.624c0 63.056 13.824 119.392 42.224 172.272 25.76 47.904 64.592 94.592 118.8 142.704a9514.224 9514.224 0 0 0 191.552 165.424c3.408 5.664 20.768 18.56 30 18.56a10.08 10.08 0 0 0 1.2-.08h.032l.224.032.192-.032h.032c.368.048.8.08 1.2.08 9.248 0 26.624-12.896 30.032-18.56 7.072-5.92 94.656-79.328 191.536-165.424 54.176-48.144 93.04-94.816 118.784-142.704C882.192 574.032 896 517.664 896 454.624a381.824 381.824 0 0 0-30.144-149.552zm-460.272 5.424h31.424v403.808h-31.424v-127.52a781.584 781.584 0 0 0-51.232 31.2c-7.2 5.248-14.192 11.472-21.088 18.624L309.68 608.88c8.544-9.056 12.816-20.928 12.816-35.552V368.352h31.44v211.616c16.4-8.704 33.6-17.888 51.648-27.68V310.496zm37.2 174.016c35.248-61.152 60.768-120.288 76.448-177.328l33.504 9.52a1302.08 1302.08 0 0 1-27.68 73.136h180.176v30.592h-48.544c-4.144 79.776-24.608 144.752-61.408 194.88 27.984 24.8 67.632 46.368 119.056 64.704a371.472 371.472 0 0 0-23.568 33.072c-49.056-20.976-88.208-45.12-117.408-72.576-26.56 26.208-63.328 51.6-110.304 76.272a225.648 225.648 0 0 0-21.088-27.68c46.976-23.584 83.296-47.952 108.912-73.184-31.792-39.824-52.448-89.28-61.776-148.384a834.8 834.8 0 0 1-23.968 43.408c-5.264-7.984-12.704-16.768-22.352-26.432zm181.232-64.064H514.064c4 67.232 23.456 123.872 58.288 169.888 31.392-44.256 48.624-100.88 51.664-169.888z' fill='%23#{$color}'/%3E%3C/svg%3E") + } + + // icon-寄件人 + @if $id == icon-send-address { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M850.805 308.464c-18.963-45.51-46.775-85.965-80.909-120.099s-75.852-61.945-120.098-80.908c-46.776-20.227-96.08-30.341-146.647-30.341s-101.136 10.114-146.647 30.34c-45.511 18.964-85.966 46.776-120.1 80.91C163.082 259.16 123.892 355.24 123.892 455.11c0 61.946 13.907 117.57 41.719 169.403 25.284 46.775 63.21 93.55 117.57 140.326 61.946 55.624 125.156 109.985 188.366 163.081 3.792 5.057 20.227 17.699 29.076 17.699h2.529c8.849 0 26.548-12.642 29.076-17.699 7.585-6.321 93.55-78.38 188.366-163.081 53.096-46.776 91.022-93.551 117.57-140.326 27.812-51.833 41.718-107.457 41.718-169.403 0-50.568-10.113-99.871-29.076-146.647z' fill='%23#{$color}'/%3E%3Cpath d='M274.33 472.81h462.697v30.34h-70.795v140.327c0 36.661-16.434 54.36-49.304 54.36h-60.681c-1.264-12.642-3.793-25.284-7.585-39.19 22.755 2.528 41.718 3.793 55.624 3.793 16.435 0 25.284-10.114 25.284-29.077V503.151H274.33V472.81zm17.7-180.78H494.3c-6.32-11.378-12.642-24.02-20.227-35.398l34.133-15.17c8.85 16.434 17.7 32.869 26.549 50.568h185.837v82.172h-37.926V324.9H328.69v49.303H292.03V292.03zm24.02 145.382c89.757-11.377 142.854-27.812 156.76-46.775H347.654V361.56h139.062c2.528-8.849 2.528-18.962 2.528-29.076h35.398c0 10.114-1.264 20.227-3.793 29.076h144.119v29.077H513.264l-3.792 7.585c60.681 12.642 117.57 27.813 171.93 41.719l-11.377 29.076c-58.153-17.698-117.57-34.133-179.516-49.303-27.813 21.49-82.173 37.926-164.346 49.303-1.264-10.113-6.321-20.227-10.114-31.605zm20.227 97.344h208.592V644.74H370.41v21.491h-34.132V534.756zm174.459 80.908v-51.832H370.41v51.832h140.326z' fill='%23FFF'/%3E%3C/svg%3E") + } + + // icon-地址簿 + @if $id == icon-address-book { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M221.11 1022A131.15 131.15 0 0 1 90 890.86v-84.21H67.7A38.64 38.64 0 0 1 24 762.94a38.64 38.64 0 0 1 32.79-43.72 39.16 39.16 0 0 1 10.92 0H90v-171.6H67.7A38.65 38.65 0 0 1 24 503.9a38.64 38.64 0 0 1 43.7-43.71H90V288.56H67.7A38.65 38.65 0 0 1 24 244.84a38.64 38.64 0 0 1 43.7-43.71H90v-68A131.15 131.15 0 0 1 221.14 2h648.12a131.15 131.15 0 0 1 131.15 131.14v757.72A131.15 131.15 0 0 1 869.26 1022zm-43.69-131.14a43.71 43.71 0 0 0 43.72 43.71h648.12a43.71 43.71 0 0 0 43.55-43.71V133.14a43.71 43.71 0 0 0-43.71-43.71H221a43.71 43.71 0 0 0-43.71 43.71v68h22.29a38.64 38.64 0 0 1 43.71 43.71 38.65 38.65 0 0 1-32.79 43.72 39.16 39.16 0 0 1-10.92 0h-22.32v171.62h22.29a38.64 38.64 0 0 1 43.71 43.71 38.64 38.64 0 0 1-43.71 43.72h-22.29v171.6h22.29a38.65 38.65 0 0 1 43.71 43.72 38.64 38.64 0 0 1-43.71 43.71h-22.29zm333.37-109.75C385.45 656 320.53 556 320.53 465.94c1-138.23 113.78-249.51 252-248.57 138.22-.93 251 110.37 252 248.6 0 90.16-64.92 190.07-190.26 315.14a87.31 87.31 0 0 1-123.47-.06zM408 466q0 89 164.58 253.25Q737.07 555 737.11 465.94a164.62 164.62 0 0 0-329.16 0zm77.18-5.75a87.43 87.43 0 0 1 174.82-.09v.06a87.43 87.43 0 0 1-174.86 0z' fill='%23#{$color}'/%3E%3C/svg%3E") + } + + // icon-修改地址 + @if $id == icon-address-update { + background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M147.9 848.5c37.3-6.9 92.2-19.1 165.4-34.3 6.1-1.5 10.7-4.6 14.5-8.4l492.3-492.3c12.2-12.2 12.2-30.5 0-42.7L708.8 159.5c-11.4-11.4-31.2-11.4-42.7 0L173.8 651.8c-3.8 3.8-6.9 9.9-8.4 14.5-16 72.4-27.4 128-35.1 164.6-1.5 7.6-2.3 14.5-3.8 20.6 7 .8 13.8-1.5 21.4-3zm603.6-731.7l112 112c35.1 35 34.3 92.2-1.5 128L369.7 849.2c-12.5 12.2-28 20.9-45 25.2-214.9 45.7-235.5 49.5-252.2 32.8-16.8-16.7-13-37.3 34.3-252.2 3.8-17.5 13-32.8 25.1-45l492.3-492.3c35.1-35.2 92.2-35.9 127.3-.9zm0 0' fill='%23#{$color}'/%3E%3Cpath d='M176.1 600.8l42.7-42.7 203.5 203.5-42.7 42.7-203.5-203.5zm350.6-350.6l42.7-42.7L772.8 411l-42.7 42.7-203.4-203.5zm219 435.5c-16.2 0-30.2-14-30.2-32.3 0-18.3 12.9-32.3 30.2-32.3h174.6c16.2 0 30.2 14 30.2 32.3 0 18.3-12.9 32.3-30.2 32.3H745.7zM618.5 812.9c-17.2 0-30.2-14-30.2-32.3 0-18.3 14-32.3 30.2-32.3H930c17.2 0 30.2 14 30.2 32.3 0 18.3-14 32.3-30.2 32.3H618.5zM490.3 930.4c-17.2 0-30.2-14-30.2-32.3 0-18.3 14-32.3 30.2-32.3h430c17.2 0 30.2 14 30.2 32.3 0 18.3-14 32.3-30.2 32.3h-430zm0 0' fill='%23#{$color}'/%3E%3C/svg%3E") + } +} \ No newline at end of file diff --git a/src/components/Loading/bone.vue b/src/components/Loading/bone.vue new file mode 100644 index 0000000..8ba56b5 --- /dev/null +++ b/src/components/Loading/bone.vue @@ -0,0 +1,74 @@ + + + + + \ No newline at end of file diff --git a/src/components/Loading/loading.scss b/src/components/Loading/loading.scss new file mode 100644 index 0000000..a67ec6e --- /dev/null +++ b/src/components/Loading/loading.scss @@ -0,0 +1,77 @@ +@import '@/assets/_color.scss'; + +$size: 100rpx; + +%loading { + width: $size; + height: $size; + position: absolute; + z-index: 9999; + left: 50%; + top: 50%; + // margin-left: -$size/2; + // margin-top: -$size/2; + box-sizing: border-box; +} + +.zy-loading { + position: fixed; + left: 0; + top: 0; + right: 0; + bottom: 0; + z-index: 9999; + overflow: hidden; + .zy-loading-mask { + background: rgba(white, .4); + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + } + .zy-loading-img { + @extend %loading; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAC91BMVEUAAAChoaECAgKWlpYdHR2RkZF+fn6tra0AAABhYWFycnITEhMNDQ5PT09ycnJpaWkNDQ0gICEICAkFBQVISEk+Pj4uLi4zMzNhYWFubm46OjpbW1smJicWFhYoKSlERERJSEklJCYuLy4zMjMtLS08Ozw6OjovLy//RYKGwj4AAADqAHv/////SYn/R4ZNszH/jLb//fn/7tTP5X3/6cj/7NH/8Nn/9umNzEH/5cH/5b7/8+L/6sr/6MX/6s3/+e//+/MGCQT/7M7/58P//PeIxD//8+DunZ7/5Lv/4rf/79aLyUD/8d0JAQQkCBL/9eb/SIL/+OyCwDsNDgr/9OT/QoAbBQ3zAH8RAwj/PHzYO27/47MsQxXT54AuChf4RH84DBz/78T/++FDECEMFgXvQXv/9db3AIHuAH3gPXPoP3eKxkBLFCaxL1pCPjlSvDM7Ni9TFioWFRL7RYH0Qn3DNWOgK1EsKibNOGn//uvc8oVwHTlRtjJnGzQ1Thi6Ml+pLlb/3q////L/88z/6buNJEhXgClPdSU+XB3/9tyPz0J7IT5/uTttnzJikS7/pL3Y7oIdHBmXKU1YUUtOSkNcGC4zLikZKAz79vXuDHyEJEMkIx8jPBIiMBCn0lxgXFeFBEV6sTh1qzbw7uv/lbj3Kn94cGZHaCETHQn47t/X1dDQvaB/fHZmlzDLyMT/s8Kpp6PpmZuempO3ooP7OYGHema3Al9huTXz59OJhoLhAnVlAzTj4d6+sJr/ZZevpZT/Uo3zG33E3nV5vzvt4Mr/1Mf/xsDx2rzXyK/YAnG302yeA1Kay1CT1URwvjlxpTTDv7eVko1saGOitWFJpS3/5+7m0bO4ta/Froymln1yZ1dOAiiZiXSOg3NmWUtufUJaZzVLVi1diCs5gCPd0sD1oqPIAmj/utH12Kz/e6aElU9Dlynrvq3ew5o9SCMwZhz/1ePxzLb6pqfqz6jnp6HSjY3kyaO2ensnVxj/z9+CWViaG08vHhqgcYIEAAAAKHRSTlMADPk40ylJFuctGN/mlFw+7cnx9nyNJJV9aVtuxdfAo1Czvbiiq7Ssv+dpMQAAHRhJREFUeNrUmV1IU2EYx8/MaU1rfmblR9oHuUe3Gd6c2wPtaigymTmZJjQJWzHED2RO7cYPcs4hxCI2YWK0m+gmGnQhplcNmxdu134MEhW0S6ObnnPm8d1Wm5V5Ov1AdJyb9+f//7zve5T6x0jkxVfLSs8i2SU3L12QUv8n0sJSAMazt76+tr7n9gHk5RackyS3vnyZEiPyinxwr60Gap0crYuBnXUXQHZFofwnMrLym1lwhhIfsiJg1ldrrc7W2kNaW53WxdW1PR/K5N4ovFJ+kaf8SlFFDjBwjRIfF7JgI2B11iaALk6U2fCYACCNB4BxbeyMQwYlNiRF4Fl1Eo0fZGoXA6s7a2vrHGs72L9as6mMEhuZt2Bj0VqbCuyZ00qonXkqwkCk6bDmbI1bdWv0O/9DwrPFGbPGy1ynRIYkHXascesMzCwvL9P4NRNYXDwUQlirRXxIK3SKp+NpckpcSG4SD/aXvWxW6AgKDY0+PMvRhwqFdhIKKZFxFdasvEZgWYHLjEcXA/9Qo/Xkie3UL4YNZ1QDm08sUkOPQQElLuR5HkyCTYNoHIvZz6RLKFEhKWFWnVypaKJxHJqgG8Q26ZdxQNhWLaPGr3tE4DwlLqQ5RrZYM5rUGtqY5xpFMGTKElmxqPOwiifhcmoNMz05aicefos7TWxnujR/D2/rtC61hnfcs2LmPXR+i/iKhUfIqjWQqlYamp4dZ1xeLf95yWbZZXLFVqzMvA3rjEKXIgyFY4iBcR16RAmqbWqX6I5CdkICuuRhaL2jHgCfgzYf1UqtthjhAiUyJNnGmaRZ0HaHsRHANKajSa3QY/9fDohMdu4KT7lMJqOinIHRT1rNjxJaWmvfHPIBpvHKS2uOdis1ekTgn1zeJRfLC4rKcrNz8uCInJzskmtFBeUXJefBNOSw0zRtNms4UIHGQjleuU0A0GgctR+1ShG0oQcOenomJTCy8oIb6WlAqEOAkJbO2fmGxhyzXjvea+1274pjbBwlEJNxbFZ7lIZmya/mPEzZZyghkcgLcnOAo7mta+DF9JPh/haO/uG+kYnBR024VA/wMI0mn89namSin1xDY5N2LYYRp4EeIVO2oBvWmfOlwNLUPtg33HlPpWRRHaLk6ANweAEYiKHR5PIYX406ZhXYLw05yVHj0MOXJuCGJSvI5XrUPvDkYSW7/sqfoBwBxvvUCPuvHZujyKbj9eSK167QatHBjBJHYei42Yj2ygfCeZy7msdZTLd0o0RlMpTTAJufVhgm4l/S0CxaLQqgAXHAT7qgn9dg5yNfMI+Ma4C0j7RUokQqVC3N4NJ92myEA7XN5g8u4as5gXNYCvrRgsdmiTBZQs25nNVoftZLLJKjfAFgnHztA3CHLOxC/f5gMLgUJRh1IKDsPpQK5JFRwo73RCex0BtY9EkyGWmGKKaIxaZOjSXkhuvCXBSlN9JQ48VDpYpYqOZr5qZqFpKYKDtHHjXVAcIcqC2pNLBWJrhECYGkOAdLNUDSMBgWtrfCt6uR8HyyTJSqjpbe3kFUcUUsluQaISOUCvMiJWdb1dUfozE/Fa7mmTMkn3kV2kwA4t4lKgka+0zaVWGuJYX5AO3DqhiNrTvVhBrDMXP/uJ5TidgstkQLS+jABGVySgikFQB1Ax1KfjZQAytFCOOQHGPycIAbfNf+rtpisR1iQYuIm4HcckoQMrIA2oZJqxrmnhOJYwIh09Iy0AScy8H+biikVodCu5F9tMirEOoMLAaAZxgH7zH/tTqeN8QjpUrH46564GBMCMMAZF2/IqOEQVII0DytIltuDcYRx1blccUie1hPf9/Es/tt9U1NTfUoJeBf2zPLAJp6+ThwyW+qE/PQE49fkcGKdvd0dHT0dH9rBsH+TJ2ZC9DeGeOxlaBxe46c67+hw+7KDW/f4dTcFOQ0l5YAdHUQD32iR3jeUPnHNLz83AaC3EukWTjmPeR6aJhKrNUCevy5iP7ux3YhTCTp6NEd47Edr/Flm63VSUw+oMnptysTezUY9/b3NV6jkovjRJFU3X1/H02o00RyDfO4x3nouau6fv52jEaNksRxgkiqMJNT3rsKAe4fejRsz9XMG/QLYX7Et7b1ROMkIm+r0KQeoJg6NS4DtHVEPRa+4OKfzxnwTA+Hw1+mthcMpFQnjQRNPjfD6f0zJCMf6luUnIcSPVhwtPXKBZWevBH+nUiqHryrgywpdSpkfqfeXF6biKIwji/EB/h+4BsRDMfcgRSToNakE0OQYCISjTGLSUzoYENa2iTNgxAaIl2ErlJr0XZRQSloSy0VoVVjXBSsuLGCb+uq6NY/wTOTjteJWo0zCXiWbaH3l+9859xzJoOFt4vIa9VXgYq2cdUkQZIbALtqU7qwYA2QiuZx7YmKELQpHsI4/6FGht8JEGY0dQBBja8jyKUHHLA1sMm6peBu+Q7yWLrlUg6VcwslEWyi/oV+D0CW0M/srnbRDYNyu5dtov7Tnc0AGcqBBr/1SnftC14PaxOYW0JwsEnlwX31enCHZIvEC+Tx43Oqc1C7S8m1QV0QbOlxopGFvI/XIrcwuR6Cupv4FQD+qKZeQXPr0jM3rFFzubVXbIV1DKxbkt/V3Jouoy2kHkFNgs3ECWuWqClIZx0FoSZBSZ6rKMmypRCslyDUJFSStSv/V4dQkwguUa1wrVwPfk19g5oEC5cHNqh2W+ytoyDUJLSXrFNpb+LEsbDecQ4ZFto7wDZVrr0A6boLQt2O4VfH7pvrbHXqdpXtvhw4n6beQd2OdsdFxF4VmggLPaIgFTZhamsbCoIkfjW6+5aFrh7zEoZSEBJqjWlqGLRsod1vqFG3NoC7WYMRvXo1qSHl0IRaM56rcklqCfLZoXwNsXrjwn2RSYLDnxmIx3sHMkE3ANdSBxB6TdmtvPhKOyDSAzQ8mVCtPSKsUmhP3Kh0C7GdFt9oGMDh9nicwXS8paZep42EFuB9SpcndFZnWpzgyIZCMbTKv2NEm6sHweau2CS7gd7gSacDJ15lzZF0p0m1IGgSNxxQxrFqE1wl9BStAMqKFUk63LEqQGgn2aWK16UgcQf0/NEev/oDmp0QJ1WD4B54/VZFIDsAWonsmzAegWzRIM2h33E0+yECnK9qEHQ7u0rpLNJJ5LnhXFQThkSzQS/z69/5wpCYacdPomqQ50rL1gGAilORljCEW8jvMHxxPz1oJUcHFGYCRfB4SXV9BMuWchCPvIOXG6O710eYnymY5AAHEIwy8p9Ho+WMC0NhJK/nP4Hfx/wFCAKoV38P4nRYcdyYk20H4OIhPDi1NyFRb2+HAwD8oQoJO9NRUUm/oIdeb386CGlSxRWFTomqDiNYgvsbS4ji6ehONiMCRjTU2ZvhQIywnIPEeoRjMyTrhv75QEODXs+PsNBNqgLBkUQxiL+yJnXAHM8fLrWx4rfgg+FwOMh5AKM/AQBpWdag8zmhXJBmzMe+6YC9QSR5R2vwH+cRaQesGCRYWUHd7Gt9oyXPz8xdGXRBOVyJoaniaAHccdnQomkNCrlGmFYO2FGbzWAQQJDkPkCWVAPyQHUQ0gXtJpPJom/gA4HJ+ZmRYvHNi/nJlHG8H6CDVjMGVcj6ARA13ok4/S9SyGGwL5AMAyDz4jN7jUHSMMybTHo9nsh+Kh9IpXK5nHV6KoHu6GIYyfkMjl5ugMTsEDg4gMGp2ynbqVMSicXSgJr0RJnFQK7LQdT2SJSDIo+C6JEjHwjYbk9OT44NuwA5ks0xoTz5Qt7W7jC6hm2buDbGgoAxmTt9zIYkkiQmC/+RhY4QWWyvpbJHuKj8dQOH67VeEMQQMMyXhtoLkUjk+7Tl5Px+zik6n22fumPVXkuAq2/8du7M6WPHkIRKYjLxpQhwnb9KL8JUFi0EUVq19oMzVlF82yxCZuWn59pdrraXUxOl0uzoFYQZ7HctOL/QNzp+p0mrtepGE7N3cjqz0XhaIDlrs+XLfkeSRh4vK46Bn6cCpsvLUK/TqV0ZyDZprqJt/b6QWfliJDJUmj6bwshhPBrvcw09GnuBMfbophZDZ7VazWM3tTqz+YzReMacy6VsmIaGQCBgEEEOXz76HiDYRSr7J3Qw1OtqNcQD4JDdtZgwlHgUhC/OTaNDbDb8nE/jOXM66/isTrsQOiGsGFprU5PZbM7pjPMTL9sShUIh0TdcnA7wCNJ4uPHyvUGA8jsC9OLgx5GHep2C7FS61Ur++G9CHnamAa2uNwQwS059BzljNmu1TU14dh0NZGnCMOvujCbYSN8wpuHE3Ms2NjI0wwuSHD5++el9F3h66FsbxBcGR5KRWwRBngPsUDaPyBe/TBIGn1osYu1FDhEEOYzIYaYYZVW0Eolu1FUYfjOZw+QSIj//McHO8SLIieOXR64AuAfKqjDEGwRHllCL0BUdq2xFt0/+bIRk0esSiCSIxIEgIoYUkibWiVmjDgvXWSxcQgXOB+wf39nLIEeOXLx4rw1QlWTMF/P2OIDrIpXtEEEewiZlE+JWFjJE9vrdJ94kghjKIIhBBaEckigiiU7XhH4XQWxiK7HnsaciyfHjR44cPXrx6L12QFmcbgBnd4zQLkJBgrBc4aJxrezBNMnAHHpdAjmbwg/amNPlJEEoB9UEfyMWLpFEBLGLzb0sCYKcPHnx5NtPgyw40l1lDCmzaHBwUK2HCrRofWPu7GJbCsM47iOI+CZCfF4QF4/TRpuNYCNdpWi0yElMNEErPsNJVSgRQVoXi4tmWs3YRSWVJeuWtutCNipc2Ebc2C725eMKccGF70RceN73PTtPTzcSnOHPwmSS/fY8z/t8vO95j0jryHGqvqcx6lcSnal1FuIokAgTDqKaROREkUkIZOPGcNjzHM7cM+kLLariXX989H8hX0Q07YYGqwBxOnx34yBki6YkHulSsRBEM4kWJDqQlRzE4/HEacxBa5ZBLTtqji7ad7lt3SqIryWKCLHWbLYzagM5h9/z74Og3tq27TVTCa8HwVgfP+JPJ3SF0b53G1ZaPNar7isAibTEleoC6JQIZBAJgTjUwrEYJNxcEIza3IHmcxP/eKdnPpaNNF9zVXdwEGcV2qOTQ/Sk85KUlaFHIpDBQYJRsnXzz0BuUCNPBqGSkWLdiCLFvAOC5RXMtXw5gKzE1BOAQKxHegzVeemHFkGerfX1K06d2rzpRyAxzYW3aOUJ5XUDdkMnsyAhkHgJA3G21EKdJPSYtRyNUit+/MAiFimVi/qDQSVxt+WUY2gQj18rIcggNDCdMcaAKzOwGqUKJV7GEnvVXahNSqoUBEGsYHXN0AaRko1ay1Lb6XAMtfxufF1LRZ1mEGoPMR3+sRaRbyGIn1covn5olZJ5iasLmNJZSA8FYpHSQSCxWcqQINU40hzaIPtvGnPYdDJoUyjzcfCztsrqVCAldbYWWASUvNw6JMfjAOgUf1E1BMiHgOugmUalRYUWjDbycBCBOO9X19ZISnVSixFUKpYoDhIL/spzjoA/mkjE4jJHblk+GOSz7DpkJoMUrVnG3DA5CeC4sLpJA5EVKVkNSrommQ2AULYrSgswhbrCEn9Pfiur4utf5BQWTz49iMiH2w8V9eqGH9gabeO7VgRSYW2pjkl5GcAWrIUBdTZ2admdHCsLEE1ZsIrHfIgV/ynHHT/IL/ZpHCrIBhWEqizSbphq0KnGaXwkT66FLbsSk5JFvp9rzEms3LJoGKgavy23ziKK39WsQnH4Wrqgv0q3+hIIOZauzppk3IM8F00DIGUMxFensFGPTulWVjladJLSth6pqECp8t0I3LcW1YwiRmgvQZdERhn2QMx8EHbnIGVlOF5riNdIjSAUjfFwzudq1umbdkwhnVlpLecgEOfyqht39lFfJUDEqqV3LPVUuYEPwM3mW6IiIZYwkFJnIs2DBKVIFmab1mTawrorlErBapPUOl5mEQdvEFu6S/Uh4vHwPEKOVWgQI+4Hoz4Ro0SttTjIvgc5SWoVIJYkggSTNSuwTRQoQuwTjUOr4ZdbmdaQZxGIiVYsMgjQWS1jkuJpE69+cYiCJDjYeoxJpA4G9kVqU8yFkESvtYKDDEIjU8oiAqQW1/grg0AO7IFRlAyNOKDJ6xTz3u1yN4Lg9+G01ktYvYuAl7vy0lYcQaCKMIhDMwil9XLNs1AKHKEAMXrJIo21wR7zFtYhIkhJ5vr1TKnVsU6SarJdiQQuVxY+TEEUJkFBGMRBlS83iF0DOR+OwrX9REDnm6YafBPHIrFbthMaQiWRZagMdlebEYVrBeY6IiERh7arQAahNYuBPIPbBEJVFhnEsDs7YRuOA/fAnVD7Mq72fTgT2oQEm1fzOZ2KspUgVAziGAAZiBAyyHlsdZ9UDip7XWD81YxzAfsS02XoC0UESMTKZinqnA5JhFGQRUhQDOZwWitQJRTqAsTTqwcRz+8ZGel0ry3ApXsXoX/NMqHra5CEgwgS1SgkwiCOfWvaI5FIpq1MNciqMAM5L0AODJqdDMvVQWOm48p1DmJty1S1MT9ZLkg0lM06ChVD43C2XVf9khvEa//wYVUYDUIW0a1YRjsWJZOdRyDYroFYuXMJEoaBv9HBSPgZ/oswB+NwOvkPQZBgqHsbYrKs9IbPMxB9jIjnp/WdurFPs28PvLk+AFJaylGEUdjm1QpkQRohBFO9CjmYrM5S/l+FY7bZvQ0BcLtBbggzkKf6VasSAwSG650WI6cBqjeifislpUTia1Tq7j5+Ue/gTiZAiIP7FXOsZaSMtyMIF3ftugox7lr6PHLgwJPhvOll3HwEuZFRV62KNRUaiS8BKLlnXXJrPWo1fjg21dcvd5xC+Xy4vcW+LlMAEgk9haPsHMtO21skwRLlZiVxYAYZ1ldajJ4O4G9XPatijUbi9ImyKzHQq9egkqhUV11dXVdXItrISNCW5Fsr/XDSxE8gNHtYrLtv6XaoYNqglG7wJQPQzEkyuJnJSASK7xkwYRulVxRUPfPhVxaCRD7L7mNin7gPQZ4Lz6I2farxgV7cLQbutEUi7eUlJWWcRIDcBS45Z5FIyQSoCnSwPelMYYz0ioO4pjNoEc9b2fWqspBj+O8unc1IQvbyckGiolQ9sIGQvzGX7XmcTuXz6UaaTCRYl15RGOztvWKCiVXPW48nBrcrtfhg9hhODiKRm0P2lYJEdS9nSxD0sslAktl+NJa8EQoRezPOZviZkODr8FPY9vDA3+Mg77I9C5XbkUQ1CpL46gihOu6Pf0MOUl0V5yhru64ZxNvHezXTCej3NtvgkRohlUtvD7tfUcRPB+hfWSZIhFEqnA9kDhH/+uVT0/r165s+ffnqH4CJ3y9lGPjVbRFhj/Ywrr5X72Gvdhl6m2W4VqlyPMT8MWG4OYhkIkCsO2QvRKnqB5CjX16+f/9yPdPLl+9ffnoe4I7VsE9gYGCtbM9EMu0bw94GBc6cO37M7Jb7bVqA7Gd3Us0zet39+TtpoLYB3YtIrB3B2CcOQXr5/lPUBdCncWDFaw+jNnj7bLBtp9u1E89sguta5QEeHvsfbQdYjBx/T+NmAdhurBJGESzW7vWEQShf4k/3IQXH4JU79iDIAa4Lh44d23EZXNvAJQJk/0MMj7//epG5mBoVYRQVpfRdExEQyrtQmYYhODaGPwRwL5rNl0yHXccvuOBRJa5WN90YHv/gbvjR6F7yU3vIrqFUdHwsRmn62FEhgoNjCHuEQzf4VrE463nk3gksT/bfYuZYgm719zVyEst/d0JlDEUEy6o3TU0FFE0f35WzySg3B0q4Vfhzr3/g0QHzQdyhNB+FR4/cmD1+vWw38K5f2/MHoZKVggX9q+PNxyZVH98wDKJAMYxmRQZtN890EoczpnOwjZnjV6orw42CKUWu60araCzlHe/eoN512EsYhr0QYxU2hQDuo3vgrPYo3UkzDjAxOv6ROehNhqMAAv0PQl62tDKJBZmPSQQEBYf3NeaM3Wd3mUynxdaR+QQcNrMyZdRsjI5/rCmLWM57fscewjYcYbiIASlUDHu4rxa2X9jFKqxD7iNmvgO2G4fjpnP/yRtSxi5Aq4DS1+1Fs+i1SqVgXvU2CnD5oOpSJy6ZWaif2Mv+2PPfvKhx/OIZrOl43tvhRR9bpdMGLu/GGzK46Zpj9S8mDgX/0Wvoxs+cz8xSHX3asNHrVWHQDKrCzXHYfpUuDiWZTSe2z/hfDPK9u7NpbSKKwnAaS7Vt/Khf1G8UFOeFmfXdDjILucSFgVDCWIWMC00LVkWlJaObZoYxCVrQgCSLzGYCMivxTwghC0FQRGlX4qL+AF14ZsyknXYEsxAvPusu5u3cM+fce3POG11jGx0VwP0P719+CSRcuHDx/euQV5+AhYKsJOhQlrFLIKuXkR07KNPXJLdW90A8vfXp46uX7z4ggoJbSWwgK2OfMO9j76GTGRAm00q8W6eydgYhOeSswApCR/m6nNyYWMSUIBZCEwdHgexseRZGNXAOYSYeXb0Z2I0sLeRhdhljXQvzcvJ47yLO/vsE8kvGJLIL9wrUCwfLCR2OOtmbct9upAifB9qs5EYkuTBLV89CMH4C+eUbiqzIS2jx8KHrmOu7p1Ad1dIkglUShVC7rCCJMDU+ifKNcF9BDeK1ao1sN5hNpVSfa/Cc3wqR6dT3wLGUENAw5hWSQSgLsP31VfuyJjWwCZ9zTuLWtguRC3PIiGJBdzzqyqXyVa2tv1n8bDk95PxaH0Ot8lq9ynl9qxBFuTeD0xMpMdiLojJoYmj2VhcX39pdD7rDQxwXrcv681W95vjxrxZFzxz2CbKsiOnB/1lehsn1r29W11gDFpOIMDJs79aVxa86r8V6N8I20ZOCZI+Ak7QnGrSQtRxXb1mUMXLt0sBw1WuRce6V9aqrztyLWpRl5dElZITyVz+dvaFsmCF5zOHditp/IQTzUDHXnyy+bUmuChTnr8rE+YdFpHeLEh3RGykoUYg0gIbtNQFT0zYscCuucX/1doWqFs9TcenZ4xfla8A50YxYT/U33sqNmaZUMUCotlaS+rA67K5rmz5zTLXt9LyGCqjYJ8o3d4Ox/uGUvKS2ORkAerblsk3uYFXDaHcdwofOJM60dq/ndiZTwjGSmSkoYVOJzei5GRG9jihIGvV21bXUXI+HnmGcOzo1fQnHdHjnpBRyLpcS0CQTUA3AqLOBOFs8w8wwta8otOVu0DMnKuG+2ei0vDbfbII9nRIPKrYKirzc5NJvCCqt0uYFx9ZEKXjjHArmOSxTKP8eLa6sjnMpATmKlUjIn8F9MYWMY075L4Skpuh6YxghTNClRUkx/+D7MEIqQn61iGlkZ80hhNgQqvDdxJ5RDCGEN9PjKUHZMYQQ7qpTKVEZRgizRQ2R4YSUXBXiVfFDConKyMn/IkY0biMj0LHDcELiSjyMjqREZHwKQyREiVUNCLi1Ik5C90tD6GhSq5GI7NzfcZyEmj0Z5jawX4wLkYSmJbvHmbZpJ5WA9usPmG9cm8NpMWNkLAPV9KXgSXmtofucb08frGr1SqSmknt8586CqEp2HjkANCqXHa5VbRVNv8Ti8GrFQI0z6VswGCyYA3pGTCUT+2fLeRjBCmNtz0BLj9PsdMwa4/XWLzth5TqtLiHj5HB6Tr47/yyv6nXJcaqWAaSRjgBaLu86rjmwE1buFnFGRCUkRAmmGT58lm9ZbdbVmjgyPuAYGtZaRVeXwrFAkRIhV9eR/oUPaZlf+qFbPTN2CHcqDSA7Lyux63UBi8ex9Myj6CGDAf9laoKciOX+Y8dGswUlPmhOvOOtkaktM5ppjOw2b8k9W+bJKgXxhOzcn9/6c58yjmz7sOWvx+c4iydk5ET2QWz9y8sYndh+JDkvx7QKeAaxB/mVwvW7EVfvJXl9jmHhztUBhSUha/npA8EAuQHkvpps9LNBFifEukXsc/jg6cyuAZNjiZfyk7s2mDr493T8BDWIMW9uEEQ0AAAAAElFTkSuQmCC") center center no-repeat; + background-size: 60%; + animation: jump 2s infinite ease-in-out; + animation-direction: alternate; + } + .zy-loading-border { + @extend %loading; + border-radius: 50%; + // border: 4rpx solid transparent; + border-top: 2rpx solid $maincolor; + // border-right-color: $maincolor; + border-bottom: 2rpx solid $maincolor;; + animation: loading .5s infinite ease-in-out; + } + @keyframes loading { + from { + transform: rotateZ(0); + } + to { + transform: rotateZ(360deg); + } + } + @keyframes scale { + from { + transform: scale(1) + } + to { + transform: scale(1.2) + } + } + + @keyframes jump { + 0%{transform:translate(0)} + 10%{transform:translateY(5px) scaleX(1.2) scaleY(.8)} + 30%{transform:translateY(-13px) scaleX(1) scaleY(1) rotateZ(5deg)} + 50%{transform:translateY(0) scale(1) rotateZ(0)} + 55%{transform:translateY(0) scaleX(1.1) scaleY(.9) rotateZ(0)} + 70%{transform:translateY(-4px) scaleX(1) scaleY(1) rotateZ(-2deg)} + 80%{transform:translateY(0) scaleX(1) scaleY(1) rotateZ(0)} + 85%{transform:translateY(0) scaleX(1.05) scaleY(.95) rotateZ(0)} + 100%{transform:translateY(0) scaleX(1) scaleY(1)} + } +} \ No newline at end of file diff --git a/src/components/Loading/loading.vue b/src/components/Loading/loading.vue new file mode 100644 index 0000000..2830e66 --- /dev/null +++ b/src/components/Loading/loading.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/src/components/Modal/modal.scss b/src/components/Modal/modal.scss new file mode 100644 index 0000000..5c234bf --- /dev/null +++ b/src/components/Modal/modal.scss @@ -0,0 +1,113 @@ +@import '@/assets/bundle.scss'; + +.y-modal { + position: fixed; + z-index: 900; + left: 0; + top: 0; + width: 100vw; + height: 100vh; + background: rgba(black, .6); + animation: bounceInUp .8s ease-in-out; + + .y-modal-wrapper { + @extend %flex-center; + height: 80vh; + } +} + +.y-promopt { + @extend %bgwhite; + width: 600rpx; + padding: 40rpx; + border-radius: 10rpx; + box-shadow: 0 2rpx 4rpx rgba(black, .3); + border: 1rpx solid $maincolor; + @extend %ft30; + color: $text1; + box-sizing: border-box; + // .title { + // } + .textarea { + border: 1rpx solid $border1; + @extend %pd20; + @extend %ft30; + height: 150rpx; + border-radius: 10rpx; + margin: 40rpx 0 80rpx; + width: 100%; + box-sizing: border-box; + } + .btn-group { + @extend %flex-between; + } + .btn-cancel, .btn-confirm { + @extend %btn-base; + } + .btn-cancel { + margin-right: 20rpx; + background: $danger; + } +} + +.y-confirm-check { + @extend %ft32; + @extend %bgwhite; + border-radius: 6rpx; + width: 600rpx; + .title { + @extend %ft36; + padding: 32rpx 0 20rpx; + text-align: center; + } + .icon-text { + color: $text3; + @extend %flex-center; + // line-height: 0; + margin-top: 20rpx; + .ipt{ + margin-bottom: 5rpx; + border: 1rpx solid #cdcdcd; + border-radius: 10rpx; + } + } + .icon-check { + @extend %bg-no-repeat-center; + background-size: 60%; + width: 30rpx; + height: 30rpx; + border: 1rpx solid $border1; + border-radius: 50%; + margin-right: 10rpx; + } + .checked { + @extend %icon-checked-main; + border-color: $maincolor; + } + .body { + padding-bottom: 48rpx; + } + .text { + @extend %ft30; + color: $text3; + text-align: center; + } + .btn-group { + box-sizing: border-box; + border-top: 1rpx solid #eee; + @extend %flex-left; + } + .btn-cancel, .btn-confirm { + flex: 1; + @extend %ft36; + height: 100rpx; + @extend %flex-center; + } + .btn-cancel { + color: $text3; + border-right: 1rpx solid #eee; + } + .btn-confirm { + color: $maincolor; + } +} \ No newline at end of file diff --git a/src/components/Modal/modal.vue b/src/components/Modal/modal.vue new file mode 100644 index 0000000..d9cfc20 --- /dev/null +++ b/src/components/Modal/modal.vue @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/src/components/Modal/promopt.vue b/src/components/Modal/promopt.vue new file mode 100644 index 0000000..a15048b --- /dev/null +++ b/src/components/Modal/promopt.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/src/components/badge/badge.scss b/src/components/badge/badge.scss new file mode 100644 index 0000000..8c59354 --- /dev/null +++ b/src/components/badge/badge.scss @@ -0,0 +1,17 @@ +@import '@/assets/bundle.scss'; + +.y-badge { + position: relative; + .y-badge-dot { + position: absolute; + border-radius: 30rpx; + background-color: $danger; + right: 5rpx; + top: 5rpx; + font-size: 20rpx; + color: white; + padding: 6rpx; + min-width: 26rpx; + @extend %flex-center; + } +} \ No newline at end of file diff --git a/src/components/badge/badge.vue b/src/components/badge/badge.vue new file mode 100644 index 0000000..1c19ae8 --- /dev/null +++ b/src/components/badge/badge.vue @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/src/components/car-group/car-group.scss b/src/components/car-group/car-group.scss new file mode 100644 index 0000000..f4540c8 --- /dev/null +++ b/src/components/car-group/car-group.scss @@ -0,0 +1,91 @@ +@import '@/assets/bundle.scss'; + +.car-group { + overflow-y: auto; + margin: 20rpx auto; + background: #eee; + // width: 750rpx; + // box-sizing: border-box; + @extend %pdlr; + .car-item{ + background:#fff; + padding:0 20rpx; + overflow: hidden; + border-radius: 20rpx; + } + .store-info { + @extend %flex-between; + font-size: 28rpx; + color: $text1; + height: 100rpx; + border-bottom: 1rpx solid $border2; + // padding-left: 100rpx; + // border: 1rpx solid greenyellow; + background-color: #fff; + } + .circle{ + width: 30rpx; + height: 30rpx; + border-radius: 50%; + margin-right: 20rpx; + background-color:#eee; + } + // .waybillSLG{ + // border: 1rpx solid red; + // width: 150rpx; + // padding: 10rpx; + // white-space: nowrap; + // color: $maincolor; + // } + .icon-right-aw { + flex: none; + @extend %icon-aw-right-slim; + width: 30rpx; + background-position: right center; + background-repeat: no-repeat; + background-size: 30rpx; + } + .store-name { + flex: 1; + @extend %oneline; + } + .store-mobile { + flex: none; + } + .skuName-item{ + display:flex; + // width: 90vw; + // border:1rpx solid red; + } + .skuName-cell { + @extend %flex-left; + // border-bottom: 1rpx solid $border2; + + border: 1rpx solid #e2dfdf; + margin-bottom: 20rpx; + margin-top: 20rpx; + border-radius: 20rpx; + background-color: #fff; + padding: 10rpx; + // display: flex; + // width: 100vw; + } + .delButton{ + // height: 240rpx; + line-height: 140rpx; + background: #ff0000; + // border: 1rpx solid green; + color: #fff; + margin-top: 10rpx; + margin-left:30rpx; + font-size: 30rpx; + // width: 100rpx; + padding:10rpx 20rpx; + } + .flex-auto { + @extend %flex-auto; + } + // .skuName-item:last-child{ + // // margin-bottom: 194rpx; + // } +} \ No newline at end of file diff --git a/src/components/car-group/car-group.vue b/src/components/car-group/car-group.vue new file mode 100644 index 0000000..4c7ec71 --- /dev/null +++ b/src/components/car-group/car-group.vue @@ -0,0 +1,241 @@ + + + + + \ No newline at end of file diff --git a/src/components/checkItem/check-item.scss b/src/components/checkItem/check-item.scss new file mode 100644 index 0000000..75659f3 --- /dev/null +++ b/src/components/checkItem/check-item.scss @@ -0,0 +1,24 @@ +@import '@/assets/bundle.scss'; + +.y-check-box { + flex: none; + @extend %flex-left; + .check-cirle { + width: 50rpx; + height: 50rpx; + border-radius: 50%; + box-sizing: border-box; + border: 1rpx solid $border1; + margin-right: 20rpx; + } + .checked { + @extend %icon-checked; + background-color: $maincolor; + @extend %bg-no-repeat-center; + background-size: 52%; + } + .y-checkbox-text { + font-size: 32rpx; + color: $text1; + } +} \ No newline at end of file diff --git a/src/components/checkItem/check-item.vue b/src/components/checkItem/check-item.vue new file mode 100644 index 0000000..990325f --- /dev/null +++ b/src/components/checkItem/check-item.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/src/components/commonCmp/img-lazy/img-lazy.scss b/src/components/commonCmp/img-lazy/img-lazy.scss new file mode 100644 index 0000000..946a6e9 --- /dev/null +++ b/src/components/commonCmp/img-lazy/img-lazy.scss @@ -0,0 +1,31 @@ +@import '@/assets/bundle.scss'; + +.img-lazy-load { + position: relative; + width: 100%; + height: 100%; + .img-thumb, .img-origin { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: blur(1vw); + object-fit: fill; + } + .img-origin { + animation: fadeIn .2s; + animation-fill-mode: both; + } +} + +@keyframes fadeIn { + from { + filter: blur(1vw); + // transform: scale(1.05); + } + to { + filter: blur(0); + // transform: scale(1); + } +} \ No newline at end of file diff --git a/src/components/commonCmp/img-lazy/img-lazy.vue b/src/components/commonCmp/img-lazy/img-lazy.vue new file mode 100644 index 0000000..be648dd --- /dev/null +++ b/src/components/commonCmp/img-lazy/img-lazy.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/src/components/commonCmp/list-none.scss b/src/components/commonCmp/list-none.scss new file mode 100644 index 0000000..3bc0a6b --- /dev/null +++ b/src/components/commonCmp/list-none.scss @@ -0,0 +1,29 @@ +@import '@/assets/bundle.scss'; + +.cmp-list-none { + @extend %flex-center; + flex-flow: column; + .list-none-img { + width: 300rpx; + height: 300rpx; + @extend %bg-no-repeat-center; + @extend %bg-size-100; + } + .img-noGoods { + @extend %img-noGoods; + } + .img-noOrders { + @extend %img-noOrders; + } + .img-noShopCar { + @extend %img-noShopCar; + } + .img-noPosition { + @extend %icon-no-position; + } + .list-none-msg { + font-size: 32rpx; + color: $text3; + padding-top: 30rpx; + } +} diff --git a/src/components/commonCmp/list-none.vue b/src/components/commonCmp/list-none.vue new file mode 100644 index 0000000..0c082ae --- /dev/null +++ b/src/components/commonCmp/list-none.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/components/commonCmp/search-input/search-input.scss b/src/components/commonCmp/search-input/search-input.scss new file mode 100644 index 0000000..67fea04 --- /dev/null +++ b/src/components/commonCmp/search-input/search-input.scss @@ -0,0 +1,53 @@ +@import '@/assets/bundle.scss'; + +.cmp-search-input { + @extend %flex-center; + .input-wrapper { + // position: relative; + flex: 1; + background-color: $bginput; + // padding: 10rpx; + box-sizing: border-box; + border-radius: 50rpx; + @extend %flex-center; + height: 60rpx; + } + .input { + flex: auto; + color: $inputtext; + width: 100%; + font-size: 30rpx; + padding: 10rpx; + } + .input-placeholder { + color: $inputplaceholder; + } + .icon-search, .icon-delete { + flex: none; + // position: absolute; + top: 50%; + // transform: translateY(-50%); + width: 50rpx; + height: 50rpx; + @extend %bg-no-repeat-center; + background-size: 30rpx; + z-index: 10; + } + .icon-search { + left: 10rpx; + @extend %icon-search; + } + .icon-delete { + right: 10rpx; + @extend %icon-delete; + } + .btn-search { + font-size: 30rpx; + margin-left:20rpx; + color: #fff; + border-radius: 70rpx; + padding: 10rpx 20rpx; + background-color: rgb(129, 190, 78); + text-align: center; + } +} \ No newline at end of file diff --git a/src/components/commonCmp/search-input/search-input.vue b/src/components/commonCmp/search-input/search-input.vue new file mode 100644 index 0000000..d8822da --- /dev/null +++ b/src/components/commonCmp/search-input/search-input.vue @@ -0,0 +1,67 @@ + + + + + \ No newline at end of file diff --git a/src/components/goodCmp/Search/search-btn.vue b/src/components/goodCmp/Search/search-btn.vue new file mode 100644 index 0000000..da3dcd6 --- /dev/null +++ b/src/components/goodCmp/Search/search-btn.vue @@ -0,0 +1,38 @@ + + + + + \ No newline at end of file diff --git a/src/components/goodCmp/Search/search.scss b/src/components/goodCmp/Search/search.scss new file mode 100644 index 0000000..537b8ab --- /dev/null +++ b/src/components/goodCmp/Search/search.scss @@ -0,0 +1,30 @@ +@import '@/assets/bundle.scss'; + +.zy-search-btn { + height: 70rpx; + @extend %flex-center; + font-size: 30rpx; + border-radius: 70rpx; + .icon { + // 放大镜 + @include svg_icon(search, a8a8a8); + @extend %bg-no-repeat-center; + @extend %bg-size-100; + width: 36rpx; + height: 36rpx; + margin-right: 10rpx; + margin-left:10rpx; + } +} +.showBtn{ + display: flex; + justify-content: space-between; +} +.searchBtn{ + // 搜索按钮 + padding:10rpx 20rpx; + border-radius: 25rpx; + margin-right: 10rpx; + background: rgb(129, 190, 78); + color:#fff; +} \ No newline at end of file diff --git a/src/components/goodCmp/good-cell-index/good-cell-big.scss b/src/components/goodCmp/good-cell-index/good-cell-big.scss new file mode 100644 index 0000000..ff1765b --- /dev/null +++ b/src/components/goodCmp/good-cell-index/good-cell-big.scss @@ -0,0 +1,120 @@ +@import '@/assets/bundle.scss'; + +.good-cell-big { + @extend %pd20; + @extend %bgwhite; + box-sizing: border-box; + box-shadow: 0 0 4rpx rgba($border1, 1); + border-radius: 10rpx; + .good-img { + width: 300rpx; + height: 300rpx; + .good-img-size{ + width: 100%; + height: 100%; + } + } + .good-name { + font-size: 28rpx; + margin-top: 20rpx; + color: $text1; + height: 4em; + overflow: hidden; + text-align: justify; + line-height: 1.2; + + } + .good-price { + display: flex; + align-items: center; + justify-content: space-between; + } + .btn-wait{ + flex: 1; + text-align: right; + } + .btn-self{ + color: #fff; + background-color: rgba(78, 179, 49, 0.6); + } + .countTime-wrap{ + height: 17rpx; + width: 100%; + margin-bottom: 5rpx; + } + .countTime{ + color: #E6A23C; + font-size: 26rpx; + } + .stock-and-waitPirce{ + display: flex; + } + .price { + display: flex; + align-items: baseline; + .unit{ + font-size:28rpx; + color:$strong; + } + } + .ori-price { + font-size: 20rpx; + color: $gray; + margin-left: 10rpx; + text-decoration: line-through; + &:before { + content: "¥"; + } + } + .act-type-wrapper { + height: 20rpx; + overflow: hidden; + } + .act-type { + @extend %act-type-text; + } + .check-detail{ + font-size:28rpx; + color:rgba(78, 179, 49, 0.6); + } + .handle-shopcar { + margin-top: 20rpx; + height: 50rpx; + } + .add-cart{ + height: 60rpx; + line-height: 60rpx; + font-size:30rpx; + background:#81be4e; + color:#fff; + text-align:center; + border-radius:20rpx; + margin-top:10rpx; + } +} +// #ifdef MP-KUAISHOU +.viewDetail{ + // border:1px solid red; + text-align: center; + background: rgba(78, 179, 49, 0.8); + border-radius: 20rpx; + height: 50rpx; + line-height: 50rpx; + color:#fff; +} +// #endif + + +// .good-cell-big{ +// box-sizing: border-box; +// box-shadow: 0 0 4rpx rgba($border1, 1); +// border-radius: 10rpx; +// .good-img { +// width: 300rpx; +// height: 300rpx; +// img { +// width: 100%; +// height: 100%; +// } +// } +// } \ No newline at end of file diff --git a/src/components/goodCmp/good-cell-index/good-cell-big.vue b/src/components/goodCmp/good-cell-index/good-cell-big.vue new file mode 100644 index 0000000..3183a03 --- /dev/null +++ b/src/components/goodCmp/good-cell-index/good-cell-big.vue @@ -0,0 +1,221 @@ + + + + + \ No newline at end of file diff --git a/src/components/goodCmp/good-cell/good-cell.scss b/src/components/goodCmp/good-cell/good-cell.scss new file mode 100644 index 0000000..cfc6ced --- /dev/null +++ b/src/components/goodCmp/good-cell/good-cell.scss @@ -0,0 +1,129 @@ +@import '@/assets/bundle.scss'; + +.good-cell { + // @extend %pd20; + padding: 30rpx 0; + display: flex; + // border-bottom: 1rpx solid $border4; + border-bottom: 1rpx solid #dadada; + .good-img { + flex: none; + width: 150rpx; + height: 150rpx; + .good-img-size{ + width: 100%; + height: 100%; + } + // img { + // width: 100%; + // height: 100%; + // } + } + .good-info { + flex: auto; + margin-left: 20rpx; + } + .lookDetail{ + height: 60rpx; + line-height: 60rpx; + font-size:30rpx; + background:#81be4e; + color:#fff; + text-align:center; + border-radius:20rpx; + margin-top:10rpx; + } + .good-name { + font-size: 30rpx; + font-weight: 400; + color: $text1; + min-height: 80rpx; + line-height: 1.1; + } + .btn-wait{ + flex: 1; + } + .btn-self{ + color: #fff; + background-color: rgba(78, 179, 49, 0.6); + } + .countTime-wrap{ + height: 17px; + width: 100%; + margin-bottom: 5rpx; + } + .countTime{ + color: #E6A23C; + font-size: 26rpx; + } + .stock-and-waitPirce{ + display: flex; + } + .act-type-wrapper { + height: 20rpx; + overflow: hidden; + } + .act-type { + @extend %act-type-text; + } + .good-price { + @extend %flex-between; + flex-wrap: wrap; + } + .price { + display: flex; + align-items: baseline; + } + .cur-price { + font-size: 32rpx; + color: $strong; + font-weight: 700;; + &:before { + content: "¥"; + font-size: 24rpx; + } + } + .ori-price { + font-size: 20rpx; + color: $gray; + margin-left: 10rpx; + text-decoration: line-through; + &:before { + content: "¥"; + } + } + .handle-shopcar { + flex: none; + // background: red; + margin-left: auto; + height: 60rpx; + @extend %flex-center; + } + .cart-act-count { + font-size: 24rpx; + color: $text2; + display: flex; + flex-flow: column; + align-items: flex-end; + line-height: 1; + .act-count-show { + width: 220rpx; + @extend %flex-between; + } + } + .add-cart{ + width: 200rpx; + height: 60rpx; + line-height: 60rpx; + font-size:30rpx; + background:#81be4e; + color:#fff; + text-align:center; + border-radius:20rpx; + // border:1rpx solid red; + } +} + +.no-border{ + border-bottom: 1rpx solid #fff !important; +} \ No newline at end of file diff --git a/src/components/goodCmp/good-cell/good-cell.vue b/src/components/goodCmp/good-cell/good-cell.vue new file mode 100644 index 0000000..23769b6 --- /dev/null +++ b/src/components/goodCmp/good-cell/good-cell.vue @@ -0,0 +1,334 @@ + + + + + diff --git a/src/components/goodCmp/good-price/good-price.scss b/src/components/goodCmp/good-price/good-price.scss new file mode 100644 index 0000000..876620b --- /dev/null +++ b/src/components/goodCmp/good-price/good-price.scss @@ -0,0 +1,20 @@ +@import '@/assets/bundle.scss'; + +.good-price { + font-size: 32rpx; + color: $strong; + font-weight: 500; + // &:before { + // content: "¥"; + // font-size: 28rpx; + // } + + &-font{ + font-size: 38rpx; + &:after{ + // content: "."; + font-size: 28rpx; + padding:0 5rpx; + } + } +} \ No newline at end of file diff --git a/src/components/goodCmp/good-price/good-price.vue b/src/components/goodCmp/good-price/good-price.vue new file mode 100644 index 0000000..ef1fcb0 --- /dev/null +++ b/src/components/goodCmp/good-price/good-price.vue @@ -0,0 +1,31 @@ + + + + + \ No newline at end of file diff --git a/src/components/goodCmp/leftCats/left-cats.scss b/src/components/goodCmp/leftCats/left-cats.scss new file mode 100644 index 0000000..88aed6e --- /dev/null +++ b/src/components/goodCmp/leftCats/left-cats.scss @@ -0,0 +1,33 @@ +@import '@/assets/bundle.scss'; + +.left-cats { + // height: calc(100vh - 90rpx); + /* #ifndef H5 */ + height: calc(100vh - 90rpx); + /* #endif */ + /* #ifdef H5 */ + height: calc(100vh - 270rpx); + /* #endif */ + .cats-item { + height: 110rpx; + font-size: 28rpx; + color: #666; + @extend %flex-center; + box-sizing: border-box; + } + + .cat-name { + border-left: 6rpx solid transparent; + flex: 1; + height: 60rpx; + @extend %flex-center; + } + + .active { + background: white; + color: $maincolor; + .cat-name { + border-left-color: $maincolor; + } + } +} \ No newline at end of file diff --git a/src/components/goodCmp/leftCats/left-cats.vue b/src/components/goodCmp/leftCats/left-cats.vue new file mode 100644 index 0000000..8346ffd --- /dev/null +++ b/src/components/goodCmp/leftCats/left-cats.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/src/components/goodCmp/plus-minus/plus-minus.scss b/src/components/goodCmp/plus-minus/plus-minus.scss new file mode 100644 index 0000000..373f108 --- /dev/null +++ b/src/components/goodCmp/plus-minus/plus-minus.scss @@ -0,0 +1,70 @@ +@import '@/assets/bundle.scss'; + +.cmp-minus-plus, .cmp-minus-plus2 { + @extend %flex-center; + .minus-plus-wrapper { + @extend %flex-center; + } + .btn-minus, .btn-plus { + flex: none; + @extend %bg-no-repeat-center; + @extend %bgwhite; + background-size: 24rpx; + width: 60rpx; + height: 60rpx; + border-radius: 50%; + border: 1rpx solid $border1; + position: relative; + z-index: 1; + padding: 0; + box-sizing: content-box; + } + .btn-minus { + @extend %icon-minus; + } + .btn-plus { + @extend %icon-plus; + } + .count { + flex: none; + color: $text1; + font-size: 34rpx; + width: 70rpx; + text-align: center; + margin: 0 10rpx; + color: $text2; + } + .input-count { + // background :red; + color: $text2; + font-size: 34rpx; + } + // .type-shopCar { + // background: $border1; + // border-radius: 10rpx; + // margin: 0 10rpx; + // } + .cannot-buy { + color: $text3; + font-size: 28rpx; + } +} + +.cmp-minus-plus2 { + .disabled { + opacity: .2; + } +} + +.add-cart{ + // padding:0 20rpx; + // width: calc(100%-125px); + width: 100vw; + height: 64rpx; + line-height: 64rpx; + font-size:30rpx; + background:#81be4e; + color:#fff; + text-align:center; + border-radius:20rpx; +} \ No newline at end of file diff --git a/src/components/goodCmp/plus-minus/plus-minus.vue b/src/components/goodCmp/plus-minus/plus-minus.vue new file mode 100644 index 0000000..dfb7dd2 --- /dev/null +++ b/src/components/goodCmp/plus-minus/plus-minus.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/src/components/goodCmp/topCats/top-cats.scss b/src/components/goodCmp/topCats/top-cats.scss new file mode 100644 index 0000000..a4494e6 --- /dev/null +++ b/src/components/goodCmp/topCats/top-cats.scss @@ -0,0 +1,58 @@ +@import '@/assets/bundle.scss'; + +// 顶部二级菜单 +.top-cats { + display: flex; + align-items: center; + position: relative; + // 遮罩 + &:after { + content: ""; + display: block; + position: absolute; + background: linear-gradient(to left, white, rgba(white, 0)); + right: 15%; + width: 80rpx; + height: 100%; + } + .scroll-x { + // white-space: nowrap; + width: 85%; + // background: red; + + .scroll-area { + display: flex; + align-items: center; + } + .scroll-item { + // display: inline-block; + flex: none; + font-size: 28rpx; + padding: 20rpx; + } + .scroll-item-placeholder { + flex: none; + width: 80rpx; + height: 50rpx; + } + .cat-active { + color: $maincolor; + border: 1rpx solid $maincolor; + padding: 4rpx 10rpx; + background: rgb(234, 240, 227); + border-radius: 10rpx; + } + } + .btn-up-down { + width: 15%; + height: 79rpx; + @include svg_icon(arraw-up, 9a9a9a); + background-size: 20rpx; + @extend %bg-no-repeat-center; + transform: rotateX(180deg); + transition: all .5s; + } + .arrow-active { + transform: rotateX(0); + } +} \ No newline at end of file diff --git a/src/components/goodCmp/topCats/top-cats.vue b/src/components/goodCmp/topCats/top-cats.vue new file mode 100644 index 0000000..27f0591 --- /dev/null +++ b/src/components/goodCmp/topCats/top-cats.vue @@ -0,0 +1,77 @@ + + + + + \ No newline at end of file diff --git a/src/components/goodCmp/topCatsWall/top-cats-wall.scss b/src/components/goodCmp/topCatsWall/top-cats-wall.scss new file mode 100644 index 0000000..1e5249e --- /dev/null +++ b/src/components/goodCmp/topCatsWall/top-cats-wall.scss @@ -0,0 +1,23 @@ +@import '@/assets/bundle.scss'; + +.top-cats-wall { + background: white; + font-size: 28rpx; + display: flex; + flex-flow: row wrap; + padding: 20rpx 0 40rpx; + .wall-item { + width: 30%; + // margin-left: (10% / 5); + margin-top: 4%; + box-sizing: border-box; + border: 2rpx solid #ddd; + height: 50rpx; + @extend %flex-center; + border-radius: 30rpx; + } + .active { + border-color: $maincolor; + background: rgba($maincolor, .2); + } +} \ No newline at end of file diff --git a/src/components/goodCmp/topCatsWall/top-cats-wall.vue b/src/components/goodCmp/topCatsWall/top-cats-wall.vue new file mode 100644 index 0000000..81f1353 --- /dev/null +++ b/src/components/goodCmp/topCatsWall/top-cats-wall.vue @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git a/src/components/jxEmpty/index.vue b/src/components/jxEmpty/index.vue new file mode 100644 index 0000000..86b72e9 --- /dev/null +++ b/src/components/jxEmpty/index.vue @@ -0,0 +1,65 @@ + + + + + \ No newline at end of file diff --git a/src/components/layout/left-right-cell.scss b/src/components/layout/left-right-cell.scss new file mode 100644 index 0000000..6e6e5a4 --- /dev/null +++ b/src/components/layout/left-right-cell.scss @@ -0,0 +1,32 @@ +@import '@/assets/bundle.scss'; + +.left-right-cell { + // width: 100vw; + @extend %flex-between; + @extend %pdlr; + min-height: 100rpx; + box-sizing: border-box; + font-size: 32rpx; + @extend %bgwhite; + .left, .right { + color: $text1; + } + .left { + flex: none; + margin-right: 20rpx; + } + .right { + @extend %flex-right; + flex: auto; + @extend %oneline; + .icon-right-aw { + flex: none; + @extend %icon-aw-right-slim; + width: 50rpx; + height: 30rpx; + background-position: right center; + background-repeat: no-repeat; + background-size: 30rpx; + } + } +} diff --git a/src/components/layout/left-right-cell.vue b/src/components/layout/left-right-cell.vue new file mode 100644 index 0000000..2e8cd5f --- /dev/null +++ b/src/components/layout/left-right-cell.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/components/material-info/index.vue b/src/components/material-info/index.vue new file mode 100644 index 0000000..719d182 --- /dev/null +++ b/src/components/material-info/index.vue @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/src/components/material-info/material-info.scss b/src/components/material-info/material-info.scss new file mode 100644 index 0000000..7b0a9ff --- /dev/null +++ b/src/components/material-info/material-info.scss @@ -0,0 +1,11 @@ +@import '@/assets/bundle.scss'; + +.material-info { + font-size: 30rpx; + color: $text2; + text-align: center; + .danger { + color: $danger; + font-weight: 500; + } +} \ No newline at end of file diff --git a/src/components/nearlyStoreCom/index.scss b/src/components/nearlyStoreCom/index.scss new file mode 100644 index 0000000..96ade36 --- /dev/null +++ b/src/components/nearlyStoreCom/index.scss @@ -0,0 +1,188 @@ +@import '@/assets/bundle.scss'; + +.nearlyStores{ + margin-top:20rpx; + background:#fff; + border-radius:10rpx; + padding:10rpx; + + // border: 1rpx solid red; + box-shadow: 0rpx 2rpx 10rpx rgb(207, 207, 207); +} + +.storeInfo{ + display:flex; + font-size:30rpx; + position:relative; +} + +.storeImg{ + width:120rpx; + height:120rpx; +} + +.storeStatus{ + position:absolute; + // top:80rpx; + bottom: 0; + left:0; + width:120rpx; + text-align:center; + background:rgba(0,0,0,0.5); + color:#fff; +} + +.storeRight{ + margin-left:20rpx; +} + +.storeName{ + display:flex; + font-weight:bold; + margin-bottom:4rpx; +} + +.storeTime,.storeTime1,.storeTime2{ + font-size: 24rpx; +} + +.storeTime2{ + margin-left:20rpx; +} + +.storeRate{ + display:flex !important; + font-size: 24rpx; + margin-top:6rpx +} + +.fullReduce{ + display:flex; + margin-bottom:20rpx; + justify-content:space-between; + font-size: 24rpx; + width:566rpx; + margin-top:6rpx; + + &Fee{ + border:1rpx solid #f16a6a; + text-align:center; + border-radius:10rpx; + padding:6rpx; + // background: #fff; + color: #f16a6a; + } +} + +.storeGood{ + // border: 1rpx solid red; + display:flex; + // margin-left:142rpx; + margin-left:20rpx; + overflow:hidden; + overflow-x:auto; + width:98%; + white-space:nowrap; + + &Item:not(:last-child){ + margin-right:20rpx; + // width: 100%; + } + + // .storeGood:not(:last-child){ + // // margin-left: 0; + // border: 1rpx solid red; + // } + + &Img{ + width:146rpx; + height:146rpx; + } + + &Name{ + width:120rpx; + white-space:nowrap; + overflow:hidden; + text-overflow:ellipsis; + font-size:24rpx; + } + + &Price{ + color:#ff0000; + font-size:24rpx; + } + + &Price::before{ + content: '¥'; + font-size:20rpx; + } + + &More{ + // border: 1rpx solid green; + // position: relative; + // right: 0; + position:sticky; + right:0; + writing-mode:vertical-lr; + text-align:center; + background:rgba(132, 132, 132, 0.5); + color:#fff; + padding:0 12rpx; + } +} + +.top-title_near ,.top-title{ + background: #fff; + padding: 20rpx 0; + border-radius: 10rpx; + line-height: 1; + box-shadow: 5rpx 5rpx 4rpx rgba(194, 193, 192, 0.2); + } + .top-title{ + @extend %flex-left; + } + + .top-title_near{ + display: flex; + justify-content: space-between !important; + } + + .icon-border { + width: 6rpx; + background-color: $maincolor; + height: 30rpx; + margin-right: 10rpx; + } + .title { + font-weight: bold; + color: $text1; + font-size: 36rpx; + } + + .ranking_left,.ranking_right{ + display:flex; + border:0 + } + + .operationRaking,.optimalScore,.nearlyDistance{ + padding:4px 10px; + font-size:28rpx; + } + + .active_status{ + border-bottom:2rpx solid #4EB331; + color:#4EB331; + font-weight: bold; + } + + .top-goods-list { + display: flex; + box-sizing: border-box; + flex-flow: row wrap; + justify-content: space-between; + .goods-item { + margin-top: 20rpx; + width: 345rpx; + flex: none ; + } + } \ No newline at end of file diff --git a/src/components/nearlyStoreCom/index.vue b/src/components/nearlyStoreCom/index.vue new file mode 100644 index 0000000..f17058a --- /dev/null +++ b/src/components/nearlyStoreCom/index.vue @@ -0,0 +1,198 @@ + + + + + \ No newline at end of file diff --git a/src/components/shopCarIcon/index.scss b/src/components/shopCarIcon/index.scss new file mode 100644 index 0000000..6713c75 --- /dev/null +++ b/src/components/shopCarIcon/index.scss @@ -0,0 +1,59 @@ +@import '@/assets/bundle.scss'; +.btn-toShopCar-new { + // position: fixed; + // left: 40rpx; + // bottom: 100rpx; + background-color: rgba(black, .6); + width: 120rpx; + height: 120rpx; + border-radius: 50%; + z-index: 10; + @extend %flex-center; + } + .icon-shopcar { + @extend %icon-shopcar-white; + @extend %bg-no-repeat-center; + width: 100rpx; + height: 100rpx; + background-size: 50rpx; + border-radius: 50%; + } + .fixed-box { + pointer-events: none; // 这里是重点,盒子可穿透操作 + width: 100vw; + height: 90vh; + position: fixed; + top: 100rpx; + left: 0; + z-index: 100000; + } + .fixed-button { + opacity: 1; + // background: #ccc; + border-radius: 100%; + pointer-events: auto; + // width: max-content; + // height: auto; + width: 120rpx; + height: 120rpx; + overflow: hidden; + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; + left: 20rpx; + top: 85vh; + .imger{ + width: 52px; + height: 52px; + overflow: none; + } + } + + /* 适配iphonex 有底部横条的 */ + @supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)) { + .fixed-box { + bottom: constant(safe-area-inset-bottom); + bottom: env(safe-area-inset-bottom); + } + } \ No newline at end of file diff --git a/src/components/shopCarIcon/index.vue b/src/components/shopCarIcon/index.vue new file mode 100644 index 0000000..b0944d4 --- /dev/null +++ b/src/components/shopCarIcon/index.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/src/components/waterfall/index.scss b/src/components/waterfall/index.scss new file mode 100644 index 0000000..39fcdea --- /dev/null +++ b/src/components/waterfall/index.scss @@ -0,0 +1,121 @@ +@import "@/assets/bundle.scss"; + +.waterfalls-flow { + overflow: hidden; + padding: 10rpx; + /* #ifdef MP-ALIPAY */ + background-color: #f4f4f4; + /* #endif */ + &-column { + float: left; + } +} + +.column-value { + width: 100%; + font-size: 0; + overflow: hidden; + transition: opacity .4s; + opacity: 0; + border:1rpx solid #e6e1e1; + // box-shadow: 1rpx 1rpx 1rpx 1rpx #8c8c8c; + padding: 20rpx; + box-sizing: border-box; + &-show { + opacity: 1; + } + + .inner { + font-size: 30rpx; + } + + .img { + width: 100%; + + &-hide { + display: none; + } + + &-error { + background: #f2f2f2 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAiAQMAAAAatXkPAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAAIZJREFUCNdlzjEKwkAUBNAfEGyCuYBkLyLuxRYW2SKlV1JSeA2tUiZg4YrLjv9PGsHqNTPMSAQuyAJgRDHSyvBPwtZoSJXakeJI9iuRLGDygdl6V0yKDtyMAeMPZySj8yfD+UapvRPj2JOwkyAooSV5IwdDjPdCPspe8LyTl9IKJvDETKKRv6vnlUasgg0fAAAAAElFTkSuQmCC) no-repeat center center; + } + } + + .good-name { + font-size: 28rpx; + margin-top: 20rpx; + color: #333; + overflow: hidden; + text-align: justify; + line-height: 1.2; + margin-bottom: 10rpx; + } + + .good-price { + // border:1rpx solid red; + display: flex; + align-items: center; + justify-content: space-between; + margin:10rpx 0; + font-weight: 500; + color: $strong; + } + + .price { + display: flex; + align-items: baseline; + + .price-text{ + font-size: 28rpx; + } + + .price-text::before{ + content: "¥"; + font-size: 28rpx; + } + + .unit{ + font-size:28rpx; + } + } + + .ori-price { + font-size: 20rpx; + color: $gray; + margin-left: 10rpx; + text-decoration: line-through; + &:before { + content: "¥"; + } + } + + .act-type-wrapper { + height: 20rpx; + overflow: hidden; + } + + .act-type { + @extend %act-type-text; + } + + .countTime-wrap{ + height: 17rpx; + width: 100%; + margin-bottom: 5rpx; + } + + .countTime{ + color: #E6A23C; + font-size: 26rpx; + } + + .priceStyle{ + color: rgb(149, 209,131); + font-size: 25rpx; + margin-bottom:10rpx; + } + + .priceColor{ + color:$strong; + } +} \ No newline at end of file diff --git a/src/components/waterfall/index.vue b/src/components/waterfall/index.vue new file mode 100644 index 0000000..e9e6620 --- /dev/null +++ b/src/components/waterfall/index.vue @@ -0,0 +1,404 @@ + + + + + diff --git a/src/config.js b/src/config.js new file mode 100644 index 0000000..2ca4ef6 --- /dev/null +++ b/src/config.js @@ -0,0 +1,66 @@ +import { store } from '@/store' +// +// https://192.168.0.22/ +export const reqUrlPrefix = { + // c4: process.env.NODE_ENV === 'development' ? 'https://192.168.0.15:8080/' : 'https://192.168.0.15:8080/', + // c4: process.env.NODE_ENV === 'development' ? 'http://192.168.0.16:8080/' : 'http://192.168.0.16:8080/', + c4: process.env.NODE_ENV === 'development' ? 'https://wx.jxc4.com/' : 'https://wx.jxc4.com/', + // c4: process.env.NODE_ENV === 'development' ? 'http://www-jxgy.jxc4.com/' : 'http://www-jxgy.jxc4.com/', + // c4: process.env.NODE_ENV === 'development' ? 'http://beta.jxc4.com/' : 'http://beta.jxc4.com/', + gy: 'https://wx-jxgy.jxc4.com/' +} + +// 请求地址 userstore +// export const url = store.getters['indexPage/storeType'] === 'c4' ? 'https://wx.jxc4.com/' : 'https://wx-jxgy.jxc4.com/' + +// debug +export const debug = false +export const debugPosition = false +// 果园 +// export const isGY = url.indexOf('jxgy') >= 0 +// beta +// export const beta = url.indexOf('beta') >= 0 + +// debug 门店 +export const debugData = { + storeID: [100118, 102919], + token: 'TOKEN.V2.9E6F5695B84311EAB93D525400E86DC0.20210604-155053.alipaycode.969E97C2C50911EBA4EB525400E86DC0.[18980410281]', + lat: 30.69015, + lng: 104.05293, + city: '成都市' +} + +export const msgData = { + delGoods: '你确定删除此商品吗?', + moreThan999: '超过限制数量', + searOneGoodErr: '没有相关商品', + clearAllShopCar: '清空购物车中所有商品', + noOpenPosition: '检测到您未打开地理位置权限,是否前往开启', + delWaybillAddress: '确认要删除地址', + noWaybillAddress: '请选择收货地址', + noCheckGoods: '没有选择下单商品', + needAuth: '需要同意授权才能继续', + buyActGood: '已超限购,将按原价购买', + storeIsClose: '门店休息中' +} + +export const afsOrderReasons = ['部分商品未收到', '商品质量问题/做工粗糙/有瑕疵', '发错货', '外表损伤(压坏、磕坏等)', '缺斤少两', '大小尺寸与商品描述不符', '颜色/款式/图案与描述不符', '误购', '未在时效内送达', '与商家协商一致'] + +// 腾讯地图key +export const txMapKey = '4SNBZ-TBDHO-X6KW2-STWJO-WDUSO-HJBEB' +// 高德地图key +export const gdMapKey = '56d9fe55b7db37bb1eab89a35d57e482' + +// 支付相关 +export const businessName = '1390686702' // 商户号 +export const businessKey = 'XKJPOIHJ233adf01KJIXlIeQDSDKFJAD' // 商户秘钥 + +// 活动类型 + +export const actTypeArr = [] +actTypeArr[0] = '' +actTypeArr[3] = '直降' +actTypeArr[4] = '秒杀' +actTypeArr[5] = '折扣' + +export const JXCateroy = [{ "id": 175, "createdAt": "2019-04-15T18:02:41+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 175, "name": "赠品专区", "storeCategorySeq": 0, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 675, "createdAt": "2021-10-16T00:35:19+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 675, "name": "当季热销", "storeCategorySeq": 1, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 5, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-03-15T10:51:28+08:00", "lastOperator": "uponisland", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 5, "name": "踏青烧烤季", "storeCategorySeq": 2, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 1, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 1, "name": "时令鲜蔬", "storeCategorySeq": 3, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 2, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 2, "name": "大肉家禽", "storeCategorySeq": 4, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 4, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 4, "name": "新鲜水果", "storeCategorySeq": 5, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 3, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 3, "name": "优质蛋品", "storeCategorySeq": 6, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 10, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 10, "name": "组合食材", "storeCategorySeq": 7, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 399, "createdAt": "2020-07-15T18:11:16+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 399, "name": "豆制品", "storeCategorySeq": 8, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 9, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 9, "name": "日配冷藏", "storeCategorySeq": 9, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 15, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 15, "name": "粮油副食", "storeCategorySeq": 10, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 8, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 8, "name": "海鲜河产", "storeCategorySeq": 11, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 441, "createdAt": "2021-01-21T17:33:09+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 441, "name": "酒水饮料", "storeCategorySeq": 12, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 17, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 17, "name": "休闲食品", "storeCategorySeq": 13, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 11, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 11, "name": "烘焙熟食", "storeCategorySeq": 14, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 451, "createdAt": "2021-01-25T21:38:36+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 451, "name": "母婴呵护", "storeCategorySeq": 15, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 459, "createdAt": "2021-01-25T21:57:25+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 459, "name": "宠物生活", "storeCategorySeq": 16, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 498, "createdAt": "2021-01-25T23:36:00+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 498, "name": "纸品清洁", "storeCategorySeq": 17, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 475, "createdAt": "2021-01-25T22:36:44+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 475, "name": "文体玩具", "storeCategorySeq": 18, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 479, "createdAt": "2021-01-25T22:43:42+08:00", "updatedAt": "2023-02-07T10:39:56+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 479, "name": "服饰家纺", "storeCategorySeq": 19, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 487, "createdAt": "2021-01-25T22:55:58+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 487, "name": "日用百货", "storeCategorySeq": 20, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 486, "createdAt": "2021-01-25T22:55:09+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 486, "name": "数码家电", "storeCategorySeq": 21, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 488, "createdAt": "2021-01-25T22:58:05+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 488, "name": "鲜花礼品", "storeCategorySeq": 22, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 467, "createdAt": "2021-01-25T22:12:48+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 467, "name": "个护美妆", "storeCategorySeq": 23, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 592, "createdAt": "2021-03-11T16:03:13+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 592, "name": "安全避孕", "storeCategorySeq": 24, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 648, "createdAt": "2021-03-25T15:00:32+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 648, "name": "进口商品", "storeCategorySeq": 25, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 656, "createdAt": "2021-03-25T15:24:52+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 656, "name": "外带美食", "storeCategorySeq": 26, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 291, "createdAt": "2020-04-01T16:20:34+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 291, "name": "暂无分类勿删", "storeCategorySeq": 27, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 290, "createdAt": "2020-03-17T13:50:35+08:00", "updatedAt": "2023-02-07T10:39:57+08:00", "lastOperator": "Tlp1111", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 290, "name": "物料", "storeCategorySeq": 28, "level": 1, "parentID": 0, "isHidden": 1 }, { "id": 20, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:38:36+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 20, "name": "新鲜猪肉", "storeCategorySeq": 0, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 21, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:42:51+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 21, "name": "苹果类", "storeCategorySeq": 0, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 42, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:44:38+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 42, "name": "坚果炒货", "storeCategorySeq": 0, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 66, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:55:32+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 66, "name": "酱卤食品", "storeCategorySeq": 0, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 69, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:59:16+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 69, "name": "常温奶制品", "storeCategorySeq": 0, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 78, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-04T16:19:14+08:00", "lastOperator": "18744776542", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 78, "name": "盐糖调味酱", "storeCategorySeq": 0, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 593, "createdAt": "2021-03-11T16:15:55+08:00", "updatedAt": "2021-03-17T11:57:21+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 593, "name": "避孕套", "storeCategorySeq": 0, "level": 2, "parentID": 592, "isHidden": 1 }, { "id": 365, "createdAt": "2020-05-06T10:58:53+08:00", "updatedAt": "2022-11-02T18:52:20+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 365, "name": "荤素净菜", "storeCategorySeq": 0, "level": 2, "parentID": 10, "isHidden": 1 }, { "id": 637, "createdAt": "2021-03-18T21:35:53+08:00", "updatedAt": "2022-11-18T13:59:03+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 637, "name": "面部护理", "storeCategorySeq": 0, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 638, "createdAt": "2021-03-18T21:42:45+08:00", "updatedAt": "2022-11-08T14:38:58+08:00", "lastOperator": "18981810340", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 638, "name": "一次性用品", "storeCategorySeq": 0, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 649, "createdAt": "2021-03-25T15:01:47+08:00", "updatedAt": "2022-11-18T14:03:55+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 649, "name": "乳制品", "storeCategorySeq": 0, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 404, "createdAt": "2020-07-15T18:42:02+08:00", "updatedAt": "2022-11-02T18:54:41+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 404, "name": "豆腐", "storeCategorySeq": 0, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 662, "createdAt": "2021-03-25T15:35:48+08:00", "updatedAt": "2022-11-18T14:07:05+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 662, "name": "早餐", "storeCategorySeq": 0, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 156, "createdAt": "2019-01-26T14:19:41+08:00", "updatedAt": "2022-11-02T18:45:59+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 156, "name": "鸡蛋类", "storeCategorySeq": 0, "level": 2, "parentID": 3, "isHidden": 1 }, { "id": 443, "createdAt": "2021-01-25T15:52:15+08:00", "updatedAt": "2022-11-23T11:41:11+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 443, "name": "啤酒", "storeCategorySeq": 0, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 190, "createdAt": "2019-11-30T10:33:02+08:00", "updatedAt": "2022-11-02T19:09:54+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 190, "name": "新鲜鱼类", "storeCategorySeq": 0, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 452, "createdAt": "2021-01-25T21:40:29+08:00", "updatedAt": "2022-11-18T11:59:42+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 452, "name": "奶粉", "storeCategorySeq": 0, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 460, "createdAt": "2021-01-25T21:58:51+08:00", "updatedAt": "2022-11-02T19:42:17+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 460, "name": "狗狗食品", "storeCategorySeq": 0, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 476, "createdAt": "2021-01-25T22:38:17+08:00", "updatedAt": "2022-11-02T19:50:47+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 476, "name": "文创文具", "storeCategorySeq": 0, "level": 2, "parentID": 475, "isHidden": 1 }, { "id": 733, "createdAt": "2022-11-01T10:16:10+08:00", "updatedAt": "2022-11-01T10:18:23+08:00", "lastOperator": "uponisland", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 733, "name": "一人食", "storeCategorySeq": 0, "level": 2, "parentID": 5, "isHidden": 0 }, { "id": 480, "createdAt": "2021-01-25T22:45:02+08:00", "updatedAt": "2022-11-02T19:51:59+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 480, "name": "毛巾浴巾", "storeCategorySeq": 0, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 494, "createdAt": "2021-01-25T23:08:55+08:00", "updatedAt": "2022-11-18T13:51:48+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 494, "name": "生活电器", "storeCategorySeq": 0, "level": 2, "parentID": 486, "isHidden": 1 }, { "id": 499, "createdAt": "2021-01-25T23:38:06+08:00", "updatedAt": "2022-11-02T19:46:26+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 499, "name": "纸品湿巾", "storeCategorySeq": 0, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 504, "createdAt": "2021-01-26T11:40:17+08:00", "updatedAt": "2022-11-18T13:54:28+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 504, "name": "礼品鲜花", "storeCategorySeq": 0, "level": 2, "parentID": 488, "isHidden": 1 }, { "id": 19, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T16:36:52+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 19, "name": "叶菜类", "storeCategorySeq": 1, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 25, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:52:53+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 25, "name": "营养小炒", "storeCategorySeq": 1, "level": 2, "parentID": 10, "isHidden": 1 }, { "id": 26, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:48:16+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 26, "name": "饼干糕点", "storeCategorySeq": 1, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 44, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:10:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 44, "name": "新鲜河产", "storeCategorySeq": 1, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 53, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:55:55+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 53, "name": "凉拌菜", "storeCategorySeq": 1, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 81, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:59:47+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 81, "name": "低温奶", "storeCategorySeq": 1, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 625, "createdAt": "2021-03-17T11:57:04+08:00", "updatedAt": "2021-03-17T11:57:21+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 625, "name": "早孕试纸", "storeCategorySeq": 1, "level": 2, "parentID": 592, "isHidden": 1 }, { "id": 652, "createdAt": "2021-03-25T15:05:06+08:00", "updatedAt": "2022-11-18T14:04:29+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 652, "name": "母婴用品", "storeCategorySeq": 1, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 157, "createdAt": "2019-01-26T14:19:51+08:00", "updatedAt": "2022-11-02T18:47:39+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 157, "name": "其他蛋类", "storeCategorySeq": 1, "level": 2, "parentID": 3, "isHidden": 1 }, { "id": 670, "createdAt": "2021-03-25T15:43:58+08:00", "updatedAt": "2022-11-18T14:07:30+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 670, "name": "快餐简餐", "storeCategorySeq": 1, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 159, "createdAt": "2019-01-31T09:10:12+08:00", "updatedAt": "2022-11-02T18:43:16+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 159, "name": "梨类", "storeCategorySeq": 1, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 167, "createdAt": "2019-01-31T09:25:57+08:00", "updatedAt": "2022-11-18T11:34:03+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 167, "name": "酱油醋料酒", "storeCategorySeq": 1, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 184, "createdAt": "2019-09-17T09:14:00+08:00", "updatedAt": "2022-11-02T18:39:03+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 184, "name": "冷冻猪肉", "storeCategorySeq": 1, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 449, "createdAt": "2021-01-25T21:31:59+08:00", "updatedAt": "2022-11-02T18:55:23+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 449, "name": "豆浆", "storeCategorySeq": 1, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 453, "createdAt": "2021-01-25T21:46:16+08:00", "updatedAt": "2022-11-18T13:39:16+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 453, "name": "营养辅食", "storeCategorySeq": 1, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 462, "createdAt": "2021-01-25T22:01:03+08:00", "updatedAt": "2022-11-02T19:43:12+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 462, "name": "狗狗玩具", "storeCategorySeq": 1, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 468, "createdAt": "2021-01-25T22:13:51+08:00", "updatedAt": "2022-11-18T13:59:20+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 468, "name": "洗发护发", "storeCategorySeq": 1, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 477, "createdAt": "2021-01-25T22:40:02+08:00", "updatedAt": "2022-11-02T19:51:09+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 477, "name": "游戏玩具", "storeCategorySeq": 1, "level": 2, "parentID": 475, "isHidden": 1 }, { "id": 734, "createdAt": "2022-11-01T10:16:34+08:00", "updatedAt": "2022-11-01T10:18:23+08:00", "lastOperator": "uponisland", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 734, "name": "二人食", "storeCategorySeq": 1, "level": 2, "parentID": 5, "isHidden": 0 }, { "id": 481, "createdAt": "2021-01-25T22:47:19+08:00", "updatedAt": "2022-11-02T19:52:41+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 481, "name": "内衣库", "storeCategorySeq": 1, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 489, "createdAt": "2021-01-25T23:00:58+08:00", "updatedAt": "2022-11-18T13:49:44+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 489, "name": "卫浴用品", "storeCategorySeq": 1, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 495, "createdAt": "2021-01-25T23:09:46+08:00", "updatedAt": "2022-11-18T13:51:59+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 495, "name": "厨房电器", "storeCategorySeq": 1, "level": 2, "parentID": 486, "isHidden": 1 }, { "id": 500, "createdAt": "2021-01-25T23:40:59+08:00", "updatedAt": "2022-11-02T19:46:49+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 500, "name": "杀虫驱蚊", "storeCategorySeq": 1, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 505, "createdAt": "2021-01-26T11:41:32+08:00", "updatedAt": "2022-11-18T13:55:55+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 505, "name": "居家鲜花", "storeCategorySeq": 1, "level": 2, "parentID": 488, "isHidden": 1 }, { "id": 508, "createdAt": "2021-02-02T15:35:59+08:00", "updatedAt": "2022-11-02T19:13:24+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 508, "name": "预调酒", "storeCategorySeq": 1, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 28, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:10:26+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 28, "name": "新鲜海鲜", "storeCategorySeq": 2, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 34, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-10-26T09:14:06+08:00", "lastOperator": "18744776542", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 34, "name": "根茎类", "storeCategorySeq": 2, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 36, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:43:52+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 36, "name": "柑桔橙柚", "storeCategorySeq": 2, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 54, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:49:29+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 54, "name": "糖果巧克力", "storeCategorySeq": 2, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 57, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:53:31+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 57, "name": "健康煲汤", "storeCategorySeq": 2, "level": 2, "parentID": 10, "isHidden": 1 }, { "id": 90, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:59:58+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 90, "name": "汤圆面点", "storeCategorySeq": 2, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 626, "createdAt": "2021-03-17T11:57:16+08:00", "updatedAt": "2021-03-17T11:57:21+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 626, "name": "排卵试纸", "storeCategorySeq": 2, "level": 2, "parentID": 592, "isHidden": 1 }, { "id": 651, "createdAt": "2021-03-25T15:04:09+08:00", "updatedAt": "2022-11-18T14:04:43+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 651, "name": "酒水饮品", "storeCategorySeq": 2, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 403, "createdAt": "2020-07-15T18:12:28+08:00", "updatedAt": "2022-11-02T18:56:26+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 403, "name": "豆皮豆干", "storeCategorySeq": 2, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 671, "createdAt": "2021-03-25T15:44:29+08:00", "updatedAt": "2022-11-18T14:08:01+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 671, "name": "烧烤小吃", "storeCategorySeq": 2, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 424, "createdAt": "2020-07-16T18:03:42+08:00", "updatedAt": "2022-11-02T18:39:15+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 424, "name": "新鲜排骨", "storeCategorySeq": 2, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 176, "createdAt": "2019-04-17T10:43:20+08:00", "updatedAt": "2022-11-18T11:34:45+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 176, "name": "米面粉", "storeCategorySeq": 2, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 444, "createdAt": "2021-01-25T15:53:00+08:00", "updatedAt": "2022-11-02T19:13:31+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 444, "name": "白酒黄酒", "storeCategorySeq": 2, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 454, "createdAt": "2021-01-25T21:47:25+08:00", "updatedAt": "2022-11-18T13:41:11+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 454, "name": "尿裤湿巾", "storeCategorySeq": 2, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 464, "createdAt": "2021-01-25T22:04:53+08:00", "updatedAt": "2022-11-02T19:44:13+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 464, "name": "狗狗用品", "storeCategorySeq": 2, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 469, "createdAt": "2021-01-25T22:15:01+08:00", "updatedAt": "2022-11-18T13:59:33+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 469, "name": "沐浴清洁", "storeCategorySeq": 2, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 478, "createdAt": "2021-01-25T22:42:30+08:00", "updatedAt": "2022-11-02T19:51:36+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 478, "name": "体育运动", "storeCategorySeq": 2, "level": 2, "parentID": 475, "isHidden": 1 }, { "id": 735, "createdAt": "2022-11-01T10:16:49+08:00", "updatedAt": "2022-11-01T10:18:23+08:00", "lastOperator": "uponisland", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 735, "name": "全家福", "storeCategorySeq": 2, "level": 2, "parentID": 5, "isHidden": 0 }, { "id": 482, "createdAt": "2021-01-25T22:48:31+08:00", "updatedAt": "2022-11-02T19:52:58+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 482, "name": "袜子", "storeCategorySeq": 2, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 491, "createdAt": "2021-01-25T23:03:03+08:00", "updatedAt": "2022-11-18T13:50:52+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 491, "name": "厨房用具", "storeCategorySeq": 2, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 496, "createdAt": "2021-01-25T23:13:58+08:00", "updatedAt": "2022-11-18T13:52:23+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 496, "name": "数码配件", "storeCategorySeq": 2, "level": 2, "parentID": 486, "isHidden": 1 }, { "id": 501, "createdAt": "2021-01-25T23:42:02+08:00", "updatedAt": "2022-11-02T19:47:25+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 501, "name": "衣物清洁", "storeCategorySeq": 2, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 49, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T16:38:42+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 49, "name": "花果类", "storeCategorySeq": 3, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 50, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:39:45+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 50, "name": "新鲜禽类", "storeCategorySeq": 3, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 51, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:44:04+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 51, "name": "香蕉类", "storeCategorySeq": 3, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 65, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:27:47+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 65, "name": "食用油", "storeCategorySeq": 3, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 70, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:54:16+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 70, "name": "爽口凉菜", "storeCategorySeq": 3, "level": 2, "parentID": 10, "isHidden": 1 }, { "id": 71, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:12:27+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 71, "name": "虾蟹贝壳", "storeCategorySeq": 3, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 82, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:00:42+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 82, "name": "素菜", "storeCategorySeq": 3, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 88, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:57:38+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 88, "name": "面点美食", "storeCategorySeq": 3, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 356, "createdAt": "2020-04-28T18:10:42+08:00", "updatedAt": "2022-11-18T11:32:17+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 356, "name": "雪糕冰淇淋", "storeCategorySeq": 3, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 646, "createdAt": "2021-03-19T13:50:12+08:00", "updatedAt": "2022-11-02T19:13:59+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 646, "name": "洋酒葡萄酒", "storeCategorySeq": 3, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 653, "createdAt": "2021-03-25T15:06:54+08:00", "updatedAt": "2022-11-18T14:05:23+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 653, "name": "干果零食", "storeCategorySeq": 3, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 405, "createdAt": "2020-07-15T18:44:56+08:00", "updatedAt": "2022-11-02T18:55:57+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 405, "name": "凉粉", "storeCategorySeq": 3, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 673, "createdAt": "2021-03-25T15:47:03+08:00", "updatedAt": "2022-11-18T14:08:34+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 673, "name": "火锅冒菜", "storeCategorySeq": 3, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 455, "createdAt": "2021-01-25T21:50:02+08:00", "updatedAt": "2022-11-18T13:41:33+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 455, "name": "宝宝洗护", "storeCategorySeq": 3, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 461, "createdAt": "2021-01-25T21:59:28+08:00", "updatedAt": "2022-11-02T19:44:45+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 461, "name": "猫猫食品", "storeCategorySeq": 3, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 472, "createdAt": "2021-01-25T22:20:43+08:00", "updatedAt": "2022-11-18T13:59:48+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 472, "name": "口腔护理", "storeCategorySeq": 3, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 483, "createdAt": "2021-01-25T22:51:18+08:00", "updatedAt": "2022-11-02T19:53:31+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 483, "name": "鞋", "storeCategorySeq": 3, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 492, "createdAt": "2021-01-25T23:03:56+08:00", "updatedAt": "2022-11-18T13:51:16+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 492, "name": "五金工具", "storeCategorySeq": 3, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 503, "createdAt": "2021-01-25T23:45:26+08:00", "updatedAt": "2022-11-02T19:48:57+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 503, "name": "厨卫清洁", "storeCategorySeq": 3, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 506, "createdAt": "2021-02-02T15:33:12+08:00", "updatedAt": "2022-11-18T11:49:50+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 506, "name": "肉干辣条", "storeCategorySeq": 3, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 35, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:40:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 35, "name": "新鲜牛肉", "storeCategorySeq": 4, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 58, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:12:51+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 58, "name": "其他水产", "storeCategorySeq": 4, "level": 2, "parentID": 8, "isHidden": 1 }, { "id": 59, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:00:58+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 59, "name": "荤菜", "storeCategorySeq": 4, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 64, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:45:24+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 64, "name": "浆果类", "storeCategorySeq": 4, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 85, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T16:47:28+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 85, "name": "菇菌类", "storeCategorySeq": 4, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 101, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:04:51+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 101, "name": "快手菜调料", "storeCategorySeq": 4, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 636, "createdAt": "2021-03-18T21:30:17+08:00", "updatedAt": "2022-11-18T11:33:07+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 636, "name": "奶酪黄油", "storeCategorySeq": 4, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 654, "createdAt": "2021-03-25T15:12:33+08:00", "updatedAt": "2022-11-18T14:06:02+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 654, "name": "进口粮油", "storeCategorySeq": 4, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 658, "createdAt": "2021-03-25T15:28:41+08:00", "updatedAt": "2022-11-18T14:08:50+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 658, "name": "现制奶茶", "storeCategorySeq": 4, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 407, "createdAt": "2020-07-15T18:46:46+08:00", "updatedAt": "2022-11-02T18:56:45+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 407, "name": "魔芋", "storeCategorySeq": 4, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 442, "createdAt": "2021-01-21T17:36:32+08:00", "updatedAt": "2022-11-18T11:40:21+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 442, "name": "饮用水", "storeCategorySeq": 4, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 456, "createdAt": "2021-01-25T21:52:42+08:00", "updatedAt": "2022-11-18T13:44:09+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 456, "name": "宝宝服饰", "storeCategorySeq": 4, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 463, "createdAt": "2021-01-25T22:02:29+08:00", "updatedAt": "2022-11-02T19:45:16+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 463, "name": "猫猫玩具", "storeCategorySeq": 4, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 470, "createdAt": "2021-01-25T22:17:49+08:00", "updatedAt": "2022-11-18T14:00:07+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 470, "name": "女士护理", "storeCategorySeq": 4, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 484, "createdAt": "2021-01-25T22:52:34+08:00", "updatedAt": "2022-11-02T19:53:48+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 484, "name": "床上用品", "storeCategorySeq": 4, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 493, "createdAt": "2021-01-25T23:06:04+08:00", "updatedAt": "2022-11-18T13:51:33+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 493, "name": "百货", "storeCategorySeq": 4, "level": 2, "parentID": 487, "isHidden": 1 }, { "id": 502, "createdAt": "2021-01-25T23:44:53+08:00", "updatedAt": "2022-11-02T19:50:11+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 502, "name": "清洁用具", "storeCategorySeq": 4, "level": 2, "parentID": 498, "isHidden": 1 }, { "id": 507, "createdAt": "2021-02-02T15:34:17+08:00", "updatedAt": "2022-11-18T11:50:14+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 507, "name": "薯条膨化", "storeCategorySeq": 4, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 38, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:58:07+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 38, "name": "米饭炒菜", "storeCategorySeq": 5, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 56, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:00:21+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 56, "name": "冷藏", "storeCategorySeq": 5, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 62, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:37:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 62, "name": "调味类", "storeCategorySeq": 5, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 67, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:51:12+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 67, "name": "休闲零食", "storeCategorySeq": 5, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 86, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2023-03-07T11:52:11+08:00", "lastOperator": "18981810340", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 86, "name": "瓜果类", "storeCategorySeq": 5, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 639, "createdAt": "2021-03-18T21:44:15+08:00", "updatedAt": "2022-11-02T19:54:04+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 639, "name": "雨具", "storeCategorySeq": 5, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 386, "createdAt": "2020-07-07T15:08:12+08:00", "updatedAt": "2022-11-02T18:40:19+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 386, "name": "新鲜羊肉", "storeCategorySeq": 5, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 643, "createdAt": "2021-03-18T22:38:44+08:00", "updatedAt": "2022-11-18T11:36:35+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 643, "name": "咸菜罐头", "storeCategorySeq": 5, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 650, "createdAt": "2021-03-25T15:03:07+08:00", "updatedAt": "2022-11-18T14:06:14+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 650, "name": "洗护用品", "storeCategorySeq": 5, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 659, "createdAt": "2021-03-25T15:29:14+08:00", "updatedAt": "2022-11-18T14:09:15+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 659, "name": "现制咖啡", "storeCategorySeq": 5, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 408, "createdAt": "2020-07-15T18:47:29+08:00", "updatedAt": "2022-11-02T18:56:59+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 408, "name": "面筋", "storeCategorySeq": 5, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 189, "createdAt": "2019-10-18T11:50:06+08:00", "updatedAt": "2022-11-02T20:01:10+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 189, "name": "菌菇", "storeCategorySeq": 5, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 446, "createdAt": "2021-01-25T16:58:36+08:00", "updatedAt": "2022-11-18T11:41:34+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 446, "name": "果汁", "storeCategorySeq": 5, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 457, "createdAt": "2021-01-25T21:54:43+08:00", "updatedAt": "2022-11-18T13:44:53+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 457, "name": "宝妈用品", "storeCategorySeq": 5, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 465, "createdAt": "2021-01-25T22:06:05+08:00", "updatedAt": "2022-11-02T19:45:31+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 465, "name": "猫猫用品", "storeCategorySeq": 5, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 471, "createdAt": "2021-01-25T22:19:19+08:00", "updatedAt": "2022-11-18T14:00:32+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 471, "name": "男士护理", "storeCategorySeq": 5, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 533, "createdAt": "2021-03-07T11:32:54+08:00", "updatedAt": "2022-11-02T18:45:36+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 533, "name": "果切果捞", "storeCategorySeq": 6, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 39, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T19:00:32+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 39, "name": "冷冻食品", "storeCategorySeq": 6, "level": 2, "parentID": 9, "isHidden": 1 }, { "id": 72, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:01:22+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 72, "name": "丸子", "storeCategorySeq": 6, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 75, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:37:29+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 75, "name": "菜豆类", "storeCategorySeq": 6, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 352, "createdAt": "2020-04-27T18:37:39+08:00", "updatedAt": "2022-11-18T11:51:32+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 352, "name": "火腿罐头", "storeCategorySeq": 6, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 633, "createdAt": "2021-03-18T15:27:26+08:00", "updatedAt": "2022-11-18T11:37:30+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 633, "name": "方便速食", "storeCategorySeq": 6, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 655, "createdAt": "2021-03-25T15:13:21+08:00", "updatedAt": "2022-11-18T14:06:48+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 655, "name": "其他进口", "storeCategorySeq": 6, "level": 2, "parentID": 648, "isHidden": 1 }, { "id": 657, "createdAt": "2021-03-25T15:28:07+08:00", "updatedAt": "2021-03-25T15:57:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 657, "name": "现制果汁", "storeCategorySeq": 6, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 410, "createdAt": "2020-07-15T18:49:59+08:00", "updatedAt": "2022-11-02T18:57:22+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 410, "name": "腐竹", "storeCategorySeq": 6, "level": 2, "parentID": 399, "isHidden": 1 }, { "id": 155, "createdAt": "2019-01-26T14:09:01+08:00", "updatedAt": "2022-11-02T18:41:12+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 155, "name": "冰冻冷鲜", "storeCategorySeq": 6, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 172, "createdAt": "2019-01-31T10:00:37+08:00", "updatedAt": "2022-11-18T11:58:56+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 172, "name": "香肠腊肉", "storeCategorySeq": 6, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 445, "createdAt": "2021-01-25T15:54:51+08:00", "updatedAt": "2022-11-18T11:41:59+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 445, "name": "茶饮料", "storeCategorySeq": 6, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 458, "createdAt": "2021-01-25T21:56:18+08:00", "updatedAt": "2022-11-18T13:45:26+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 458, "name": "宝宝其他", "storeCategorySeq": 6, "level": 2, "parentID": 451, "isHidden": 1 }, { "id": 466, "createdAt": "2021-01-25T22:08:25+08:00", "updatedAt": "2022-11-07T16:03:39+08:00", "lastOperator": "18981810340", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 466, "name": "其他宠物", "storeCategorySeq": 6, "level": 2, "parentID": 459, "isHidden": 1 }, { "id": 473, "createdAt": "2021-01-25T22:25:14+08:00", "updatedAt": "2022-11-18T14:02:24+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 473, "name": "医务护理", "storeCategorySeq": 6, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 485, "createdAt": "2021-01-25T22:54:17+08:00", "updatedAt": "2022-11-02T19:54:47+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 485, "name": "其他家纺", "storeCategorySeq": 6, "level": 2, "parentID": 479, "isHidden": 1 }, { "id": 22, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-04T16:21:18+08:00", "lastOperator": "18744776542", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 22, "name": "五谷杂粮", "storeCategorySeq": 7, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 76, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:42:25+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 76, "name": "腌腊肉类", "storeCategorySeq": 7, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 79, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:59:21+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 79, "name": "烘焙食品", "storeCategorySeq": 7, "level": 2, "parentID": 11, "isHidden": 1 }, { "id": 627, "createdAt": "2021-03-17T13:35:50+08:00", "updatedAt": "2021-03-25T11:48:44+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 627, "name": "其它洗护", "storeCategorySeq": 7, "level": 2, "parentID": 467, "isHidden": 1 }, { "id": 645, "createdAt": "2021-03-19T11:25:40+08:00", "updatedAt": "2022-11-18T11:52:03+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 645, "name": "豆干海苔果冻", "storeCategorySeq": 7, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 660, "createdAt": "2021-03-25T15:30:05+08:00", "updatedAt": "2021-03-25T15:57:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 660, "name": "现制烘焙", "storeCategorySeq": 7, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 158, "createdAt": "2019-01-30T14:36:07+08:00", "updatedAt": "2022-11-02T18:38:03+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 158, "name": "净菜类", "storeCategorySeq": 7, "level": 2, "parentID": 1, "isHidden": 1 }, { "id": 185, "createdAt": "2019-09-17T09:23:17+08:00", "updatedAt": "2022-11-02T18:45:46+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 185, "name": "其他水果", "storeCategorySeq": 7, "level": 2, "parentID": 4, "isHidden": 1 }, { "id": 448, "createdAt": "2021-01-25T17:05:00+08:00", "updatedAt": "2022-11-18T11:42:35+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 448, "name": "蛋白饮料", "storeCategorySeq": 7, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 497, "createdAt": "2021-01-25T23:22:36+08:00", "updatedAt": "2022-11-02T20:01:35+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 497, "name": "串串", "storeCategorySeq": 7, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 30, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:01:57+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 30, "name": "蘸料", "storeCategorySeq": 8, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 63, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T18:42:41+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 63, "name": "其他肉类", "storeCategorySeq": 8, "level": 2, "parentID": 2, "isHidden": 1 }, { "id": 87, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-18T11:39:21+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 87, "name": "南北干货", "storeCategorySeq": 8, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 647, "createdAt": "2021-03-19T19:17:00+08:00", "updatedAt": "2022-11-18T11:52:16+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 647, "name": "话梅山楂果干", "storeCategorySeq": 8, "level": 2, "parentID": 17, "isHidden": 1 }, { "id": 661, "createdAt": "2021-03-25T15:33:32+08:00", "updatedAt": "2021-03-25T15:57:07+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 661, "name": "现制甜品", "storeCategorySeq": 8, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 509, "createdAt": "2021-02-02T16:02:50+08:00", "updatedAt": "2022-11-18T11:42:53+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 509, "name": "碳酸饮料", "storeCategorySeq": 8, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 45, "createdAt": "2018-10-29T07:37:05+08:00", "updatedAt": "2022-11-02T20:02:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 45, "name": "底料", "storeCategorySeq": 9, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 644, "createdAt": "2021-03-19T11:12:38+08:00", "updatedAt": "2022-11-04T16:24:43+08:00", "lastOperator": "18744776542", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 644, "name": "水调冲饮", "storeCategorySeq": 9, "level": 2, "parentID": 15, "isHidden": 1 }, { "id": 672, "createdAt": "2021-03-25T15:45:20+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 672, "name": "日韩料理", "storeCategorySeq": 9, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 447, "createdAt": "2021-01-25T17:03:47+08:00", "updatedAt": "2022-11-18T11:43:45+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 447, "name": "功能饮料", "storeCategorySeq": 9, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 635, "createdAt": "2021-03-18T20:22:23+08:00", "updatedAt": "2022-11-18T11:44:18+08:00", "lastOperator": "17208297174", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 635, "name": "冲调饮品", "storeCategorySeq": 10, "level": 2, "parentID": 441, "isHidden": 1 }, { "id": 663, "createdAt": "2021-03-25T15:40:00+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 663, "name": "川湘菜", "storeCategorySeq": 10, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 169, "createdAt": "2019-01-31T09:32:35+08:00", "updatedAt": "2022-11-02T20:02:19+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 169, "name": "其他工具", "storeCategorySeq": 10, "level": 2, "parentID": 5, "isHidden": 1 }, { "id": 666, "createdAt": "2021-03-25T15:41:47+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 666, "name": "江浙菜", "storeCategorySeq": 11, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 664, "createdAt": "2021-03-25T15:40:43+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 664, "name": "清真菜", "storeCategorySeq": 12, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 665, "createdAt": "2021-03-25T15:41:24+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 665, "name": "西北菜", "storeCategorySeq": 13, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 667, "createdAt": "2021-03-25T15:42:07+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 667, "name": "东北菜", "storeCategorySeq": 14, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 668, "createdAt": "2021-03-25T15:42:35+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 668, "name": "北京菜", "storeCategorySeq": 15, "level": 2, "parentID": 656, "isHidden": 1 }, { "id": 669, "createdAt": "2021-03-25T15:43:24+08:00", "updatedAt": "2021-03-25T15:57:08+08:00", "lastOperator": "qq365176286", "deletedAt": "1970-01-01T00:00:00+08:00", "storeID": 0, "categoryID": 669, "name": "粤港菜", "storeCategorySeq": 16, "level": 2, "parentID": 656, "isHidden": 1 }] \ No newline at end of file diff --git a/src/filters/index.js b/src/filters/index.js new file mode 100644 index 0000000..b3ac497 --- /dev/null +++ b/src/filters/index.js @@ -0,0 +1,133 @@ +import { formatDate } from '@/utils/assist.js' +import { switchWeight as computedWeight } from '@/utils' + +// 过滤 +const img120 = (src) => { + return src + '?imageView2/1/w/120/h/120' +} + +const img150 = (src) => { + return src + '?imageView2/1/w/150/h/150' +} + +const img200 = (src) => { + return src + '?imageView2/1/w/200/h/200' +} + +const img300 = (src) => { + return src + '?imageView2/1/w/300/h/300' +} + +const img150type2 = (src) => { + return src + '?imageView2/2/w/150' +} + +const img345type2 = (src) => { + return src + '?imageView2/2/w/345' +} + +const imgLowQ = (src) => { + return src + '?imageView2/2/w/750/q/10' +} + +const img750 = (src) => { + return src + '?imageView2/1/w/750/h/750' +} + +const img50 = (src) => { + return src + '?imageView2/1/w/50/h/50' +} + +const img750type2 = (src) => { + return src + '?imageView2/2/w/750' +} + +const imgSlim = (src) => { + return src + '?imageSlim' +} + +/** + * http 转 https + */ +const urlToHttps = (url, type) => { + if (!url) return '' + let src = url && url.includes('https') ? url : url.replace('http', 'https') + switch (type) { + case 'img50': + src = img50(src) + break + case 'img120': + src = img120(src) + break + case 'img150': + src = img150(src) + break + case 'img200': + src = img200(src) + break + case 'img300': + src = img300(src) + break + case 'img150type2': + src = img150type2(src) + break + case 'imgLowQ': + src = imgLowQ(src) + break + case 'img750': + src = img750(src) + break + case 'img750type2': + src = img750type2(src) + break + case 'imgSlim': + src = imgSlim(src) + break + case 'img345type2': + src = img345type2(src) + break + } + return src +} + +/** + * 营业时间 前缀补0 + */ +const processingHours = (num) => { + let n = 4 + let str = (Array(n).join(0) + num).slice(-n) + return str.slice(0, 2) + ':' + str.slice(2) +} + +/** + * 2023-08-16T14:30:34+08:00 日期转换 YYYY-MM-DD hh:mm:ss + */ +const dateToLLLL = (str) => { + return formatDate(str, 'YYYY-MM-DD hh:mm:ss') +} + +/** + * 分 转 元 并保留两位数 + */ +const toFixed2 = (num) => { + if (num || num == 0) { + return (num / 100).toFixed(2) + } else { + return '--' + } +} + +/** + * 重量 + */ +const switchWeight = (weight) => { + return computedWeight(weight) +} + +export { + urlToHttps, // 图片转换 + processingHours, // 营业时间 前缀补0 + dateToLLLL, // 日期转换 + toFixed2, // 分 转 元 + switchWeight // 重量转换 +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..4cf8e4b --- /dev/null +++ b/src/main.js @@ -0,0 +1,22 @@ +import { + createSSRApp +} from "vue"; +import App from "./App.vue"; +import { store } from './store' +import mixins from '@/mixins' +import { modal, alert, toast, errToast, alertBack } from '@/utils/uniapi' +import * as filters from '@/filters' +export function createApp() { + const app = createSSRApp(App); + app.mixin(mixins) + app.use(store) + app.config.globalProperties.$modal = modal // 挂载全局方法 + app.config.globalProperties.$alert = alert // 挂载全局方法 + app.config.globalProperties.$toast = toast // 挂载全局方法 + app.config.globalProperties.$errToast = errToast // 挂载全局方法 + app.config.globalProperties.$alertBack = alertBack // 挂载全局方法 + app.config.globalProperties.$filters = filters // 挂载全局方法 + return { + app, + }; +} diff --git a/src/manifest.json b/src/manifest.json new file mode 100644 index 0000000..7bda847 --- /dev/null +++ b/src/manifest.json @@ -0,0 +1,218 @@ +{ + "name" : "京西菜市", + "appid" : "__UNI__6407906", + "description" : "买菜就上京西菜市", + "versionName" : "1.1.5", + "versionCode" : 115, + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "京西菜市", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : { + "OAuth" : {}, + "Share" : {}, + "Payment" : {}, + "Geolocation" : { + "description" : "您的位置信息将用于为您筛选附近优质门店" + } + }, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "minSdkVersion" : 23, + "targetSdkVersion" : 30 + }, + /* ios打包配置 */ + "ios" : { + "dSYMs" : false, + "capabilities" : { + "entitlements" : { + "com.apple.developer.associated-domains" : [ "applinks:wx.jxc4.com" ] + } + }, + "idfa" : false, + "privacyDescription" : { + "NSLocationWhenInUseUsageDescription" : "您的位置信息将用于为您筛选附近优质门店", //可选,字符串类型,运行期访问位置权限描述 + "NSLocationAlwaysUsageDescription" : "您的位置信息将用于为您筛选附近优质门店", //可选,字符串类型,后台运行访问位置权限描述 + "NSLocationAlwaysAndWhenInUseUsageDescription" : "您的位置信息将用于为您筛选附近优质门店", //可选,字符串类型,运行期后后台访问位置权限描述 + "NSPhotoLibraryAddUsageDescription" : "保存个人推广码" //可选,字符串类型,系统相册写入权限描述 + } + }, + /* SDK配置 */ + "sdkConfigs" : { + "oauth" : { + "weixin" : { + "appid" : "wxf3657c94aa01a3f0", + "UniversalLinks" : "https://wx.jxc4.com/jxc4Mini" + } + }, + "geolocation" : { + "amap" : { + "__platform__" : [ "ios", "android" ], + "appkey_ios" : "d7814af0ae0898f14a905dd6e8803b51", + "appkey_android" : "70e4330d3b5b50540ebcf79c3ddc1420" + } + }, + "share" : { + "weixin" : { + "appid" : "wxf3657c94aa01a3f0", + "UniversalLinks" : "https://wx.jxc4.com/jxc4Mini" + } + }, + "payment" : { + "weixin" : { + "__platform__" : [ "android" ], + "appid" : "wxf3657c94aa01a3f0", + "UniversalLinks" : "https://wx.jxc4.com/jxc4Mini" + } + }, + "maps" : {}, + "ad" : {} + }, + "icons" : { + "android" : { + "hdpi" : "unpackage/res/icons/72x72.png", + "xhdpi" : "unpackage/res/icons/96x96.png", + "xxhdpi" : "unpackage/res/icons/144x144.png", + "xxxhdpi" : "unpackage/res/icons/192x192.png" + }, + "ios" : { + "appstore" : "unpackage/res/icons/1024x1024.png", + "iphone" : { + "app@2x" : "unpackage/res/icons/120x120.png", + "app@3x" : "unpackage/res/icons/180x180.png", + "spotlight@2x" : "unpackage/res/icons/80x80.png", + "spotlight@3x" : "unpackage/res/icons/120x120.png", + "settings@2x" : "unpackage/res/icons/58x58.png", + "settings@3x" : "unpackage/res/icons/87x87.png", + "notification@2x" : "unpackage/res/icons/40x40.png", + "notification@3x" : "unpackage/res/icons/60x60.png" + }, + "ipad" : { + "app" : "unpackage/res/icons/76x76.png", + "app@2x" : "unpackage/res/icons/152x152.png", + "proapp@2x" : "unpackage/res/icons/167x167.png", + "spotlight" : "unpackage/res/icons/40x40.png", + "spotlight@2x" : "unpackage/res/icons/80x80.png", + "settings" : "unpackage/res/icons/29x29.png", + "settings@2x" : "unpackage/res/icons/58x58.png", + "notification" : "unpackage/res/icons/20x20.png", + "notification@2x" : "unpackage/res/icons/40x40.png" + } + } + }, + "splashscreen" : { + "androidStyle" : "common", + "android" : { + "hdpi" : "", + "xhdpi" : "", + "xxhdpi" : "" + }, + "iosStyle" : "common", + "useOriginalMsgbox" : true + } + }, + "compatible" : { + "ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + /* 微信小程序特有相关 */ + "appid" : "wx4b5930c13f8b1170", + "setting" : { + "urlCheck" : false, + "es6" : true, + "minified" : true + }, + "usingComponents" : true, + "permission" : { + "scope.userLocation" : { + "desc" : "您的位置信息将用于为您筛选附近优质门店" + } + }, + "requiredPrivateInfos" : [ "getLocation" ], + "lazyCodeLoading" : "requiredComponents" + }, + "navigateToMiniProgramAppIdList" : [ "wx6be9ae15444fa83f" ], + "mp-alipay" : { + "usingComponents" : true, + "appid" : "2019110769024042", + "enableAppxNg" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true, + "appid" : "ttaceeda5333d7a7ab01", + "setting" : { + "postcss" : false, + "es6" : false, + "minified" : true + } + }, + "h5" : { + "devServer" : { + "port" : 8000, + "disableHostCheck" : true, + "proxy" : { + "/v2/" : { + "target" : "https://wx.jxc4.com/beta/v2", + "changeOrigin" : true, + "pathRewrite" : { + "^/v2/" : "/" + } + }, + "/place/" : { + "target" : "https://apis.map.qq.com/ws/place", + "changeOrigin" : true, + "pathRewrite" : { + "^/place/" : "/" + } + } + } + } + }, + "mp-kuaishou" : { + "appid" : "ks680887971696897880", + "permission" : { + "scope.userLocation" : { + "desc" : "您的位置信息将用于为您筛选附近优质门店" + } + } + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "3" +} diff --git a/src/mixins/index.js b/src/mixins/index.js new file mode 100644 index 0000000..6d9b6f2 --- /dev/null +++ b/src/mixins/index.js @@ -0,0 +1,67 @@ +// 全局mixin +import { mapMutations } from 'vuex' +import { store } from '@/store' +export default { + methods: { + ...mapMutations({ + showLoad: 'showLoad', + hideLoad: 'hideLoad' + }), + // 物料计算 + computedBagsPrice(skuList) { + const canBuy = store.getters['indexPage/canBuy'] + const bagOverload = store.getters['indexPage/bagOverload'] + const bagSkuIDs = store.getters['indexPage/bagSkuIDs'] + if (canBuy) { + // 收费袋子 + if (bagOverload !== '未超出购买限制') { + skuList.forEach(item => { + if (bagSkuIDs.includes(item.id)) { + item.curPrice = item.jxPrice + item.oriPrice = 0 + } + }) + } else { + // 免费袋子 + skuList.forEach(item => { + if (bagSkuIDs.includes(item.id)) { + item.curPrice = 1 + item.oriPrice = item.jxPrice + } + }) + } + } else { + // 收费袋子 + skuList.forEach(item => { + if (bagSkuIDs.includes(item.id)) { + item.curPrice = item.jxPrice + item.oriPrice = 0 + } + }) + } + }, + computedBagsPriceObj(obj) { + const keys = Object.keys(obj) + keys.forEach(storeID => { + const list = obj[storeID] + this.computedBagsPrice(list) + }) + }, + + /** + * 全局登录 + * data 登录的参数 + * notGetCart 是否获取购物车列表 + */ + async globalLogin(data, notGetCart) { + // 登录 + await store.dispatch('login/apiLogin', data ? data : '') + + // 获取购物车 + if (store.getters['login/isLogin'] && !notGetCart && store.getters['indexPage/isMaterial']) { + await store.dispatch('cartPage/getCarList', store.getters['indexPage/storeID']) // 加载购物车 + await store.dispatch('addressVue/getList') // 加载地址列表 + } + } + } +} \ No newline at end of file diff --git a/src/mixins/reComputedCarCount.js b/src/mixins/reComputedCarCount.js new file mode 100644 index 0000000..5fd0863 --- /dev/null +++ b/src/mixins/reComputedCarCount.js @@ -0,0 +1,12 @@ +// tab菜单onshow时重新计算购物车的小红点 +import reComputedShopCar from '@/utils/reComputedShopCar.js' +export default { + data() { + return { + saveShopCarCount: 0 + } + }, + onShow() { + reComputedShopCar(this.$store.getters['cartPage/cartList']) + } +} \ No newline at end of file diff --git a/src/mixins/scroll.js b/src/mixins/scroll.js new file mode 100644 index 0000000..5f4acb2 --- /dev/null +++ b/src/mixins/scroll.js @@ -0,0 +1,125 @@ +import {throttle} from '@/utils' + +export default { + data () { + return { + y: 0, + yLock: '', + startY: 0, + disY: 0, + dir: '', + transform: 'translateY(0)', + allowScroll: true, + topText: '', + bottomText: '' + } + }, + methods: { + resetScroll () { + this.y = 0 + this.yLock = '' + this.startY = 0 + this.disY = 0 + this.dir = '' + this.transform = 'translateY(0)' + this.top = 0 + // this.allowScroll = false + this.topText = '' + this.bottomText = '' + // console.log(this.yLock) + }, + touchstart (e) { + // console.log('开始', e.touches[0]) + this.y = 0 + let tc = e.touches[0] + // let startX = touch.clientX + this.startY = tc.clientY + this.disY = this.startY - this.y + }, + // touchmove + touchmove: throttle(function (e) { + // if (!this.allowScroll) return false + // console.log('move', e.touches[0]) + const tc = e.touches[0] + // 判断方向 + if (this.dir === '') { + if (Math.abs(tc.clientY - this.startY) >= 5) { + this.dir = 'y' + } + } else { + // 确定方向后 + let y = tc.clientY - this.disY + this.y = y + // console.log(y, this.yLock) + if (y > 0) { + if (this.yLock === 'up') { + this.transform = `translateY(${this.y}px)` + return false + } + this.yLock = 'down' + if (y < 100) { + this.topText = '下拉加载上一个' + } else { + this.topText = '释放加载上一个' + } + } + if (y < 0) { + if (this.yLock === 'down') { + this.transform = `translateY(${this.y}px)` + return false + } + this.yLock = 'up' + if (y > -100) { + this.bottomText = '上拉加载下一个' + } else { + this.bottomText = '释放加载下一个' + } + } + this.transform = `translateY(${this.y}px)` + } + }, 0, { + leading: true, + trailing: true + }), + touchend (e) { + const y = this.y + if (y > 0) { + if (this.yLock === 'up') { + this.resetScroll() + return false + } + if (y < 100) { + this.transform = `translateY(0)` + } else { + console.log('load prev') + this.searchGoods('prev') + } + } + if (y < 0) { + if (this.yLock === 'down') { + this.resetScroll() + return false + } + if (y > -100) { + this.transform = `translateY(0)` + } else { + // console.log('load next') + this.searchGoods('next') + } + } + this.resetScroll() + } + // scrolltoupper () { + // console.log('到顶了') + // // this.allowScroll = true + // }, + // scrolltolower () { + // console.log('到底了') + // // this.allowScroll = true + // }, + // scroll () { + // console.log('滚动') + // // if (this.allowScroll) this.allowScroll = false + // } + } +} \ No newline at end of file diff --git a/src/pages.json b/src/pages.json new file mode 100644 index 0000000..f2faeb2 --- /dev/null +++ b/src/pages.json @@ -0,0 +1,421 @@ +{ + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path": "pages/index/index", + "style": { + // #ifdef MP-KUAISHOU || MP-TOUTIAO + "navigationBarTitleText": "京西到家", + // #endif + // #ifndef MP-KUAISHOU || MP-TOUTIAO + "navigationBarTitleText": "京西菜市", + // #endif + "enablePullDownRefresh": true + } + }, + // #ifndef MP-TOUTIAO || APP-PLUS + { + "path": "pages/cart/index", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "购物车" + } + }, + // #endif + { + "path": "pages/mine/index", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "我的", + "navigationBarBackgroundColor": "#4EB331", + "navigationBarTextStyle": "white" + } + } + ], + "runtimes": { + "win10-x64": {} + }, + "subPackages": [ + { + "root": "pagesGoods", + "pages": [ + { + "path": "good/index", + "style": { + "navigationBarTitleText": "分类" + } + }, + { + "path": "good-detail/index", + "style": { + "navigationBarTitleText": "商品详情" + } + }, + { + "path": "good-search/index", + "style": { + "navigationBarTitleText": "商品搜索", + "navigationBarBackgroundColor": "#fafafa" + } + } + ] + }, + { + "root": "pagesAddress", + "pages": [ + { + "path": "mine-address/index", + "style": { + "navigationBarTitleText": "我的收货地址" + } + }, + { + "path": "position-address/index", + "style": { + "navigationBarTitleText": "地址搜索" + } + }, + { + "path": "create-address/index", + "style": { + "navigationBarTitleText": "新建地址" + } + }, + { + "path": "pick-city/index", + "style": { + "navigationBarTitleText": "选择城市" + } + }, + { + "path": "edit-address/index", + "style": { + "navigationBarTitleText": "编辑收货地址" + } + }, + { + "path": "pick-store/index", + "style": { + "navigationBarTitleText": "选择门店" + } + } + ] + }, + { + "root": "pagesOrders", + "pages": [ + { + "path": "create-order/index", + "style": { + "navigationBarTitleText": "提交订单" + } + }, + { + "path": "add-note/index", + "style": { + "navigationBarTitleText": "添加备注" + } + }, + { + "path": "help-purchase/index", + "style": { + "navigationBarTitleText": "辅助进货" + } + }, + { + "path": "my-order/index", + "style": { + "enablePullDownRefresh": true, + "onReachBottomDistance": 50, + "navigationBarTitleText": "全部订单" + } + }, + { + "path": "order-detail/index", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "订单详情" + } + }, + { + "path": "my-afsorder/index", + "style": { + "enablePullDownRefresh": true, + "onReachBottomDistance": 50, + "navigationBarTitleText": "我的售后" + } + }, + { + "path": "afsorder-detail/index", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "售后单详情" + } + }, + { + "path": "create-afsorder/index", + "style": { + "navigationBarTitleText": "创建售后单" + } + }, + { + "path": "order-status/index", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "订单状态" + } + }, + { + "path": "online-contact/index", + "style": { + "navigationBarTitleText": "在线联系" + } + } + ] + }, + { + "root": "pagesAuth", + "pages": [ + { + "path": "auth-index/index", + "style": { + "navigationBarTitleText": "登录" + } + }, + { + "path": "auth-argument/index", + "style": { + "navigationBarTitleText": "注册/登录协议" + } + } + ] + }, + { + "root": "pagesMine", + "pages": [ + { + "path": "my-promote/index", + "style": { + "navigationBarTitleText": "我的推广码" + } + }, + { + "path": "my-news/index", + "style": { + "navigationBarTitleText": "我的消息" + } + }, + { + "path": "vip/index", + "style": { + "navigationBarTitleText": "会员中心" + } + } + ] + }, + { + "root": "pagesBanner", + "pages": [ + { + "path": "banner-template1/index", + "style": { + "navigationBarTitleText": "特色商品" + } + } + ] + }, + { + "root": "pagesStore", + "pages": [ + { + "path": "store/index", + "style": { + "navigationBarTitleText": "门店列表" + } + } + ] + } + // #ifdef MP-WEIXIN + , + { + "root": "pagesPay", + "pages": [ + { + "path": "JX-pay/JX-pay", + "style": { + "navigationBarTitleText": "京西支付" + } + } + ] + } + // #endif + // #ifdef MP-TOUTIAO || APP-PLUS + , + { + "root": "pages/cart", + "pages": [ + { + "path": "index", + "style": { + "navigationBarTitleText": "购物车" + } + } + ] + } + // #endif + ], + "globalStyle": { + "backgroundTextStyle": "dark", + "navigationBarBackgroundColor": "#fff", + // #ifdef MP-KUAISHOU + "navigationBarTitleText": "京西到家", + // #endif + // #ifndef MP-KUAISHOU + "navigationBarTitleText": "京西菜市", + // #endif + "navigationBarTextStyle": "black", + "onReachBottomDistance": 50 + }, + "tabBar": { + "borderStyle": "black", + "selectedColor": "#37D260", + "color": "#888888", + "backgroundColor": "#F5F5F5", + "list": [ + { + "pagePath": "pages/index/index", + "text": "首页", + "iconPath": "static/images/bottom-bar/icon-home.png", + "selectedIconPath": "static/images/bottom-bar/icon-home-active.png" + }, + // #ifndef MP-TOUTIAO || APP-PLUS + { + "pagePath": "pages/cart/index", + "text": "购物车", + "iconPath": "static/images/bottom-bar/icon-cart.png", + "selectedIconPath": "static/images/bottom-bar/icon-cart-active.png" + }, + // #endif + { + "pagePath": "pages/mine/index", + "text": "我的", + "iconPath": "static/images/bottom-bar/icon-mine.png", + "selectedIconPath": "static/images/bottom-bar/icon-mine-active.png" + } + ] + }, + "condition": { + "current": 0, + "list": [ + { + "name": "首页", + "path": "pages/index/index" + }, + { + "name": "商品详情", + "path": "pagesGoods/good-detail/index", + "query": "skuID=22733" + }, + { + "name": "商品搜索", + "path": "pagesGoods/good-search/index" + }, + { + "name": "新建收货地址", + "path": "pagesAddress/create-address/index" + }, + { + "name": "我的收货地址", + "path": "pagesAddress/mine-address/index" + }, + { + "name": "地址搜索", + "path": "pagesAddress/position-address/index" + }, + { + "name": "选择城市", + "path": "pagesAddress/pick-city/index" + }, + { + "name": "编辑收货地址", + "path": "pagesAddress/edit-address/index", + "query": "address=%7B%22id%22%3A4%2C%22consigneeName%22%3A%22%E5%91%A8%E5%91%A8%22%2C%22consigneeMobile%22%3A%2213684045763%22%2C%22autoAddress%22%3A%22%E5%9B%9B%E5%B7%9D%E7%9C%81%E6%88%90%E9%83%BD%E5%B8%82%E9%87%91%E7%89%9B%E5%8C%BA%E6%8A%9A%E7%90%B4%E8%A1%97%E9%81%93%E4%BA%8C%E7%8E%AF%E9%AB%98%E6%9E%B6%E8%B7%AF%E6%9F%B3%E5%A0%A4%E8%8B%91%22%2C%22address%22%3A%22%E7%A7%91%E6%8A%80%E5%A4%A7%E5%8E%A61701%22%2C%22isDefault%22%3A1%7D" + }, + { + "name": "京西支付", + "path": "pagesPay/JX-pay/JX-pay", + // jxParams={"origin":"weixinappcs","vendorOrderID":888888888,"storeID":668470,"name":"芬姐B2B","totalPrice":1500} + "query": "jxParams={'origin':'weixinappcs','vendorOrderID':888888888,'storeID':668470,'name':'芬姐B2B','totalPrice':1500}" + }, + { + "name": "京西支付(自定义金额)", + "path": "pagesPay/JX-pay/JX-pay", + "query": "" + }, + { + "name": "提交订单", + "path": "pagesOrders/create-order/index" + }, + { + "name": "辅助进货", + "path": "pagesOrders/help-purchase/index" + }, + { + "name": "登录", + "path": "pagesAuth/auth-index/index" + }, + { + "name": "我的", + "path": "pages/mine/index" + }, + { + "name": "全部订单", + "path": "pagesOrders/my-order/index" + }, + { + "name": "订单详情", + "path": "pagesOrders/order-detail/index", + "query": "vendorOrderID=2014907693000521" + }, + { + "name": "我的售后单", + "path": "pagesOrders/my-afsorder/index", + "query": "vendorOrderID=88325176991588" + }, + { + "name": "售后单详情", + "path": "pagesOrders/afsorder-detail/index", + "query": "vendorOrderID=88429292726364&afsOrderID=69647522635&vendorID=1" + }, + { + "name": "创建售后单", + "path": "pagesOrders/create-afsorder/index", + "query": "vendorOrderID=2014907693000521&vendorID=0" + }, + { + "name": "订单状态", + "path": "pagesOrders/order-status/index", + "query": "vendorOrderID=88313234666629&vendorID=9" + }, + { + "name": "申请物料测试-c4", + "path": "pages/index/index", + "query": "storeID=666666&fromStoreID=100118&storeType=c4" + }, + { + "name": "会员中心", + "path": "pagesMine/vip/index", + "query": "" + }, + { + "name": "公众号", + "path": "pages/index/index", + "query": "brandID=6" + }, + { + "name": "二维码进入", + "path": "pages/index/index", + "query": "storeID=667551" + } + ] + } +} \ No newline at end of file diff --git a/src/pages/cart/index.vue b/src/pages/cart/index.vue new file mode 100644 index 0000000..60c9fa9 --- /dev/null +++ b/src/pages/cart/index.vue @@ -0,0 +1,447 @@ + + + + + \ No newline at end of file diff --git a/src/pages/cart/shop-car.scss b/src/pages/cart/shop-car.scss new file mode 100644 index 0000000..d656111 --- /dev/null +++ b/src/pages/cart/shop-car.scss @@ -0,0 +1,356 @@ +@import "@/assets/bundle.scss"; + +.shop-car { + box-sizing: border-box; + width: 100vw; + height: 100vh; + + /* #ifdef MP-ALIPAY */ + // overflow: hidden; + border:1rpx solid #eee; + /* #endif */ + .no-shopcar { + /* #ifndef MP-WEIXIN || MP-ALIPAY || APP */ + margin-top: 20vh; + /* #endif */ + @extend %flex-center; + flex-flow: column; + .btn-toGoods { + @extend %btn-linearGradient; + margin-top: 40rpx; + } + } + + .shop-car-bottom-bar { + position: fixed; + /* #ifndef H5 */ + bottom: 0; + /* #endif */ + + /* #ifdef H5 */ + // bottom: 100rpx; + /* #endif */ + + left: 0; + right: 0; + box-sizing: border-box; + border-top: 1rpx solid $border1; + @extend %bgwhite; + z-index: 10; + .all-pick { + @extend %flex-between; + @extend %pdlr; + height: 70rpx; + .pick-count { + font-size: 30rpx; + color: $text1; + } + } + .total { + @extend %flex-between; + padding-left: 20rpx; + } + .price { + @extend %flex-center; + } + .btn-clear-shopCar { + @extend %flex-left; + .icon-delete { + @extend %bg-no-repeat-center; + @extend %icon-clearAll; + @extend %bg-size-100; + width: 30rpx; + height: 30rpx; + + } + .icon-text { + font-size: 28rpx; + color: $text3; + } + } + .total-price { + font-size: 28rpx; + @extend %flex-center; + margin-right: 20rpx; + .total-text { + margin-right: 10rpx; + color: $text1; + } + .total-val { + font-size: 40rpx; + color: $danger; + font-weight: 600; + display: flex; + flex-direction: column; + } + } + .preferential { + color: #ccc; + font-size: 22rpx; + } + .btn-payment { + @extend %btn-linearGradient; + height: 80rpx; + font-size: 32rpx; + width: 240rpx; + border-radius: 0; + } + .btn-disabled { + opacity: 0.5; + } + .waybillSLG { + font-size: 26rpx; + @extend %flex-center; + color: $maincolor; + height: 40rpx; + + } + } + .goods-content { + // @extend %bgwhite; + background-color: #eee; + } + // .note{ + // width: 100vw !important; + // position: fixed; + // top:160rpx; + // left:0; + // z-index: 999; + // border-bottom: 2rpx solid rgba(207, 205, 205, 0.5); + // } +} + +// 推荐商品 +.recommend{ + margin-top: 60rpx; + // border: 1rpx solid red; + &-line{ + // border: 1rpx solid red; + color: #d4d4d4; + } + &-top{ + padding:10rpx; + display: flex; + justify-content: center; + // border:1rpx solid red; + } + &-icon{ + margin:0 20rpx; + display: flex; + } + &-img{ + margin-top:4rpx; + // img{ + // width:20px; + // height:20px; + // } + } + .good{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + padding:10rpx; + margin-top:20rpx; + background-color: #f4f4f4; + + // display: flex; + // flex-direction: column; + // flex-wrap:wrap; + // align-content: space-around; + // height:5026px; + // background-color: #f4f4f4; + } + .good-item { + width:340rpx; + margin-bottom: 10rpx; + border-radius: 40rpx; + } +} +.placeholder-box{ + height: 154rpx; + background-color: #eee; +} + + + + +// .car-group { +// // margin-top:270rpx; +// // margin-top: 200rpx; +// margin-top: 160rpx; +// overflow-y: auto; +// // margin-bottom: 200rpx; +// // margin-bottom: 100rpx; + +// @extend %pdlr; +// .store-info { +// @extend %flex-between; +// font-size: 28rpx; +// color: $text1; +// height: 100rpx; +// border-bottom: 1rpx solid $border2; +// // padding-left: 100rpx; +// } +// .store-name { +// flex: 1; +// @extend %oneline; +// } +// .store-mobile { +// flex: none; +// } +// .skuName-cell { +// @extend %flex-left; +// border-bottom: 1rpx solid $border2; +// } +// .flex-auto { +// @extend %flex-auto; +// } +// .skuName-cell:last-child{ +// margin-bottom: 194rpx; +// } +// } + +.good-cell-big { + @extend %pd20; + @extend %bgwhite; + box-sizing: border-box; + box-shadow: 0 0 4rpx rgba($border1, 1); + border-radius: 10rpx; + .good-img { + width: 300rpx; + height: 300rpx; + .good-img-size{ + width: 100%; + height: 100%; + } + } + .good-name { + font-size: 28rpx; + margin-top: 20rpx; + color: $text1; + // height: 4em; + overflow: hidden; + text-align: justify; + line-height: 1.2; + + } + .good-price { + display: flex; + align-items: center; + justify-content: space-between; + } + .btn-wait{ + flex: 1; + text-align: right; + } + .btn-self{ + color: #fff; + background-color: rgba(78, 179, 49, 0.6); + } + .countTime-wrap{ + height: 17rpx; + width: 100%; + margin-bottom: 5rpx; + } + .countTime{ + color: #E6A23C; + font-size: 26rpx; + } + .stock-and-waitPirce{ + display: flex; + } + .price { + display: flex; + align-items: baseline; + .unit{ + font-size:28rpx; + color:$strong; + } + } + .ori-price { + font-size: 20rpx; + color: $gray; + margin-left: 10rpx; + text-decoration: line-through; + &:before { + content: "¥"; + } + } + .act-type-wrapper { + height: 20rpx; + overflow: hidden; + } + .act-type { + @extend %act-type-text; + } + .check-detail{ + font-size:28rpx; + color:rgba(78, 179, 49, 0.6); + } + .handle-shopcar { + margin-top: 20rpx; + height: 50rpx; + } + .add-cart{ + height: 60rpx; + line-height: 60rpx; + font-size:30rpx; + background:#81be4e; + color:#fff; + text-align:center; + border-radius:20rpx; + margin-top:10rpx; + } +} +// #ifdef MP-KUAISHOU +.viewDetail{ + // border:1px solid red; + text-align: center; + background: rgba(78, 179, 49, 0.8); + border-radius: 20rpx; + height: 50rpx; + line-height: 50rpx; + color:#fff; +} +// #endif + +.red { + flex: 1; + color: #fe6263; + margin: 10rpx 0; + font-size: 28rpx; +} +.gray { + flex: 1; + color: #999; + margin: 10rpx 0; + font-size: 28rpx; +} +.priceStyle{ + color: rgb(149, 209,131); + font-size: 25rpx; + margin-bottom:10rpx; +} +.priceColor{ + color:$strong; +} + + +// .good-price { +// font-size: 32rpx; +// color: $strong; +// font-weight: 500; +// // &:before { +// // content: "¥"; +// // font-size: 28rpx; +// // } + +// &-font{ +// font-size: 38rpx; +// &:after{ +// // content: "."; +// font-size: 28rpx; +// padding:0 5rpx; +// } +// } +// } \ No newline at end of file diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue new file mode 100644 index 0000000..85ccb65 --- /dev/null +++ b/src/pages/index/index.vue @@ -0,0 +1,603 @@ + + + + + diff --git a/src/pages/index/shop-index.scss b/src/pages/index/shop-index.scss new file mode 100644 index 0000000..324c15a --- /dev/null +++ b/src/pages/index/shop-index.scss @@ -0,0 +1,347 @@ +@import '@/assets/bundle.scss'; + +.shop-index { + position: relative; + // 修修复苹果左右滑动的问题 + box-sizing: border-box; + width: 100%; + overflow: hidden; + .shop-background{ + width:100%; + height:800rpx; + position: absolute; + /* #ifdef MP-WEIXIN */ + z-index: -1; + /* #endif */ + } + .top-address { + box-sizing: border-box; + @extend %pd20; + height: 100rpx; + // opacity: 0.6; + // background-color: $border3; + background: rgba(218, 214, 214,0.5); + border-bottom:2rpx solid rgba(218, 214, 214,0.5); + position: fixed; + left: 0; + right: 0; + top: 0; + z-index: 10; + width: 100%; + @extend %bgwhite; + box-sizing: border-box; + .position-address { + @extend %flex-between; + font-size: 32rpx; + // width: 750rpx; + // box-sizing: border-box; + .cur-address { + @extend %flex-left; + // flex: none; + // flex: 1; + max-width: 50%; + } + .cur-shop { + margin-left: 20rpx; + flex: none; + background-color: rgba($maincolor, .9); + font-size: 28rpx; + border-radius: 10rpx; + color: white; + @extend %pdlr; + height: 70rpx; + @extend %flex-center; + max-width: 50%; + @extend %oneline; + box-sizing: border-box; + } + .address { + font-weight: 500; + // flex: auto; + color: $text1; + @extend %oneline; + margin: 0 10rpx; + } + .icon-position, .icon-aw-right { + flex: none; + @extend %bg-no-repeat-center; + @extend %bg-size-100; + } + .icon-position { + @extend %icon-indexPosition-text1; + width: 30rpx; + height: 30rpx; + } + .icon-aw-right { + @extend %icon-aw-right-slim-text1; + width: 16rpx; + height: 16rpx; + } + } + } + .index-content { + padding-top: 100rpx; + position: relative; + } + .no-padding { + padding-top: 0; + } + .index-swiper { + width: 96vw; + height: 250rpx; + box-shadow: 5rpx 5rpx 1rpx rgba(0, 0, 0, 0.5); + margin:0 auto; + @extend %bgwhite; + .index-item { + // #ifndef MP-ALIPAY + width: 750rpx; + height: 250rpx; + // #endif + .index-item-img{ + width: 96vw; + height:250rpx + } + image { + width: 100%; + height: 100%; + } + } + } + .top-cat { + width: 96vw; + background: #fff; + margin: 25rpx auto; + border-radius: 20rpx; + padding: 20rpx; + box-shadow: 10rpx 5rpx 1rpx rgba(194, 193, 192, 0.2); + // @extend %pd20; + display: flex; + flex-flow: row wrap; + justify-content: space-between; + box-sizing: border-box; + position: relative; + .cat-item { + @extend %flex-center; + flex-flow: column; + width: 30%; + } + .cat-img { + width: 100rpx; + height: 100rpx; + .cat-img_size{ + width:50px; + height:50px; + } + // img { + // width: 100%; + // height: 100%; + // } + } + .cat-name { + color: $text1; + font-size: 24rpx; + margin-top: 10rpx; + margin-bottom: 30rpx; + } + } + .introduce{ + display: flex; + padding: 10rpx 30rpx; + box-sizing: border-box; + width: 96vw; + margin:0 auto; + text-shadow: 2rpx 2rpx 2rpx rgb(121, 236, 117); + position: relative; + .itc-first{ + flex: 2; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFDGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0wNC0wMlQxNToyNiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMDQtMDJUMTU6MjY6MzgrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjItMDQtMDJUMTU6MjY6MzgrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzcwNzUwNDctYTIyZC1kMjQyLTljMDAtMWFmOWRjM2M4MTAxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM3MDc1MDQ3LWEyMmQtZDI0Mi05YzAwLTFhZjlkYzNjODEwMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjM3MDc1MDQ3LWEyMmQtZDI0Mi05YzAwLTFhZjlkYzNjODEwMSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzcwNzUwNDctYTIyZC1kMjQyLTljMDAtMWFmOWRjM2M4MTAxIiBzdEV2dDp3aGVuPSIyMDIyLTA0LTAyVDE1OjI2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoaPKvUAAAOeSURBVGiB7dpNaB1VFAfw34tZCcUg1EWpFq3BICqBCOIXROnGiloXqYtWXIgW1Aep6CKoZAoWBUsLfqFBi2gKom4UtStJF40uNMuCoRYNoiiRunChFCEu7rzmzryZvHl5r75XyB+GN+ece//3nLkf58wktZWVFRczBnrtQKfYCKDXqG05uqtxfyPGsO0CjreMJXzRLcLB9HcCH3WLtAIWcHM3iAbwsP/XecJMd2XMQTye0yXdIC7BfYLzhFm/H591QjiI6yL5LpzohLAFDmAO46l8TaeEA9gcySc6JayAeIzLOiW76I/RjQA6RIKVkmsOr7QiGGzVoIcYT69t2F3WqNczUAUTOFJm7HUACWoF1zCOR+0msauIoNcBxJhOrwn8gJ2Yz9mH8p36ZQ/EyQ0exVHswN+pblQIYn/csV9mYNzqcvoA7+JS/CO7dCZzct8EEGMSv1st9j7FJ5E9s5T6MYCzqONePJTq6pF9VAgC/RkAfIx38KGQB37DI5F9UrqU+jUAwlNewsFUfh/Hcvahfg7gVzyPPXgq1b2IP9P7UTzWzwHALN7DVCp/L/vC9WC/BwA/YUskvxrd3zqAU5Fi2oXFuOwTXOqUcEA2XSfKy9tuXHO58RfS31NrjJ3IPuQMGt+FevGBdLdwXDaw1uwfyMnn/W3UQjW8JCSPq3ThXbUEy1jEjKzzNDtZCfEmnsJNsrV3orjcXe91Be4U6p2uoJNqdIeQJbfiR/yCr9bJtVnY4FvxL34W9uZyq47rCWAEz2FvgW1WSDaLbfA9gaexPac/g8N4c63O7QawSUgst5TY9+Jq3IO/KvA9iddLbNvxhjAjM2UE7Sayg5qdT3Ly7ThUgetazc4fxzc53dtWP0c2oSiA0znnro/kes5WE06Pmmwg+e+tRdiTk4eF18jbNH+5jvni43Yx/vtAA2P4roIDtQLdevPJEWEfxKjLlg1FeLloBhbwbIuOSZv6Vsg7D69V6DdVtgcOCef1PP4osCcl/cr0rXC4QFcv0BHKihnpClhrE5/EHcIZ3UhEMfKpPy+3SmpJ1Ha/sKkbGJNdPg2Ha7gB+xqGdk+heFoTYc1PWy264gFb4VhOPo0v8bXmPVjKd8mmB0YqjHUeJ3G3kDEbGM+1mRfeX8+14DorLM+dkW4YV+ba7cPnZSTtBnBOCGJIqJvymMUzwutgFXwrlAsjuDxnO4MX8NZaBEXHaFX0RS1U2/hfiR5jI4Be4z/nLMpiAVfKrQAAAABJRU5ErkJggg==") left no-repeat; + } + .itc-second{ + flex: 2; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFEmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0wNC0wMlQxNToyNTo1MiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMDQtMDJUMTU6MjY6MTgrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjItMDQtMDJUMTU6MjY6MTgrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MmY3NTgwMzUtZWQ4MC1hMzQzLTkyNzAtYzBjMmY4Nzk4M2FmIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJmNzU4MDM1LWVkODAtYTM0My05MjcwLWMwYzJmODc5ODNhZiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJmNzU4MDM1LWVkODAtYTM0My05MjcwLWMwYzJmODc5ODNhZiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MmY3NTgwMzUtZWQ4MC1hMzQzLTkyNzAtYzBjMmY4Nzk4M2FmIiBzdEV2dDp3aGVuPSIyMDIyLTA0LTAyVDE1OjI1OjUyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjjSpGEAABRKSURBVHic7Z15vJ/TmcC/VEdK7FTVkDRqDSqT2qOW1k5qiSiGkUlrG0XtpSOpBpW0YdQy1JLaauuIbWIdQUxU7U3CWFLGXloSxsg0pH8872/udV2/+5zznvOe8/7e5/v5nE/iOu85z72539855z3bQgsWLMAwjN5ZOHUAhpEzJohhtMEEMYw2mCCG0QYTxDDaYIIYRhtMEMNogwliGG0wQQyjDSaIYbTBBDGMNizi89DKl+0eOo6msziwXJEWB+YCc4o0F/g4XWidxaujbnTK7yWIoWYZYK0irYYIsDxdMrRSvz7KeY8uaeYCrwLPAc92+/OP4cM3TJAwrIpIsDZdQqwFfClQ+UsUaeU2eebwSWHuAv4zUP2NxQTxYylgp25p2bThABLThkUCGAu8j4hyNyLLEykCqzMmiJ4hwA7At4BtEseipT+we5EAXgDuR2S5B/hDorhqgwnSnpYQ3wQ2SBtKEFYr0ihgHjAZuLH4c16yqDLGBPk0qwAji7RR4lhisiiwd5Fm0yXLtIQxZYcJ0sW2dImxZOJYqmYQcHSRpiGiXA+8nDKoHGi6ICvSJcWwxLHkwrAinQxcXqTHk0aUkKbOpC8BnAfMAM7B5OiNZYGjgMeAK5AWtnE0sQVZE7gE2DxR/a3Jvt7+nAP8H7B0kZbp5c++JhVj8PdFuh1pUX6dIIYkNFGQn1KNHP8N/L6XVJYVkAnJnmmVAGX3xQ5FOhr5Of6mgjqT0jRBdgJ2i1Duu8AU4AG6RJgToR6At4p0f4+v90dE2QjYFNgM+EqkGL4O3ABcCIwDXolUT3KaJki7pRquPAFMBW4B/iNgub68D/yuSOcVX1sN2LhHCsnByNjkJ8CkwGVnQdME+XyJZ99FhLgPuBOYFSCe2LxQpKuL/14HGAHsCawfqI5BwGWIKOOApwOVmwVNe4s11eOZB4DvA2sgSzbOph5y9MYs4FTga8j3chXwYaCy90U+PI4IVF4WNE2QWcAvFPnmAL9EPhW/AZyL9Ps7icnIm6nBwAnAowHKXAH4F+BK4MsByktO0wQB+YSb9Bn/77fAMcC6wEHIKthOZzYwHhl4/yPwYIAy90O6oTsFKCspTRuDtBiFdAc2BQYA04GHgDtSBpUBlxVpH2A0skjTl8HAbciM/OnlQ0vDQj7XH9iW28awByJK2ZbgBuB4Mlhe77rltoldLEPPvwE7Iyt+f1uinBFIl6t2n6wmiKHhOmTi8Tjgdc8yvooId0iooKrABDG0fAz8DBFF8ybws7gAOCVIRBVgghiuvIi8CdwKuNmzjB9TTrLKMEEMX+4Dvo3/G6rDgWvChRMHE8Qoy8nAPwB/9nh2b2QtW7bkLMiSwPbAGGQZw9C04RhtuBzYEb9zuHYhj8WevZKrIAcCTyIbdMYia4YeAY5NF5LRBw8jklzq8ezWyFxJduQoyHHIbO7AXv7fBGRwaOTJXGRicYzHs3sC54cNpzy5CXIgsi6oHRci20+NfDkVWQDpyqH4yRWNnATZCWk5+mINrBWpA+OBIz2eG0tGkuQiyIbo5GgxMFIcRljOQQbhrowlE0lyEGQgMrD7osMzU6NEYsTgNqTVd2UsGUiSWpDFgYuR/RdarsdOKa8bzwELeTw3FpmMTEZqQc7Hfc/BWTECMSphJY9nxiN7dpKQUpBDgQMcnzkI2dxk1JM3gL9zfGYN+n6zGY1UggwBTnN85hRkn7hRbx7HfQPWSOCHEWLpk1SCnIYco6nlAuTsJaMzmILsf3fhdORUx0pJIcgpyJIELTcCh0WKxUjHZcBJjs+MJ9y9jyqqFmQ7ZC+AlunIuMPoTM5ATo7Xsh5yOF1lVCnIkriNO95GBvJvxwnHyITjgKcc8o9G9slXQpWCnICcvaTlZGRFr9HZvIlI4sIxMQLpjaoEGYzbkZSXAhdFisXIjztxk2Rr5DjY6FQlyBHI8fwaZiKth9EsfobbeOQYwp7W3ytVCLIVbgPtk5AJJaN5uIxHBlDBBroqBHHpWp2O/0kZRv15E9lLouUoYIs4oQixBRmB/jS96VjXypBr3VzGn1FbkdiCuGyYmRgtCqNujEN/ju9w/PacqIgpyHfRX698DZlu2jeS8DJuE4LRJpNjCnKgMt98rPUwPs2lwLXKvLsSqRWJJchI9FctT0QunsyNHZClEPcCP8B9mXbu7IeshzoP2CtxLJ/FOOAdZd4orUgsQUYp880mz9ZjDLLi9ETkNfVE5FC0MxLGFIrhiPRXIq38Ycjp7f+FnA2QEzPourG3L6K0IjEEaV02r2Ei8movJy5Etnr2ZFFEmOsqjSYsewE30fupMGsA91QajY5JwHvKvMFbkRiCaFuPGcgvY06sRN8/5L2opySauJcgg4MSevAC+jvYg7cioQXZHBl/aPgVMkDPCe35v3WTxCXetWIG4skkh7z7haw4tCAHKvO9gts3XRWrOuStiySucS4dKY4yPIYckK1hOLBKqIpDCrIiMnOuYRJ57vOY6pg/d0l84ns+RiABmKTMtxgBjwoKKciu6D593ke6VzkyCzl3y4VcJfGN69bQgQTiXmCyMu/wUJWGFEQ7OJpEvp9S4HfuVm6S+MZzCXnfFa/9nrZFTs4pTShBVkdaEA1XBqozFtPRv2joTi6S+MZxPbI8KGduAV5V5g3SioQSZBdlWY9S7r7tqrieekpSRg6f77dq3kd/ZVuQcUgoQbStR87Nd0/qJkmny9FCu19oCNLVKkUIQYYie4Q13BmgviqpiyRNkQNkCdBMZd7SB82FEEQ7OJ+JXB1cN3KXpElytNB2szYuW1EIQbRvC+rUvepJrpI0UQ7QC7IJsGyZikIIoj3rqm7dq57kJklT5QBZWT1Dke9zwGZlKioryLrojl55mXq3IC1ykaTJcrTQ3smeVBBt9+rBkvXkRGpJTA5BK8gmZSopK4h2g432m6kLqSQxObq4S5mv1EC9rCDa5quTWpAWVUticnyS15CJ575YjBKSlBHkC+j2T/wRWa7ciVQlicnRO9ppA+9xSBlBtFbeX6KOOhBbEpPjs9G++NnAt4Iygmh3nj1Qoo66EEsSk6M92qmD9XwrKCPImsp8dVicGILQkpgcOjTLTpIIom1BXihRR90IJYnJoWeWIs8iwNo+hccWZA55bq2NSVlJTA43tAsXvVoRX0H6AQMV+XLeORiTql8BN1UO0LUgULEg1r3qm6p+aZssB2TagjRRkDHIwQELHFJVy91dYpqBnGg5sILYqiBqC7KIz0Po32B1iiAzkItIO4HBRdodub+lE270mknf/z6DkAbhY5eCfVuQpZT5OkGQm+kcObozEDnFRHuaZM68rsy3qGvBsQXRHl2fK2ug329fR5YH9k8dRAA+VOYzQQKT23UAMfhK6gACoBWkn2vBJojRCdSyBZmP/l6HXMnx5qvQaC/LzJlaCtIJrcez6A8IqCNvA1ekDiIAtexidYIgIEdYaiej6sSLwGh0m45yJ1oL4jsP0iRBQA6nGIO8S3e5Q0RT7vKKfA8CfwlU51vI6/cLEUk6gewEWUiRZ4Fn2bny4whl3gjspsi3G81b9OmC5vfRC98u1hxFnmU8yzYMV7Rji3muBfsKMleRZ2nPsg3DlewEsRbEyAmtINqxyv8TU5C/QY5cMYzYZNeCaLpYYK2IUQ1fUObLqosFNg4xqiG7Lpa1IEZOZNfF0rYgq3mWbxguaFckVybIi8p8XketGIYD/dAJMhvH3YTgL8hzynwmiBEb7e/Y730K9xXkWWU+E8SITVRBfNdivYHs9Viij3yrF3XM96wnNxYFNg1YnmahIsDm6Md9ffE88EqgsnJgHWW+SgUBaUU0G/7XxjO4jPgicD6wMx57CgIwOXB504HxEcpNQZZdLGjOOGR94E1gT9LIEYNNkZXEx6cOJACa36/5wNM+hZcRpCnjkEtTBxCRM4F9UgdREs3vl3cPpooWpNQto4kZSmecG9WOrVIHUILtlPmSCPKUMl+dBalz7FoGpA6gBNsr8z3hW0FZQd5U5OtPfT+Ftd3IOlPnrdFbKvN537Jc9pZb7RVYpa7iTch0Omff9mfxTOoAPPkyug/eDyhxy1lZQe5W5qurIHOJsxc9Fy6ivt/ftsp8pa4ALCuI9v7zkJNrVTMJ+H7qICIwGTg4dRAl0I4PHypTSZmJQpDjY55C5grasTpyQnpdz5c6F+mKDAD+NmC530F318p4pKsQgreAl4DbApWXCq0g3uMPKC8IwFT6FgRgR+orCOi7ky5sgE6QCdixP93ZDDlTrC8+oqQgZbtYOAQwIkBdhgH6KykeAv5cpqIqBdkY/cSOYbRDK0ipATqEEeRlZF2PBmtFjLLsiP7Gr9vLVhZCENCvCh0BrBSoTqOZDFfmexy4q2xloQS5EXhVkW8ZZFWsYfjQH3336qYQFYYS5D3cWhHD8GFXYGVl3iC394YSBPTjkC2BnQLWazSH7yjz3YV0sUoTUpB7gIeVeUcHrNdoBtuhH38Eu/s9pCCg72btAXwzcN1GZ6P9UP2AQOMPCC+ItpsF1ooYerYERirz3oxMPQQhtCDPAJcr8+6DnNZhGH3h8mF6VciKQwsCekHAWhGjbzYG9lfmvQW4NWTlMQS5B/h3Zd5R1He3oVENLh+iF4WuPIYg4NaK/CBSDEb92R74njJv8NYD4glyLfpXvvuhu+nVaB4nOuQN3npAPEHArRU5OloURl05Fv2RRFFaD4gvyGxl3i2AIyLGYtSLtcmg9YC4gryHeyuiXWdjdDYnAssp895EpNYD4goCMA79wQ4DsK6WIROCByjzfozs149GbEE+QiTRcjTN2nWovZ21KawInOyQ/0xK7jnvi9iCgOzqmuiQfwLyg2oCMxR55tGcAxsmoDsABORnF7X1gGoEAWlFtAcIr4/8oJqA5uidq6NHkQfHop8xB5Hj3TihdFGVIO/g1tXaH/mBdTr3IscmteOcCuJIzXa4fSheB1wRKZZPUJUgIN/UxQ75J9CM8choRJSezEcGq09UGk31rIibHP9LBV2rFiEOjnNhHLANMEiZfwLwJLpT5OvKbORnMgzZabkCcB9wZcqgKsRl3AEyMH80UiyfompBXkKu/bpBmX99pIuxd7SI8mFakZrED3Ebd9xExYdtV9nFavEb3MYjI4FfRYrFSMco4HSH/K0P10pJIQjAP+M2+3kAcGGkWIzq2RH3ux+PJ8GFRqkEAfmGXe7rPgg4K1IsRnUMQb9fqMUZyEueykkpyNPACY7PHAUcFj4UoyK+BDzm+MztwEkRYlGRUhCQSTDXScHzgG9FiMWIz+uO+d8g8V3uqQUB+QG4XuZyF7BXhFiMOAwFFng8dyQlrnAOQQ6CgLzReNLxmevozKvROo2DgEc8njuAROOO7uQiyFvAvrhfdnIO8NPw4RiBOAO/t4/fo6KlJH2RiyAAs/A7+f0EZA/8CmHDMUpyAW67AlscjtuSpKjkJAjIwj3tCXrdGYmMY7QXOxrxWB74NXCIx7M/QV7CZENuggBcD/yTx3MbAnfg9w9jhGEYMAX9KezduRI4JWw45clREIDzgbEez/VHmvYLir8b1fFdRI6vezx7L25rsiojV0FAFqUd6PnsIUhrYl2uapgA/BK/D6VbkdXMWZKzICCLFHfwfHYzrMsVm68iZ1L5bm67Fv2VaknIXRCQX/KtPZ9tdbkuB9YMFpEBcChyDvMuns+fi99YpVLqIAjI263NgD95Pr8/sgnp8FABNZhhSLfofGBVzzLGUJNJ3roIAjAd2YL7jOfzKwK/QC5Y2ShUUA1iKWTi7wFg5xLlHAqcGiSiCqiTICArQUcg3S5fdkVakx8FiagZ7IuI4TPx1+J55Oq9fw0SUUXUTRCAmcjA/cwSZfRDJqUeQ+Zc+gWIqxPZA5mAvQpYr0Q5NyCtv8sVfVlQR0FanIhc41bmProhyGDxUeRUx6UCxNUJ7APcjWyPLntl98nIyus/lA0qBXUWBOAa5JOp7LW/6wA/R1qUk2jOyY49GYUcHHE15W8hnomMVVz2nWdH3QUBGbR/mzADv0HAaUiLcjawbYAyc2d9ZDz2CLJPPMTFqlchH1yuW2uzo+pjf2IyBvnFPha5b6QMKyObdY5EPglvK9L9JcvNhQHIy4pdCXs43yvI2PDcgGUmpZMEAelq3YzsXT+WMPeNDC7S8YiAtyFrjh4KUHaVrIRsVW6JEfrFxAWIHC8FLjcpnSZIi7ORNybHEHZCamiRTkFORJyGvP6cArwasJ4QLAx8o0hbIOudYnSp70PEmBKh7OR0qiAgn2RH0CVKmcmt3hhUpNZlL48je+WnICe2VH1can/k6rJhiAzbAItFrO8tRIyfR6wjOZ0sSIt7izQamcWNdS/7kCK1TuH4EyJKz1S2C7ICIkLPtErJcrV8hOz4m0iCg9yqpgmCtLikSAcVKZYoLZZDPs2H9fj6x8CHbdJ85Oapfj1S62up/s0+QH5+FwNPJYqhcpokSIuLilSVKD1ZGOn6xOz+hOQduj5cfNfB1ZZOmAfx5SJk99vBVHicfo14E5kTGgocRwPlgGa2ID1ptSj7IxOOw4HPJ40oLdOQFxvXAK8ljiU5JkgXVxRpEF2ibJUyoAqZDUxGxGjaHSVtMUE+zWzkFPmzkH0jwxFh1k0ZVATm0SXF5OK/jR6YIO15uEg/ArYHNgE2LdKSCePy5RHk+/kdMsFXyxW2VWKC6LmDro1ai9D1CncY+QozDVk/9hAixRtpw6kfJogf85F98lO7fW0I8DWkK9ZKIdaCafgf5BT07ulB4C8V1d+xmCDheLxI3VmaLlkGF3/2Axbtlvr1+PvnkPHAPGTisLe/v8YnZZgd7btqOAstWOBzbYNhNIMmTxQaRp+YIIbRBhPEMNpgghhGG0wQw2iDCWIYbTBBDKMNJohhtMEEMYw2mCCG0QYTxDDaYIIYRhv+Cnrmzrver2zdAAAAAElFTkSuQmCC") left no-repeat; + + } + .itc-last{ + flex: 1; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFEmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0wNC0wMlQxNToyNTo1NSswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMDQtMDJUMTU6MjY6MjYrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjItMDQtMDJUMTU6MjY6MjYrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTQxN2E5ZmQtYTQ2My1jOTQzLThhYmQtZjExNTcyOTgzMjdlIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjE0MTdhOWZkLWE0NjMtYzk0My04YWJkLWYxMTU3Mjk4MzI3ZSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjE0MTdhOWZkLWE0NjMtYzk0My04YWJkLWYxMTU3Mjk4MzI3ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MTQxN2E5ZmQtYTQ2My1jOTQzLThhYmQtZjExNTcyOTgzMjdlIiBzdEV2dDp3aGVuPSIyMDIyLTA0LTAyVDE1OjI1OjU1KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtLYsqQAABLoSURBVHic7Z17lNVVFcc/KuVjmWKpGZpNqSS1RBER8UGjppJkMBT4ChtFIXwUiZaQCUgqvlECUVDwRT5A0PIFFigoagZCKoIGRlIYWvRQokL6Y/+uc2e49zf3dx6/5/6sdRbOzD37bGfu957f2WeffbbavHkziqJUZuukHVCUNKMCUZQQVCCKEkKbOAbZc0pDHMPkgY8Bw4FRSTuSBdacOdP7GDqDpIduwCxgJHB9op4oH6ECSQcXAA8DJwZfXwjclpw7SgkVSLLUAXcCNwO7tfjZOcC9wA4x+6SUoQJJjkZgLnBGyGtOAx4HDo7DIWVLVCDxUwdMCVpdDa/vjojkNH8uKdVQgcRLIzJrNEbstzvyuKXRrZhRgcRDHdFmjWpcBtwPtLN3SakFFYh/GjGbNarRD3nk6ufInhKCCsQfXZFPe9tZoxIdA9t3Ah0c21bKUIG45zPAtcBz+P+UPwOYD1zkeZzCogJxywWIMC4ivt/tpxBBzgVOiGnMwqACcUMv4Glkw68uIR/qgSeAW4HOCfmQO1QgdnQG7kZyqLon68pHDAReQoXiBBWIGQcA44EXgW8n7Es1VCgOUIFEoz1wIyKMc8nG769cKF0S9iVzZOEPnAbqgKuB3wBDgO08jTMYeN6T7YGIsGcCJ3saI3eoQMJpB4xGhPFDYCdP49wH7AJMRM6FXOZpHIDewXhLgGEkF1TIBCqQyhwFjAMWA5cCu3oaZy3QAJwKrC/7/mjg+ODnvugIXAn8DpgEHONxrMyiAmliZ+QMxhzgGeB8JEnQF2ORXfBZVX4+BzgEeMCjDwA7AmcDv0JmyiuRkLFCTGfSU05XZMe7H7BXDOO9jGTlzqrhtWuQ9cJrwFDgE968Eg4J2jBgOTAbEeoc4N+ex04lRRXIvsDXylocbEBmjWto/jhVC6OAGchR3DOdelWdLwbtAkSoJaEsAFbH5EPiFEkgSYiixFREHEssbLwCnAVMR4RyrLVXtbMnko3cGHz9WyQi9iIwD3grRl9iJe8CSVIUIKkfY4EnHdp8LGiDEaHs69B2rXQO2uDg6+XAQiTdZh45EkzeBNIFWVN0KmtJsAQRxlSPY9yCzCaDkE/2fTyO1Rqlx7HG4Ot3gKVIhGxpWduUhHM2ZFUg2yHx+/bA4cBhiBh87VPUyhokBWUssubwzTrgp8BNND0CpaHAw6eB44JWzqs0F80K4E0gtRXU0yaQNkDbsrYrIoTPBf+W2h6xexbOKuB2YDLy6Rk3/0T2bcYhZ0QagaMT8KM1vhy0U1p8fyUilN+3+PdNYGOcDrYkLoHMDRm/bVnbMR53nPE6TcJYn6wrH3FX0HohlVC+CWyTqEet84WgVeJtRCgrgrY6+N4fg3+9EpdA6mMaJy6WIqK4HfggYV+q8XDQ2iMi6YPscWSNvYJWX+FnW/keXHfSozEf+C7ynD+O9IqjnBXAVUgA42uIsP+WqEcZQgXSOhuR4gg9kENRt5LBaEzAE0g6zZeQVBqX4edckrZFeppYhmS9/hx4I2FfXLMWibaNR/LBeiKFs9O4sE8UFUhzPkRqTpWEkdWZIgrLgnYdcBAilJ5I+LzwqEBkv+LJoM1GQo5F5eWgXQkcijxSHgEcib+U/1RTVIGsp7ko1iTqTTop5VpdF3xdD3yFJtFsm4xb8VIkgSxGMlEXIGcf3kvWncwxL2gl6hHBHIak9+wSu0cxkGeBrEQOPuUugS4lzKO5YNojQim1LO65bEFeBPIeMkMsBhYhhQ/eStKhAlLa6b47+HobmmaXDoiA9kNKs2aGrAnknaCtpkkMi4E/JOmUUpFNwLNBK2cPJPN437J/S//9yTgdrIW0CmQkIoS1LVohj33mjNLfsqVwRiB/91SRVoGAlMBRlETRVBNFCUEFoighqEAUJQQViKKEoAJRlBBUIIoSggpEUUJQgShKCCoQRQlBBaIoIahAFCUEFYiihKACUZQQVCCKEoIKRFFCUIEoSggqEEUJQQWiKCGoQBQlBBWIooSgAlGUEFQgihKCCkRRQkhzXSwlHRyAXNP8l6AVCp1BlGqMQO4KWYrcbf4OUvP41AR9ih0ViFKJa5AyoAe2+H5XYBpy+1Yh0EcspSXTkWujwzgFuaP8Yv/uJIvOIEo5w2ldHCUuArp59CUVqECUEicAV0Tsc5IPR9KECkQBuaDzCYN+nV07kjZUIAqYX0C01qkXKUQFoiwEdjDsm/vbgVUgxeZnyD2CJryPhHxzjQqkuJwFnGfR/ybgFUe+pBYVSDE5ELjdov+vgdGOfEk1KpBi8rJF31XA+RTkQlUVSPF4w7L/ecAyF45kARVIsZiJ3EluynnA4458yQQqkOLwE6C3Rf9rgQluXMkOKpBicCJwuUX/6cAPHfmSKVQg+efTwKMW/V/CLhycaVQg+WeJRd+NSMSqcCcJS6hA8s3TyAxiSiPwghtXsokKJL/cAnS36D8MuM+RL5ml6CcKjwXaIZ+y7wKLkDPYWecc4LsW/W8DxjjyJdMUWSAjkHPXLZmPPFqsjNMZhxyMvMFNmU2BF+UtKapA3gM+WeVnRwG/B44Eno3NI3fMt+j7LrIo/58jXzJPEdcg91BdHOUsAD7j2RfXLML8bAfAadinouSKognkYOD0CK//ky9HPPBzoJNF/0HAHEe+5IaiCeR4gz5vO/fCPSOQUjymXIXduiW3FE0gJmVq9kT2E9LKSVQONtTK/Ui5H6UCRROI6aZXd+AOl444oh3wiEX/lWjEKpSiCeQ1i75nApe6csQRtjNbPySip1ShaAKZhd15htGkp3jzL7E729EX+K0jX3JL0QQCsiC1YRqyV5Ik1wM9LfpfjKSwK61QRIHMR1IxbHgG+KIDX0w4B7jQov8k4DpHvuSeIgoEYDL264nXgV0c+BKFLtiFY5cAAx35UgiKKhCQQs3jLG0scuFIjWwN/MLSRoMLR4pEkQUC8D3gAYv+dcBTblxplbnYne04BinZo0Sg6AIBOBm7cOmxwK2OfKnGbdid7RiACEyJiApEOANZU5gyEH+70RdiF1S4gXRucmYCFYiwGnkTrrewcQVwthNvmuiJhHRNWQAMdeRLIVGBNLEA+/DvJKCXA18APovd+mgj8HVHvhQWFUhzpiMHhmyYhZu7+x7G7mxHV+DvDvwoNCqQLRmPfeXyBcA+Fv1tz3Y0YFfuRwlQgVTmMuw25LZGcr52Muhre7ZjJDKLKQ5QgVRnEPKYY8p+RF9DnILd2Y7HgFEW/ZUWqEDC6Q08b9H/BOCuGl/bCXm0MuVd7BIYlQqoQFqnG3Y70P1pPTnwY9hFrEDO2yuOUYHURj3wgUX/oYRXR7e9t+MrwB8t+itVUIHUxmrkccmGq5FTiS2xPdsxFEm/VzygAqmdBUQrGVSJO2guBtuzHfcjqSSKJ4paWdGUacDe2J1KnIGcSNweu1DySuzCwUoNqECiMwYRyWDD/tsiC/LtLf3oaNlfqYG4HrGiLnDTXvLzXOxubarD7mzHQcD7Fv3TyI4RX7/BixctiEsg/4r4+s978cItXwcWJzDuQPKZRrJzxNdHfU8ZEZdA/hnx9VkQCMjeQ5z1eycFLY+oQCKQFYGAlCbdFMM4eS+4EFUgUd9TRqRVIG2Q8xBZ4QsxjHFQDGMkyd4RX5+rGeQPBn2yNIusxm8xuTgEmCRtgA4R+6z24UhL4hLIcoM+WRIIuNlIrMQp5L8ayQEGfWIJkMQlkBUGfepcOxED05DbYV0xBtktzzsmAnnZtROVSLNAGl07ERNjkKrpttyEW7GlmUMM+ugMgmTRZpEHEZG8ZdB3PfADYIg7d1JP1GTNNcA6H460JM6d9HkG/b7j2I84eRA4Gpgaoc+soM9Y9+6klq5ED0L8xocjlYgzm/dBgz6NwG6O/YiTt5AU9y7Aj5EPiRVI2PtfyHXTzwEXIUd0G4jp2TpF9DDoE9uVeHEmK/7KsF9fYIJLRxLgpaBdmbQjKcTkLMxC515UIc4ZZDlml9z3de2Ikhq+gcyuUViPfNjEQtwHpkxmkXqyu1hXwjnZoM8C4kntAeIXiMk6BKTwgZIv9sdMILHNHhC/QF7DTCRnAX0c+6Iky8nANgb9TD9kjUjiTLrp/+CPgI+7dERJjP0x2+d5ELurvCOTlEBeNeh3KHCJY1+UZBgCtDXoF+vsAclVNTH9H70ELZCWdY5GyrpG5VUKJJAJmKVhbI/OIllniGG/2MUByQlkHeabf32RK9OU7DEI2fuIygrgZse+1ESSheMmYLYWAZlFPuXQF8U/e2N+j+PNwN8c+lIzSQrkfcxnkQ4UK6EvDwwn+rFakFy18Y59qZmkS49OwCz9BODbwDiHvij+6IPZwhwSerQqkbRAQG6HNeV84HJXjiheOAjzD7KHSfhEZRoE8iR2j0s/wa4AtOKPnRBxtDPsf61DX4xIg0BAZpFlFv2vx/56AsU944AjDfteAzzr0Bcj0iKQd7E/K/EEsJcDXxQ3jMA8HL+cFMwekB6BANwD/MzSxisuHFGsGYHdZaTXIB+aiZMmgQB8H5ht0X9nzApEKO6wFcdDyEVDqSBtAvkQSUUwqcRYYj9iPNSvNKM/duJ4lZRVc0mbQEAW69+3tHEI8BdgF3t3lBr5KrVfeV2J/yJ/91RdRppGgYDEv39kaWM34K/kv+hzGjgLmGNpYwjmhT28kVaBgCzUbnRgZzHQy4EdpTKjgNstbdxESivXpFkgIBuAdzuwMwu4wIEdpTlTgcssbfySlK07ykm7QEBi6Y85sHMzcJ0DO4pkUs/FvvLlEvxUxHdGFgQCUlxsngM7Q5GDN7s7sFVUDkaihPWWdt5D7nn8h61DPsmKQECOas5zYOdbyLRumgJRZBoQcbi4u+Uo4G0HdrySJYGAO5F0QaIuQxzYKgpDkE08F++Zw7DLvYuNrAkE3IlkOyRKdi/Zug8xbvYAJuMmogjy93vBkS3vZFEg4E4kAKcBT6GF6SrRgOxNDHBkz+XfLRayKhBw+8tuD8xAq6+X2BbZh3oI+JIjm5kTB2RbICC/9CkO7Q1DkiU7O7SZNeqRWeNihzYzKQ7IvkBA0hwGO7R3HPLIZXqGOssMQ8RxhEObmRUH5EMgABNxu4ZoG9icTLZvuKqVjsAjyCOmq/fEB8CeZFgckB+BAMwEjsHtBfMDkHCwSZn+rDAImTVOcmjzUeATwJ8c2kyEPAkEJP2hF3LJiisOBO5DTjya3OedVjoguVQTgV0d2r0C2SH/0KHNxMibQEAuwfwq7uL2JU5HhDccs3st0sIOSCWY53B/i/D5wKWObSZKHgUCsBHJBD4dt49cOyGfkPOB3g7txkV/pFLI5ZhdP1CNZcieSWIVEH2RV4GUmIbMJjMc2+2GrHkmI0d8085RSMr/Xbg/QDYVODawnzvyLhCAN5AExWEebA9AHrvSWrhub6Qo3zO4PzT2VyS8fibwZ8e2U0MRBFJiDDKbuC7osDtSuG4u0MOxbRt+gDxO2Z7vr8TjyO9yogfbqaJIAgEJZx4H3OLBdj3yxhmPWRVzVzQgs9oN+CmkNxI4ETnKnHuKJhCAvwPnIjvw73iwfy6wEInmtPVgvxqdkVD0Q7jdCS/xAnA8cga9MBRRICWmILPJox5stwNGA4twm9NUie7IQvkl/B1fvRFZiNtWLskcRRYIwO+QTa2RyIU+rvk8khXrotZXS3oADwBP434/o8TryJV3F+Ln95N6ii6QEqOQx5J7PdnfH4kmLQHOtrR1EjLrPY68eX1xB5K6M93jGKlHBdLEEuTWqr7Ai57G6AhMCuxHTa7sg0TKHkEWyb5YCPRDQti5Dd/WigpkS6Yjs8lwJNbvgy7I5uV8JB08jH6IoGZgX0kkjNVIaPhwErpyOY2oQCrzP+AqpPKJz0rjRwK/Ru42ObDFz05HrnO4HxGULzYh9cIORy9G3QIVSDjLkEeNb2B+2WgtnIAkWU5DFtxvIiHbL3scEyRL+XAk0rbG81iZRAVSG79AwqlDgbUexzkVCdnu43EMELH3Ccbztd7KBSqQaNyArE+ymmKxCvgeIvaZCfuSCVQg0VmJJOn1QM6uZ4H/AFcjWch6t3wEVCDmPInsxA9GNhzTyj2IMC7BT2pNrlGB2DMR6IosdFcl7Es5DyGbiv2RlBfFABWIGzYgodKuSNrKugR9uQvZW/kmUqRbsUAF4pZ1SNpKV0QwG2IadwNyQ1MXJEw8L6Zxc48KxA+rkEeuQ/Eb8VqHJEN2As5DMnoVh6hA/PIKsojvhiyWXbEKqUzSCbnsdLlD20oZbZJ2oCA8H7Q7kU/63oZ2liLnWKYgB78Uz+gMEi9PIUdiG4i2h/IccA5y/dlYVByxoQJJhlnIHkp/ZGapxmwkHeQIpMTQJu+eKc1QgSRLaRNvAE2Rp/eRfKyeSBLjfUk4pgi6BkkHdwStAxm5u68obLV58+akfVCU1KKPWIoSggpEUUJQgShKCCoQRQnh/0EiOQtycxlpAAAAAElFTkSuQmCC") left no-repeat; + + } + .itc-item{ + display: flex; + align-items: center; + font-size: 26rpx; + text-indent: 40rpx; + margin: 10rpx 0; + // color: #64ac7e; + color: #1a9e50; + background-size: 35rpx 35rpx; + box-sizing: border-box; + } + + } + // 附近商家 + .top-goods { + border-top: 20rpx solid #f4f4f4; + background: #f4f4f4; + width: 96vw; + margin:40rpx 0 auto; + @extend %pd20; + + .top-title_near ,.top-title{ + background: #fff; + padding: 20rpx 0; + border-radius: 10rpx; + line-height: 1; + box-shadow: 5rpx 5rpx 4rpx rgba(194, 193, 192, 0.2); + } + .top-title{ + @extend %flex-left; + } + + .top-title_near{ + display: flex; + justify-content: space-between !important; + } + + .icon-border { + width: 6rpx; + background-color: $maincolor; + height: 40rpx; + margin-right: 10rpx; + } + .title { + font-weight: bold; + color: $text1; + font-size: 36rpx; + } + + .ranking_left,.ranking_right{ + display:flex; + border:0 + } + + .operationRaking,.optimalScore,.nearlyDistance{ + padding:4px 10px; + font-size:28rpx; + } + + .active_status{ + border-bottom:2rpx solid #4EB331; + color:#4EB331; + font-weight: bold; + } + + .top-goods-list { + display: flex; + box-sizing: border-box; + flex-flow: row wrap; + justify-content: space-between; + .goods-item { + margin-top: 20rpx; + width: 345rpx; + flex: none ; + } + } + } + .material-desc { + @extend %pd20; + color: $text2; + font-size: 28rpx; + font-weight: 500; + } + .material-status { + @extend %pd20; + color: $text1; + font-size: 30rpx; + .strong { + font-weight: bold; + color: $maincolor; + } + } + .danger { + color: $danger; + font-weight: 500; + } + .material-title { + font-size: 32rpx; + text-align: center; + font-weight: 500; + color: $maincolor; + @extend %flex-center; + .text { + background: #fff; + padding: 0 40rpx; + } + } + .material-desc-status { + @extend %bgwhite; + @extend %pdlr; + // margin-top: -16rpx; + .material-border { + border: 2rpx dashed $border1; + border-radius: 10rpx; + @extend %pd20; + } + } + .top-search-btn { + @extend %pd20; + } +} + +/* #ifdef MP-KUAISHOU */ +.btn-toShopCar { + background-color: rgba(black, .6); + width: 120rpx; + height: 120rpx; + border-radius: 50%; + z-index: 10; + @extend %flex-center; + } + .icon-shopcar { + @extend %icon-shopcar-white; + @extend %bg-no-repeat-center; + width: 100rpx; + height: 100rpx; + background-size: 50rpx; + border-radius: 50%; + } + .fixed-box1 { + pointer-events: none; // 这里是重点,盒子可穿透操作 + width: 100vw; + height: 90vh; + position: fixed; + top: 100rpx; + left: 0; + z-index: 100000; + } + .fixed-button { + opacity: 1; + // background: #ccc; + border-radius: 100%; + pointer-events: auto; + // width: max-content; + // height: auto; + width: 120rpx; + height: 120rpx; + overflow: hidden; + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; + left: 20rpx; + // top: 85vh; + .imger{ + width: 52px; + height: 52px; + overflow: none; + } + } +/* #endif */ + + /* 适配iphonex 有底部横条的 */ + @supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)) { + .fixed-box { + bottom: constant(safe-area-inset-bottom); + bottom: env(safe-area-inset-bottom); + } + } \ No newline at end of file diff --git a/src/pages/mine/index.vue b/src/pages/mine/index.vue new file mode 100644 index 0000000..ea39717 --- /dev/null +++ b/src/pages/mine/index.vue @@ -0,0 +1,540 @@ + + + + + \ No newline at end of file diff --git a/src/pages/mine/mine.scss b/src/pages/mine/mine.scss new file mode 100644 index 0000000..b033bee --- /dev/null +++ b/src/pages/mine/mine.scss @@ -0,0 +1,256 @@ +@import '@/assets/bundle.scss'; + +// .shop-mine { +// box-sizing: border-box; +// width: 100%; +// overflow: hidden; + .mine-header { + @extend %flex-left; + @extend %pd30; + box-sizing: border-box; + background-color: $maincolor; + height: 200rpx; + .avatar { + flex: none; + width: 120rpx; + height: 120rpx; + border-radius: 50%; + background: white; + overflow: hidden; + @extend %flex-center; + .avatar_img{ + width: 100%; + height: 100%; + } + // img { + // width: 100%; + // height: 100%; + // } + } + .user-info { + margin-left: 30rpx; + flex: 1; + color: white; + .btn-login { + width: 100%; + text-align: left; + font-size: 36rpx; + background: none; + font-weight: 500; + color: white; + padding: 0; + margin: 0; + border: none; + outline: none; + box-sizing: content-box; + &:after { + border: none; + } + } + .info { + font-size: 34rpx; + .nick-name { + font-weight: 500; + } + .mobile { + font-size: 32rpx; + } + .vip{ + color: #fbc200; + + } + .bind-mobile { + background: $success; + font-size: 28rpx; + padding: 4rpx 20rpx; + display: inline-block; + border-radius: 10rpx; + box-shadow: 0 2rpx 4rpx rgba(black, .4); + } + } + } + } + .icon { + @extend %bg-no-repeat-center; + background-size: 100%; + width: 40rpx; + height: 40rpx; + margin-right: 10rpx; + } + .left { + font-weight: 500; + color: $text1; + @extend %flex-center; + } + .order-wall { + // @extend %pd30; + padding-top: 10rpx; + padding-bottom: 30rpx; + @extend %bgwhite; + .icon-order { + @extend %mine-order; + } + .right { + font-size: 28rpx; + color: $text3; + } + .order-status { + border-top: 1rpx solid $border3; + margin: 0 20rpx; + padding-top: 10rpx; + @extend %flex-around; + .status-item { + flex: 1; + margin: 0 10rpx; + } + .status-item-wrapper { + @extend %flex-center; + flex-flow: column; + padding-top: 20rpx; + } + .icon { + @extend %bg-no-repeat-center; + background-size: 100%; + width: 50rpx; + height: 50rpx; + margin-right: 0; + } + .icon-pay { + @extend %mine-waitpay-text3; + } + .icon-waitreceiving { + @extend %mine-waitreceiving-text3; + } + .icon-waitcomment { + @extend %mine-waitcomment-text3; + } + .icon-aftersale { + @extend %mine-aftersale-text3; + } + .text { + margin-top: 20rpx; + font-size: 24rpx; + color: $text2; + } + } + } + // .invated { + // margin-top: 20rpx; + // @extend %pd30; + // @extend %bgwhite; + // } + .checkUpdate{ + display: flex; + justify-content: space-between; + min-height: 100rpx; + box-sizing: border-box; + font-size: 32rpx; + background-color: #fff; + padding: 0 20rpx; + .left{ + display:flex; + .icon-checkUpdate { + @extend %icon-checkUpdate; + } + } + .right{ + width:fit-content; + display: flex; + color: #333; + align-items: center; + // border:1rpx solid red; + .rightImgBox{ + display:flex; + justify-content: center; + align-items: center; + } + .right-img{ + width: 50rpx; + height: 50rpx; + } + } + } + + + .mt20 { + margin-top: 20rpx; + } + .my-cell { + .icon-coupons { + @extend %mine-coupons; + } + .icon-address { + @extend %mine-address; + } + .icon-service { + @extend %mine-service; + } + .icon-mypromote { + @extend %icon-my-promote; + } + .icon-downloadApp { + @extend %icon-downloadApp; + } + .icon-waybill { + @extend %icon-mywaybill; + } + .icon-wsx { + background-size: 100%; + width: 40rpx; + height: 40rpx; + margin-right: 10rpx; + } + .icon-vip{ + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAJVklEQVRoQ+1Ze4wdVR3+zpwz7/vYZ7vtLqTQVnkUSmHbVURFg/EP3cQGoomhpd3aVjG+jUqIiLF/iFE0BGi7fZEWTHzUYKqE1BBZTMTaLg1CG5SgYG2b0u3u3ntn77zOzDFn7s7de9ftvish6Uk2NzNz5ne+7/xe35kleJcP8i7Hj8sE3mkPXvbAZQ/McQdmHUItR3tfJQRX+QGs2WMgABERU+mpEObqUudnB2Zqa8YE2o733uu65NGsFRJDi5HXA1gsmHLdUmggjBkUEidzBQhGQh0BV+D5ApxDKIw8M7T6c5+c0ljNhBkRWHS8d3MQYGdzJiRZQwL3wYWS1GKNhtAIh0Y5gpghjCm8SEMcK8m9dIxwA340RkSScjlDGClwnBhMpwcHb9l013RJTJtA+8u71rt+vK8pEyntdgl3527D/tILyKvlKddyuAGX69CUMSLDvi3Dp+qNom+AR8BIGWCMPnlhdc+6KQ0D02tki0/u+ozvxD9vy/pKu81xf3M3PmQtwxcv7MDr3nlQJYKuRLBUH0FU2Xm5s7EgMOhYeBUCuw5TLYlIKJBhxkNJIgZjbPfgmp7NU5GY0gMdx3d8xePk4QVZT1mWIfhuczc6jSXYX+zDIf9ZGCxM1pCgIUT1Ol142K/PcSc0IcGmY9C3oYx6gscKpLckibIbQ9G0J4du2TCpJyYlcMUru77getGjjSZXbmqk+F5zN67X23Gg2IfD0aEkzkEIcqwMnVaIyMR0QgM6GwuXUDCMBFoV9Dm3AcbofB5TFLkJBZXk9rgKL1JlUqNcjkE0tnu48+KeuCiBxa/s+5jvBc802ZytylrYtuATWK614kCpD4f5IYyEBtrtC3UeXqK/H1m6EJSoF/X8GW8AJ0pv4E1HhUajZF6y6/GYV4YDS5YphKGA6xMhFH1bcc26ByYyOiGBjpf2frjM+XN5M6S2EeHrrauwMX8bnir9EQfd52SkoCNTD36lfRfI9FIKJT6Cvguv44Jf8ZocQ54FMsqhHGpJJZNDTvE8CKjsgWLnhm3jSfwPgZbjB7bEofeYrgl2Y4OGO3PLsWf4RXw034Rj7ikstIoIIoYFZqFqa4XVDUaMqfKt7rkkcfjcW3CikeS+BFzmlTCTPaLgm9X5IwED9yNBFO2+Qte6h2oN1RHQj/96uR0On2BMqK0ZDz9YeAfW5q7BvWd/gVPkRLJDsmyazIc+WhKvMT8OQ8nNCHw1wUMXfQNvYDh0k1u1CS3zKA0r2WscXwXhvgDVvlFcvf6nqY06Atkje12TRYZhEOS1MlboLVhuWuhzTyKrushpHsKYYKFZTN5fZtyODG2dFfiJSNSGUZrM6TzZAMMwBuGBiBX1y07XPY/KZ1UCuSNP/ElRcFvW5KAkRlbzYNIwqS46DUCISIBLw23WMK4yPoA8XTwn8ONJvFWWlbgCSVYnJ9Sr9mUj9GMGEgUQcXSu1NXTVk/gz71CtcxEHqhKDFv1kFF9MBIhq7mIBNBqOInBpeZSXGG8d17Ap0ZeLpzGC+cHEaOmGtX0ECk/3KhCiHglFG/dkjCteiB75InfqDRaaxsi0S5SoMl4JwSjpDhUJYKt+vA5Q1fjdWhgHfNCQuaAzIXTblzpLaOjEJhVj4SCJqWb8ACIo7eK7+tZUkdAXjQf3VMQiHMtWZ6Ejox7SgSYwmFL4RZTtJilxHyjVsYS49Y5h1EKXv4miVvTpUuBUe3aUpYUy9I7wi2t2ZgBqcjauiS2Th5cZDhDr1IlamrL+7BokHgjEgRNupPIBRn/csjF2q0SlpprkKOLZuWJQljG8wP/rFahYmAiroEktVE02uA8T8Dn1Cuy1mZ0dlcV5ISNrO2lHSUCkWnPuzBZkNT91tG6L0NKVig5ZFxSUKxuuAF5tmBGJGQf+MPbb6LEx9RsrbiTxtIQcj2BKII/ROMOdG6tO/RcVEos7N9ZUEicW9ZcQBDTxAOyOsnRoNdLaJWouNa+BU1q07RISPB/HT6BNx0GplTkhBy1fUBeSyEodz6METKhrRjouucf4xeYVMy1HdsxYmuBtThfhkyiFr1S/6XYkl4wR5WovKcpOlbYNyPHGiclkYL/d1mBIgXP6EiVaHodCwXnSzqCEFzPsQ+eu27jXyYyPKWcbu9/3DU1bizKlavJnBpyuImOGkGnKwauT0g0TEgiBX/eD+GEFtSaA04hHKs48uUBR4cXKJxS9VMDnRt+f7FdmZLA7eJB9vf+BcWcEZgtGR+NeqUXVHcOCqKYgkCA0RgaLNzadC2a1PrDSwpexvzbXgN0ZUzIydIpEzY9FxTLDCWPxYqG9QOrtjw1mUunJCBf7ji1uyk6H57J676es6IklNLD+UTGbWqiq3EFcqxCIgVf4B4KvlUFmr475NtJp0/mehI8jXVD/faZG3p+PGk8TvdIKY1c3//YsgGhnGyyPDVnRNBYOOl5OMssrMy9B34c4jXnXzjtCkSCVQ8uKbBCYFUzoeRSFF1VmAZ5+PTKzd+cCrx8Pi0PpIaufm1Hp1OKX2yxA9ZsS2FHkziWuik9UY1ftBDaCCNWF+9jiUvh8Io8SHbepULT8dWzK7c+Mh3wMyYgX7jy5ON3eA55tiXj0Wbbr6xDCEKuJL8EcXKYl/1CxnRaescDqtX/jkdRKKvCMNl3ztzY86Ppgp8VAfnS1a9uv7Pk4ZetlqdUScxg1VrJ4LgUBVeFpYnv/2fV1gdnYKaydzN9IZ1/5d+2b3U9sr0165Jma9QTUxgb/1FL7vzwCINpKT88c+Pm+2aDZdYE5GKN/XvvJpzvz9ucNJteEi6KIhIJLhuf1DFSAMpckcfE2srl+BTDDoNhsp+dXbnpa7MBPycPpAu2Huv9EufikQabI2OMyYLJAMmdH3IYdBM7z9209fOzBT8vBKSR1v5d9/NQbGu0A9hGRS9dbIx4CgYdDbaFA6dXblk/F/DzRkAaau7f/VAUxN9qygaw9YlJyGQdHqHImuT50zdt/shcwc8rgcQTx3p3+wE25TMC8tO7zAFZUuVfwAnccgzVYL8auLnn0/MBft4JSIMNR/ftjoNwk2URqGqlRsgvbGVPQFXp0xc6N62dL/CXhEASTkf3/DaK4m5F/utAALFIPpn/bqCzp3s+wV8yAgmJY3u7IMTDMoKg4OnBmzf9ZL7BX1IClwLsRDbn1Mj+XyAnW+cygXfaC+96D/wX+aErbdPLuMYAAAAASUVORK5CYII=') center no-repeat; + background-size: 100% 100%; + } + .icon-creStore{ + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAE9klEQVRoQ+2ZW2wUVRjH/99suRm1aWJC9EFEIkQR2NkSI/pSEuKF7plpQYiJJgbTlGh4E4NgE2q88FB8MlEpUUiUGEEue2YKKjH0RQVpdxYiIZKo8UaDgSglahu685mz3e6twM6ZziZtwkk2m875Lv/fzJyz3/lKmOKDprh+3AQofYKtPUvmZ0cMwQaSBNwF0J2j8zzAwHmDeY8P/yvHOv1zVE8+kifQ4iYafd9vB1F7IGHM3YZhdB9KpvsD2d/AaMIAlhtfA6a9FTmGGfgegEfACIB4/jOz3I63SJHZNhGICQFYTnwrQJ1FAbSHyH93+r+zvH1rv/2vVFjTsaaZ9Zf/TiBmbGXwY8U57pQi81pYiNAAlhPfDNBbhcREq2UyfSCIEMsxld/moi+vlcnMviC+lTahAHLvPHPfWDAp1JuiPyzH5DEvg2hpmDURLrGM7yhZsNuk8LboywcsN7EKzPtHNyrullZmvW4cbQAhF88liv2kEhHoy5RIP66btNTechIfA/yMuhYz/AUHm0+d04mnDWDLeBsT7cwBZPnRVEvmG52Elba2G3+Emb7OXfexUdre2zrxtAGEYx4joAnA0OCt9Q29y3uHdBJW2q7Zu2zW8KyhvwDMYKDXEd5ynXjaAJZj/gBgPoDjUnjLdJJdz1Y4Zh8BjQDOSeEt0IkZAiAxCPBtAN6XwntBJ9kNAHYS0AbQFSnSt+vEDAFgXgagktQAAINSePW1BlAlwsIavUJnpPAerDXAJwCersUiJmB/SnhP1RRASHM1ET6rxTbKzOscK7O7pgDN7qKGGNedBTA74h+yC7Gr0xYeXPXdpZoCqOC2m+hi5o35RJGUEkS0PZVMv6wjfrQaCDGsVGIxDD415hpFMQeflkg7fVpXTigAlWRKl9Njd2lKH2gKENc4UhLhqs8YIOACAHXunZxHytyrlDKXUozWMXMLcp2IAGMyHOpt11zB4OfA9GyZZHXGKltZdGVStVVaDjbO8+uyXQC1FoXzFYBOEtHxLPtHmfyLTDMuXvjdv9S/vv9qgGdSMFnZY8453Oz9EtRHaxeynUQrE3eBMS+f4DzA3XXTYt0HnugfCJr0ulWpG3+DmF5l8C5HZJ4PEi8wwPgdhzujEq6ENruL7o1x3Y8F0T49Ke3059UgAgGUiSf0EagjlUx/US24znzSid9ngArnYWYSjpV2q8WoClAqnoGPRmLTNxxZeWKwWmDd+ZoACDfRTsw7lBgGPnWEp8romozIAfLNq6MAGgCclMJ7qCbK80EjB7AcU4lfAeBPKbzZUYpXZwrD4LnlMekOZmwqXCN8SGBVtpfs1sallEjvKr10zTVgOYkNAL8D1Vn2uUXamZ6oAGxpvsKECXSkaacU6UIbfxzAmqON9cNDfALgBcTUkbLSb0YlXsUpebJhw/4mhXf3mPM4AMsxOwC8zsDZkdj0h6PeceyexkXs++pIqnpLaqj/H6hdgkCIFakoqxqm+b/r8t9/ELg9JTKHbwQw2nXw8aK0vffC3iZdv0gWsX3YfICzOJO7LQbu0alJdAVX2kcDUGzcZqTwzImK0vGPBMCS5n4QVgHlK11HSFjbaABS5kswsJ0JbU7S+yCsmDB+kQCESRylj+WY/wC4RcX02ZjjWv2/VotftZirFiDK+VY3cX+WeZMB3n1IZHqDxJ5UAEEEV9rcBAhz16L0+R8olFJPfxP/vgAAAABJRU5ErkJggg==') center no-repeat; + background-size: 100% 100%; + } + } + .my-cell + .my-cell { + border-top: 1rpx solid $border2; + } + .login-out { + @extend %bgwhite; + font-size: 28rpx; + height: 90rpx; + @extend %flex-center; + color: #fff; + border-radius: 20rpx; + width: 96vw; + margin:20rpx auto; + background-color: #4EB331; + font-size: 32rpx; + } + .update{ + border:1rpx solid green; + position: relative; + &-icon{ + width:20px; + height:20px; + position: absolute; + right: 35px; + } + // } + + // 更新提示框 + // .maskLayer{ + // width: 100%; + // height: 100%; + // position: fixed; + // top: 0; + // left: 0; + // background-color: rgba($color: #4b4b4b, $alpha: .5); + // z-index: 999; + // display: flex; + // justify-content: center; + // align-items: center; + // .center{ + // width:491rpx; + // height: 653rpx; + // // background-image: url("https://image.jxc4.com/image/22cc4d0adfab0998514fb6af53a3cd0a.jpg"); + // } + // } +} \ No newline at end of file diff --git a/src/pagesAddress/Switch/switch.scss b/src/pagesAddress/Switch/switch.scss new file mode 100644 index 0000000..ff1fa90 --- /dev/null +++ b/src/pagesAddress/Switch/switch.scss @@ -0,0 +1,34 @@ +@import '@/assets/_color.scss'; + +.zy-switch { + width: 2em; + height: 1em; + display: inline-block; + background: white; + border: 1rpx solid $border2; + border-radius: 1em; + font-size: 50rpx; + position: relative; + align-items: center; + transition: all .3s; + .zy-switch-item { + position: absolute; + width: 1em; + height: 1em; + border-radius: 100%; + box-shadow: 0 6rpx 2rpx 0 rgba(0, 0, 0, 0.05), 0 4rpx 4rpx 0 rgba(0, 0, 0, 0.1), 0 6rpx 6rpx 0 rgba(0, 0, 0, 0.05); + transition: .3s; + background: white; + left: 0; + } +} +.switch-on { + flex-direction: row-reverse; + background: $maincolor; + .zy-switch-item { + left: 1em; + } +} +.switch-disabled { + opacity: .5; +} \ No newline at end of file diff --git a/src/pagesAddress/Switch/switch.vue b/src/pagesAddress/Switch/switch.vue new file mode 100644 index 0000000..3654394 --- /dev/null +++ b/src/pagesAddress/Switch/switch.vue @@ -0,0 +1,77 @@ +/* + 滑块组件 +*/ + + + + + diff --git a/src/pagesAddress/addressCmp/address-item.scss b/src/pagesAddress/addressCmp/address-item.scss new file mode 100644 index 0000000..aede3f5 --- /dev/null +++ b/src/pagesAddress/addressCmp/address-item.scss @@ -0,0 +1,29 @@ +@import '@/assets/bundle.scss'; + +.address-item { + @extend %pdtb; + border-bottom: 1rpx solid $border3; + margin: 0 50rpx; + position: relative; + #{&}-title { + color: $text1; + font-size: 34rpx; + @extend %oneline; + width: 500rpx; + } + #{&}-address { + color: $text3; + font-size: 28rpx; + padding-top: 10rpx; + @extend %oneline; + // border: 1px solid red; + } + .title{ + display: flex; + justify-content: space-between; + } + &-distance{ + color:$text3; + font-size: 28rpx; + } +} \ No newline at end of file diff --git a/src/pagesAddress/addressCmp/address-item.vue b/src/pagesAddress/addressCmp/address-item.vue new file mode 100644 index 0000000..8883c65 --- /dev/null +++ b/src/pagesAddress/addressCmp/address-item.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/addressCmp/waybill-address.scss b/src/pagesAddress/addressCmp/waybill-address.scss new file mode 100644 index 0000000..24dd307 --- /dev/null +++ b/src/pagesAddress/addressCmp/waybill-address.scss @@ -0,0 +1,43 @@ +@import '@/assets/bundle.scss'; + +.waybill-address { + border-bottom: 1rpx solid $border2; + @extend %flex-center; + // @extend %pdlr; + padding: 30rpx; + min-height: 140rpx; + #{&}-left { + flex: auto; + + } + #{&}-right { + flex: none; + // width: 100rpx; + .icon-editor { + @extend %icon-editor; + @extend %bg-no-repeat-center; + background-size: 40rpx; + width: 100rpx; + height: 100rpx; + } + } + #{&}-address { + font-size: 30rpx; + color: $text1; + margin-bottom: 10rpx; + } + #{&}-contact { + font-size: 30rpx; + color: $text3; + } + .isDefault { + font-size: 22rpx; + display: inline-block; + @extend %flex-center; + padding: 10rpx; + background: $danger; + color: white; + border-radius: 10rpx;; + margin-right: 10rpx; + } +} \ No newline at end of file diff --git a/src/pagesAddress/addressCmp/waybill-address.vue b/src/pagesAddress/addressCmp/waybill-address.vue new file mode 100644 index 0000000..a954172 --- /dev/null +++ b/src/pagesAddress/addressCmp/waybill-address.vue @@ -0,0 +1,43 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/create-address-cop/create-address.scss b/src/pagesAddress/create-address-cop/create-address.scss new file mode 100644 index 0000000..96903c3 --- /dev/null +++ b/src/pagesAddress/create-address-cop/create-address.scss @@ -0,0 +1,34 @@ +@import '@/assets/bundle.scss'; + +.create-address { + padding: 20rpx 50rpx; + .consigneeName, + .consigneeMobile, + .map-address, + .address, + .isDefault { + border-bottom: 1rpx solid $border2; + } + .btn-save { + @extend %btn-linearGradient; + margin-top: 60rpx; + width: 100%; + border-radius: 0; + height: 80rpx; + } + .btn-delete { + margin-top: 60rpx; + @extend %flex-center; + .icon-delete { + @extend %icon-clearAll; + @extend %bg-no-repeat-center; + width: 80rpx; + height: 80rpx; + border-radius: 50%; + background-size: 40rpx; + @extend %bgwhite; + box-shadow: 0 4rpx 8rpx rgba(black, .3); + border: 1rpx solid $border1; + } + } +} \ No newline at end of file diff --git a/src/pagesAddress/create-address-cop/index.vue b/src/pagesAddress/create-address-cop/index.vue new file mode 100644 index 0000000..2bcb754 --- /dev/null +++ b/src/pagesAddress/create-address-cop/index.vue @@ -0,0 +1,223 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/create-address/create-address.scss b/src/pagesAddress/create-address/create-address.scss new file mode 100644 index 0000000..171ff93 --- /dev/null +++ b/src/pagesAddress/create-address/create-address.scss @@ -0,0 +1,35 @@ +@import '@/assets/bundle.scss'; + +.create-address { + padding: 20rpx 50rpx; + .consigneeName, + .consigneeMobile, + .map-address, + .address, + .isDefault { + border-bottom: 1rpx solid $border2; + } + .btn-save { + @extend %btn-linearGradient; + margin-top: 60rpx; + width: 100%; + border-radius: 0; + height: 80rpx; + border-radius: 20rpx; + } + .btn-delete { + margin-top: 60rpx; + @extend %flex-center; + .icon-delete { + @extend %icon-clearAll; + @extend %bg-no-repeat-center; + width: 80rpx; + height: 80rpx; + border-radius: 50%; + background-size: 40rpx; + @extend %bgwhite; + box-shadow: 0 4rpx 8rpx rgba(black, .3); + border: 1rpx solid $border1; + } + } +} \ No newline at end of file diff --git a/src/pagesAddress/create-address/index.vue b/src/pagesAddress/create-address/index.vue new file mode 100644 index 0000000..901db36 --- /dev/null +++ b/src/pagesAddress/create-address/index.vue @@ -0,0 +1,248 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/edit-address/edit-address.scss b/src/pagesAddress/edit-address/edit-address.scss new file mode 100644 index 0000000..589df95 --- /dev/null +++ b/src/pagesAddress/edit-address/edit-address.scss @@ -0,0 +1,3 @@ +@import '@/assets/bundle.scss'; + +.edit-address {} \ No newline at end of file diff --git a/src/pagesAddress/edit-address/index.vue b/src/pagesAddress/edit-address/index.vue new file mode 100644 index 0000000..bbcba18 --- /dev/null +++ b/src/pagesAddress/edit-address/index.vue @@ -0,0 +1,72 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/input-label/input-label.scss b/src/pagesAddress/input-label/input-label.scss new file mode 100644 index 0000000..7088ac2 --- /dev/null +++ b/src/pagesAddress/input-label/input-label.scss @@ -0,0 +1,30 @@ +@import '@/assets/bundle.scss'; + +.input-label { + @extend %flex-left; + min-height: 100rpx; + @extend %pdtb; + box-sizing: border-box; + .label { + width: 160rpx; + flex: none; + font-size: 30rpx; + color: $text1; + } + .input, .isText { + flex: auto; + font-size: 30rpx; + color: $text1; + } + .placeholder { + color: $info; + } + .icon-right-aw { + flex: none; + @extend %icon-aw-right-slim; + width: 30rpx; + height: 30rpx; + @extend %bg-no-repeat-center; + @extend %bg-size-100; + } +} \ No newline at end of file diff --git a/src/pagesAddress/input-label/input-lebel.vue b/src/pagesAddress/input-label/input-lebel.vue new file mode 100644 index 0000000..3cde220 --- /dev/null +++ b/src/pagesAddress/input-label/input-lebel.vue @@ -0,0 +1,81 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/mine-address/index.vue b/src/pagesAddress/mine-address/index.vue new file mode 100644 index 0000000..140b145 --- /dev/null +++ b/src/pagesAddress/mine-address/index.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/mine-address/mine-address.scss b/src/pagesAddress/mine-address/mine-address.scss new file mode 100644 index 0000000..21602df --- /dev/null +++ b/src/pagesAddress/mine-address/mine-address.scss @@ -0,0 +1,19 @@ +@import '@/assets/bundle.scss'; + +.mine-address { + $bottomH: 100rpx; + #{&}-top { + height: calc(100vh - 100rpx); + overflow-y: auto; + box-sizing: border-box; + border-top: 1rpx solid $border2; + } + #{&}-bottom { + height: $bottomH; + box-sizing: border-box;; + background-color: $maincolor; + color: white; + @extend %flex-center; + font-size: 36rpx; + } +} \ No newline at end of file diff --git a/src/pagesAddress/pick-city/index.vue b/src/pagesAddress/pick-city/index.vue new file mode 100644 index 0000000..855c38a --- /dev/null +++ b/src/pagesAddress/pick-city/index.vue @@ -0,0 +1,111 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/pick-city/pick-city.scss b/src/pagesAddress/pick-city/pick-city.scss new file mode 100644 index 0000000..9b4576f --- /dev/null +++ b/src/pagesAddress/pick-city/pick-city.scss @@ -0,0 +1,68 @@ +@import '@/assets/bundle.scss'; + +.pick-city { + #{&}-search-input { + @extend %pdlr; + box-sizing: border-box; + height: 100rpx; + border-bottom: 1rpx solid $border3; + } + .content { + height: calc(100vh - 100rpx); + overflow-y: auto; + } + .address-label { + @extend %flex-left; + @extend %pd20; + font-size: 30rpx; + color: $text2; + height: 60rpx; + border-bottom: 1rpx solid $border3; + .icon-position { + @extend %icon-position-small-text2; + @extend %bg-no-repeat-center; + @extend %bg-size-100; + width: 30rpx; + height: 30rpx; + flex: none; + margin-right: 10rpx; + } + .span { + padding-left: 10rpx; + font-weight: 600; + color: $text1; + } + } + .hot-city { + @extend %pd20; + .label-title { + font-size: 28rpx; + color: $text3; + } + .city-list { + font-size: 28rpx; + @extend %flex-between; + flex-flow: row wrap; + } + .list-item { + flex: none; + @extend %flex-center; + width: 160rpx; + height: 70rpx; + background-color: $border3; + margin-top: 20rpx; + color: $text1; + border-radius: 10rpx; + } + } + .search-list { + @extend %pd20; + .city-item { + font-size: 32rpx; + color: $text1; + @extend %flex-left; + border-bottom: 1rpx solid $border3; + height: 100rpx; + } + } +} \ No newline at end of file diff --git a/src/pagesAddress/pick-store/index.vue b/src/pagesAddress/pick-store/index.vue new file mode 100644 index 0000000..bcd0e6e --- /dev/null +++ b/src/pagesAddress/pick-store/index.vue @@ -0,0 +1,67 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/pick-store/pick-store.scss b/src/pagesAddress/pick-store/pick-store.scss new file mode 100644 index 0000000..e0ec790 --- /dev/null +++ b/src/pagesAddress/pick-store/pick-store.scss @@ -0,0 +1,44 @@ +@import '@/assets/bundle.scss'; + +.pick-store { + .shop-item { + font-size: 32rpx; + border-bottom: 1rpx solid $border2; + @extend %pd20; + @extend %flex-between; + height: 100rpx; + box-sizing: border-box; + margin: 0 20rpx; + .name, .store-distance { + color: $info; + } + .store-distance { + font-size: 24rpx; + } + } + .store-name { + @extend %flex-left; + .status { + background-color: $text3; + color: white; + border-radius: 50rpx; + font-size: 20rpx; + padding: 5rpx 10rpx; + margin-right: 10rpx; + } + } + .is-here { + background-color: rgba($maincolor, .1); + border-top-left-radius: 20rpx; + border-top-right-radius: 20rpx; + } + .is-open { + .status { + background-color: $maincolor; + @extend %ani-bounceIn; + } + .name, .store-distance { + color: $text1; + } + } +} \ No newline at end of file diff --git a/src/pagesAddress/position-address/index.vue b/src/pagesAddress/position-address/index.vue new file mode 100644 index 0000000..836e0e9 --- /dev/null +++ b/src/pagesAddress/position-address/index.vue @@ -0,0 +1,279 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAddress/position-address/position-address.scss b/src/pagesAddress/position-address/position-address.scss new file mode 100644 index 0000000..4e08429 --- /dev/null +++ b/src/pagesAddress/position-address/position-address.scss @@ -0,0 +1,77 @@ +@import '@/assets/bundle.scss'; + +.position-address { + .search-address { + box-sizing: border-box; + @extend %flex-center; + @extend %pd20; + height: 100rpx; + // background: #ccc; + border-bottom: 1rpx solid $border2; + } + .left { + flex: none; + margin-right: 10rpx; + } + .right { + flex: auto; + } + .btn-city-pick { + @extend %flex-center; + font-size: 30rpx; + color: $text2; + .icon-arraw-bottom { + @extend %icon-aw-bottom; + @extend %bg-no-repeat-center; + width: 20rpx; + height: 20rpx; + @extend %bg-size-100; + margin-left: 10rpx; + } + } + .near-address, .search-list { + height: calc(100vh - 100rpx); + overflow-y: auto; + } + .add-newAddress{ + display: flex; + justify-content: space-between; + align-items: center; + margin: 0 50rpx; + padding: 16rpx 0; + border-bottom: 1rpx solid #EBEEF5; + .add{ + font-size: 28rpx; + color: rgb(64, 158, 255); + } + .right-aw{ + flex: none; + @extend %icon-aw-right-slim; + width: 50rpx; + height: 30rpx; + background-position: right center; + background-repeat: no-repeat; + background-size: 30rpx; + } + } + .address-label { + @extend %flex-left; + @extend %pd20; + font-size: 28rpx; + color: $text3; + .icon-position, .icon-home { + @extend %bg-no-repeat-center; + @extend %bg-size-100; + width: 30rpx; + height: 30rpx; + flex: none; + margin-right: 10rpx; + } + .icon-position { + @extend %icon-position-small; + } + .icon-home { + @extend %icon-home; + } + } +} \ No newline at end of file diff --git a/src/pagesAddress/switch-label/switch-label.scss b/src/pagesAddress/switch-label/switch-label.scss new file mode 100644 index 0000000..bf53619 --- /dev/null +++ b/src/pagesAddress/switch-label/switch-label.scss @@ -0,0 +1,12 @@ +@import '@/assets/bundle.scss'; + +.switch-label { + @extend %flex-left; + height: 100rpx; + .label { + width: 240rpx; + flex: none; + font-size: 30rpx; + color: $text1; + } +} \ No newline at end of file diff --git a/src/pagesAddress/switch-label/switch-label.vue b/src/pagesAddress/switch-label/switch-label.vue new file mode 100644 index 0000000..ec122bd --- /dev/null +++ b/src/pagesAddress/switch-label/switch-label.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAuth/auth-argument/index.vue b/src/pagesAuth/auth-argument/index.vue new file mode 100644 index 0000000..ebc5501 --- /dev/null +++ b/src/pagesAuth/auth-argument/index.vue @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/src/pagesAuth/auth-index/auth-index.scss b/src/pagesAuth/auth-index/auth-index.scss new file mode 100644 index 0000000..9924e7e --- /dev/null +++ b/src/pagesAuth/auth-index/auth-index.scss @@ -0,0 +1,284 @@ +@import '@/assets/bundle.scss'; + + + +.auth-index { + .auth-content { + position: fixed; + left: 0; + right: 0; + top: 10%; + .app-icon { + @extend %flex-center; + flex-flow: column; + padding-bottom: 10%; + &-img{ + width: 120rpx; + height: 120rpx; + border-radius: 20rpx; + border: 1rpx solid $border2; + } + } + // .logo{ + // width: 350rpx; + // height: 350rpx; + // // margin-top: 100rpx; + // } + + .wxLogin,.account-but{ + border-radius: 10px; + height: 90rpx; + color: #fff !important; + font-size: 30rpx; + text-align: center; + line-height: 90rpx; + } + + .wxLogin{ + background-color: #4EB331; + } + + .account-but{ + background-color: #5fc3ce; + margin-top:20px + } + + .app-title { + font-size: 32rpx; + font-weight: 600; + color: $text1; + margin-top: 20rpx; + } + .auth-btn-group { + // @extend %pd20; + padding: 40rpx; + // @extend %flex-center; + button { + height: 90rpx; + background: $maincolor; + color: white; + font-size: 30rpx; + @extend %flex-center; + } + div { + height: 90rpx; + // background: $maincolor; + color: $primary; + font-size: 28rpx; + @extend %flex-center; + } + + } + + // 账号密码登录 + .account{ + padding-top: 20rpx; + padding-bottom: 80rpx; + padding-left: 160rpx; + padding-right:160rpx; + // padding:80rpx 160rpx; + // border: 1rpx solid red; + box-sizing: border-box; + text-align: center; + font-size: 30rpx; + + &-title{ + // border:1rpx solid red; + margin-bottom: 30rpx; + font-weight: bold; + color:#021d1d; + } + &-box{ + border-bottom:1rpx solid #aaa; + text-align: left; + padding: 20rpx; + } + &-button{ + border-radius: 10px; + margin-top:40rpx; + height: 90rpx; + background: $maincolor; + color: white; + font-size: 30rpx; + @extend %flex-center; + } + } + } + + .info { + position: absolute; + width: 100%; + text-align: center; + bottom: 60rpx; + color: rgb(126, 126, 126); + font-size: 28rpx; + } + + + .auth-footer { + position: fixed; + bottom: 5%; + left: 0; + right: 0; + text-align: center; + font-size: 28rpx; + color: $text3; + // #ifndef MP-WEIXIN + font-size: 36rpx; + // #endif + .span { + color: $maincolor; + } + } + +// #ifdef APP-PLUS || APP + // 绑定手机号的弹框 + // .modal{ + // position:relative; + // &-border{ + // // position: absolute; + // // bottom: 0; + // // width:100vw; + // height:40vh; + // background:#fff; + // padding: 10px; + // border-top-left-radius: 10px; + // border-top-right-radius: 10px; + // box-shadow: 0px 0px 5px #ccc + // } + // .title{ + // text-align: center; + // font-size: 28px; + // } + // .description-text{ + // text-align: center; + // margin:10px auto; + // color: rgb(162, 161, 161); + // width: fit-content; + // font-size: 14px; + // } + // .error-text{ + // // color:rgb(255, 0, 0); + // width: 28px; + // height: 28px; + // // border:1px solid red; + // position: absolute; + // right:40px; + // top:100px; + // } + // .input-border{ + // margin-top:20px; + // text-align: center; + // // border:1px solid #eee; + // height:30px; + // line-height: 30px; + // } + // .input{ + // font-size: 20px !important; + // } + // .but-bind,.but-cancel{ + // margin-top: 20px; + // } + // } + // #endif + + // #ifdef MP-WEIXIN || APP-PLUS || MP-KUAISHOU + .box{ + width:100vw; + height: 100vh; + background-color: rgba(96, 96, 96, 0.2); + .content{ + width: 750rpx; + box-sizing: border-box; + background-color: #fff; + // height: 70%; + position: fixed; + left: 0; + bottom: 0; + border-top-right-radius: 40rpx; + border-top-left-radius: 40rpx; + padding: 30rpx; + } + + .modal-border{ + height:40vh; + background:#fff; + padding: 10px; + } + + .title{ + text-align: center; + font-size: 28px; + } + + .description-text{ + text-align: center; + margin:10px auto; + color: rgb(162, 161, 161); + width: fit-content; + font-size: 14px; + } + + .error-text{ + // color:rgb(255, 0, 0); + width: 28px; + height: 28px; + // border:1px solid red; + position: absolute; + right:40px; + top:100px; + } + + .input-border{ + margin-top:20px; + text-align: center; + // border:1px solid #eee; + height:30px; + line-height: 30px; + } + + .input{ + font-size: 20px !important; + } + + .but-bind,.but-cancel{ + margin-top: 20px; + } + + .title{ + font-weight: bold; + font-size: 30rpx; + } + .text{ + font-size: 28rpx; + color: rgb(69, 69, 69); + margin: 10px; + } + .userAgree,.privacyAgree{ + color:#4EB331; + font-size: 30rpx; + } + .bottom{ + display: flex; + justify-content: space-around; + margin-top: 40rpx; + width: 100%; + } + .refuse,.agree{ + width: 260rpx; + font-size: 30rpx; + border-radius: 40rpx; + } + .refuse{ + color: #4EB331 !important; + background: #ffffff; + border: 1rpx solid #4EB331; + + } + .agree{ + color: #fff !important; + background: #4EB331; + } + } + // #endif +} \ No newline at end of file diff --git a/src/pagesAuth/auth-index/index.vue b/src/pagesAuth/auth-index/index.vue new file mode 100644 index 0000000..0fb530d --- /dev/null +++ b/src/pagesAuth/auth-index/index.vue @@ -0,0 +1,483 @@ + + + + + \ No newline at end of file diff --git a/src/pagesBanner/banner-template1/banner-tamplate1.scss b/src/pagesBanner/banner-template1/banner-tamplate1.scss new file mode 100644 index 0000000..3dd0597 --- /dev/null +++ b/src/pagesBanner/banner-template1/banner-tamplate1.scss @@ -0,0 +1,97 @@ +@import '@/assets/bundle.scss'; + +.banner-tamplate1 { + min-height: 100vh; + .content { + background:#f4f4f4; + } + .content-item {} + .img-wrapper { + .small-banner { + width: 750rpx; + // height: auto; + } + } + .skus-wrapper { + display: flex; + flex-wrap: wrap; + justify-content: space-around; + .sku-cell { + flex: 1; + width: 230rpx; + display: flex; + flex-direction: column; + align-items: center; + box-sizing: border-box; + border: 1rpx solid $border2; + padding: 20rpx 10rpx; + margin: 20rpx 10rpx; + background:#fff; + border-radius: 15rpx; + } + .sku-img { + position: relative; + } + .img { + width: 210rpx; + height: 210rpx; + } + .no-sale { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + width: 200rpx; + height: 200rpx; + @extend %no-sale; + @extend %bg-no-repeat-center; + @extend %bg-size-100; + } + .sku-name { + font-size: 28rpx; + // color: $text2; + margin-top: 10rpx; + line-height: 1.2; + text-align: justify; + height: 3rem; + } + } + .good-price { + display: flex; + align-items: center; + justify-content: space-between; + } + .price { + display: flex; + align-items: baseline; + } + .cur-price { + font-size: 28rpx; + color: $strong; + font-weight: 700;; + &:before { + content: "¥"; + font-size: 24rpx; + } + } + .ori-price { + font-size: 20rpx; + color: $gray; + margin-left: 10rpx; + text-decoration: line-through; + &:before { + content: "¥"; + } + } + .act-type-wrapper { + height: 20rpx; + overflow: hidden; + } + .act-type { + @extend %act-type-text; + } + .act-icon { + margin-top: 4rpx; + @extend %flex-center; + } +} \ No newline at end of file diff --git a/src/pagesBanner/banner-template1/index.vue b/src/pagesBanner/banner-template1/index.vue new file mode 100644 index 0000000..6ab213c --- /dev/null +++ b/src/pagesBanner/banner-template1/index.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/src/pagesGoods/good-detail/good-detail.scss b/src/pagesGoods/good-detail/good-detail.scss new file mode 100644 index 0000000..c3d606e --- /dev/null +++ b/src/pagesGoods/good-detail/good-detail.scss @@ -0,0 +1,254 @@ +@import "@/assets/bundle.scss"; + +.good-detail { + #pd20 { + @extend %pd20; + @extend %bgwhite; + } + .good-img-swiper { + width: 750rpx; + height: 750rpx; + @extend %bgwhite; + .good-img-item { + width: 750rpx; + height: 750rpx; + } + .good-img { + width: 100%; + height: 100%; + } + } + .good-name { + font-size: 38rpx; + color: $text1; + font-weight: 600; + } + .good-price { + display: flex; + align-items: baseline; + @extend %pdtb; + .cur-price { + font-size: 38rpx; + color: $strong; + font-weight: 700; + &:before { + content: "¥"; + font-size: 24rpx; + } + } + .ori-price { + font-size: 30rpx; + color: $gray; + margin-left: 10rpx; + text-decoration: line-through; + &:before { + content: "¥"; + } + } + .act-type-wrapper { + margin-left: 10rpx; + } + .act-type { + @extend %act-type-text; + } + } + // #ifndef MP-TOUTIAO + .store-name { + @extend %pdtb; + @extend %flex-left; + border-top: 1rpx solid $border1; + .icon-store { + width: 40rpx; + height: 40rpx; + @extend %icon-store; + @extend %bg-no-repeat-center; + @extend %bg-size-100; + } + .name-text { + font-size: 24rpx; + color: $text3; + margin-left: 10rpx; + } + } + // #endif + + // #ifdef MP-TOUTIAO + .storeOrFocus{ + display:flex; + justify-content:space-between; + .store-name { + @extend %pdtb; + @extend %flex-left; + border-top: 1rpx solid $border1; + .icon-store { + width: 40rpx; + height: 40rpx; + @extend %icon-store; + @extend %bg-no-repeat-center; + @extend %bg-size-100; + } + .name-text { + font-size: 24rpx; + color: $text3; + margin-left: 10rpx; + } + } + .focus{ + // border:1px solid red; + margin-top: 20rpx; + background-color: #FCEEF1; + display:flex; + text-align:center; + height:50rpx; + line-height: 50rpx; + padding: 4rpx 8rpx; + border-radius: 20rpx; + font-size: 30rpx; + &-img{ + margin-top:10rpx; + width:30rpx; + height:30rpx; + } + &-text{ + margin-left:10rpx; + color:#ef5d4a; + } + } + } + // #endif + + + + .good-detail-introduce { + width: 100%; + overflow: hidden; + padding-bottom: 100rpx; + &:before { + content: ""; + display: block; + height: 40rpx; + background-color: #eee; + // margin-bottom: 60rpx; + } + .desc-img { + width: 100%; + } + .no-introduce { + color: $text3; + @extend %pdtb; + text-align: center; + font-size: 28rpx; + } + .good-detail-title { + @extend %flex-left; + background: #fff; + padding: 20rpx 0; + border-radius: 10rpx; + line-height: 1; + margin-left:10rpx; + margin-bottom: 20rpx ; + margin-top: 20rpx; + .icon-border { + width: 6rpx; + background-color: $maincolor; + height: 30rpx; + margin-right: 10rpx; + } + .title { + font-weight: bold; + color: $text1; + font-size: 36rpx; + } + } + } + + .group-purchase-details { + width: 100%; + overflow: hidden; + padding-bottom: 50rpx; + &:before { + content: ""; + display: block; + height: 40rpx; + background-color: #eee; + // margin-bottom: 60rpx; + } + .good-detail-title { + @extend %flex-left; + background: #fff; + padding: 20rpx 0; + border-radius: 10rpx; + line-height: 1; + margin-left:10rpx; + margin-bottom: 20rpx ; + margin-top: 20rpx; + .icon-border { + width: 6rpx; + background-color: $maincolor; + height: 30rpx; + margin-right: 10rpx; + } + .title { + font-weight: bold; + color: $text1; + font-size: 36rpx; + } + } + // 购买须知 + .content{ + &-item:not(:last-child){ + margin-bottom: 20rpx; + } + &-title{ + margin-left: 20rpx; + font-size: 30rpx; + font-weight: bold; + } + &-description{ + margin-top: 20rpx; + margin-left: 40rpx; + font-size: 25rpx; + } + } + + } + .bottom-bar { + position: fixed; + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); + left: 0; + bottom: 0; + height: 100rpx; + right: 0; + width: 100%; + z-index: 10; + box-shadow: 6rpx 10rpx 30rpx #999; + background: white; + } + .good-tab{ + width: 100%; + height: 80rpx; + display:flex; + justify-content: space-around; + position: fixed; + top:0rpx; + left: 0; + background: rgba(186, 187, 175,0.5); + z-index: 99; + border-bottom: 2rpx solid rgba(186, 187, 175,0.5); + } + .tab-item{ + width: 100rpx; + text-align: center; + line-height: 80rpx; + } + .line{ + width: 100rpx; + height: 10rpx; + margin-top: -10rpx; + background: $maincolor; + } + .getColor{ + color: $maincolor; + } +} diff --git a/src/pagesGoods/good-detail/index.vue b/src/pagesGoods/good-detail/index.vue new file mode 100644 index 0000000..4d41f07 --- /dev/null +++ b/src/pagesGoods/good-detail/index.vue @@ -0,0 +1,436 @@ + + + + + diff --git a/src/pagesGoods/good-detail/shopCar-bottom-bar/shopCar-bottom-bar.scss b/src/pagesGoods/good-detail/shopCar-bottom-bar/shopCar-bottom-bar.scss new file mode 100644 index 0000000..7e157a6 --- /dev/null +++ b/src/pagesGoods/good-detail/shopCar-bottom-bar/shopCar-bottom-bar.scss @@ -0,0 +1,43 @@ +@import "@/assets/bundle.scss"; + +.shopCar-bottom-bar { + @extend %flex-between; + @extend %pdlr; + height: 100rpx; + .bar-left { + @extend %flex-left; + } + .bar-right { + } + .icon-shopcar { + @extend %icon-shopcar; + @extend %bg-no-repeat-center; + background-size: 50rpx; + width: 90rpx; + height: 90rpx; + } + .btn-share { + font-size: 24rpx; + margin: 0; + margin-left: 60rpx; + @extend %pdlr; + @extend %bgwhite; + @extend %flex-center; + border:1rpx solid #eee; + // border: none; + .icon-share { + @extend %icon-share; + @extend %bg-no-repeat-center; + width: 50rpx; + height: 50rpx; + @extend %bg-size-100; + } + .share-text { + color: $text1; + margin-left: 20rpx; + } + } + .btn-add { + @extend %btn-linearGradient; + } +} diff --git a/src/pagesGoods/good-detail/shopCar-bottom-bar/shopCar-bottom-bar.vue b/src/pagesGoods/good-detail/shopCar-bottom-bar/shopCar-bottom-bar.vue new file mode 100644 index 0000000..74be9a8 --- /dev/null +++ b/src/pagesGoods/good-detail/shopCar-bottom-bar/shopCar-bottom-bar.vue @@ -0,0 +1,204 @@ + + + + \ No newline at end of file diff --git a/src/pagesGoods/good-search/good-search.scss b/src/pagesGoods/good-search/good-search.scss new file mode 100644 index 0000000..c12ae4f --- /dev/null +++ b/src/pagesGoods/good-search/good-search.scss @@ -0,0 +1,47 @@ +@import '@/assets/bundle.scss'; + +.good-search { + .search-input { + background: $bggray; + @extend %pd20; + position: fixed; + left: 0; + top: 0; + right: 0; + z-index: 10; + } + .search-list { + @extend %pdlr; + padding-top: 100rpx; + } + .btn-toShopCar { + position: fixed; + left: 40rpx; + bottom: 100rpx; + background-color: rgba(black, .6); + width: 100rpx; + height: 100rpx; + border-radius: 50%; + z-index: 10; + @extend %flex-center; + } + .icon-shopcar { + @extend %icon-shopcar-white; + @extend %bg-no-repeat-center; + width: 100rpx; + height: 100rpx; + background-size: 50rpx; + border-radius: 50%; + } + .storeList{ + text-align: center; + padding: 10rpx; + } + .skuImg{ + width: 360rpx; + height: 360rpx; + } + .no-goods { + margin-top: 10vh; + } +} \ No newline at end of file diff --git a/src/pagesGoods/good-search/index.vue b/src/pagesGoods/good-search/index.vue new file mode 100644 index 0000000..e21f4f0 --- /dev/null +++ b/src/pagesGoods/good-search/index.vue @@ -0,0 +1,220 @@ + + + + + \ No newline at end of file diff --git a/src/pagesGoods/good/good.scss b/src/pagesGoods/good/good.scss new file mode 100644 index 0000000..ea2af61 --- /dev/null +++ b/src/pagesGoods/good/good.scss @@ -0,0 +1,179 @@ +@import '@/assets/bundle.scss'; + +%fixed { + position: fixed; + z-index: 500; +} + +.shop-good { + // 70 + 20 + box-sizing: border-box; + width: 100%; + overflow: hidden; + .top { + padding: 0 20rpx; + height: 90rpx; + background: white; + } + .flex-content { + display: flex; + } + .left { + flex: none; + top: 90rpx; + width: 150rpx; + height: 100%; + background: #f5f5f5; + } + .right { + flex: auto; + height: 100%; + overflow: hidden; + background: white; + } + .top2 { + background: white; + width: 100%; + height: 81rpx; + border-bottom: 1rpx solid #eee; + box-sizing: border-box; + } + .pick-cat2 { + @extend %fixed; + left: 150rpx; + top: 169rpx; + right: 0; + bottom: 0; + display: flex; + flex-flow: column; + .pick-cat2-top { + flex: none; + width: 100%; + border-bottom: 1rpx solid #eee; + } + .pick-cat2-mask { + flex: 100%; + width: 100%; + background: rgba(white, .5); + } + } + .goods-wrapper { + /* #ifndef H5 */ + height: calc(100vh - 170rpx); + /* #endif */ + /* #ifdef H5 */ + height: calc(100vh - 370rpx); + /* #endif */ + overflow: hidden; + //position: relative; + } + .content { + // position: relative; + /* #ifndef H5 */ + height: calc(100vh - 170rpx); + /* #endif */ + /* #ifdef H5 */ + height: calc(100vh - 370rpx); + /* #endif */ + overflow: hidden; + // -webkit-overflow-scrolling: touch; + // scroll-behavior:smooth; + top: -100rpx; + // z-index: 1; + } + .scroll-view { + padding: 0 20rpx; + /* #ifndef H5 */ + height: calc(100vh - 160rpx); + /* #endif */ + /* #ifdef H5 */ + height: calc(100vh - 360rpx); + /* #endif */ + box-sizing: border-box; + overflow-y: auto; + //position: absolute; + z-index: 2; + transition: transform .1s linear; + // -webkit-overflow-scrolling: touch; + // scroll-behavior: smooth; + background: white; + } + .release-bottom { + height: 50rpx; + font-size: 28rpx; + color: $text3; + text-align: center; + // @extend %flex-center; + // align-items: flex-end; + position: absolute; + bottom: 0; + left: 0; + right: 0; + z-index: 1; + background: white; + } + .release-top { + height: 100rpx; + line-height: 100rpx; + font-size: 28rpx; + color: $text3; + text-align: center; + } + .blank-div { + height: 50vh; + } + // 没有商品 + .no-goods { + padding-top: 10vh; + } +} + +/* #ifdef MP-KUAISHOU */ +.btn-toShopCar { + background-color: rgba(black, .6); + width: 120rpx; + height: 120rpx; + border-radius: 50%; + z-index: 10; + @extend %flex-center; +} +.icon-shopcar { + @extend %icon-shopcar-white; + @extend %bg-no-repeat-center; + width: 100rpx; + height: 100rpx; + background-size: 50rpx; + border-radius: 50%; +} +.fixed-box1 { + pointer-events: none; // 这里是重点,盒子可穿透操作 + width: 100vw; + height: 90vh; + position: fixed; + top: 100rpx; + left: 0; + z-index: 100000; +} +.fixed-button { + opacity: 1; + // background: #ccc; + border-radius: 100%; + pointer-events: auto; + // width: max-content; + // height: auto; + width: 120rpx; + height: 120rpx; + overflow: hidden; + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; + left: 20rpx; + // top: 85vh; + .imger{ + width: 52px; + height: 52px; + overflow: none; + } +} +/* #endif */ \ No newline at end of file diff --git a/src/pagesGoods/good/index.vue b/src/pagesGoods/good/index.vue new file mode 100644 index 0000000..72b6ffa --- /dev/null +++ b/src/pagesGoods/good/index.vue @@ -0,0 +1,545 @@ + + + + + \ No newline at end of file diff --git a/src/pagesMine/my-news/index.vue b/src/pagesMine/my-news/index.vue new file mode 100644 index 0000000..d534530 --- /dev/null +++ b/src/pagesMine/my-news/index.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/src/pagesMine/my-news/my-news.scss b/src/pagesMine/my-news/my-news.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/pagesMine/my-promote/index.vue b/src/pagesMine/my-promote/index.vue new file mode 100644 index 0000000..1dc52a2 --- /dev/null +++ b/src/pagesMine/my-promote/index.vue @@ -0,0 +1,149 @@ + + + + + \ No newline at end of file diff --git a/src/pagesMine/my-promote/my-promote.scss b/src/pagesMine/my-promote/my-promote.scss new file mode 100644 index 0000000..e897679 --- /dev/null +++ b/src/pagesMine/my-promote/my-promote.scss @@ -0,0 +1,35 @@ +@import '@/assets/bundle.scss'; + +.my-promote { + @extend %flex-center; + flex-direction: column; + height: 100vh; + .my-code { + width: 400rpx; + height: 400rpx; + } + .descript { + font-size: 28rpx; + color: $text2; + // padding-bottom: 200rpx; + } + .price { + font-size: 28rpx; + color: $text2; + .money, .money2 { + color: $maincolor; + font-weight: 500; + font-size: 32rpx; + } + .money2 { + color: $info + } + } + .download-code { + @extend %btn-linearGradient; + font-size: 30rpx; + padding: 0 40rpx; + margin: 40rpx 0; + margin-top: 100rpx; + } +} \ No newline at end of file diff --git a/src/pagesMine/vip/index.vue b/src/pagesMine/vip/index.vue new file mode 100644 index 0000000..f4a34ef --- /dev/null +++ b/src/pagesMine/vip/index.vue @@ -0,0 +1,117 @@ + + + + + \ No newline at end of file diff --git a/src/pagesMine/vip/vip.scss b/src/pagesMine/vip/vip.scss new file mode 100644 index 0000000..cf2d717 --- /dev/null +++ b/src/pagesMine/vip/vip.scss @@ -0,0 +1,40 @@ +.vip { + height: 100%; + padding: 10px 10px; + box-sizing: border-box; + } + .vip-item { + display: flex; + height: 70px; + align-items: center; + background-color: #fff; + border: 1px solid #fefefe; + padding: 10px 10px; + box-sizing: border-box; + border-radius: 10px; + margin-bottom: 10px; + .time { + flex: 0 0 70px; + border-right: 1px solid #faf3e0; + } + .discount { + flex: 2; + color: #cf9d58; + padding-left: 10px; + .sale-word { + font-size: 24rpx; + color: #ccc; + } + } + .openNow { + flex: 1; + color: #fff; + background-color: #cf9d58; + border-radius: 30px; + width: 37px; + height: 33px; + text-align: center; + line-height: 33px; + font-size: 26rpx; + } + } \ No newline at end of file diff --git a/src/pagesOrders/add-note/add-node.scss b/src/pagesOrders/add-note/add-node.scss new file mode 100644 index 0000000..849b254 --- /dev/null +++ b/src/pagesOrders/add-note/add-node.scss @@ -0,0 +1,39 @@ +@import '@/assets/bundle.scss'; + +.add-note { + .wrapper { + @extend %pd20; + position: relative; + @extend %bgwhite; + } + .placeholder { + color: $inputplaceholder; + } + .text-area { + font-size: 32rpx; + color: $text1; + @extend %pd20; + // background: $border1; + border: 1rpx solid $border2; + width: 100%; + height: 300rpx; + box-sizing: border-box; + background-color: $border4; + } + .word-count { + position: absolute; + color: $inputplaceholder; + font-size: 32rpx; + right: 30rpx; + bottom: 30rpx; + } + .btn-finish { + @extend %flex-center; + margin: 50rpx 20rpx 0 20rpx; + background-color: $maincolor; + color: white; + font-size: 32rpx; + height: 80rpx; + border-radius: 10rpx; + } +} \ No newline at end of file diff --git a/src/pagesOrders/add-note/index.vue b/src/pagesOrders/add-note/index.vue new file mode 100644 index 0000000..5997175 --- /dev/null +++ b/src/pagesOrders/add-note/index.vue @@ -0,0 +1,75 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/afsOrderCmp/afsorder-cell.scss b/src/pagesOrders/afsOrderCmp/afsorder-cell.scss new file mode 100644 index 0000000..caa9c1c --- /dev/null +++ b/src/pagesOrders/afsOrderCmp/afsorder-cell.scss @@ -0,0 +1,18 @@ +@import '@/assets/bundle.scss'; + +.afsorder-cell { + @extend %ft28; + @extend %pd20; + color: $text2; + .cell { + @extend %flex-between; + @extend %pd20; + } + .desc, .price { + border-top: 1rpx solid $border2; + @extend %pd20; + } + .price { + text-align: right; + } +} diff --git a/src/pagesOrders/afsOrderCmp/afsorder-cell.vue b/src/pagesOrders/afsOrderCmp/afsorder-cell.vue new file mode 100644 index 0000000..75d7bde --- /dev/null +++ b/src/pagesOrders/afsOrderCmp/afsorder-cell.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/pagesOrders/afsOrderCmp/pick-sku-cell.scss b/src/pagesOrders/afsOrderCmp/pick-sku-cell.scss new file mode 100644 index 0000000..cc0d26f --- /dev/null +++ b/src/pagesOrders/afsOrderCmp/pick-sku-cell.scss @@ -0,0 +1,21 @@ +@import '@/assets/bundle.scss'; + +.pick-sku-cell { + @extend %pd20; + @extend %flex-left; + .img { + width: 150rpx; + height: 150rpx; + } + .left { + flex: none; + margin-right: 20rpx; + } + .right { + flex: 1; + } + .oparator { + @extend %flex-between; + @extend %mt20; + } +} diff --git a/src/pagesOrders/afsOrderCmp/pick-sku-cell.vue b/src/pagesOrders/afsOrderCmp/pick-sku-cell.vue new file mode 100644 index 0000000..ffb23fe --- /dev/null +++ b/src/pagesOrders/afsOrderCmp/pick-sku-cell.vue @@ -0,0 +1,59 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/afsOrderCmp/plus-minus/plus-minus.scss b/src/pagesOrders/afsOrderCmp/plus-minus/plus-minus.scss new file mode 100644 index 0000000..cb3aab8 --- /dev/null +++ b/src/pagesOrders/afsOrderCmp/plus-minus/plus-minus.scss @@ -0,0 +1,56 @@ +@import '@/assets/bundle.scss'; + +.cmp-minus-plus, .cmp-minus-plus2 { + @extend %flex-center; + .minus-plus-wrapper { + @extend %flex-center; + } + .btn-minus, .btn-plus { + flex: none; + @extend %bg-no-repeat-center; + @extend %bgwhite; + background-size: 24rpx; + width: 60rpx; + height: 60rpx; + border-radius: 50%; + border: 1rpx solid $border1; + position: relative; + z-index: 1; + padding: 0; + box-sizing: content-box; + } + .btn-minus { + @extend %icon-minus; + } + .btn-plus { + @extend %icon-plus; + } + .count { + flex: none; + color: $text1; + font-size: 34rpx; + width: 70rpx; + text-align: center; + margin: 0 10rpx; + color: $text2; + } + .input-count { + // background :red; + color: $text2; + } + // .type-shopCar { + // background: $border1; + // border-radius: 10rpx; + // margin: 0 10rpx; + // } + .cannot-buy { + color: $text3; + font-size: 28rpx; + } +} + +.cmp-minus-plus2 { + .disabled { + opacity: .2; + } +} \ No newline at end of file diff --git a/src/pagesOrders/afsOrderCmp/plus-minus/plus-minus2.vue b/src/pagesOrders/afsOrderCmp/plus-minus/plus-minus2.vue new file mode 100644 index 0000000..659f73f --- /dev/null +++ b/src/pagesOrders/afsOrderCmp/plus-minus/plus-minus2.vue @@ -0,0 +1,43 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/afsorder-detail/afsorder-detail.scss b/src/pagesOrders/afsorder-detail/afsorder-detail.scss new file mode 100644 index 0000000..2faf999 --- /dev/null +++ b/src/pagesOrders/afsorder-detail/afsorder-detail.scss @@ -0,0 +1,92 @@ +@import '@/assets/bundle.scss'; + +page { + background: #f4f4f4; +} + +.afsorder-detail { + @extend %pd20; + .cell2 { + @extend %pd20; + @extend %bgwhite; + margin-top: 20rpx; + } + + %bordertop2 { + border-top: 1rpx solid $border2; + } + .wall { + .wall-title, .wall-content { + font-size: 32rpx; + @extend %flex-left; + @extend %pdtb; + align-items: flex-start; + } + .wall-content { + font-size: 28rpx; + color: $text2; + @extend %bordertop2; + .left { + flex: none; + font-weight: 400; + } + .right { + margin-left: 20rpx; + text-align: justify; + } + } + } + .sku-list { + @extend %pd20; + @extend %ft28; + @extend %mt20; + @extend %bgwhite; + color: $text2; + .sku-item { + @extend %flex-left; + } + .left { + flex: none; + margin-right: 20rpx; + border: 1rpx solid $border1; + overflow: hidden; + font-size: 0; + color: $text3; + } + .imgView { + width: 150rpx; + height: 150rpx; + } + .right { + flex: 1; + } + .price { + color: $danger; + font-weight: 500; + text-align: right; + } + .count { + text-align: right; + } + } + .sku-item + .sku-item { + @extend %bordertop2; + } + .contact { + @extend %pd20; + @extend %flex-center; + @extend %ft28; + border-top: 1rpx solid $border1; + color: $primary; + } + .icon-tel { + @extend %bg-no-repeat-center; + @extend %icon-mobile-primary; + background-size: 100%; + width: 30rpx; + height: 30rpx; + border-radius: 100%; + border: 1rpx solid $primary; + margin-right: 10rpx; + } +} diff --git a/src/pagesOrders/afsorder-detail/index.vue b/src/pagesOrders/afsorder-detail/index.vue new file mode 100644 index 0000000..27ac88c --- /dev/null +++ b/src/pagesOrders/afsorder-detail/index.vue @@ -0,0 +1,159 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/create-afsorder/create-afsorder.scss b/src/pagesOrders/create-afsorder/create-afsorder.scss new file mode 100644 index 0000000..ebc5c01 --- /dev/null +++ b/src/pagesOrders/create-afsorder/create-afsorder.scss @@ -0,0 +1,58 @@ +@import '@/assets/bundle.scss'; + +page { + background: #f4f4f4; +} + +.create-afsorder { + @extend %ft28; + color: $text2; + padding-bottom: 120rpx; + .title { + @extend %pd20; + @extend %bgwhite; + border-bottom: 1rpx solid $border1; + @extend %mb20; + } + .skuList { + @extend %pd20; + @extend %bgwhite; + @extend %mb20; + .sku-item { + border-bottom: 1rpx solid $border1; + } + } + .bottom-bar, .cell { + @extend %flex-between; + @extend %bgwhite; + @extend %pd20; + } + + .bottom-bar { + position: fixed; + bottom: 0; + left: 0; + right: 0; + height: 100rpx; + z-index: 10; + box-sizing: border-box; + border-top: 1rpx solid $border3; + } + .btn { + @extend %btn-linearGradient; + } + .active { + background: $maincolor; + color: white; + } + .reasons { + @extend %pd20; + @extend %bgwhite; + } + .reason-item { + @extend %pd20; + border-bottom: 1rpx solid $border2; + transition: all .2s; + border-radius: 10rpx; + } +} diff --git a/src/pagesOrders/create-afsorder/index.vue b/src/pagesOrders/create-afsorder/index.vue new file mode 100644 index 0000000..a63060b --- /dev/null +++ b/src/pagesOrders/create-afsorder/index.vue @@ -0,0 +1,209 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/create-order/address-display/address-display.scss b/src/pagesOrders/create-order/address-display/address-display.scss new file mode 100644 index 0000000..8a9d6c7 --- /dev/null +++ b/src/pagesOrders/create-order/address-display/address-display.scss @@ -0,0 +1,62 @@ +@import '@/assets/bundle.scss'; + +.address-display { + width: 100vw; + position: fixed; + top:0; + left:0; + z-index: 999; + border-top: 1rpx solid $border1; + @extend %bgwhite; + .address-top { + @extend %pdtb; + @extend %flex-left; + } + .icon-position, .icon-right-arrow { + flex: none; + @extend %pd20; + width: 80rpx; + height: 80rpx; + @extend %bg-no-repeat-center; + } + .icon-position { + background-size: 60rpx; + @extend %icon-position; + } + .icon-right-arrow { + @extend %icon-aw-right; + width: 30rpx; + height: 30rpx; + background-size: 30rpx; + } + &:after { + content: ""; + display: block; + width: 100%; + height: 4rpx; + @extend %icon-address-border; + background-size: contain; + background-position: center center; + } + .address-content { + flex: auto; + .user-info { + font-size: 32rpx; + color: $text1; + line-height: 1.6; + } + .address-info { + font-size: 24rpx; + color: $text3; + line-height: 1.4; + } + .address-none { + font-weight: 600; + color: $text1; + font-size: 32rpx; + } + .spacing { + margin-left: 10rpx; + } + } +} \ No newline at end of file diff --git a/src/pagesOrders/create-order/address-display/address-display.vue b/src/pagesOrders/create-order/address-display/address-display.vue new file mode 100644 index 0000000..04edc85 --- /dev/null +++ b/src/pagesOrders/create-order/address-display/address-display.vue @@ -0,0 +1,83 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/create-order/create-order.scss b/src/pagesOrders/create-order/create-order.scss new file mode 100644 index 0000000..7fd42fe --- /dev/null +++ b/src/pagesOrders/create-order/create-order.scss @@ -0,0 +1,106 @@ +@import '@/assets/bundle.scss'; + +.create-order { + .top-wrapper { + height: calc(100vh - 100rpx); + overflow-y: auto; + // margin-bottom: 20rpx; + padding-bottom: 20rpx; + box-sizing: border-box; + } + .pd-wrapper { + // @extend %pd20; + // margin-top: 200rpx; + margin-top: 180rpx; + } + .isSelfBox{ + padding:10rpx + } + // 自提 + .is-self{ + background-image: url('https://image.jxc4.com/image/962302a3c7fac74d92ed23b2b373dbf1.png'); + background-repeat: no-repeat; + background-size: cover; + + height: 100rpx; + display: flex; + justify-content: flex-end; + align-items: center; + .isSelf-switch{ + // // border: 1rpx solid green !important; + // position: absolute; + // top: 20rpx; + // // top: 42rpx; + // right:50rpx; + z-index:99; + margin-right: 20px; + // // border: 1rpx solid red; + // // height: 100rpx; + } + } + .list { + margin-top: 20rpx; + // @extend %pdlr; + } + .self-order{ + width: 100vw; + height:100rpx; + line-height:100rpx; + text-align: center; + background-color: #fff; + font-weight: bold; + } + .btn-comment { + margin-top: 20rpx; + .comment { + color: $text3; + @extend %oneline; + } + } + .total-pay { + @extend %bgwhite; + border-top: 1rpx solid $border1; + .order-totalPay { + @extend %flex-left; + font-size: 28rpx; + } + .money { + font-size: 34rpx; + font-weight: bold; + color: $danger; + } + .btn-pay { + @extend %btn-linearGradient; + border-radius: 0; + height: 70rpx; + width: 200rpx; + font-size: 28rpx; + } + } + .order-num{ + // margin-top: 10rpx; + margin-right: 10rpx; + } + .order-freight{ + color:$strong; + font-size:22rpx; + } + .reduce-freight{ + display: flex; + justify-content: space-between; + width: 100vw; + background:#fff; + color:rgb(243, 144, 144); + padding:10rpx; + position: fixed; + top:160rpx; + left: 0; + z-index: 999; + border-bottom-left-radius: 10rpx; + font-size: 30rpx; + border-bottom:1rpx solid rgba(255,255,255,0.5) + } + // .add{ + // margin-right: 20rpx; + // } +} \ No newline at end of file diff --git a/src/pagesOrders/create-order/index.vue b/src/pagesOrders/create-order/index.vue new file mode 100644 index 0000000..21a835c --- /dev/null +++ b/src/pagesOrders/create-order/index.vue @@ -0,0 +1,668 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/help-purchase/help-purchase.scss b/src/pagesOrders/help-purchase/help-purchase.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/pagesOrders/help-purchase/index.vue b/src/pagesOrders/help-purchase/index.vue new file mode 100644 index 0000000..18cc1df --- /dev/null +++ b/src/pagesOrders/help-purchase/index.vue @@ -0,0 +1,402 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/my-afsorder/index.vue b/src/pagesOrders/my-afsorder/index.vue new file mode 100644 index 0000000..0f8def1 --- /dev/null +++ b/src/pagesOrders/my-afsorder/index.vue @@ -0,0 +1,118 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/my-afsorder/my-afsorder.scss b/src/pagesOrders/my-afsorder/my-afsorder.scss new file mode 100644 index 0000000..4cb0f40 --- /dev/null +++ b/src/pagesOrders/my-afsorder/my-afsorder.scss @@ -0,0 +1,15 @@ +@import '@/assets/bundle.scss'; + +page { + background: #f4f4f4; +} + +.my-afsorder { + .no-order { + margin-top: 200rpx; + } + .order-item { + @extend %bgwhite; + margin: 20rpx 0; + } +} diff --git a/src/pagesOrders/my-order/index.vue b/src/pagesOrders/my-order/index.vue new file mode 100644 index 0000000..0cd8b4b --- /dev/null +++ b/src/pagesOrders/my-order/index.vue @@ -0,0 +1,434 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/my-order/my-order.scss b/src/pagesOrders/my-order/my-order.scss new file mode 100644 index 0000000..8a1f5eb --- /dev/null +++ b/src/pagesOrders/my-order/my-order.scss @@ -0,0 +1,79 @@ +@import '@/assets/bundle.scss'; + +.my-all-order { + .status-tab { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1; + } + + .zy-top-tab { + display: flex; + height: 100rpx; + @extend %bgwhite; + position: relative; + $margin: 20rpx; + .tab-item { + flex: 1; + font-size: 28rpx; + text-align: center; + margin: 0 $margin; + // background: red + } + .tab-text { + height: 94rpx; + @extend %flex-center; + color: $text1; + transition: color .2s; + } + .active { + color: $maincolor; + } + .bottom-border { + // position: absolute; + // bottom: 0; + background: $maincolor; + height: 6rpx; + border-radius: 6rpx; + transition: left .3s,right .2s; + } + @for $i from 1 through 4 { + .four-#{$i} { + // left: $margin * (2 * $i - 1) + ((750rpx - $margin * 2 * 4) / 4) * ($i - 1); + // right: $margin * (9 - 2 * $i) + ((750rpx - $margin * 2 * 4) / 4) * (4 - $i); + } + } + @for $i from 1 through 3 { + .three-#{$i} { + // left: $margin * (2 * $i - 1) + ((750rpx - $margin * 2 * 3) / 3) * ($i - 1); + // right: $margin * (7 - 2 * $i) + ((750rpx - $margin * 2 * 3) / 3) * (3 - $i); + } + } + @for $i from 1 through 2 { + .two-#{$i} { + // left: $margin * (2 * $i - 1) + ((750rpx - $margin * 2 * 2) / 2) * ($i - 1); + // right: $margin * (5 - 2 * $i) + ((750rpx - $margin * 2 * 2) / 2) * (2 - $i); + } + } + } + + + .content { + padding-top: 120rpx; + } + .order-item { + // @extend %pd20; + @extend %bgwhite; + padding: 40rpx 20rpx; + margin-bottom: 20rpx; + border-radius: 20rpx; + margin-left: 10rpx; + margin-right: 10rpx; + border: 1rpx solid rgba(189, 189, 189, 0.5); + } + .no-order { + margin-top: 200rpx; + } +} \ No newline at end of file diff --git a/src/pagesOrders/online-contact/index.vue b/src/pagesOrders/online-contact/index.vue new file mode 100644 index 0000000..393d7b2 --- /dev/null +++ b/src/pagesOrders/online-contact/index.vue @@ -0,0 +1,320 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/online-contact/online-contact.scss b/src/pagesOrders/online-contact/online-contact.scss new file mode 100644 index 0000000..57a5d52 --- /dev/null +++ b/src/pagesOrders/online-contact/online-contact.scss @@ -0,0 +1,349 @@ + +/* pages/socks/socks.wxss */ + +page { + + background-color: #f7f7f7; + + height: 100%; + + } + + /* 聊天内容 */ + + .news { + + padding-top: 30rpx; + + text-align: center; + + /* height:100%; */ + + box-sizing:border-box; + + } + + #flag{ + margin-bottom: 100rpx; + padding-top: 20rpx; + height: 30rpx; + + } + + .chat-notice{ + + text-align: center; + + font-size: 30rpx; + + padding: 10rpx 0; + + color: #666; + + } + + .historycon { + + height: 100%; + + width: 100%; + + /* flex-direction: column; */ + + display: flex; + + border-top: 0px; + + } + + /* 聊天 */ + + .chat-news{ + + width: 100%; + overflow: hidden; + display: flex; + } + .chat-news-my{ + justify-content: flex-end; + } + .chat-news .my_right { + // float: right; + /* right: 40rpx; */ + padding: 10rpx 10rpx; + } + + + .chat-news .you_left { + + float: left; + + /* left: 5rpx; */ + + padding: 10rpx 10rpx; + + } + + .selectImg{ + + display: inline-block; + + width: 150rpx; + + height: 150rpx; + + margin-left: 50rpx; + + } + + .my_right .selectImg{ + + margin-right: 80rpx; + + } + + .new_img { + + width: 60rpx; + + height: 60rpx; + + border-radius: 50%; + + vertical-align: middle; + + margin-right: 10rpx; + + } + + .new_txt { + + max-width: 300rpx; + + display: inline-block; + + border-radius: 6rpx; + + line-height: 60rpx; + + background-color: #95d4ff; + + padding: 5rpx 20rpx; + + margin: 0 10rpx; + + //margin-left: 50rpx; + + } + + .my_right .new_txt{ + text-align: left; + } + + .you{ + + background-color: lightgreen; + + } + + .my { + + border-color: transparent transparent transparent #95d4ff; + + } + + .you { + + border-color: transparent #95d4ff transparent transparent; + + } + + .hei{ + + margin-top: 50px; + + height: 20rpx; + + } + + .history { + width: 100%; + height: 100%; + margin-top: 15px; + padding: 10rpx; + font-size: 14px; + line-height: 40px; + + word-break: break-all; + + } + + ::-webkit-scrollbar { + + width: 0; + + height: 0; + + color: transparent; + + z-index: -1; + + } + + + + /* 信息输入区域 */ + + .message{ + + position: fixed; + + bottom:0; + + width: 100%; + + } + + .sendMessage{ + + display: block; + + height: 80rpx; + + padding: 10rpx 10rpx; + + background-color: #fff; + + border-top: 2rpx solid #eee; + + border-bottom: 2rpx solid #eee; + + z-index:3; + + } + + .sendMessage input{ + + float:left; + + width: 66%; + + height: 100%; + + line-height: 80rpx; + + border-bottom: 1rpx solid #ccc; + + padding:0 10rpx; + + font-size: 35rpx; + + color: #666; + + } + + .sendMessage view{ + + display: inline-block; + + width: 80rpx; + + height: 80rpx; + + line-height: 80rpx; + + font-size: 60rpx; + + text-align: center; + + color: #999; + + border: 1rpx solid #ccc; + + border-radius: 50%; + + margin-left: 10rpx; + + } + + .sendMessage button { + + float: right; + + font-size: 35rpx; + + } + + .increased{ + + width:100%; + + /* height: 150rpx; */ + + padding: 40rpx 30rpx; + + background-color: #fff; + + } + + .increased .image{ + + width: 100rpx; + + height: 100rpx; + + border: 3rpx solid #ccc; + + line-height: 100rpx; + + text-align: center; + + border-radius: 8rpx; + + font-size:35rpx; + + } + + @keyframes slidedown { + + from { + + transform: translateY(0); + + } + + to { + + transform: translateY(100%); + + } + + } + + .slidedown { + + animation: slidedown 0.5s linear ; + + } + + .slideup { + + animation: slideup 0.5s linear ; + + } + + @keyframes slideup { + + from { + + transform: translateY(100%); + + } + + to { + + transform: translateY(0); + + } + + } \ No newline at end of file diff --git a/src/pagesOrders/order-detail/index.vue b/src/pagesOrders/order-detail/index.vue new file mode 100644 index 0000000..40d3e9a --- /dev/null +++ b/src/pagesOrders/order-detail/index.vue @@ -0,0 +1,646 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/order-detail/order-detail.scss b/src/pagesOrders/order-detail/order-detail.scss new file mode 100644 index 0000000..8dc09a2 --- /dev/null +++ b/src/pagesOrders/order-detail/order-detail.scss @@ -0,0 +1,207 @@ +@import '@/assets/bundle.scss'; + +.order-detail { + @extend %pd20; + color: $text1; + .cell { + @extend %bgwhite; + @extend %pd20; + border-radius: 20rpx; + // box-shadow: 1rpx 1rpx 2rpx rgb(206, 201, 201); + } + .order-status { + font-size: 40rpx; + font-weight: 500; + color: $text1; + // text-align: center; + border-bottom: 1rpx solid $border1; + @extend %flex-center; + padding-bottom: 20rpx; + .text { + margin-right: 10rpx; + } + .btn-text { + @extend %ft28; + color: $text3; + } + .icon-aw { + width: 20rpx; + height: 20rpx; + background-size: 100%; + @extend %bg-no-repeat-center; + @extend %icon-aw-right-slim-text1; + } + } + .tips { + font-size: 28rpx; + text-align: center; + @extend %pdtb; + } + .btn-normal { + font-size: 26rpx; + padding: 10rpx 20rpx; + border: 1rpx solid $primary; + color: $primary; + border-radius: 8rpx; + line-height: 1; + margin: 0 10rpx; +} + .btn-afsOrder { + border-color: $success; + color: $success; + } + .btn-cancel { + border-color: $danger; + color: $danger; + } + .btn-repay { + border-color: $warning; + color: $warning; + } + .btn-confirm { + border-color: $maincolor; + color: $maincolor; + } + .btn-disable { + opacity: .5; + } + .order-op { + @extend %flex-center; + } + // 配送员信息 + .deliver-man-info { + @extend %pdtb; + border-top: 1rpx solid $border1; + @extend %flex-between; + margin-top: 20rpx; + .deliver-left { + @extend %flex-left; + } + .deliver-courier { + margin-left: 20rpx; + text-align: center; + line-height: 1; + @extend %flex-center; + } + .courier-name { + font-size: 30rpx; + } + .courier-vendorName { + font-size: 20rpx; + color: $info; + border: 1rpx solid $info; + padding: 4rpx 8rpx; + border-radius: 5rpx; + margin-left: 10rpx; + } + .icon-avatar, .icon-tel { + @extend %icon-courier-border1; + @extend %bg-no-repeat-center; + background-size: 100%; + width: 50rpx; + height: 50rpx; + } + .deliver-right { + // background: red; + width: 100rpx; + @extend %flex-right; + } + .icon-tel { + @extend %icon-mobile-text2; + } + } + .cell2 { + @extend %pd20; + @extend %bgwhite; + margin-top: 20rpx; + border-radius: 20rpx; + // box-shadow: 1rpx 1rpx 2rpx rgb(206, 201, 201); + } + .order-goods-list { + .sku-item { + border-bottom: 1rpx solid $border1 !important; + } + } + .other-price { + .left-right-cell { + padding: 0; + border-bottom: 1rpx solid $border1 !important; + } + } + .concat-store { + .left-right-cell { + padding: 0; + } + .concat-wrapper { + @extend %flex-left; + } + .tel-store{ + display: flex; + align-items: center; + } + .icon-mobile { + @extend %bg-no-repeat-center; + @extend %icon-mobile-primary; + background-size: 100%; + width: 30rpx; + height: 30rpx; + border-radius: 100%; + border: 1rpx solid $primary; + margin-right: 10rpx; + } + .text { + color: $primary; + font-size: 28rpx; + } + .contanct-online{ + color: $primary; + font-size: 28rpx; + margin-left: 30px; + } + .actual-price { + font-size: 30rpx; + font-weight: 500; + .span { + font-size: 36rpx; + } + } + } + + %bordertop2 { + border-top: 1rpx solid $border2; + } + .wall { + .wall-title, .wall-content { + font-size: 32rpx; + @extend %flex-left; + @extend %pdtb; + align-items: flex-start; + } + .wall-title{ + font-weight: bold; + } + .wall-content { + font-size: 28rpx; + color: $text2; + @extend %bordertop2; + .left { + flex: none; + font-weight: 400; + width: 15vw; + text-align: justify; + text-align-last: justify; + } + .right { + margin-left: 20rpx; + text-align: justify; + + /* #ifdef MP-ALIPAY */ + margin-top: 10rpx; + /* #endif */ + } + } + // .wall-content + .wall-content { + // @extend %bordertop2; + // } + } +} \ No newline at end of file diff --git a/src/pagesOrders/order-status/index.vue b/src/pagesOrders/order-status/index.vue new file mode 100644 index 0000000..98fb23c --- /dev/null +++ b/src/pagesOrders/order-status/index.vue @@ -0,0 +1,115 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/order-status/order-status.scss b/src/pagesOrders/order-status/order-status.scss new file mode 100644 index 0000000..accbe11 --- /dev/null +++ b/src/pagesOrders/order-status/order-status.scss @@ -0,0 +1,73 @@ +@import '@/assets/bundle.scss'; + +.order-status { + padding: 80rpx; + .zy-step { + color: $text1; + &-item { + font-size: 32rpx; + display: flex; + } + &-head { + position: relative; + display: flex; + flex-flow: column; + align-items: center; + flex: none; + } + &-line { + width: 2rpx; + flex: 1; + position: absolute; + top: 22rpx; + height: 100%; + background: $border1; + } + &-icon { + width: 40rpx; + height: 40rpx; + // background: $border1; + // border-radius: 50%; + position: absolute; + top: 4rpx; + @extend %flex-center; + .dot { + width: 14rpx; + height: 14rpx; + background-color: $border1; + border-radius: 50%; + } + .first-dot { + width: 16rpx; + height: 16rpx; + padding: 5rpx; + border: 4rpx solid $maincolor; + background-color: $maincolor; + background-clip: content-box; + } + } + &-main { + flex: 1; + margin-left: 50rpx; + padding-bottom: 50rpx; + } + &-title { + @extend %flex-between; + } + .left { + font-size: 34rpx; + font-weight: 400; + } + .first-left { + color: $maincolor; + } + .right { + font-size: 24rpx; + color: $text3; + } + &-des { + color: $text3; + font-size: 24rpx; + } + } +} \ No newline at end of file diff --git a/src/pagesOrders/orderCmp/goods-group/goods-group.scss b/src/pagesOrders/orderCmp/goods-group/goods-group.scss new file mode 100644 index 0000000..92a292a --- /dev/null +++ b/src/pagesOrders/orderCmp/goods-group/goods-group.scss @@ -0,0 +1,76 @@ +@import '@/assets/bundle.scss'; + +.goods-group { + .store-info { + padding:0 10rpx; + @extend %flex-between; + height: 80rpx; + @extend %bgwhite; + } + .store-name { + @extend %flex-left; + // @extend %pdlr; + .icon-shop { + flex: none; + @extend %icon-store; + @extend %bg-no-repeat-center; + width: 40rpx; + height: 40rpx; + @extend %bg-size-100; + } + .name { + flex: auto; + @extend %oneline; + font-size: 30rpx; + color: $text2; + } + } + .store-mobile { + font-size: 30rpx; + color: $text2; + } + .sku-list { + .sku-item { + @extend %flex-left; + @extend %pdtb; + padding:10rpx; + // margin:10rpx auto; + + border-bottom: 10rpx solid white; + font-size: 28rpx; + } + .sku-item-left { + flex: none; + .sku-item-img{ + width: 120rpx; + height: 120rpx; + @extend %bgwhite; + } + // img { + // width: 120rpx; + // height: 120rpx; + // @extend %bgwhite; + // } + } + .sku-item-center { + align-self: flex-start; + flex: auto; + margin: 0 20rpx; + .sku-name { + color: $text1; + // @extend %oneline; + } + .sku-count { + color: $text3; + } + } + .sku-item-right { + align-self: flex-start; + width: 200rpx; + text-align: right; + .sku-totalMoney { + color: $text1; + } + } + } +} \ No newline at end of file diff --git a/src/pagesOrders/orderCmp/goods-group/goods-group.vue b/src/pagesOrders/orderCmp/goods-group/goods-group.vue new file mode 100644 index 0000000..0090c14 --- /dev/null +++ b/src/pagesOrders/orderCmp/goods-group/goods-group.vue @@ -0,0 +1,70 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/orderCmp/order-cell/order-cell.scss b/src/pagesOrders/orderCmp/order-cell/order-cell.scss new file mode 100644 index 0000000..8d04f8d --- /dev/null +++ b/src/pagesOrders/orderCmp/order-cell/order-cell.scss @@ -0,0 +1,108 @@ +@import '@/assets/bundle.scss'; + +%cell-bottom { + border-bottom: 1rpx solid $border2; + padding-bottom: 20rpx; +} +.order-cell { + .cell-title { + @extend %flex-between; + @extend %cell-bottom; + .left { + line-height: 1.2; + } + .store-name { + font-size: 30rpx; + color: $text1; + font-weight: 500; + } + .order-created { + font-size: 24rpx; + color: $text3; + // border:1rpx solid red; + margin-top: 10rpx; + } + .right { + font-size: 28rpx; + color: $text1; + } + } + .order-one-good { + padding: 30rpx 0; + @extend %flex-left; + font-size: 28rpx; + color: $text2; + border-bottom: 1rpx solid $border2; + .good-name { + width: 53%; + @extend %oneline; + } + .total-good-count { + width: 25%; + text-align: right; + } + .total-pay { + width: 22%; + text-align: right; + font-weight: bold; + color: $text1; + } + } + .order-op { + padding-top: 20rpx; + @extend %flex-right; + .btn-normal { + font-size: 26rpx; + padding: 10rpx 20rpx; + border: 1rpx solid $primary; + color: $primary; + border-radius: 8rpx; + line-height: 1; + } + .btn-repay { + border-color: $warning; + color: $warning; + } + .btn-confirm { + border-color: $maincolor; + color: $maincolor; + } + .btn-disable { + opacity: .5; + } + } + .order-material { + justify-content: space-between; + .material-pack { + font-size: 30rpx; + color: $text3; + } + } +} +// 新增样式 +.order-one-good{ + justify-content: space-around; +} +.order-good{ + display:flex; + // border: 1rpx solid red; + // width: 200rpx; + // overflow-x: auto; + +} +.order-img{ + width:100rpx; + height:100rpx; + // border:1rpx solid red; +} +.good-name1{ + width: 100rpx; + display: flex; + // border: 1rpx solid red; + white-space: nowrap; + overflow: hidden; + font-size: 20rpx; +} +.order-item{ + padding:0 20rpx; +} \ No newline at end of file diff --git a/src/pagesOrders/orderCmp/order-cell/order-cell.vue b/src/pagesOrders/orderCmp/order-cell/order-cell.vue new file mode 100644 index 0000000..985e02e --- /dev/null +++ b/src/pagesOrders/orderCmp/order-cell/order-cell.vue @@ -0,0 +1,132 @@ + + + + + \ No newline at end of file diff --git a/src/pagesOrders/popTab/popTab.scss b/src/pagesOrders/popTab/popTab.scss new file mode 100644 index 0000000..401f279 --- /dev/null +++ b/src/pagesOrders/popTab/popTab.scss @@ -0,0 +1,80 @@ +@import '@/assets/bundle.scss'; + +$totalH: 600rpx; +$textSize: 30rpx; +.pop-tab { + .pop-mask { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + background-color: rgba(black, .6); + z-index: 500; + } + .pop-wrapper { + height: $totalH; + position: absolute; + left: 0; + bottom: 0; + right: 0; + @extend %bgwhite; + } + .content { + height: $totalH - 100rpx; + } + .btn-cancel { + height: 100rpx; + width: 100%; + box-sizing: border-box; + border-top: 1rpx solid $noGoods; + @extend %flex-center; + font-size: $textSize; + color: $text1; + } + .content { + @extend %flex-left; + } + .left, .right { + height: $totalH - 100rpx; + overflow-y: auto; + } + .left { + flex: none; + width: 260rpx; + background-color: $bggray; + } + .right { + flex: auto; + } + .nav-item { + height: 100rpx; + box-sizing: border-box; + border-bottom: 1rpx solid #e9e9e9; + font-size: $textSize; + @extend %flex-center; + color: $text2; + } + .pane-pick { + justify-content: center !important; + text-align: center; + } + .pane-item { + height: 100rpx; + font-size: $textSize; + @extend %flex-between; + box-sizing: border-box; + @extend %pd20; + color: $text2; + } + .pane-active { + color: $maincolor; + font-weight: 500; + } + .nav-active { + color: $text1; + @extend %bgwhite; + } +} + +// .tab-pane {} diff --git a/src/pagesOrders/popTab/popTab.vue b/src/pagesOrders/popTab/popTab.vue new file mode 100644 index 0000000..85381ff --- /dev/null +++ b/src/pagesOrders/popTab/popTab.vue @@ -0,0 +1,91 @@ + + + + + \ No newline at end of file diff --git a/src/pagesPay/JX-pay/JX-pay.scss b/src/pagesPay/JX-pay/JX-pay.scss new file mode 100644 index 0000000..ccdda8a --- /dev/null +++ b/src/pagesPay/JX-pay/JX-pay.scss @@ -0,0 +1,140 @@ + +.pay{ + background-color: #f3f3f3; + height: 100vh; + overflow: hidden; + .img{ + margin-top:16rpx; + margin-left:20rpx; + display:flex; + margin-top: 80rpx; + } + .img-item{ + width: 150rpx; + height:150rpx; + } + .title{ + // width: 150px; + // border: 1px solid red; + width: 100%; + font-size: 50rpx; + height: 150rpx; + line-height: 75rpx; + font-weight: bold; + margin-left:20rpx; + // margin-top: ; + // text-align: center; + } + .title-storeName{ + font-size: 30rpx; + color:#696969; + } + .jxPaybut{ + text-align: center; + height: 80rpx; + line-height: 80rpx; + width: 650rpx; + border-radius: 20rpx; + margin: 200rpx auto; + background-color: #4EB331; + color:#fff; + } + .backApp{ + // border:1rpx solid red; + + width: 100px; + // height: 50px; + // display: flex; + background-color: #bdbebe; + margin-right:50rpx; + color:#fff; + box-shadow: 1px 2px 1px 1px #838282; + } + + // 金额输入框 + .input-box{ + display:flex; + justify-content: space-between; + padding:30rpx; + background-color: #fff; + margin:80rpx 40rpx; + border-radius: 20rpx; + } + .input{ + // border: 1px solid rgb(70, 64, 64); + width: 200px; + text-align: right; + } + // 键盘 + .key-board{ + position: fixed; + bottom:0; + width:750rpx; + box-sizing: border-box; + height: calc(100%/3); + background-color: #fff; + } + .key-board,.key-num{ + display: flex; + justify-content: space-between; + } + .key-num{ + // border:1px solid rgb(113, 225, 61); + width: 100%; + height: calc(100%/4); + box-sizing: border-box; + &-text{ + border: 1rpx solid rgb(178, 178, 178); + width: 100%; + text-align: center; + padding-top: 12px; + } + } + .bg_red{ + background-color: #f0f1f0 !important; + } + .key{ + width:calc(100%/4*3); + } + .key-text{ + border:1rpx solid rgb(178, 178, 178); + width: calc(100%/4*1); + height: 100%; + box-sizing: border-box; + } + .zero{ + width: calc(100%/3*2); + box-sizing: border-box; + border: 1rpx solid rgb(178, 178, 178); + padding-top: 12px; + padding-left:calc(100%/3*0.45); + } + .point{ + border: 1rpx solid rgb(178, 178, 178); + width: calc(100%/3*1); + box-sizing: border-box; + text-align: center; + padding-top: 12px; + } + .del{ + height: 25%; + border-bottom: 1rpx solid rgb(178, 178, 178); + text-align: center; + padding-top: 12px; + box-sizing: border-box; + background: url('@/assets/images/backspace.png') center no-repeat; + } + .sure-pay{ + border-top: 1rpx solid rgb(178, 178, 178); + width: 100px; + height: 75%; + text-align: center; + box-sizing: border-box; + &-text{ + width:40px; + margin: 50% auto; + color:#fff; + } + background-color: #4EB331; + } +} diff --git a/src/pagesPay/JX-pay/JX-pay.vue b/src/pagesPay/JX-pay/JX-pay.vue new file mode 100644 index 0000000..a1c352b --- /dev/null +++ b/src/pagesPay/JX-pay/JX-pay.vue @@ -0,0 +1,225 @@ + + + + + \ No newline at end of file diff --git a/src/pagesStore/store/index.scss b/src/pagesStore/store/index.scss new file mode 100644 index 0000000..c2acf3e --- /dev/null +++ b/src/pagesStore/store/index.scss @@ -0,0 +1,16 @@ +.store{ + padding: 20rpx; +} + +.storeItem{ + margin: 20rpx; + border:1rpx solid red; + padding: 10rpx; +} + +.toptitle{ + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; +} diff --git a/src/pagesStore/store/index.vue b/src/pagesStore/store/index.vue new file mode 100644 index 0000000..77eeca7 --- /dev/null +++ b/src/pagesStore/store/index.vue @@ -0,0 +1,57 @@ + + + + + \ No newline at end of file diff --git a/src/shime-uni.d.ts b/src/shime-uni.d.ts new file mode 100644 index 0000000..b3d3cc9 --- /dev/null +++ b/src/shime-uni.d.ts @@ -0,0 +1,6 @@ +export {}; + +declare module "vue" { + type Hooks = App.AppInstance & Page.PageInstance; + interface ComponentCustomOptions extends Hooks {} +} \ No newline at end of file diff --git a/src/static/images/bottom-bar/icon-cart-active.png b/src/static/images/bottom-bar/icon-cart-active.png new file mode 100644 index 0000000..6889785 Binary files /dev/null and b/src/static/images/bottom-bar/icon-cart-active.png differ diff --git a/src/static/images/bottom-bar/icon-cart.png b/src/static/images/bottom-bar/icon-cart.png new file mode 100644 index 0000000..1157a4b Binary files /dev/null and b/src/static/images/bottom-bar/icon-cart.png differ diff --git a/src/static/images/bottom-bar/icon-good-active.png b/src/static/images/bottom-bar/icon-good-active.png new file mode 100644 index 0000000..34dde52 Binary files /dev/null and b/src/static/images/bottom-bar/icon-good-active.png differ diff --git a/src/static/images/bottom-bar/icon-good.png b/src/static/images/bottom-bar/icon-good.png new file mode 100644 index 0000000..b20ad5d Binary files /dev/null and b/src/static/images/bottom-bar/icon-good.png differ diff --git a/src/static/images/bottom-bar/icon-home-active.png b/src/static/images/bottom-bar/icon-home-active.png new file mode 100644 index 0000000..1c669a0 Binary files /dev/null and b/src/static/images/bottom-bar/icon-home-active.png differ diff --git a/src/static/images/bottom-bar/icon-home.png b/src/static/images/bottom-bar/icon-home.png new file mode 100644 index 0000000..4733bbe Binary files /dev/null and b/src/static/images/bottom-bar/icon-home.png differ diff --git a/src/static/images/bottom-bar/icon-mine-active.png b/src/static/images/bottom-bar/icon-mine-active.png new file mode 100644 index 0000000..fe36dfb Binary files /dev/null and b/src/static/images/bottom-bar/icon-mine-active.png differ diff --git a/src/static/images/bottom-bar/icon-mine.png b/src/static/images/bottom-bar/icon-mine.png new file mode 100644 index 0000000..d0e85d1 Binary files /dev/null and b/src/static/images/bottom-bar/icon-mine.png differ diff --git a/src/static/logo.png b/src/static/logo.png new file mode 100644 index 0000000..b5771e2 Binary files /dev/null and b/src/static/logo.png differ diff --git a/src/store/address/actions.js b/src/store/address/actions.js new file mode 100644 index 0000000..86f25c6 --- /dev/null +++ b/src/store/address/actions.js @@ -0,0 +1,45 @@ +import address from '@/apis/address'; + +export default { + /** + * 获取地址列表 + */ + getList: async ({ commit }) => { + let res = await address.getMyDeliveryAddress() + commit('setList', res) + }, + + /** + * 删除送货地址 + */ + delListItem: async ({ commit }, addressID) => { + await address.delMyDeliveryAddress(addressID) + commit('delListItem', addressID) + }, + + /** + * 修改送货地址 + */ + updateListItem: async ({ commit, dispatch }, params) => { + let json = { ...params } + json.address = encodeURIComponent(params.address) + json.detailAddress = encodeURIComponent(params.detailAddress) + json.consigneeName = encodeURIComponent(params.consigneeName) + + await address.updateMyDeliveryAddress(json) + await dispatch('getList') + commit('updateListItem', json.id) + }, + + /** + * 添加送货地址 + */ + addListItem: async ({ commit, dispatch }, params) => { + let json = { ...params } + json.address = encodeURIComponent(params.address) + json.detailAddress = encodeURIComponent(params.detailAddress) + json.consigneeName = encodeURIComponent(params.consigneeName) + await address.addAddressList(json) + await dispatch('getList') + } +} \ No newline at end of file diff --git a/src/store/address/getters.js b/src/store/address/getters.js new file mode 100644 index 0000000..0539221 --- /dev/null +++ b/src/store/address/getters.js @@ -0,0 +1,50 @@ +import { getDistance } from '@/utils/index' + +export default { + /** + * 地址列表 + */ + addressList: (state) => { + for (let i in state.list) { + state.list[i].distance = getDistance(state.list[i].lat, state.list[i].lng) + } + return state.list + }, + + /** + * 选中的送货地址 + */ + pickWaybillAd: (state) => { + return state.pickWaybillAd + }, + + /** + * 选择的地址信息 + */ + curPickAddress: (state) => { + return state.curPickAddress + }, + + /** + * 当前的配送地址 + */ + defaultAddress: (state) => { + let arr = state.list.filter(item => item.detailAddress !== '自提订单:详细地址') + if (arr.length === 0) return [] + // 得到设置的默认地址 + let setDefault = arr.filter(item => item.isDefault === 1) + // 得到之前选择的地址 + let isPick = uni.getStorageSync('waybillAddress') + let waybillAddress = state.pickWaybillAd + if (isPick) { + return isPick || waybillAddress + } else { + if (setDefault.length > 0) { + return setDefault + } else { + uni.setStorageSync('waybillAddress', [arr[0]]) + return [arr[0]] + } + } + } +} \ No newline at end of file diff --git a/src/store/address/index.js b/src/store/address/index.js new file mode 100644 index 0000000..ae99abd --- /dev/null +++ b/src/store/address/index.js @@ -0,0 +1,16 @@ +import getters from './getters'; +import actions from './actions'; +import mutations from './mutations'; + +export default { + namespaced: true, + state: { + list: [], // 存储我的收货地址 + pickWaybillAd: [], // 保存最终选择的送货地址 + curPickAddress: {}, // 保存选择的地址,不是最后送货地址 + }, + mutations, // 同步 + actions, // 异步 + getters, + modules: {} +} \ No newline at end of file diff --git a/src/store/address/mutations.js b/src/store/address/mutations.js new file mode 100644 index 0000000..3393b6a --- /dev/null +++ b/src/store/address/mutations.js @@ -0,0 +1,56 @@ +export default { + /** + * 保存地址信息 + */ + setList: (state, arr) => { + state.list = arr + }, + + /** + * 存储选择的送货信息 + */ + storeWaybillAd: (state, address) => { + state.pickWaybillAd = address + uni.setStorageSync('waybillAddress', address) + }, + + /** + * 更新地址 + */ + updateListItem: (state, addressID) => { + let arr = state.list.filter(item => item.detailAddress !== '自提订单:详细地址') + let findItem = arr.find(item => item.id === addressID) + let storeAddresss = uni.getStorageSync('waybillAddress') + // console.log(storeAddresss) + if (storeAddresss) { + let storeAddress = storeAddresss[0] + if (findItem.id === storeAddress.id) uni.setStorageSync('waybillAddress', [findItem]) + } + }, + + /** + * 删除地址 + */ + delListItem: (state, id) => { + console.log(state, id) + let list = state.list + let storeAddress = uni.getStorageSync('waybillAddress') + // console.log(storeAddress, 'waybillAddress') + if (storeAddress) { + if (storeAddress[0].id === id) uni.removeStorageSync('waybillAddress') + } + for (let i = 0; i < list.length; i++) { + if (list[i].id === id) { + state.list.splice(i, 1) + break + } + } + }, + + /** + * 保存选择的地址 + */ + setCurPickAddress: (state, address) => { + state.curPickAddress = address + } +} \ No newline at end of file diff --git a/src/store/cartPage/actions.js b/src/store/cartPage/actions.js new file mode 100644 index 0000000..d7aee92 --- /dev/null +++ b/src/store/cartPage/actions.js @@ -0,0 +1,212 @@ +import cartPage from '@/apis/cartPage'; +import goodPage from '@/apis/goodPage'; +import { isArray } from '@/utils' +import reComputedShopCar from '@/utils/reComputedShopCar.js' +import { modal, toast } from '@/utils/uniapi.js' +import { msgData } from '@/config' +export default { + /** + * 获取购物车列表 + */ + getCarList: async ({ commit, rootGetters }, storeID) => { + let res = await cartPage.getMyCart(storeID) + if (!res) return [] + + let count = res && res.length > 0 ? res.map(item => item.count).reduce((prev, cur) => prev + cur) : 0 + + commit('saveCartCount', count) + + // 组装购物车数据 + let storeSkus = await goodPage.getStoresSkus({ + pageSize: -1, + offset: 0, + skuIDs: res.map(item => item.skuID) + }) + let arr = [] + res.forEach(item => { + let findItem = storeSkus.skuNames.find(sku => sku.id === item.skuID && sku.storeID === item.storeID) + if (findItem) { + arr.push({ + ...findItem, + checked: item.isChecked ? true : false, + count: item.count + }) + } + }); + + reComputedShopCar(arr) + commit('saveCartList', arr) + + // 修改热销商品的数据 + + let isMaterial = rootGetters['indexPage/isMaterial'] + if(isMaterial){ + let topGoods = rootGetters['indexPage/topGoods'] + if (arr && arr.length > 0) { + arr.forEach(element => { + let findIndex = topGoods.findIndex(item => item.id === element.id) + if (findIndex !== -1) topGoods[findIndex].count = element.count + }) + } + } + + }, + + /** + * 改变购物车的商品数量 + */ + changeCar: async ({ state, commit, rootGetters }, { skuName, count }) => { + const isMaterial = rootGetters["indexPage/isMaterial"] + + // #ifdef MP-WEIXIN + const fromStoreInfo = rootGetters['indexPage/materialInfo'] ? rootGetters['indexPage/materialInfo'].fromStoreInfo : null + if (isMaterial && fromStoreInfo.packageSwitch === 1) return toast(`非常抱歉,无法购买物料,请联系运营${fromStoreInfo.marketManPhone}`) + // #endif + + if(count > skuName.stock) { + return toast('暂时没有那么多商品喔~') + } + + if (count <= 0) { + let confirm = await modal("温馨提示", msgData.delGoods); + if (!confirm) return + count = 0 + } + + if (count > 999) { + toast(msgData.moreThan999) + count = 999 + } + + let list = JSON.parse(JSON.stringify(state.list)) + + let topGoodsOld = rootGetters['indexPage/topGoods'] // 热销商品数据 + if (isArray(skuName)) { + // 再次购买使用 + let findIndex = skuName.findIndex(item => item.actType && item.count > 1) + if (findIndex !== -1 && rootGetters['confirmCheckShow']) toast('已超限购,将按原价购买') + + list = skuName.map(item => ({ + ...item, + checked: true + })) + + if (topGoodsOld && topGoodsOld.length > 0 && isMaterial) { + // 修改热销商品的数据 + topGoodsOld.map((element, index) => { + let findItem = list.find(item => item.id === element.id) + if (findItem) topGoodsOld[index].count = findItem.count + else topGoodsOld[index].count = 0 + }) + } + + } else { + if (skuName.actType && rootGetters['confirmCheckShow'] && count > 1) toast('已超限购,将按原价购买') + + let listItem = list.find(item => item.id === skuName.id && item.storeID === skuName.storeID) + + if (listItem) { + if (count > 0) { + listItem.count = count + + if (topGoodsOld && topGoodsOld.length > 0 && isMaterial) { + // 修改热销商品的数据 + let findIndex = topGoodsOld.findIndex(item => item.id === listItem.id) + if (findIndex !== -1) topGoodsOld[findIndex].count = count + } + } else { + // 移除 + for (let i = 0; i < list.length; i++) { + if (list[i].id === skuName.id && list[i].storeID === skuName.storeID) { + + if (topGoodsOld && topGoodsOld.length > 0 && isMaterial) { + // 修改热销商品的数据 + let findIndex = topGoodsOld.findIndex(item => item.id === list[i].id) + if (findIndex !== -1) topGoodsOld[findIndex].count = 0 + } + + list.splice(i, 1) + break + } + } + } + } else { + if (count > 0) { + // 添加 + list.push({ + ...skuName, + count, + checked: true + }) + + if (topGoodsOld && topGoodsOld.length > 0 && isMaterial) { + // 修改热销商品的数据 + let findIndex = topGoodsOld.findIndex(item => item.id === skuName.id) + if (findIndex !== -1) topGoodsOld[findIndex].count = count + } + } + } + + + } + await cartPage.saveToCart(rootGetters['indexPage/storeID'][0], list) + commit('saveCartList', list) // 保存到购物车 + }, + + /** + * 移除商品 + */ + removeSkuName: async ({ state, commit, rootGetters }, skuNames) => { + const list = JSON.parse(JSON.stringify(state.list)) + skuNames.forEach(needRemove => { + let listItem = list.find(item => item.id === needRemove.id && item.storeID === needRemove.storeID) + if (listItem) { + // 移除 + for (let i = 0; i < list.length; i++) { + if (list[i].id === needRemove.id && list[i].storeID === needRemove.storeID) { + list.splice(i, 1) + break + } + } + } + }) + + await cartPage.saveToCart(rootGetters['indexPage/storeID'][0], list) + commit('saveCartList', list) // 保存到购物车 + }, + + + /** + * 勾选购物车可能会请求服务器异步调用 + */ + checkSkuName: async ({ state, commit, rootGetters }, { skuName, checkStatus }) => { + const list = JSON.parse(JSON.stringify(state.list)) + let listItem = list.find(item => item.id === skuName.id && item.storeID === skuName.storeID) + listItem.checked = checkStatus + await cartPage.saveToCart(rootGetters['indexPage/storeID'][0], list) // 保存 + commit('saveCartList', list) // 保存到购物车 + }, + + /** + * 全选/取消全选 + */ + checkAllOrCancel: async ({ state, commit, rootGetters }, checked) => { + let list = JSON.parse(JSON.stringify(state.list)) + list = list.map(item => ({ + ...item, + checked + })) + await cartPage.saveToCart(rootGetters['indexPage/storeID'][0], list) // 保存 + commit('saveCartList', list) // 保存到购物车 + }, + + /** + * 清空购物车 + */ + clearAllShopCar: async ({ state, commit, rootGetters }) => { + let list = JSON.parse(JSON.stringify(state.list)) + list = [] + await cartPage.saveToCart(rootGetters['indexPage/storeID'][0], list) // 保存 + commit('saveCartList', list) + } +} \ No newline at end of file diff --git a/src/store/cartPage/getters.js b/src/store/cartPage/getters.js new file mode 100644 index 0000000..8db0aba --- /dev/null +++ b/src/store/cartPage/getters.js @@ -0,0 +1,94 @@ +import reComputedShopCar from '@/utils/reComputedShopCar.js' +import { switchWeight } from '@/utils' +export default { + /** + * 购物车列表 + */ + cartList: (state, getters, allState, allGetters) => { + let list = state.list + + // #ifdef MP-WEIXIN + // const fromStoreInfo = allGetters['indexPage/materialInfo'] ? allGetters['indexPage/materialInfo'].fromStoreInfo : null + // const isMaterial = allGetters["indexPage/isMaterial"] + + // if (isMaterial && fromStoreInfo && fromStoreInfo.packageSwitch === 1) { + // // 过滤掉物料袋 + // list = list.filter(item => item.id !== 6039382) + // } + // #endif + + return list + }, + + /** + * 重新计算购物车数量 + */ + carCount: (state, getters) => { + const { cartList } = getters + return reComputedShopCar(cartList) + }, + + /** + * 获取勾选的数量 + */ + carCheckedCount: (state) => { + const list = state.list + let count = 0 + list.forEach(item => { + if (item.checked) count += item.count + }) + return count + }, + + /** + * 计算购物车总价 + */ + totalPrice: (state) => { + const list = state.list + let price = 0 + list.forEach(item => { + if (item.checked) { + // 被勾选 + if (item.actType && item.count > 1) { + price += item.curPrice + price += (item.count - 1) * item.oriPrice + } else { + price += item.count * item.curPrice + } + } + }) + return price + }, + + /** + * 获取有效的购物车商品 + */ + validCarList: (state) => { + let list = state.list + return list.filter(item => item.checked) + }, + + /** + * 重载购物车 + */ + cartNeedReload: (state) => { + return state.cartNeedReload + }, + + /** + * 商品总重量 + */ + totalWeight: (state, getters) => { + const { validCarList } = getters + return switchWeight(validCarList.reduce((pre, next) => { + return pre += next.weight * next.count + }, 0)) + }, + + /** + * 购买备注 + */ + buyerNote: (state) => { + return state.buyerNote + } +} \ No newline at end of file diff --git a/src/store/cartPage/index.js b/src/store/cartPage/index.js new file mode 100644 index 0000000..68601dc --- /dev/null +++ b/src/store/cartPage/index.js @@ -0,0 +1,17 @@ +import getters from './getters'; +import actions from './actions'; +import mutations from './mutations'; + +export default { + namespaced: true, + state: { + list: [], // 购物车列表 + count: 0, // 购物车数量 + cartNeedReload: true, // 购物车是否需要重载 + buyerNote: '' // 购物车备注 + }, + mutations, // 同步 + actions, // 异步 + getters, + modules: {} +} \ No newline at end of file diff --git a/src/store/cartPage/mutations.js b/src/store/cartPage/mutations.js new file mode 100644 index 0000000..755e95d --- /dev/null +++ b/src/store/cartPage/mutations.js @@ -0,0 +1,31 @@ +import reComputedShopCar from '@/utils/reComputedShopCar.js' +export default { + /** + * 保存购物车信息 + */ + saveCartList: (state, arr) => { + state.list = arr + reComputedShopCar(state.list) + }, + + /** + * 保存购物车数量 + */ + saveCartCount: (state, count) => { + state.count = count + }, + + /** + * 是否重载购物车 + */ + cartNeedReload: (state, boo) => { + state.cartNeedReload = boo + }, + + /** + * 更新备注 + */ + updateBuyerNote: (state, str) => { + state.buyerNote = str + } +} \ No newline at end of file diff --git a/src/store/goodPage/actions.js b/src/store/goodPage/actions.js new file mode 100644 index 0000000..5c933b1 --- /dev/null +++ b/src/store/goodPage/actions.js @@ -0,0 +1,3 @@ +export default { + +} \ No newline at end of file diff --git a/src/store/goodPage/getters.js b/src/store/goodPage/getters.js new file mode 100644 index 0000000..7e5bdcb --- /dev/null +++ b/src/store/goodPage/getters.js @@ -0,0 +1,22 @@ +export default { + /** + * 是否需要重新加载分类 + */ + goodsNeedReload: (state) => { + return state.goodsNeedReload + }, + + /** + * 侧边栏索引 + */ + sideNum: (state) => { + return state.sideNum + }, + + /** + * 分类信息 + */ + cat:(state) => { + return state.cat + } +} \ No newline at end of file diff --git a/src/store/goodPage/index.js b/src/store/goodPage/index.js new file mode 100644 index 0000000..2b77b7c --- /dev/null +++ b/src/store/goodPage/index.js @@ -0,0 +1,16 @@ +import getters from './getters'; +import actions from './actions'; +import mutations from './mutations'; + +export default { + namespaced: true, + state: { + goodsNeedReload: true, // 是否需要重新加载分类 + sideNum: [], // 侧边栏索引 + cat:'' + }, + mutations, // 同步 + actions, // 异步 + getters, + modules: {} +} \ No newline at end of file diff --git a/src/store/goodPage/mutations.js b/src/store/goodPage/mutations.js new file mode 100644 index 0000000..bdaa088 --- /dev/null +++ b/src/store/goodPage/mutations.js @@ -0,0 +1,22 @@ +export default { + /** + * 需要重新加载分类 + */ + changeIsNeedReload: (state, boo) => { + state.goodsNeedReload = boo + }, + + /** + * 保存侧边栏索引值 + */ + saveSideNum: (state, arr) => { + state.sideNum = arr + }, + + /** + * 保存当前门店的分类信息 + */ + saveCat:(state,arr) => { + state.cat = arr + } +} \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..9ec9887 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,60 @@ +import { createStore } from 'vuex' + +import login from './login' +import indexPage from './indexPage' +import cartPage from './cartPage' +import goodPage from './goodPage' +import addressVue from './address' +import waybill from './waybill' +import loginApi from '@/apis/login' + +export const store = createStore({ + state: { + loading: false, + confirmCheckShow: true, + countTime: 5, + isShowShop: true,// 是否显示购物之类的,用于抖音、apple 提交审核时 + iosOrAndroid: {} // 手机信息 + }, + mutations: { + showLoad: state => { + state.loading = true + // #ifdef MP + // uni.showNavigationBarLoading() + // #endif + }, + hideLoad: state => { + state.loading = false + // #ifdef MP + // uni.hideNavigationBarLoading() + // #endif + }, + cancelConfirmCheckShow: (state) => { + state.confirmCheckShow = false + }, + setIsShowShop: (state, json) => { + state.isShowShop = json + }, + setIosOrAndroid: (state, json) => { + state.iosOrAndroid = json + } + }, + actions: { + isHiddenCart: async ({ commit }, appid) => { + // let res = await loginApi.getVersionController('tta6a1d01c399f264201', appid) + let res = await loginApi.getVersionController(appid) + // console.log('获取版本信息', JSON.parse(res[0].value).update.isForceUpdate) + commit('setIsShowShop', JSON.parse(res[0].value).update.isForceUpdate) + } + }, + getters: { + loading: state => state.loading, + confirmCheckShow: state => state.confirmCheckShow, + countTime: state => state.countTime, + isShowShop: state => state.isShowShop, + iosOrAndroid: state => state.iosOrAndroid + }, + modules: { + login, indexPage, cartPage, goodPage, addressVue, waybill + } +}) \ No newline at end of file diff --git a/src/store/indexPage/actions.js b/src/store/indexPage/actions.js new file mode 100644 index 0000000..28aa8a0 --- /dev/null +++ b/src/store/indexPage/actions.js @@ -0,0 +1,125 @@ +import { uniGetPosition } from '@/utils/uniapi' +import apiStore from '@/apis/apiStore'; +import goodPage from '@/apis/goodPage'; +import address from '@/apis/address'; +import { mapSkuNames } from '@/utils' +export default { + /** + * 获取定位 + */ + getPosition: async ({ commit, getters }) => { + let res = await uniGetPosition() + + let latitude = res.latitude ? res.latitude : getters.myLocation.lat + let longitude = res.longitude ? res.longitude : getters.myLocation.lng + + let analyzeInfo = await address.posToCity({ longitude, latitude, extensions: 1 }) + + commit('setMylocation', { + lat: latitude, + lng: longitude, + city: analyzeInfo.addressComponent.city + }) + commit('setPois', analyzeInfo.pois) + }, + + /** + * 按当前位置匹配门店 + */ + storeListByLocation: async ({ commit }, params) => { + if (params.isMaterial) { + console.log('物料申请') + } else { + let res = await address.storeListByLocation(params.data) + if (res.length === 0) return + res = res.filter(item => item.id !== 666666) // 剔除物料申请门店666666 + let storeMapJson = {} + res.forEach((item, index) => { + storeMapJson[item.id] = { + name: item.name, + status: item.status, + distance: item.distance, + mobile: item.tel1, + index: index + 1, + item: item, + address: { + address: item.address, + name: item.name + } + } + }) + commit('saveStoreMap', storeMapJson) + commit('changeStoreID', [res[0].id]) + + // 获取该门店的信息 + let storeIDInfo = await apiStore.getStoreInfo({ storeID: res[0].id }) + commit('saveStoreInfo', storeIDInfo) // 保存当前门店信息 + } + }, + + /** + * 获取门店信息 + * storeID + */ + getStoreInfo: async ({ commit, getters, state }, params) => { + let res = await apiStore.getStoreInfo({ storeID: params.storeID }) + if (params.type && params.type === 'fromStoreID') { + + // #ifdef MP-WEIXIN + // 存储来自哪的信息 + if (res && res.stores.length !== 0) { + let obj = { + ...state.materialInfo, + fromStoreInfo: res.stores[0] // 来自哪里的信息 + } + commit('saveMaterialInfo', obj) + } + // #endif + + } else { + if (res && res.stores && res.stores.length !== 0) { + let obj = getters.storeMap ? getters.storeMap : {} + obj[res.stores[0].id] = { + name: res.stores[0].name, + status: res.stores[0].status, + distance: res.stores[0].distance ? res.stores[0].distance : 0, + // lat:res.stores[0].lat, + // lng: res.stores[0].lng, + mobile: res.stores[0].tel1, + index: 0, + item: res.stores[0], + address: { + address: res.stores[0].address, + name: res.stores[0].name + } + } + if (res.stores[0].brandID && getters.queryStoreID) commit('saveBrandID', res.stores[0].brandID) // 扫码进店,改变brandID + commit('saveStoreMap', obj) + } + } + + + + }, + + /** + * 获取品牌信息 + */ + getBrandInfo: async ({ commit }, params) => { + let res = await apiStore.getBrand(params) + if (!res) return + uni.setNavigationBarTitle({ + title: res[0].name + }) + commit('saveBrandID', res[0].id) + }, + + /** + * 获取热销商品 + */ + getTopGoods: async ({ commit }, storeID) => { + let res = await goodPage.getTopGoods(storeID) + let skuList = res || [] + commit('saveTopGoods', mapSkuNames(skuList)) + } +} \ No newline at end of file diff --git a/src/store/indexPage/getters.js b/src/store/indexPage/getters.js new file mode 100644 index 0000000..86d5f1e --- /dev/null +++ b/src/store/indexPage/getters.js @@ -0,0 +1,293 @@ +export default { + /** + * 重新加载 + */ + indexNeedReload: (state) => { + return state.indexNeedReload + }, + + /** + * 重定位信息 + */ + reLocation: (state) => { + return state.reLocation + }, + + /** + * 当前城市是否改变 + */ + cityChange: (state, getters) => { + let city = state.cityChange ? state.cityChange : getters.myLocation.city + return city + }, + + /** + * 个人定位信息 + */ + myLocation: (state) => { + return state.myLocation + }, + + /** + * 附近的位置信息 + */ + pois: (state) => { + return state.pois + }, + + /** + * 所有门店的数据信息 + */ + storeMap: (state) => { + return state.storeMap + }, + + /** + * 当前门店的sotreID + */ + storeID: (state, getters) => { + let storeID = getters.isMaterial && !getters.isPurchase ? [666666] : // 物料 + ( + getters.queryStoreID ? [getters.queryStoreID] : // 扫码 + ( + getters.isPurchase && getters.isMaterial ? [Number(getters.materialInfo.toStoreID)] : // 批量 + state.storeID // 定位 + ) + ) + return storeID + }, + + /** + * 当前门店的信息 + */ + storeInfo: (state) => { + return state.storeInfo + }, + + /** + * 当前门店的减运信息 + */ + waybillSLG: state => { + return state.waybillSLG + }, + + /** + * 轮播图 + */ + bannerList: (state, getters) => { + let bannerList = state.bannerList + if (getters.StoreMap && getters.storeID.length > 0 && getters.StoreMap[getters.storeID[0]].item.banner) bannerList = getters.StoreMap[getters.storeID[0]].banner + return bannerList + }, + + /** + * 物料信息 + */ + materialInfo: (state) => { + return state.materialInfo + }, + + /** + * 来自哪的个门店 + */ + fromStoreID: (state, getters) => { + return getters.materialInfo && getters.materialInfo.fromStoreID ? getters.materialInfo.fromStoreID : null + }, + + /** + * 来自哪的个门店的信息 + */ + fromStoreInfo: (state) => { + return state.materialInfo ? state.materialInfo.fromStoreInfo : null + }, + + /** + * 公众号进入 品牌 + */ + brandID: (state) => { + return state.brandID + }, + + /** + * 推广码进入 + */ + promote: (state) => { + return state.promote + }, + + /** + * 是否为B2B模式 + */ + isB2B: (state) => { + return state.storeInfo && state.storeInfo.stores && state.storeInfo.stores[0].brandID === 10 ? true : false + }, + + /** + * 是否为果园 + */ + isGy: (state, getters) => { + // return getters.materialInfo && getters.materialInfo.storeType === 'gy' ? true : false + return state.isGy + }, + + /** + * 扫码进入 + */ + queryStoreID: (state) => { + // uni.setStorageSync('queryStoreID',state.queryStoreID) + return Number(state.queryStoreID) + }, + + /** + * 京西支付信息 + */ + jxPayInfo: (state) => { + return state.jxPayInfo + }, + + /** + * 热销商品 + */ + topGoods: (state) => { + return state.topGoods || [] + }, + + /** + *--------------- + *是否为物料 + */ + isMaterial: (state) => { + let flag = false + + // #ifdef MP-WEIXIN + flag = state.materialInfo && + state.materialInfo.storeType && + state.materialInfo.fromStoreID && + state.materialInfo.storeID === '666666' ? true : false + // && !state.materialInfo.toStoreID + // #endif + + return flag + }, + + /** + * 是否为批量购买 + */ + isPurchase: (state) => { + let flag = false + + // #ifdef MP-WEIXIN + flag = state.materialInfo && + state.materialInfo.storeType && + state.materialInfo.fromStoreID && + state.materialInfo.toStoreID && + state.materialInfo.toStoreID !== '666666' ? true : false + // #endif + + return flag + }, + + /** + * 物料购买的类型 c4 gy + */ + storeType: (state) => { + let str = '' + + // #ifdef MP-WEIXIN + str = state.materialInfo && state.materialInfo.storeType ? state.materialInfo.storeType : 'c4' + // #endif + + return str + }, + + /** + * 当前袋子的销量 + */ + preSaleCount: (state) => { + return state.preSaleCount + }, + + /** + * 能否够买物料 + */ + canBuy: (state, getters) => { + return getters.isMaterial ? state.canBuy : true + }, + + /** + * 禁止购买物料,需要弹框提示,联系运营 + */ + notBuyPackbag: (getters) => { + const materialInfo = getters.materialInfo + return materialInfo && materialInfo.packageSwitch === 1 + }, + + /** + * 袋子的skuid + */ + bagSkuIDs: (state) => { + return state.bagSkuIDs + }, + + /** + * 总的袋子数和份数 + */ + totalBag: (state, getters, allState, allGetters) => { + let total = 0 + + // #ifdef MP-WEIXIN + const carList = allGetters['cartPage/cartList'] + if (!carList) return + total = carList.reduce((pre, next) => { + if (state.bagSkuIDs.includes(next.id)) { + return { + unitCount: pre.unitCount += next.count, + totalCount: pre.totalCount += next.specCount * next.count + } + } else { + return pre + } + }, { + unitCount: 0, + totalCount: 0 + }) + // #endif + + return total + }, + + /** + * 是否超出购买限制 + */ + bagOverload: (state, getters, allState, allGetters) => { + let str = '未超出购买限制' + const { preSaleCount, canBuy, bagSkuIDs } = state + const { totalBag } = getters + if (!canBuy) { + str = '未满足申请条件' + } else { + if (preSaleCount === 0) { + // 新门店,只能买一包袋子 + if (totalBag.unitCount > 1) str = '袋子已经超过可申请数量,继续增加会收取一定费用。' + } else { + // 按单量申请 + if (preSaleCount <= totalBag.totalCount) str = '袋子已经超过可申请数量,继续增加会收取一定费用。' + } + } + return str + }, + + /** + * 附近的门店列表 + */ + storeList:(state) => { + return state.storeList + }, + + /** + * 域名 + */ + dns:(state) => { + return state.dns + } +} \ No newline at end of file diff --git a/src/store/indexPage/index.js b/src/store/indexPage/index.js new file mode 100644 index 0000000..06fc7db --- /dev/null +++ b/src/store/indexPage/index.js @@ -0,0 +1,48 @@ +import getters from './getters'; +import actions from './actions'; +import mutations from './mutations'; +import { storeMap } from "@/apis/config" + +export default { + namespaced: true, + state: { + myLocation: { + lat: 30.693449, + lng: 104.045987, + city: '成都市' + }, + cityChange: '', // 当前城市 + reLocation: null, // 重定位信息 + pois: [], //当前的附近位置 + // storeMap: config.storeMap, //附近门店的数据信息 + storeMap: null, //附近门店的数据信息 + // storeID: [], //当前门店的id + storeID: [668594], //当前门店的id + waybillSLG: { // 当前门店的减运信息 + satisfy: 0, + reduce: 0 + }, + storeInfo: null, //当前门店的信息 + bannerList: [], //轮播图 + + materialInfo: null, // 物料购买信息 + brandIDList: [], // 品牌列表 + brandID: 1, // 公众号进入 + promote: '', // 推广码信息 + queryStoreID: '', // 扫码进入 + jxPayInfo: null, // 京西支付信息 + topGoods: [], // 热销商品 + storeList:[], // 附近的门店列表 + preSaleCount: 0, // 之前的销量 + canBuy: false, // 是否过了一周时间可以申请 + bagSkuIDs: [6039382, 6039383, 6039384, 6039387, 6039390], // 各种物料袋的skuID + actSkuIDs: [6039394, 6039389], // 活动商品的skuID + indexNeedReload: false, // 是否需要重新加载 + isGy:false, // 是否为果园 + dns:'' // 域名 + }, + mutations, // 同步 + actions, // 异步 + getters, + modules: {} +} \ No newline at end of file diff --git a/src/store/indexPage/mutations.js b/src/store/indexPage/mutations.js new file mode 100644 index 0000000..8a61a22 --- /dev/null +++ b/src/store/indexPage/mutations.js @@ -0,0 +1,177 @@ +import { store as allStore } from "@/store"; +export default { + /** + * 是否需要重新加载 + */ + indexNeedReload: (state, boo) => { + state.indexNeedReload = boo + }, + + /** + * 重定位信息 + */ + saveReLocation: (state, json) => { + state.reLocation = json + }, + + /** + * 定位信息 + */ + setMylocation: (state, json) => { + state.myLocation = json + }, + + /** + * 当前的附近位置 + */ + setPois: (state, arr) => { + state.pois = arr + }, + + /** + * 改变当前城市 + */ + changeCity: (state, str) => { + state.cityChange = str + }, + + /** + * 附近门店的数据信息 + */ + saveStoreMap: (state, json) => { + state.storeMap = json + }, + + /** + * 改变当前门店 + */ + changeStoreID: (state, storeID) => { + // 设置重新加载标识 + if(storeID[0] !== state.storeID[0]){ + // allStore.commit('indexPage/indexNeedReload', true) // 首页 + allStore.commit('goodPage/changeIsNeedReload', true) // 分类 + allStore.commit('cartPage/cartNeedReload', true) // 购物车 + state.storeID = storeID + }else{ + allStore.commit('goodPage/changeIsNeedReload', false) // 分类 + allStore.commit('cartPage/cartNeedReload', false) // 购物车 + } + }, + + /** + * 保存门店信息 + */ + saveStoreInfo: (state, json) => { + state.storeInfo = json + }, + + /** + * 保存门店的减运信息 + */ + saveWaybillSLG: (state, json) => { + state.waybillSLG = json + }, + + /** + * 保存轮播图信息 + */ + saveBannerList: (state, arr) => { + state.bannerList = arr + }, + + /** + * 保存物料购买信息 + */ + saveMaterialInfo: (state, json) => { + uni.setStorageSync('materialInfo', json) + uni.removeStorageSync('queryStoreID') + uni.removeStorageSync('storeType') + uni.removeStorageSync('brandID') + state.queryStoreID = null + state.isGy = false + state.brandID = -1 + state.materialInfo = json + }, + + /** + * 保存品牌brandID + */ + saveBrandID: (state, json) => { + uni.setStorageSync('brandID', json) + // uni.removeStorageSync('materialInfo') + // uni.removeStorageSync('queryStoreID') + // state.queryStoreID = null + // state.materialInfo = null + state.brandID = json + }, + + /** + * 推广码 + */ + savePromote: (state, json) => { + state.promote = json + }, + + /** + * 扫码进入 + */ + saveQueryStoreID: (state, storeID) => { + uni.setStorageSync('queryStoreID', storeID) + uni.removeStorageSync('materialInfo') + uni.removeStorageSync('brandID') + state.materialInfo = null + state.brandID = -1 + state.queryStoreID = storeID + }, + + /** + * 京西支付信息 自定义金额 以及app跳转支付 + */ + saveJXPayInfo: (state, json) => { + state.jxPayInfo = json + }, + + /** + * 保存热销商品 + */ + saveTopGoods: (state, arr) => { + state.topGoods = arr + }, + + /** + * 保存当前物料袋的可售数量 + */ + savePreSaleCount: (state, count) => { + state.preSaleCount = count + }, + + /** + * 当前物料袋是否可以购买 + */ + changeCanBuy: (state, boo) => { + state.canBuy = boo + }, + + /** + * 是否为果园 + */ + changeStoreType:(state,boo) => { + uni.setStorageSync('storeType', boo?'gy':'c4') + state.dns = boo ?'wxGy':'wxC4' // 切换域名 + state.isGy = boo + }, + + /** + * 保存附近的门店列表 + */ + saveStoreList:(state,arr) => { + state.storeList = arr + }, + + /** + * 切换域名 + */ + changeDNS:(state,str) => { + state.dns = str + } +} \ No newline at end of file diff --git a/src/store/login/actions.js b/src/store/login/actions.js new file mode 100644 index 0000000..4177894 --- /dev/null +++ b/src/store/login/actions.js @@ -0,0 +1,120 @@ +import login from '@/apis/login' + +export default { + /** + * 登录 + */ + apiLogin: async ({ commit, state, actions }, data) => { + let res = await login.wLogin(data) + + // res.tokenType = 2 + + if (res.tokenType === 1) { + uni.setStorageSync('token', res.token) + let { metaData } = await login.getServiceInfo() // 获取服务信息 + let selfInfo = await login.getSelfInfo() // 获取用户信息 + + // 1.个人信息 + commit('saveSelfInfo', selfInfo) + + // 2.服务信息 + commit('saveCms', metaData) + + commit('changeLoginStatus', true) // 改变登录状态 + } else { + // 清除用户数据 + if(uni.getStorageSync('storeType') !== 'gy'){ + uni.removeStorageSync('queryStoreID') + uni.removeStorageSync('fromStoreID') + uni.removeStorageSync('storeType') + } + + uni.removeStorageSync('token') + uni.removeStorageSync('waybillAddress') // 清除配送地址 + + commit('setTmpData', res) // 用户临时数据 用于绑定注册 + } + }, + + /** + * 解析手机号 注册 绑定 + */ + analyzePhone: async ({ getters, commit, dispatch }, data) => { + let res = '' + + // #ifdef MP-WEIXIN + res = await login.getUserByMiniInfo(data) + // #endif + + // #ifdef MP-KUAISHOU + res = await login.analyzeMobile(data) + // #endif + + // #ifdef MP-TOUTIAO + // 由于当前手机权限申请不过,故先模拟手机号保证登录功能的实现 + // 权限申请过后,可以调用login.analyzeMobile()解析手机号 + res = { mobile: "18744776542", isExist: false } + // res.mobile = String(new Date().getTime()).substring(0, 11) // 模拟手机号 + // #endif + + // #ifdef ALIPAY + // 支付宝走,注册 + res = { mobile: data, isExist: false } + // #endif + + if (res.isExist) { + // 绑定 + await login.addAuthBindWithMobile({ + authToken: getters.tmpData && getters.tmpData.token ? getters.tmpData.token : '', + mobile: res.mobile + }) + } else { + // 注册 + let userInfo = uni.getStorageSync('aldstat_user_info') + console.log(res, '获取用户信息数据', userInfo) + let name = userInfo.nickName ? userInfo.nickName : res.mobile + let avatar = userInfo.avatarUrl ? userInfo.avatarUrl : 'https://image.jxc4.com/image/9dc7d11b8e64049273dd1bc6ad938166.png' + + // #ifdef MP-WEIXIN + name = res.mobile + avatar = 'https://image.jxc4.com/image/9dc7d11b8e64049273dd1bc6ad938166.png' + // #endif + + let payload = { + userID2: res.mobile, + name: name, + mobile: res.mobile, + avatar: avatar + } + + // #ifdef ALIPAY + // 支付宝走,注册 + payload.lastLoginType = 'alipaycode' + // #endif + + + let obj = { + authToken: getters.tmpData && getters.tmpData.token ? getters.tmpData.token : '', + payload: JSON.stringify(payload) + } + + let res2 = await login.registerUser(obj) + + // #ifdef MP-TOUTIAO + // 若手机号接口权限开通后,可将该代码删除 + if (res2 && res2 === '用户标识已经存在' || res2 === '要登录类型已经存在') { + // 走绑定 + await login.addAuthBindWithMobile({ + authToken: getters.tmpData && getters.tmpData.token ? getters.tmpData.token : '', + mobile: res.mobile + }) + } + // #endif + + } + + commit('setTmpData', {}) // 清除临时数据 + await dispatch('apiLogin') // 重新调取登录 + }, + +} \ No newline at end of file diff --git a/src/store/login/getters.js b/src/store/login/getters.js new file mode 100644 index 0000000..90d5f0d --- /dev/null +++ b/src/store/login/getters.js @@ -0,0 +1,64 @@ +export default { + /** + * 微信app是否安装 + */ + iSExistWeixinApp: (state) => { + return state.iSExistWeixinApp + }, + + /** + * 登录状态 + */ + isLogin: (state) => { + return state.isLogin + }, + + /** + * 临时数据 + */ + tmpData: (state) => { + return state.tmpData + }, + + /** + * 临时token + */ + tmpToken: (state) => { + return state.tmpToken + }, + + /** + * 用户信息 + */ + selfInfo: (state) => { + let selfInfo = state.selfInfo + + let obj = { + ...state.selfInfo, + avatar: selfInfo.avatar ? selfInfo.avatar : 'https://image.jxc4.com/image/9dc7d11b8e64049273dd1bc6ad938166.png', + waybillArrears: 0, // 物流欠款 + } + + // #ifndef MP-WEIXIN + let userInfo = uni.getStorageSync('aldstat_user_info') + obj.name = userInfo.nickName ? userInfo.nickName : selfInfo.name + obj.avatar = userInfo.avatarUrl ? userInfo.avatarUrl : (selfInfo.avatar ? selfInfo.avatar : 'https://image.jxc4.com/image/9dc7d11b8e64049273dd1bc6ad938166.png') + // #endif + + return obj + }, + + /** + * 是否绑定手机号 + */ + isBindMobile: (state) => { + return state.selfInfo.mobile ? true : false + }, + + /** + * 服务信息 + */ + cms: (state) => { + return state.cms + } +} \ No newline at end of file diff --git a/src/store/login/index.js b/src/store/login/index.js new file mode 100644 index 0000000..c3bf01f --- /dev/null +++ b/src/store/login/index.js @@ -0,0 +1,19 @@ +import getters from './getters'; +import actions from './actions'; +import mutations from './mutations'; + +export default { + namespaced: true, + state: { + iSExistWeixinApp: true, // 微信app是否安装,为了过ios的审核 + isLogin: false, // 登录状态 + tmpData: {}, // 用户的临时数据 + tmpToken: '', // 临时token 用于浏览 + selfInfo: '', // 个人用户信息 + cms: '' //服务信息 + }, + mutations, // 同步 + actions, // 异步 + getters, + modules: {} +} \ No newline at end of file diff --git a/src/store/login/mutations.js b/src/store/login/mutations.js new file mode 100644 index 0000000..abc314b --- /dev/null +++ b/src/store/login/mutations.js @@ -0,0 +1,43 @@ +export default { + /** + * 判断微信app是否已安装 + */ + setISExistWeixinApp: (state, flag) => { + state.iSExistWeixinApp = flag + }, + + /** + * 登录状态 + */ + changeLoginStatus: (state, flag) => { + state.isLogin = flag + }, + + /** + * 用户的临时数据 + */ + setTmpData: (state, json) => { + state.tmpData = json + }, + + /** + * 临时token + */ + setTmpToken: (state, data) => { + state.tmpToken = data + }, + + /** + * 保存用户信息 + */ + saveSelfInfo: (state, json) => { + state.selfInfo = json + }, + + /** + * 保存服务信息 + */ + saveCms: (state, json) => { + state.cms = json + } +} \ No newline at end of file diff --git a/src/store/waybill/actions.js b/src/store/waybill/actions.js new file mode 100644 index 0000000..5c933b1 --- /dev/null +++ b/src/store/waybill/actions.js @@ -0,0 +1,3 @@ +export default { + +} \ No newline at end of file diff --git a/src/store/waybill/getters.js b/src/store/waybill/getters.js new file mode 100644 index 0000000..45165db --- /dev/null +++ b/src/store/waybill/getters.js @@ -0,0 +1,5 @@ +export default { + sendAddress: state => state.sendAddress, + receiveAddress: state => state.receiveAddress, + mapPick: state => state.mapPick +} \ No newline at end of file diff --git a/src/store/waybill/index.js b/src/store/waybill/index.js new file mode 100644 index 0000000..5b39341 --- /dev/null +++ b/src/store/waybill/index.js @@ -0,0 +1,16 @@ +import getters from './getters'; +import actions from './actions'; +import mutations from './mutations'; + +export default { + namespaced: true, + state: { + sendAddress: {}, // 选择的寄件人地址 + receiveAddress: {}, // 选择的收件人地址 + mapPick: null, // 从地图关键字中选择的地址 + }, + mutations, // 同步 + actions, // 异步 + getters, + modules: {} +} \ No newline at end of file diff --git a/src/store/waybill/mutations.js b/src/store/waybill/mutations.js new file mode 100644 index 0000000..6c93207 --- /dev/null +++ b/src/store/waybill/mutations.js @@ -0,0 +1,11 @@ +export default { + updateSendAddress: (state, address) => { + state.sendAddress = address + }, + updateReceiveAddress: (state, address) => { + state.receiveAddress = address + }, + updateMapPick: (state, address) => { + state.mapPick = address + } +} \ No newline at end of file diff --git a/src/uni.scss b/src/uni.scss new file mode 100644 index 0000000..288300d --- /dev/null +++ b/src/uni.scss @@ -0,0 +1,76 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color: #333; // 基本色 +$uni-text-color-inverse: #fff; // 反色 +$uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable: #c0c0c0; + +/* 背景颜色 */ +$uni-bg-color: #fff; +$uni-bg-color-grey: #f8f8f8; +$uni-bg-color-hover: #f1f1f1; // 点击状态颜色 +$uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色 + +/* 边框颜色 */ +$uni-border-color: #c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm: 12px; +$uni-font-size-base: 14px; +$uni-font-size-lg: 16; + +/* 图片尺寸 */ +$uni-img-size-sm: 20px; +$uni-img-size-base: 26px; +$uni-img-size-lg: 40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2c405a; // 文章标题颜色 +$uni-font-size-title: 20px; +$uni-color-subtitle: #555; // 二级标题颜色 +$uni-font-size-subtitle: 18px; +$uni-color-paragraph: #3f536e; // 文章段落颜色 +$uni-font-size-paragraph: 15px; \ No newline at end of file diff --git a/src/uni_modules/uni-icons/changelog.md b/src/uni_modules/uni-icons/changelog.md new file mode 100644 index 0000000..6449885 --- /dev/null +++ b/src/uni_modules/uni-icons/changelog.md @@ -0,0 +1,22 @@ +## 1.3.5(2022-01-24) +- 优化 size 属性可以传入不带单位的字符串数值 +## 1.3.4(2022-01-24) +- 优化 size 支持其他单位 +## 1.3.3(2022-01-17) +- 修复 nvue 有些图标不显示的bug,兼容老版本图标 +## 1.3.2(2021-12-01) +- 优化 示例可复制图标名称 +## 1.3.1(2021-11-23) +- 优化 兼容旧组件 type 值 +## 1.3.0(2021-11-19) +- 新增 更多图标 +- 优化 自定义图标使用方式 +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) +## 1.1.7(2021-11-08) +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.5(2021-05-12) +- 新增 组件示例地址 +## 1.1.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/src/uni_modules/uni-icons/components/uni-icons/icons.js b/src/uni_modules/uni-icons/components/uni-icons/icons.js new file mode 100644 index 0000000..7889936 --- /dev/null +++ b/src/uni_modules/uni-icons/components/uni-icons/icons.js @@ -0,0 +1,1169 @@ +export default { + "id": "2852637", + "name": "uniui图标库", + "font_family": "uniicons", + "css_prefix_text": "uniui-", + "description": "", + "glyphs": [ + { + "icon_id": "25027049", + "name": "yanse", + "font_class": "color", + "unicode": "e6cf", + "unicode_decimal": 59087 + }, + { + "icon_id": "25027048", + "name": "wallet", + "font_class": "wallet", + "unicode": "e6b1", + "unicode_decimal": 59057 + }, + { + "icon_id": "25015720", + "name": "settings-filled", + "font_class": "settings-filled", + "unicode": "e6ce", + "unicode_decimal": 59086 + }, + { + "icon_id": "25015434", + "name": "shimingrenzheng-filled", + "font_class": "auth-filled", + "unicode": "e6cc", + "unicode_decimal": 59084 + }, + { + "icon_id": "24934246", + "name": "shop-filled", + "font_class": "shop-filled", + "unicode": "e6cd", + "unicode_decimal": 59085 + }, + { + "icon_id": "24934159", + "name": "staff-filled-01", + "font_class": "staff-filled", + "unicode": "e6cb", + "unicode_decimal": 59083 + }, + { + "icon_id": "24932461", + "name": "VIP-filled", + "font_class": "vip-filled", + "unicode": "e6c6", + "unicode_decimal": 59078 + }, + { + "icon_id": "24932462", + "name": "plus_circle_fill", + "font_class": "plus-filled", + "unicode": "e6c7", + "unicode_decimal": 59079 + }, + { + "icon_id": "24932463", + "name": "folder_add-filled", + "font_class": "folder-add-filled", + "unicode": "e6c8", + "unicode_decimal": 59080 + }, + { + "icon_id": "24932464", + "name": "yanse-filled", + "font_class": "color-filled", + "unicode": "e6c9", + "unicode_decimal": 59081 + }, + { + "icon_id": "24932465", + "name": "tune-filled", + "font_class": "tune-filled", + "unicode": "e6ca", + "unicode_decimal": 59082 + }, + { + "icon_id": "24932455", + "name": "a-rilidaka-filled", + "font_class": "calendar-filled", + "unicode": "e6c0", + "unicode_decimal": 59072 + }, + { + "icon_id": "24932456", + "name": "notification-filled", + "font_class": "notification-filled", + "unicode": "e6c1", + "unicode_decimal": 59073 + }, + { + "icon_id": "24932457", + "name": "wallet-filled", + "font_class": "wallet-filled", + "unicode": "e6c2", + "unicode_decimal": 59074 + }, + { + "icon_id": "24932458", + "name": "paihangbang-filled", + "font_class": "medal-filled", + "unicode": "e6c3", + "unicode_decimal": 59075 + }, + { + "icon_id": "24932459", + "name": "gift-filled", + "font_class": "gift-filled", + "unicode": "e6c4", + "unicode_decimal": 59076 + }, + { + "icon_id": "24932460", + "name": "fire-filled", + "font_class": "fire-filled", + "unicode": "e6c5", + "unicode_decimal": 59077 + }, + { + "icon_id": "24928001", + "name": "refreshempty", + "font_class": "refreshempty", + "unicode": "e6bf", + "unicode_decimal": 59071 + }, + { + "icon_id": "24926853", + "name": "location-ellipse", + "font_class": "location-filled", + "unicode": "e6af", + "unicode_decimal": 59055 + }, + { + "icon_id": "24926735", + "name": "person-filled", + "font_class": "person-filled", + "unicode": "e69d", + "unicode_decimal": 59037 + }, + { + "icon_id": "24926703", + "name": "personadd-filled", + "font_class": "personadd-filled", + "unicode": "e698", + "unicode_decimal": 59032 + }, + { + "icon_id": "24923351", + "name": "back", + "font_class": "back", + "unicode": "e6b9", + "unicode_decimal": 59065 + }, + { + "icon_id": "24923352", + "name": "forward", + "font_class": "forward", + "unicode": "e6ba", + "unicode_decimal": 59066 + }, + { + "icon_id": "24923353", + "name": "arrowthinright", + "font_class": "arrow-right", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "24923353", + "name": "arrowthinright", + "font_class": "arrowthinright", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "24923354", + "name": "arrowthinleft", + "font_class": "arrow-left", + "unicode": "e6bc", + "unicode_decimal": 59068 + }, + { + "icon_id": "24923354", + "name": "arrowthinleft", + "font_class": "arrowthinleft", + "unicode": "e6bc", + "unicode_decimal": 59068 + }, + { + "icon_id": "24923355", + "name": "arrowthinup", + "font_class": "arrow-up", + "unicode": "e6bd", + "unicode_decimal": 59069 + }, + { + "icon_id": "24923355", + "name": "arrowthinup", + "font_class": "arrowthinup", + "unicode": "e6bd", + "unicode_decimal": 59069 + }, + { + "icon_id": "24923356", + "name": "arrowthindown", + "font_class": "arrow-down", + "unicode": "e6be", + "unicode_decimal": 59070 + },{ + "icon_id": "24923356", + "name": "arrowthindown", + "font_class": "arrowthindown", + "unicode": "e6be", + "unicode_decimal": 59070 + }, + { + "icon_id": "24923349", + "name": "arrowdown", + "font_class": "bottom", + "unicode": "e6b8", + "unicode_decimal": 59064 + },{ + "icon_id": "24923349", + "name": "arrowdown", + "font_class": "arrowdown", + "unicode": "e6b8", + "unicode_decimal": 59064 + }, + { + "icon_id": "24923346", + "name": "arrowright", + "font_class": "right", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "24923346", + "name": "arrowright", + "font_class": "arrowright", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "24923347", + "name": "arrowup", + "font_class": "top", + "unicode": "e6b6", + "unicode_decimal": 59062 + }, + { + "icon_id": "24923347", + "name": "arrowup", + "font_class": "arrowup", + "unicode": "e6b6", + "unicode_decimal": 59062 + }, + { + "icon_id": "24923348", + "name": "arrowleft", + "font_class": "left", + "unicode": "e6b7", + "unicode_decimal": 59063 + }, + { + "icon_id": "24923348", + "name": "arrowleft", + "font_class": "arrowleft", + "unicode": "e6b7", + "unicode_decimal": 59063 + }, + { + "icon_id": "24923334", + "name": "eye", + "font_class": "eye", + "unicode": "e651", + "unicode_decimal": 58961 + }, + { + "icon_id": "24923335", + "name": "eye-filled", + "font_class": "eye-filled", + "unicode": "e66a", + "unicode_decimal": 58986 + }, + { + "icon_id": "24923336", + "name": "eye-slash", + "font_class": "eye-slash", + "unicode": "e6b3", + "unicode_decimal": 59059 + }, + { + "icon_id": "24923337", + "name": "eye-slash-filled", + "font_class": "eye-slash-filled", + "unicode": "e6b4", + "unicode_decimal": 59060 + }, + { + "icon_id": "24923305", + "name": "info-filled", + "font_class": "info-filled", + "unicode": "e649", + "unicode_decimal": 58953 + }, + { + "icon_id": "24923299", + "name": "reload-01", + "font_class": "reload", + "unicode": "e6b2", + "unicode_decimal": 59058 + }, + { + "icon_id": "24923195", + "name": "mic_slash_fill", + "font_class": "micoff-filled", + "unicode": "e6b0", + "unicode_decimal": 59056 + }, + { + "icon_id": "24923165", + "name": "map-pin-ellipse", + "font_class": "map-pin-ellipse", + "unicode": "e6ac", + "unicode_decimal": 59052 + }, + { + "icon_id": "24923166", + "name": "map-pin", + "font_class": "map-pin", + "unicode": "e6ad", + "unicode_decimal": 59053 + }, + { + "icon_id": "24923167", + "name": "location", + "font_class": "location", + "unicode": "e6ae", + "unicode_decimal": 59054 + }, + { + "icon_id": "24923064", + "name": "starhalf", + "font_class": "starhalf", + "unicode": "e683", + "unicode_decimal": 59011 + }, + { + "icon_id": "24923065", + "name": "star", + "font_class": "star", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "24923066", + "name": "star-filled", + "font_class": "star-filled", + "unicode": "e68f", + "unicode_decimal": 59023 + }, + { + "icon_id": "24899646", + "name": "a-rilidaka", + "font_class": "calendar", + "unicode": "e6a0", + "unicode_decimal": 59040 + }, + { + "icon_id": "24899647", + "name": "fire", + "font_class": "fire", + "unicode": "e6a1", + "unicode_decimal": 59041 + }, + { + "icon_id": "24899648", + "name": "paihangbang", + "font_class": "medal", + "unicode": "e6a2", + "unicode_decimal": 59042 + }, + { + "icon_id": "24899649", + "name": "font", + "font_class": "font", + "unicode": "e6a3", + "unicode_decimal": 59043 + }, + { + "icon_id": "24899650", + "name": "gift", + "font_class": "gift", + "unicode": "e6a4", + "unicode_decimal": 59044 + }, + { + "icon_id": "24899651", + "name": "link", + "font_class": "link", + "unicode": "e6a5", + "unicode_decimal": 59045 + }, + { + "icon_id": "24899652", + "name": "notification", + "font_class": "notification", + "unicode": "e6a6", + "unicode_decimal": 59046 + }, + { + "icon_id": "24899653", + "name": "staff", + "font_class": "staff", + "unicode": "e6a7", + "unicode_decimal": 59047 + }, + { + "icon_id": "24899654", + "name": "VIP", + "font_class": "vip", + "unicode": "e6a8", + "unicode_decimal": 59048 + }, + { + "icon_id": "24899655", + "name": "folder_add", + "font_class": "folder-add", + "unicode": "e6a9", + "unicode_decimal": 59049 + }, + { + "icon_id": "24899656", + "name": "tune", + "font_class": "tune", + "unicode": "e6aa", + "unicode_decimal": 59050 + }, + { + "icon_id": "24899657", + "name": "shimingrenzheng", + "font_class": "auth", + "unicode": "e6ab", + "unicode_decimal": 59051 + }, + { + "icon_id": "24899565", + "name": "person", + "font_class": "person", + "unicode": "e699", + "unicode_decimal": 59033 + }, + { + "icon_id": "24899566", + "name": "email-filled", + "font_class": "email-filled", + "unicode": "e69a", + "unicode_decimal": 59034 + }, + { + "icon_id": "24899567", + "name": "phone-filled", + "font_class": "phone-filled", + "unicode": "e69b", + "unicode_decimal": 59035 + }, + { + "icon_id": "24899568", + "name": "phone", + "font_class": "phone", + "unicode": "e69c", + "unicode_decimal": 59036 + }, + { + "icon_id": "24899570", + "name": "email", + "font_class": "email", + "unicode": "e69e", + "unicode_decimal": 59038 + }, + { + "icon_id": "24899571", + "name": "personadd", + "font_class": "personadd", + "unicode": "e69f", + "unicode_decimal": 59039 + }, + { + "icon_id": "24899558", + "name": "chatboxes-filled", + "font_class": "chatboxes-filled", + "unicode": "e692", + "unicode_decimal": 59026 + }, + { + "icon_id": "24899559", + "name": "contact", + "font_class": "contact", + "unicode": "e693", + "unicode_decimal": 59027 + }, + { + "icon_id": "24899560", + "name": "chatbubble-filled", + "font_class": "chatbubble-filled", + "unicode": "e694", + "unicode_decimal": 59028 + }, + { + "icon_id": "24899561", + "name": "contact-filled", + "font_class": "contact-filled", + "unicode": "e695", + "unicode_decimal": 59029 + }, + { + "icon_id": "24899562", + "name": "chatboxes", + "font_class": "chatboxes", + "unicode": "e696", + "unicode_decimal": 59030 + }, + { + "icon_id": "24899563", + "name": "chatbubble", + "font_class": "chatbubble", + "unicode": "e697", + "unicode_decimal": 59031 + }, + { + "icon_id": "24881290", + "name": "upload-filled", + "font_class": "upload-filled", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "24881292", + "name": "upload", + "font_class": "upload", + "unicode": "e690", + "unicode_decimal": 59024 + }, + { + "icon_id": "24881293", + "name": "weixin", + "font_class": "weixin", + "unicode": "e691", + "unicode_decimal": 59025 + }, + { + "icon_id": "24881274", + "name": "compose", + "font_class": "compose", + "unicode": "e67f", + "unicode_decimal": 59007 + }, + { + "icon_id": "24881275", + "name": "qq", + "font_class": "qq", + "unicode": "e680", + "unicode_decimal": 59008 + }, + { + "icon_id": "24881276", + "name": "download-filled", + "font_class": "download-filled", + "unicode": "e681", + "unicode_decimal": 59009 + }, + { + "icon_id": "24881277", + "name": "pengyouquan", + "font_class": "pyq", + "unicode": "e682", + "unicode_decimal": 59010 + }, + { + "icon_id": "24881279", + "name": "sound", + "font_class": "sound", + "unicode": "e684", + "unicode_decimal": 59012 + }, + { + "icon_id": "24881280", + "name": "trash-filled", + "font_class": "trash-filled", + "unicode": "e685", + "unicode_decimal": 59013 + }, + { + "icon_id": "24881281", + "name": "sound-filled", + "font_class": "sound-filled", + "unicode": "e686", + "unicode_decimal": 59014 + }, + { + "icon_id": "24881282", + "name": "trash", + "font_class": "trash", + "unicode": "e687", + "unicode_decimal": 59015 + }, + { + "icon_id": "24881284", + "name": "videocam-filled", + "font_class": "videocam-filled", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "24881285", + "name": "spinner-cycle", + "font_class": "spinner-cycle", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "24881286", + "name": "weibo", + "font_class": "weibo", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "24881288", + "name": "videocam", + "font_class": "videocam", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "24881289", + "name": "download", + "font_class": "download", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "24879601", + "name": "help", + "font_class": "help", + "unicode": "e679", + "unicode_decimal": 59001 + }, + { + "icon_id": "24879602", + "name": "navigate-filled", + "font_class": "navigate-filled", + "unicode": "e67a", + "unicode_decimal": 59002 + }, + { + "icon_id": "24879603", + "name": "plusempty", + "font_class": "plusempty", + "unicode": "e67b", + "unicode_decimal": 59003 + }, + { + "icon_id": "24879604", + "name": "smallcircle", + "font_class": "smallcircle", + "unicode": "e67c", + "unicode_decimal": 59004 + }, + { + "icon_id": "24879605", + "name": "minus-filled", + "font_class": "minus-filled", + "unicode": "e67d", + "unicode_decimal": 59005 + }, + { + "icon_id": "24879606", + "name": "micoff", + "font_class": "micoff", + "unicode": "e67e", + "unicode_decimal": 59006 + }, + { + "icon_id": "24879588", + "name": "closeempty", + "font_class": "closeempty", + "unicode": "e66c", + "unicode_decimal": 58988 + }, + { + "icon_id": "24879589", + "name": "clear", + "font_class": "clear", + "unicode": "e66d", + "unicode_decimal": 58989 + }, + { + "icon_id": "24879590", + "name": "navigate", + "font_class": "navigate", + "unicode": "e66e", + "unicode_decimal": 58990 + }, + { + "icon_id": "24879591", + "name": "minus", + "font_class": "minus", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "24879592", + "name": "image", + "font_class": "image", + "unicode": "e670", + "unicode_decimal": 58992 + }, + { + "icon_id": "24879593", + "name": "mic", + "font_class": "mic", + "unicode": "e671", + "unicode_decimal": 58993 + }, + { + "icon_id": "24879594", + "name": "paperplane", + "font_class": "paperplane", + "unicode": "e672", + "unicode_decimal": 58994 + }, + { + "icon_id": "24879595", + "name": "close", + "font_class": "close", + "unicode": "e673", + "unicode_decimal": 58995 + }, + { + "icon_id": "24879596", + "name": "help-filled", + "font_class": "help-filled", + "unicode": "e674", + "unicode_decimal": 58996 + }, + { + "icon_id": "24879597", + "name": "plus-filled", + "font_class": "paperplane-filled", + "unicode": "e675", + "unicode_decimal": 58997 + }, + { + "icon_id": "24879598", + "name": "plus", + "font_class": "plus", + "unicode": "e676", + "unicode_decimal": 58998 + }, + { + "icon_id": "24879599", + "name": "mic-filled", + "font_class": "mic-filled", + "unicode": "e677", + "unicode_decimal": 58999 + }, + { + "icon_id": "24879600", + "name": "image-filled", + "font_class": "image-filled", + "unicode": "e678", + "unicode_decimal": 59000 + }, + { + "icon_id": "24855900", + "name": "locked-filled", + "font_class": "locked-filled", + "unicode": "e668", + "unicode_decimal": 58984 + }, + { + "icon_id": "24855901", + "name": "info", + "font_class": "info", + "unicode": "e669", + "unicode_decimal": 58985 + }, + { + "icon_id": "24855903", + "name": "locked", + "font_class": "locked", + "unicode": "e66b", + "unicode_decimal": 58987 + }, + { + "icon_id": "24855884", + "name": "camera-filled", + "font_class": "camera-filled", + "unicode": "e658", + "unicode_decimal": 58968 + }, + { + "icon_id": "24855885", + "name": "chat-filled", + "font_class": "chat-filled", + "unicode": "e659", + "unicode_decimal": 58969 + }, + { + "icon_id": "24855886", + "name": "camera", + "font_class": "camera", + "unicode": "e65a", + "unicode_decimal": 58970 + }, + { + "icon_id": "24855887", + "name": "circle", + "font_class": "circle", + "unicode": "e65b", + "unicode_decimal": 58971 + }, + { + "icon_id": "24855888", + "name": "checkmarkempty", + "font_class": "checkmarkempty", + "unicode": "e65c", + "unicode_decimal": 58972 + }, + { + "icon_id": "24855889", + "name": "chat", + "font_class": "chat", + "unicode": "e65d", + "unicode_decimal": 58973 + }, + { + "icon_id": "24855890", + "name": "circle-filled", + "font_class": "circle-filled", + "unicode": "e65e", + "unicode_decimal": 58974 + }, + { + "icon_id": "24855891", + "name": "flag", + "font_class": "flag", + "unicode": "e65f", + "unicode_decimal": 58975 + }, + { + "icon_id": "24855892", + "name": "flag-filled", + "font_class": "flag-filled", + "unicode": "e660", + "unicode_decimal": 58976 + }, + { + "icon_id": "24855893", + "name": "gear-filled", + "font_class": "gear-filled", + "unicode": "e661", + "unicode_decimal": 58977 + }, + { + "icon_id": "24855894", + "name": "home", + "font_class": "home", + "unicode": "e662", + "unicode_decimal": 58978 + }, + { + "icon_id": "24855895", + "name": "home-filled", + "font_class": "home-filled", + "unicode": "e663", + "unicode_decimal": 58979 + }, + { + "icon_id": "24855896", + "name": "gear", + "font_class": "gear", + "unicode": "e664", + "unicode_decimal": 58980 + }, + { + "icon_id": "24855897", + "name": "smallcircle-filled", + "font_class": "smallcircle-filled", + "unicode": "e665", + "unicode_decimal": 58981 + }, + { + "icon_id": "24855898", + "name": "map-filled", + "font_class": "map-filled", + "unicode": "e666", + "unicode_decimal": 58982 + }, + { + "icon_id": "24855899", + "name": "map", + "font_class": "map", + "unicode": "e667", + "unicode_decimal": 58983 + }, + { + "icon_id": "24855825", + "name": "refresh-filled", + "font_class": "refresh-filled", + "unicode": "e656", + "unicode_decimal": 58966 + }, + { + "icon_id": "24855826", + "name": "refresh", + "font_class": "refresh", + "unicode": "e657", + "unicode_decimal": 58967 + }, + { + "icon_id": "24855808", + "name": "cloud-upload", + "font_class": "cloud-upload", + "unicode": "e645", + "unicode_decimal": 58949 + }, + { + "icon_id": "24855809", + "name": "cloud-download-filled", + "font_class": "cloud-download-filled", + "unicode": "e646", + "unicode_decimal": 58950 + }, + { + "icon_id": "24855810", + "name": "cloud-download", + "font_class": "cloud-download", + "unicode": "e647", + "unicode_decimal": 58951 + }, + { + "icon_id": "24855811", + "name": "cloud-upload-filled", + "font_class": "cloud-upload-filled", + "unicode": "e648", + "unicode_decimal": 58952 + }, + { + "icon_id": "24855813", + "name": "redo", + "font_class": "redo", + "unicode": "e64a", + "unicode_decimal": 58954 + }, + { + "icon_id": "24855814", + "name": "images-filled", + "font_class": "images-filled", + "unicode": "e64b", + "unicode_decimal": 58955 + }, + { + "icon_id": "24855815", + "name": "undo-filled", + "font_class": "undo-filled", + "unicode": "e64c", + "unicode_decimal": 58956 + }, + { + "icon_id": "24855816", + "name": "more", + "font_class": "more", + "unicode": "e64d", + "unicode_decimal": 58957 + }, + { + "icon_id": "24855817", + "name": "more-filled", + "font_class": "more-filled", + "unicode": "e64e", + "unicode_decimal": 58958 + }, + { + "icon_id": "24855818", + "name": "undo", + "font_class": "undo", + "unicode": "e64f", + "unicode_decimal": 58959 + }, + { + "icon_id": "24855819", + "name": "images", + "font_class": "images", + "unicode": "e650", + "unicode_decimal": 58960 + }, + { + "icon_id": "24855821", + "name": "paperclip", + "font_class": "paperclip", + "unicode": "e652", + "unicode_decimal": 58962 + }, + { + "icon_id": "24855822", + "name": "settings", + "font_class": "settings", + "unicode": "e653", + "unicode_decimal": 58963 + }, + { + "icon_id": "24855823", + "name": "search", + "font_class": "search", + "unicode": "e654", + "unicode_decimal": 58964 + }, + { + "icon_id": "24855824", + "name": "redo-filled", + "font_class": "redo-filled", + "unicode": "e655", + "unicode_decimal": 58965 + }, + { + "icon_id": "24841702", + "name": "list", + "font_class": "list", + "unicode": "e644", + "unicode_decimal": 58948 + }, + { + "icon_id": "24841489", + "name": "mail-open-filled", + "font_class": "mail-open-filled", + "unicode": "e63a", + "unicode_decimal": 58938 + }, + { + "icon_id": "24841491", + "name": "hand-thumbsdown-filled", + "font_class": "hand-down-filled", + "unicode": "e63c", + "unicode_decimal": 58940 + }, + { + "icon_id": "24841492", + "name": "hand-thumbsdown", + "font_class": "hand-down", + "unicode": "e63d", + "unicode_decimal": 58941 + }, + { + "icon_id": "24841493", + "name": "hand-thumbsup-filled", + "font_class": "hand-up-filled", + "unicode": "e63e", + "unicode_decimal": 58942 + }, + { + "icon_id": "24841494", + "name": "hand-thumbsup", + "font_class": "hand-up", + "unicode": "e63f", + "unicode_decimal": 58943 + }, + { + "icon_id": "24841496", + "name": "heart-filled", + "font_class": "heart-filled", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "24841498", + "name": "mail-open", + "font_class": "mail-open", + "unicode": "e643", + "unicode_decimal": 58947 + }, + { + "icon_id": "24841488", + "name": "heart", + "font_class": "heart", + "unicode": "e639", + "unicode_decimal": 58937 + }, + { + "icon_id": "24839963", + "name": "loop", + "font_class": "loop", + "unicode": "e633", + "unicode_decimal": 58931 + }, + { + "icon_id": "24839866", + "name": "pulldown", + "font_class": "pulldown", + "unicode": "e632", + "unicode_decimal": 58930 + }, + { + "icon_id": "24813798", + "name": "scan", + "font_class": "scan", + "unicode": "e62a", + "unicode_decimal": 58922 + }, + { + "icon_id": "24813786", + "name": "bars", + "font_class": "bars", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "24813788", + "name": "cart-filled", + "font_class": "cart-filled", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "24813790", + "name": "checkbox", + "font_class": "checkbox", + "unicode": "e62b", + "unicode_decimal": 58923 + }, + { + "icon_id": "24813791", + "name": "checkbox-filled", + "font_class": "checkbox-filled", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "24813794", + "name": "shop", + "font_class": "shop", + "unicode": "e62f", + "unicode_decimal": 58927 + }, + { + "icon_id": "24813795", + "name": "headphones", + "font_class": "headphones", + "unicode": "e630", + "unicode_decimal": 58928 + }, + { + "icon_id": "24813796", + "name": "cart", + "font_class": "cart", + "unicode": "e631", + "unicode_decimal": 58929 + } + ] +} diff --git a/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue new file mode 100644 index 0000000..86e7444 --- /dev/null +++ b/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/uni_modules/uni-icons/components/uni-icons/uniicons.css b/src/uni_modules/uni-icons/components/uni-icons/uniicons.css new file mode 100644 index 0000000..2f56eab --- /dev/null +++ b/src/uni_modules/uni-icons/components/uni-icons/uniicons.css @@ -0,0 +1,663 @@ +.uniui-color:before { + content: "\e6cf"; +} + +.uniui-wallet:before { + content: "\e6b1"; +} + +.uniui-settings-filled:before { + content: "\e6ce"; +} + +.uniui-auth-filled:before { + content: "\e6cc"; +} + +.uniui-shop-filled:before { + content: "\e6cd"; +} + +.uniui-staff-filled:before { + content: "\e6cb"; +} + +.uniui-vip-filled:before { + content: "\e6c6"; +} + +.uniui-plus-filled:before { + content: "\e6c7"; +} + +.uniui-folder-add-filled:before { + content: "\e6c8"; +} + +.uniui-color-filled:before { + content: "\e6c9"; +} + +.uniui-tune-filled:before { + content: "\e6ca"; +} + +.uniui-calendar-filled:before { + content: "\e6c0"; +} + +.uniui-notification-filled:before { + content: "\e6c1"; +} + +.uniui-wallet-filled:before { + content: "\e6c2"; +} + +.uniui-medal-filled:before { + content: "\e6c3"; +} + +.uniui-gift-filled:before { + content: "\e6c4"; +} + +.uniui-fire-filled:before { + content: "\e6c5"; +} + +.uniui-refreshempty:before { + content: "\e6bf"; +} + +.uniui-location-filled:before { + content: "\e6af"; +} + +.uniui-person-filled:before { + content: "\e69d"; +} + +.uniui-personadd-filled:before { + content: "\e698"; +} + +.uniui-back:before { + content: "\e6b9"; +} + +.uniui-forward:before { + content: "\e6ba"; +} + +.uniui-arrow-right:before { + content: "\e6bb"; +} + +.uniui-arrowthinright:before { + content: "\e6bb"; +} + +.uniui-arrow-left:before { + content: "\e6bc"; +} + +.uniui-arrowthinleft:before { + content: "\e6bc"; +} + +.uniui-arrow-up:before { + content: "\e6bd"; +} + +.uniui-arrowthinup:before { + content: "\e6bd"; +} + +.uniui-arrow-down:before { + content: "\e6be"; +} + +.uniui-arrowthindown:before { + content: "\e6be"; +} + +.uniui-bottom:before { + content: "\e6b8"; +} + +.uniui-arrowdown:before { + content: "\e6b8"; +} + +.uniui-right:before { + content: "\e6b5"; +} + +.uniui-arrowright:before { + content: "\e6b5"; +} + +.uniui-top:before { + content: "\e6b6"; +} + +.uniui-arrowup:before { + content: "\e6b6"; +} + +.uniui-left:before { + content: "\e6b7"; +} + +.uniui-arrowleft:before { + content: "\e6b7"; +} + +.uniui-eye:before { + content: "\e651"; +} + +.uniui-eye-filled:before { + content: "\e66a"; +} + +.uniui-eye-slash:before { + content: "\e6b3"; +} + +.uniui-eye-slash-filled:before { + content: "\e6b4"; +} + +.uniui-info-filled:before { + content: "\e649"; +} + +.uniui-reload:before { + content: "\e6b2"; +} + +.uniui-micoff-filled:before { + content: "\e6b0"; +} + +.uniui-map-pin-ellipse:before { + content: "\e6ac"; +} + +.uniui-map-pin:before { + content: "\e6ad"; +} + +.uniui-location:before { + content: "\e6ae"; +} + +.uniui-starhalf:before { + content: "\e683"; +} + +.uniui-star:before { + content: "\e688"; +} + +.uniui-star-filled:before { + content: "\e68f"; +} + +.uniui-calendar:before { + content: "\e6a0"; +} + +.uniui-fire:before { + content: "\e6a1"; +} + +.uniui-medal:before { + content: "\e6a2"; +} + +.uniui-font:before { + content: "\e6a3"; +} + +.uniui-gift:before { + content: "\e6a4"; +} + +.uniui-link:before { + content: "\e6a5"; +} + +.uniui-notification:before { + content: "\e6a6"; +} + +.uniui-staff:before { + content: "\e6a7"; +} + +.uniui-vip:before { + content: "\e6a8"; +} + +.uniui-folder-add:before { + content: "\e6a9"; +} + +.uniui-tune:before { + content: "\e6aa"; +} + +.uniui-auth:before { + content: "\e6ab"; +} + +.uniui-person:before { + content: "\e699"; +} + +.uniui-email-filled:before { + content: "\e69a"; +} + +.uniui-phone-filled:before { + content: "\e69b"; +} + +.uniui-phone:before { + content: "\e69c"; +} + +.uniui-email:before { + content: "\e69e"; +} + +.uniui-personadd:before { + content: "\e69f"; +} + +.uniui-chatboxes-filled:before { + content: "\e692"; +} + +.uniui-contact:before { + content: "\e693"; +} + +.uniui-chatbubble-filled:before { + content: "\e694"; +} + +.uniui-contact-filled:before { + content: "\e695"; +} + +.uniui-chatboxes:before { + content: "\e696"; +} + +.uniui-chatbubble:before { + content: "\e697"; +} + +.uniui-upload-filled:before { + content: "\e68e"; +} + +.uniui-upload:before { + content: "\e690"; +} + +.uniui-weixin:before { + content: "\e691"; +} + +.uniui-compose:before { + content: "\e67f"; +} + +.uniui-qq:before { + content: "\e680"; +} + +.uniui-download-filled:before { + content: "\e681"; +} + +.uniui-pyq:before { + content: "\e682"; +} + +.uniui-sound:before { + content: "\e684"; +} + +.uniui-trash-filled:before { + content: "\e685"; +} + +.uniui-sound-filled:before { + content: "\e686"; +} + +.uniui-trash:before { + content: "\e687"; +} + +.uniui-videocam-filled:before { + content: "\e689"; +} + +.uniui-spinner-cycle:before { + content: "\e68a"; +} + +.uniui-weibo:before { + content: "\e68b"; +} + +.uniui-videocam:before { + content: "\e68c"; +} + +.uniui-download:before { + content: "\e68d"; +} + +.uniui-help:before { + content: "\e679"; +} + +.uniui-navigate-filled:before { + content: "\e67a"; +} + +.uniui-plusempty:before { + content: "\e67b"; +} + +.uniui-smallcircle:before { + content: "\e67c"; +} + +.uniui-minus-filled:before { + content: "\e67d"; +} + +.uniui-micoff:before { + content: "\e67e"; +} + +.uniui-closeempty:before { + content: "\e66c"; +} + +.uniui-clear:before { + content: "\e66d"; +} + +.uniui-navigate:before { + content: "\e66e"; +} + +.uniui-minus:before { + content: "\e66f"; +} + +.uniui-image:before { + content: "\e670"; +} + +.uniui-mic:before { + content: "\e671"; +} + +.uniui-paperplane:before { + content: "\e672"; +} + +.uniui-close:before { + content: "\e673"; +} + +.uniui-help-filled:before { + content: "\e674"; +} + +.uniui-paperplane-filled:before { + content: "\e675"; +} + +.uniui-plus:before { + content: "\e676"; +} + +.uniui-mic-filled:before { + content: "\e677"; +} + +.uniui-image-filled:before { + content: "\e678"; +} + +.uniui-locked-filled:before { + content: "\e668"; +} + +.uniui-info:before { + content: "\e669"; +} + +.uniui-locked:before { + content: "\e66b"; +} + +.uniui-camera-filled:before { + content: "\e658"; +} + +.uniui-chat-filled:before { + content: "\e659"; +} + +.uniui-camera:before { + content: "\e65a"; +} + +.uniui-circle:before { + content: "\e65b"; +} + +.uniui-checkmarkempty:before { + content: "\e65c"; +} + +.uniui-chat:before { + content: "\e65d"; +} + +.uniui-circle-filled:before { + content: "\e65e"; +} + +.uniui-flag:before { + content: "\e65f"; +} + +.uniui-flag-filled:before { + content: "\e660"; +} + +.uniui-gear-filled:before { + content: "\e661"; +} + +.uniui-home:before { + content: "\e662"; +} + +.uniui-home-filled:before { + content: "\e663"; +} + +.uniui-gear:before { + content: "\e664"; +} + +.uniui-smallcircle-filled:before { + content: "\e665"; +} + +.uniui-map-filled:before { + content: "\e666"; +} + +.uniui-map:before { + content: "\e667"; +} + +.uniui-refresh-filled:before { + content: "\e656"; +} + +.uniui-refresh:before { + content: "\e657"; +} + +.uniui-cloud-upload:before { + content: "\e645"; +} + +.uniui-cloud-download-filled:before { + content: "\e646"; +} + +.uniui-cloud-download:before { + content: "\e647"; +} + +.uniui-cloud-upload-filled:before { + content: "\e648"; +} + +.uniui-redo:before { + content: "\e64a"; +} + +.uniui-images-filled:before { + content: "\e64b"; +} + +.uniui-undo-filled:before { + content: "\e64c"; +} + +.uniui-more:before { + content: "\e64d"; +} + +.uniui-more-filled:before { + content: "\e64e"; +} + +.uniui-undo:before { + content: "\e64f"; +} + +.uniui-images:before { + content: "\e650"; +} + +.uniui-paperclip:before { + content: "\e652"; +} + +.uniui-settings:before { + content: "\e653"; +} + +.uniui-search:before { + content: "\e654"; +} + +.uniui-redo-filled:before { + content: "\e655"; +} + +.uniui-list:before { + content: "\e644"; +} + +.uniui-mail-open-filled:before { + content: "\e63a"; +} + +.uniui-hand-down-filled:before { + content: "\e63c"; +} + +.uniui-hand-down:before { + content: "\e63d"; +} + +.uniui-hand-up-filled:before { + content: "\e63e"; +} + +.uniui-hand-up:before { + content: "\e63f"; +} + +.uniui-heart-filled:before { + content: "\e641"; +} + +.uniui-mail-open:before { + content: "\e643"; +} + +.uniui-heart:before { + content: "\e639"; +} + +.uniui-loop:before { + content: "\e633"; +} + +.uniui-pulldown:before { + content: "\e632"; +} + +.uniui-scan:before { + content: "\e62a"; +} + +.uniui-bars:before { + content: "\e627"; +} + +.uniui-cart-filled:before { + content: "\e629"; +} + +.uniui-checkbox:before { + content: "\e62b"; +} + +.uniui-checkbox-filled:before { + content: "\e62c"; +} + +.uniui-shop:before { + content: "\e62f"; +} + +.uniui-headphones:before { + content: "\e630"; +} + +.uniui-cart:before { + content: "\e631"; +} diff --git a/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf new file mode 100644 index 0000000..835f33b Binary files /dev/null and b/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf differ diff --git a/src/uni_modules/uni-icons/package.json b/src/uni_modules/uni-icons/package.json new file mode 100644 index 0000000..d1c4e77 --- /dev/null +++ b/src/uni_modules/uni-icons/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-icons", + "displayName": "uni-icons 图标", + "version": "1.3.5", + "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", + "keywords": [ + "uni-ui", + "uniui", + "icon", + "图标" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.14" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/uni-icons/readme.md b/src/uni_modules/uni-icons/readme.md new file mode 100644 index 0000000..86234ba --- /dev/null +++ b/src/uni_modules/uni-icons/readme.md @@ -0,0 +1,8 @@ +## Icons 图标 +> **组件名:uni-icons** +> 代码块: `uIcons` + +用于展示 icons 图标 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/src/uni_modules/uni-load-more/changelog.md b/src/uni_modules/uni-load-more/changelog.md new file mode 100644 index 0000000..8f03f1d --- /dev/null +++ b/src/uni_modules/uni-load-more/changelog.md @@ -0,0 +1,19 @@ +## 1.3.3(2022-01-20) +- 新增 showText属性 ,是否显示文本 +## 1.3.2(2022-01-19) +- 修复 nvue 平台下不显示文本的bug +## 1.3.1(2022-01-19) +- 修复 微信小程序平台样式选择器报警告的问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) +## 1.2.1(2021-08-24) +- 新增 支持国际化 +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-05-12) +- 新增 组件示例地址 +## 1.1.7(2021-03-30) +- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +## 1.1.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json new file mode 100644 index 0000000..a4f14a5 --- /dev/null +++ b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data" +} diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json new file mode 100644 index 0000000..f15d510 --- /dev/null +++ b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了" +} diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json new file mode 100644 index 0000000..a255c6d --- /dev/null +++ b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了" +} diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue b/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue new file mode 100644 index 0000000..5a60267 --- /dev/null +++ b/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/src/uni_modules/uni-load-more/package.json b/src/uni_modules/uni-load-more/package.json new file mode 100644 index 0000000..2fa6f04 --- /dev/null +++ b/src/uni_modules/uni-load-more/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-load-more", + "displayName": "uni-load-more 加载更多", + "version": "1.3.3", + "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", + "keywords": [ + "uni-ui", + "uniui", + "加载更多", + "load-more" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/uni-load-more/readme.md b/src/uni_modules/uni-load-more/readme.md new file mode 100644 index 0000000..54dc1fa --- /dev/null +++ b/src/uni_modules/uni-load-more/readme.md @@ -0,0 +1,14 @@ + + +### LoadMore 加载更多 +> **组件名:uni-load-more** +> 代码块: `uLoadMore` + + +用于列表中,做滚动加载使用,展示 loading 的各种状态。 + + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/src/uni_modules/uni-rate/changelog.md b/src/uni_modules/uni-rate/changelog.md new file mode 100644 index 0000000..8a98a61 --- /dev/null +++ b/src/uni_modules/uni-rate/changelog.md @@ -0,0 +1,25 @@ +## 1.3.1(2022-02-25) +- 修复 条件判断 `NaN` 错误的 bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-rate](https://uniapp.dcloud.io/component/uniui/uni-rate) +## 1.2.2(2021-09-10) +- 优化 默认值修改为 0 颗星 +## 1.2.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.2(2021-05-12) +- 新增 组件示例地址 +## 1.1.1(2021-04-21) +- 修复 布局变化后 uni-rate 星星计算不准确的 bug +- 优化 添加依赖 uni-icons, 导入 uni-rate 自动下载依赖 +## 1.1.0(2021-04-16) +- 修复 uni-rate 属性 margin 值为 string 组件失效的 bug + +## 1.0.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.8(2021-02-05) +- 调整为uni_modules目录规范 +- 支持 pc 端 diff --git a/src/uni_modules/uni-rate/components/uni-rate/uni-rate.vue b/src/uni_modules/uni-rate/components/uni-rate/uni-rate.vue new file mode 100644 index 0000000..857f5f9 --- /dev/null +++ b/src/uni_modules/uni-rate/components/uni-rate/uni-rate.vue @@ -0,0 +1,361 @@ + + + + + diff --git a/src/uni_modules/uni-rate/package.json b/src/uni_modules/uni-rate/package.json new file mode 100644 index 0000000..64e8e33 --- /dev/null +++ b/src/uni_modules/uni-rate/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-rate", + "displayName": "uni-rate 评分", + "version": "1.3.1", + "description": "Rate 评分组件,可自定义评分星星图标的大小、间隔、评分数。", + "keywords": [ + "uni-ui", + "uniui", + "评分" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/src/uni_modules/uni-rate/readme.md b/src/uni_modules/uni-rate/readme.md new file mode 100644 index 0000000..eae7b5c --- /dev/null +++ b/src/uni_modules/uni-rate/readme.md @@ -0,0 +1,12 @@ + + +## Rate 评分 +> **组件名:uni-rate** +> 代码块: `uRate` +> 关联组件:`uni-icons` + + +评分组件,多用于购买商品后,对商品进行评价等场景 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-rate) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/src/uni_modules/uni-scss/changelog.md b/src/uni_modules/uni-scss/changelog.md new file mode 100644 index 0000000..b863bb0 --- /dev/null +++ b/src/uni_modules/uni-scss/changelog.md @@ -0,0 +1,8 @@ +## 1.0.3(2022-01-21) +- 优化 组件示例 +## 1.0.2(2021-11-22) +- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 +## 1.0.1(2021-11-22) +- 修复 vue3中scss语法兼容问题 +## 1.0.0(2021-11-18) +- init diff --git a/src/uni_modules/uni-scss/index.scss b/src/uni_modules/uni-scss/index.scss new file mode 100644 index 0000000..1744a5f --- /dev/null +++ b/src/uni_modules/uni-scss/index.scss @@ -0,0 +1 @@ +@import './styles/index.scss'; diff --git a/src/uni_modules/uni-scss/package.json b/src/uni_modules/uni-scss/package.json new file mode 100644 index 0000000..7cc0ccb --- /dev/null +++ b/src/uni_modules/uni-scss/package.json @@ -0,0 +1,82 @@ +{ + "id": "uni-scss", + "displayName": "uni-scss 辅助样式", + "version": "1.0.3", + "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", + "keywords": [ + "uni-scss", + "uni-ui", + "辅助样式" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "category": [ + "JS SDK", + "通用 SDK" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/src/uni_modules/uni-scss/readme.md b/src/uni_modules/uni-scss/readme.md new file mode 100644 index 0000000..b7d1c25 --- /dev/null +++ b/src/uni_modules/uni-scss/readme.md @@ -0,0 +1,4 @@ +`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/src/uni_modules/uni-scss/styles/index.scss b/src/uni_modules/uni-scss/styles/index.scss new file mode 100644 index 0000000..ffac4fe --- /dev/null +++ b/src/uni_modules/uni-scss/styles/index.scss @@ -0,0 +1,7 @@ +@import './setting/_variables.scss'; +@import './setting/_border.scss'; +@import './setting/_color.scss'; +@import './setting/_space.scss'; +@import './setting/_radius.scss'; +@import './setting/_text.scss'; +@import './setting/_styles.scss'; diff --git a/src/uni_modules/uni-scss/styles/setting/_border.scss b/src/uni_modules/uni-scss/styles/setting/_border.scss new file mode 100644 index 0000000..12a11c3 --- /dev/null +++ b/src/uni_modules/uni-scss/styles/setting/_border.scss @@ -0,0 +1,3 @@ +.uni-border { + border: 1px $uni-border-1 solid; +} \ No newline at end of file diff --git a/src/uni_modules/uni-scss/styles/setting/_color.scss b/src/uni_modules/uni-scss/styles/setting/_color.scss new file mode 100644 index 0000000..1ededd9 --- /dev/null +++ b/src/uni_modules/uni-scss/styles/setting/_color.scss @@ -0,0 +1,66 @@ + +// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 +// @mixin get-styles($k,$c) { +// @if $k == size or $k == weight{ +// font-#{$k}:#{$c} +// }@else{ +// #{$k}:#{$c} +// } +// } +$uni-ui-color:( + // 主色 + primary: $uni-primary, + primary-disable: $uni-primary-disable, + primary-light: $uni-primary-light, + // 辅助色 + success: $uni-success, + success-disable: $uni-success-disable, + success-light: $uni-success-light, + warning: $uni-warning, + warning-disable: $uni-warning-disable, + warning-light: $uni-warning-light, + error: $uni-error, + error-disable: $uni-error-disable, + error-light: $uni-error-light, + info: $uni-info, + info-disable: $uni-info-disable, + info-light: $uni-info-light, + // 中性色 + main-color: $uni-main-color, + base-color: $uni-base-color, + secondary-color: $uni-secondary-color, + extra-color: $uni-extra-color, + // 背景色 + bg-color: $uni-bg-color, + // 边框颜色 + border-1: $uni-border-1, + border-2: $uni-border-2, + border-3: $uni-border-3, + border-4: $uni-border-4, + // 黑色 + black:$uni-black, + // 白色 + white:$uni-white, + // 透明 + transparent:$uni-transparent +) !default; +@each $key, $child in $uni-ui-color { + .uni-#{"" + $key} { + color: $child; + } + .uni-#{"" + $key}-bg { + background-color: $child; + } +} +.uni-shadow-sm { + box-shadow: $uni-shadow-sm; +} +.uni-shadow-base { + box-shadow: $uni-shadow-base; +} +.uni-shadow-lg { + box-shadow: $uni-shadow-lg; +} +.uni-mask { + background-color:$uni-mask; +} diff --git a/src/uni_modules/uni-scss/styles/setting/_radius.scss b/src/uni_modules/uni-scss/styles/setting/_radius.scss new file mode 100644 index 0000000..9a0428b --- /dev/null +++ b/src/uni_modules/uni-scss/styles/setting/_radius.scss @@ -0,0 +1,55 @@ +@mixin radius($r,$d:null ,$important: false){ + $radius-value:map-get($uni-radius, $r) if($important, !important, null); + // Key exists within the $uni-radius variable + @if (map-has-key($uni-radius, $r) and $d){ + @if $d == t { + border-top-left-radius:$radius-value; + border-top-right-radius:$radius-value; + }@else if $d == r { + border-top-right-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == b { + border-bottom-left-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == l { + border-top-left-radius:$radius-value; + border-bottom-left-radius:$radius-value; + }@else if $d == tl { + border-top-left-radius:$radius-value; + }@else if $d == tr { + border-top-right-radius:$radius-value; + }@else if $d == br { + border-bottom-right-radius:$radius-value; + }@else if $d == bl { + border-bottom-left-radius:$radius-value; + } + }@else{ + border-radius:$radius-value; + } +} + +@each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $key} { + @include radius($key) + } + }@else{ + .uni-radius { + @include radius($key) + } + } +} + +@each $direction in t, r, b, l,tl, tr, br, bl { + @each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $direction}-#{"" + $key} { + @include radius($key,$direction,false) + } + }@else{ + .uni-radius-#{$direction} { + @include radius($key,$direction,false) + } + } + } +} diff --git a/src/uni_modules/uni-scss/styles/setting/_space.scss b/src/uni_modules/uni-scss/styles/setting/_space.scss new file mode 100644 index 0000000..3c89528 --- /dev/null +++ b/src/uni_modules/uni-scss/styles/setting/_space.scss @@ -0,0 +1,56 @@ + +@mixin fn($space,$direction,$size,$n) { + @if $n { + #{$space}-#{$direction}: #{$size*$uni-space-root}px + } @else { + #{$space}-#{$direction}: #{-$size*$uni-space-root}px + } +} +@mixin get-styles($direction,$i,$space,$n){ + @if $direction == t { + @include fn($space, top,$i,$n); + } + @if $direction == r { + @include fn($space, right,$i,$n); + } + @if $direction == b { + @include fn($space, bottom,$i,$n); + } + @if $direction == l { + @include fn($space, left,$i,$n); + } + @if $direction == x { + @include fn($space, left,$i,$n); + @include fn($space, right,$i,$n); + } + @if $direction == y { + @include fn($space, top,$i,$n); + @include fn($space, bottom,$i,$n); + } + @if $direction == a { + @if $n { + #{$space}:#{$i*$uni-space-root}px; + } @else { + #{$space}:#{-$i*$uni-space-root}px; + } + } +} + +@each $orientation in m,p { + $space: margin; + @if $orientation == m { + $space: margin; + } @else { + $space: padding; + } + @for $i from 0 through 16 { + @each $direction in t, r, b, l, x, y, a { + .uni-#{$orientation}#{$direction}-#{$i} { + @include get-styles($direction,$i,$space,true); + } + .uni-#{$orientation}#{$direction}-n#{$i} { + @include get-styles($direction,$i,$space,false); + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/uni-scss/styles/setting/_styles.scss b/src/uni_modules/uni-scss/styles/setting/_styles.scss new file mode 100644 index 0000000..689afec --- /dev/null +++ b/src/uni_modules/uni-scss/styles/setting/_styles.scss @@ -0,0 +1,167 @@ +/* #ifndef APP-NVUE */ + +$-color-white:#fff; +$-color-black:#000; +@mixin base-style($color) { + color: #fff; + background-color: $color; + border-color: mix($-color-black, $color, 8%); + &:not([hover-class]):active { + background: mix($-color-black, $color, 10%); + border-color: mix($-color-black, $color, 20%); + color: $-color-white; + outline: none; + } +} +@mixin is-color($color) { + @include base-style($color); + &[loading] { + @include base-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &[loading], + &:not([hover-class]):active { + color: $-color-white; + border-color: mix(darken($color,10%), $-color-white); + background-color: mix($color, $-color-white); + } + } + +} +@mixin base-plain-style($color) { + color:$color; + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 70%); + &:not([hover-class]):active { + background: mix($-color-white, $color, 80%); + color: $color; + outline: none; + border-color: mix($-color-white, $color, 50%); + } +} +@mixin is-plain($color){ + &[plain] { + @include base-plain-style($color); + &[loading] { + @include base-plain-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &:active { + color: mix($-color-white, $color, 40%); + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 80%); + } + } + } +} + + +.uni-btn { + margin: 5px; + color: #393939; + border:1px solid #ccc; + font-size: 16px; + font-weight: 200; + background-color: #F9F9F9; + // TODO 暂时处理边框隐藏一边的问题 + overflow: visible; + &::after{ + border: none; + } + + &:not([type]),&[type=default] { + color: #999; + &[loading] { + background: none; + &::before { + margin-right:5px; + } + } + + + + &[disabled]{ + color: mix($-color-white, #999, 60%); + &, + &[loading], + &:active { + color: mix($-color-white, #999, 60%); + background-color: mix($-color-white,$-color-black , 98%); + border-color: mix($-color-white, #999, 85%); + } + } + + &[plain] { + color: #999; + background: none; + border-color: $uni-border-1; + &:not([hover-class]):active { + background: none; + color: mix($-color-white, $-color-black, 80%); + border-color: mix($-color-white, $-color-black, 90%); + outline: none; + } + &[disabled]{ + &, + &[loading], + &:active { + background: none; + color: mix($-color-white, #999, 60%); + border-color: mix($-color-white, #999, 85%); + } + } + } + } + + &:not([hover-class]):active { + color: mix($-color-white, $-color-black, 50%); + } + + &[size=mini] { + font-size: 16px; + font-weight: 200; + border-radius: 8px; + } + + + + &.uni-btn-small { + font-size: 14px; + } + &.uni-btn-mini { + font-size: 12px; + } + + &.uni-btn-radius { + border-radius: 999px; + } + &[type=primary] { + @include is-color($uni-primary); + @include is-plain($uni-primary) + } + &[type=success] { + @include is-color($uni-success); + @include is-plain($uni-success) + } + &[type=error] { + @include is-color($uni-error); + @include is-plain($uni-error) + } + &[type=warning] { + @include is-color($uni-warning); + @include is-plain($uni-warning) + } + &[type=info] { + @include is-color($uni-info); + @include is-plain($uni-info) + } +} +/* #endif */ diff --git a/src/uni_modules/uni-scss/styles/setting/_text.scss b/src/uni_modules/uni-scss/styles/setting/_text.scss new file mode 100644 index 0000000..a34d08f --- /dev/null +++ b/src/uni_modules/uni-scss/styles/setting/_text.scss @@ -0,0 +1,24 @@ +@mixin get-styles($k,$c) { + @if $k == size or $k == weight{ + font-#{$k}:#{$c} + }@else{ + #{$k}:#{$c} + } +} + +@each $key, $child in $uni-headings { + /* #ifndef APP-NVUE */ + .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ + /* #ifdef APP-NVUE */ + .container .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ +} diff --git a/src/uni_modules/uni-scss/styles/setting/_variables.scss b/src/uni_modules/uni-scss/styles/setting/_variables.scss new file mode 100644 index 0000000..557d3d7 --- /dev/null +++ b/src/uni_modules/uni-scss/styles/setting/_variables.scss @@ -0,0 +1,146 @@ +// @use "sass:math"; +@import '../tools/functions.scss'; +// 间距基础倍数 +$uni-space-root: 2 !default; +// 边框半径默认值 +$uni-radius-root:5px !default; +$uni-radius: () !default; +// 边框半径断点 +$uni-radius: map-deep-merge( + ( + 0: 0, + // TODO 当前版本暂时不支持 sm 属性 + // 'sm': math.div($uni-radius-root, 2), + null: $uni-radius-root, + 'lg': $uni-radius-root * 2, + 'xl': $uni-radius-root * 6, + 'pill': 9999px, + 'circle': 50% + ), + $uni-radius +); +// 字体家族 +$body-font-family: 'Roboto', sans-serif !default; +// 文本 +$heading-font-family: $body-font-family !default; +$uni-headings: () !default; +$letterSpacing: -0.01562em; +$uni-headings: map-deep-merge( + ( + 'h1': ( + size: 32px, + weight: 300, + line-height: 50px, + // letter-spacing:-0.01562em + ), + 'h2': ( + size: 28px, + weight: 300, + line-height: 40px, + // letter-spacing: -0.00833em + ), + 'h3': ( + size: 24px, + weight: 400, + line-height: 32px, + // letter-spacing: normal + ), + 'h4': ( + size: 20px, + weight: 400, + line-height: 30px, + // letter-spacing: 0.00735em + ), + 'h5': ( + size: 16px, + weight: 400, + line-height: 24px, + // letter-spacing: normal + ), + 'h6': ( + size: 14px, + weight: 500, + line-height: 18px, + // letter-spacing: 0.0125em + ), + 'subtitle': ( + size: 12px, + weight: 400, + line-height: 20px, + // letter-spacing: 0.00937em + ), + 'body': ( + font-size: 14px, + font-weight: 400, + line-height: 22px, + // letter-spacing: 0.03125em + ), + 'caption': ( + 'size': 12px, + 'weight': 400, + 'line-height': 20px, + // 'letter-spacing': 0.03333em, + // 'text-transform': false + ) + ), + $uni-headings +); + + + +// 主色 +$uni-primary: #2979ff !default; +$uni-primary-disable:lighten($uni-primary,20%) !default; +$uni-primary-light: lighten($uni-primary,25%) !default; + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37 !default; +$uni-success-disable:lighten($uni-success,20%) !default; +$uni-success-light: lighten($uni-success,25%) !default; + +$uni-warning: #f3a73f !default; +$uni-warning-disable:lighten($uni-warning,20%) !default; +$uni-warning-light: lighten($uni-warning,25%) !default; + +$uni-error: #e43d33 !default; +$uni-error-disable:lighten($uni-error,20%) !default; +$uni-error-light: lighten($uni-error,25%) !default; + +$uni-info: #8f939c !default; +$uni-info-disable:lighten($uni-info,20%) !default; +$uni-info-light: lighten($uni-info,25%) !default; + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a !default; // 主要文字 +$uni-base-color: #6a6a6a !default; // 常规文字 +$uni-secondary-color: #909399 !default; // 次要文字 +$uni-extra-color: #c7c7c7 !default; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0 !default; +$uni-border-2: #EDEDED !default; +$uni-border-3: #DCDCDC !default; +$uni-border-4: #B9B9B9 !default; + +// 常规色 +$uni-black: #000000 !default; +$uni-white: #ffffff !default; +$uni-transparent: rgba($color: #000000, $alpha: 0) !default; + +// 背景色 +$uni-bg-color: #f7f7f7 !default; + +/* 水平间距 */ +$uni-spacing-sm: 8px !default; +$uni-spacing-base: 15px !default; +$uni-spacing-lg: 30px !default; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default; +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default; +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default; + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4) !default; diff --git a/src/uni_modules/uni-scss/styles/tools/functions.scss b/src/uni_modules/uni-scss/styles/tools/functions.scss new file mode 100644 index 0000000..ac6f63e --- /dev/null +++ b/src/uni_modules/uni-scss/styles/tools/functions.scss @@ -0,0 +1,19 @@ +// 合并 map +@function map-deep-merge($parent-map, $child-map){ + $result: $parent-map; + @each $key, $child in $child-map { + $parent-has-key: map-has-key($result, $key); + $parent-value: map-get($result, $key); + $parent-type: type-of($parent-value); + $child-type: type-of($child); + $parent-is-map: $parent-type == map; + $child-is-map: $child-type == map; + + @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ + $result: map-merge($result, ( $key: $child )); + }@else { + $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); + } + } + @return $result; +}; diff --git a/src/uni_modules/uni-scss/theme.scss b/src/uni_modules/uni-scss/theme.scss new file mode 100644 index 0000000..80ee62f --- /dev/null +++ b/src/uni_modules/uni-scss/theme.scss @@ -0,0 +1,31 @@ +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; +// 主色 +$uni-primary: #2979ff; +// 辅助色 +$uni-success: #4cd964; +// 警告色 +$uni-warning: #f0ad4e; +// 错误色 +$uni-error: #dd524d; +// 描述色 +$uni-info: #909399; +// 中性色 +$uni-main-color: #303133; +$uni-base-color: #606266; +$uni-secondary-color: #909399; +$uni-extra-color: #C0C4CC; +// 背景色 +$uni-bg-color: #f5f5f5; +// 边框颜色 +$uni-border-1: #DCDFE6; +$uni-border-2: #E4E7ED; +$uni-border-3: #EBEEF5; +$uni-border-4: #F2F6FC; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); diff --git a/src/uni_modules/uni-scss/variables.scss b/src/uni_modules/uni-scss/variables.scss new file mode 100644 index 0000000..1c062d4 --- /dev/null +++ b/src/uni_modules/uni-scss/variables.scss @@ -0,0 +1,62 @@ +@import './styles/setting/_variables.scss'; +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; + +// 主色 +$uni-primary: #2979ff; +$uni-primary-disable:mix(#fff,$uni-primary,50%); +$uni-primary-light: mix(#fff,$uni-primary,80%); + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37; +$uni-success-disable:mix(#fff,$uni-success,50%); +$uni-success-light: mix(#fff,$uni-success,80%); + +$uni-warning: #f3a73f; +$uni-warning-disable:mix(#fff,$uni-warning,50%); +$uni-warning-light: mix(#fff,$uni-warning,80%); + +$uni-error: #e43d33; +$uni-error-disable:mix(#fff,$uni-error,50%); +$uni-error-light: mix(#fff,$uni-error,80%); + +$uni-info: #8f939c; +$uni-info-disable:mix(#fff,$uni-info,50%); +$uni-info-light: mix(#fff,$uni-info,80%); + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a; // 主要文字 +$uni-base-color: #6a6a6a; // 常规文字 +$uni-secondary-color: #909399; // 次要文字 +$uni-extra-color: #c7c7c7; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0; +$uni-border-2: #EDEDED; +$uni-border-3: #DCDCDC; +$uni-border-4: #B9B9B9; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); + +// 背景色 +$uni-bg-color: #f7f7f7; + +/* 水平间距 */ +$uni-spacing-sm: 8px; +$uni-spacing-base: 15px; +$uni-spacing-lg: 30px; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4); diff --git a/src/utils/assist.js b/src/utils/assist.js new file mode 100644 index 0000000..539ed76 --- /dev/null +++ b/src/utils/assist.js @@ -0,0 +1,133 @@ +/** + * 向上找到最近的指定组件 + * @param {*} context 执行上下文 + * @param {*} cmpName 要查找的组件名 + */ +export function findComponentUpward (context, cmpName) { + let parent = context.$parent + let name = parent.$options.name + + while (parent && (!name || name !== cmpName)) { + parent = parent.$parent + if (parent) name = parent.$options.name + } + + return parent +} + +/** + * 向上找到所有指定的组件 + * @param {*} context 执行上下文 + * @param {*} cmpName 组件名 + */ +export function findComponentsUpward (context, cmpName) { + let parents = [] + const parent = context.$parent + + if (parent) { + if (parent.$options.name === cmpName) parents.push(parent) + return parents.concat(findComponentsUpward(parent, cmpName)) + } else { + return [] + } +} + +/** + * 向下找到最近的指定组件 + * @param {*} context 执行上下文 + * @param {*} cmpName 组件名 + */ +export function findComponentDownward (context, cmpName) { + const children = context.$children + let child = null + + if (children.length) { + for (const item of children) { + const name = item.$options.name + if (name === cmpName) { + child = item + break; + } else { + child = findComponentDownward(item, cmpName) + if (child) break; + } + } + } + return child +} + + +/** + * 向下找到所有指定的组件-findComponentsDownward + * @param {*} context 执行上下文 + * @param {*} cmpName 要查找的组件名 + */ +export function findComponentsDownward (context, cmpName) { + return context.$children.reduce((components, child) => { + if (child.$options.name === cmpName) components.push(child) + + const foundChildren = findComponentsDownward(child, cmpName) + return components.concat(foundChildren) + }, []) +} + +/** + * 找到指定组件的兄弟组件 + * @param {*} context 执行上下文 + * @param {*} cmpName 组件名 + * @param {*} exceptMe 是否排除自身,默认true + */ +export function findBrothersComponents (context, cmpName, exceptMe = true) { + let res = context.$parent.$children.filter(item => { + return item.$options.name === cmpName + }) + + let index = res.findIndex(item => item._uid === context._uid) + if (exceptMe && index >= 0) res.splice(index, 1) + return res +} + +/** + * 格式化时间 + * @param {String|Number} oldDate 传入的日期 + * @param {String|Null} fmt 格式:YYYY-MM-DD hh:mm:ss + * formatDate(time, 'YYYY-MM-DD hh:mm:ss') + */ +export function formatDate (oldDate, fmt) { + let date = new Date() + if (oldDate || typeof oldDate === 'string' || typeof oldDate === 'number') { + date = new Date(oldDate) + } + + const len2 = (num) => { + return num < 10 ? '0' + num : '' + num + } + + const obj = { + YYYY: date.getFullYear(), + YY: (date.getFullYear() + '').substring(2, 4) * 1, + MM: len2(date.getMonth() + 1), + DD: len2(date.getDate()), + hh: len2(date.getHours()), + mm: len2(date.getMinutes()), + ss: len2(date.getSeconds()) + } + + if (fmt) { + if (/YYYY/.test(fmt)) { + fmt = fmt.replace('YYYY', obj.YYYY) + } else { + fmt = fmt.replace('YY', obj.YY) + } + fmt = fmt.replace('MM', obj.MM) + fmt = fmt.replace('DD', obj.DD) + fmt = fmt.replace('hh', obj.hh) + fmt = fmt.replace('hh', obj.hh) + fmt = fmt.replace('mm', obj.mm) + fmt = fmt.replace('mm', obj.mm) + fmt = fmt.replace('ss', obj.ss) + } else { + fmt = `${obj.YYYY}-${obj.MM}-${obj.DD}` + } + return fmt +} diff --git a/src/utils/index.js b/src/utils/index.js new file mode 100644 index 0000000..a12fc27 --- /dev/null +++ b/src/utils/index.js @@ -0,0 +1,402 @@ +import { store } from '@/store' + +// 节流 +export function throttle(func, wait, options = { + leading: false, + trailing: true +}) { + let timeout, context, args, result + let previous = 0 + + const later = function () { + previous = options.leading === false ? 0 : +new Date() + timeout = null + func.apply(context, args) + if (!timeout) context = args = null + } + + const throttled = function () { + context = this + args = arguments + let now = +new Date() + if (!previous && options.leading === false) previous = now + let remaining = wait - (now - previous) + context = this + args = arguments + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout) + timeout = null + } + previous = now + func.apply(context, args) + if (!timeout) context = args = null + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining) + } + } + + throttled.cancel = function () { + clearTimeout(timeout) + previous = 0 + timeout = null + } + + return throttled +} + +// 防抖 +export function debounce(func, wait, immediate) { + + var timeout, result; + + var debounced = function () { + var context = this; + var args = arguments; + + if (timeout) clearTimeout(timeout); + if (immediate) { + // 如果已经执行过,不再执行 + var callNow = !timeout; + timeout = setTimeout(function () { + timeout = null; + }, wait) + if (callNow) result = func.apply(context, args) + } + else { + timeout = setTimeout(function () { + func.apply(context, args) + }, wait); + } + return result; + }; + + debounced.cancel = function () { + clearTimeout(timeout); + timeout = null; + }; + + return debounced; +} + +// 延迟加载 +export const lazyLoad = ({ target, arr, totalCount, pageSize = 10 }) => { + // console.log(target, arr, totalCount) + if (totalCount === 0) return false + let time = 0 + let timer = null + loop(1) + function loop(page) { + timer = setTimeout(() => { + let start = (page - 1) * pageSize + let count = Math.min(page * pageSize, totalCount) + for (let i = start; i < count; i++) { + target.push(arr[i]) + } + page++ + if (timer) { + clearTimeout(timer) + } + if ((page - 1) * pageSize < totalCount) { + time = 1000 + loop(page) + } + }, time) + } +} + +// 数据组合成queryString形式 +export function json2query(json) { + let str = '' + for (let attr in json) { + let value = json[attr] + if (Object.prototype.toString.call(value).indexOf('Array') > -1) { + // 数组 + str += `${attr}=${JSON.stringify(value)}&` + } else { + str += `${attr}=${value}&` + } + } + return str.substring(0, str.length - 1) +} + + +// 判断空 json +export function isEmptyObj(obj) { + let name + for (name in obj) { + return false + } + return true +} + +// 判断数据类型 +var class2type = {} +'Boolean Number String Function Array Date RegExp Object Error'.split(' ').map(item => { + class2type[`[object ${item}]`] = item.toLowerCase() +}) +function type(obj) { + if (obj === null) { + return obj + '' + } + return (typeof obj === 'object' || typeof obj === 'function') ? ( + Object.prototype.toString.call(obj) || 'object' + ) : (typeof obj) +} + +// isFunction +export function isFunction(obj) { + return type(obj) === 'function' +} + +// isArray +export const isArray = Array.isArray || function (obj) { + return type(obj) === 'array' +} + +// 重量转换 +export const switchWeight = (weight) => { + if (weight >= 1000) { + return weight / 1000 + 'kg' + } else { + return weight + 'g' + } +} + +/** + * sleep 函数 + * @param {Number} time 毫秒 + */ +export const sleep = async (timeout = 1000) => { + await new Promise((resolve) => { + setTimeout(() => { + resolve() + }, timeout) + }) +} + +export const businessHours = (start = 1, range = 48) => { + let timeList = [ + // {value: 30, label: '00:30'}, + ] + // 生成 timeList + for (let i = start; i < range; i++) { + timeList.push({ + value: 0 + (Math.ceil(i / 2) * 30 + Math.floor(i / 2) * 70), + label: dealOpenTime(0 + (Math.ceil(i / 2) * 30 + Math.floor(i / 2) * 70)) + }) + } + timeList.push({ + value: 2359, + label: '23:59' + }) + timeList.unshift({ + value: 1, + label: '00:01' + }) + timeList.unshift({ + value: 0, + label: '无' + }) + console.log(timeList) + return timeList +} + +export const dealOpenTime = (str) => { + str = str.toString() + if (str.length < 3) str = '0' + str + if (str.length < 4) str = '0' + str + + return str.slice(0, 2) + ':' + str.slice(2, 4) +} +// 处理时间 2018-12-12 12:12:12 +export const timeFormat = (time) => { + let timer = new Date(time) + return `${timer.getFullYear()}-${(timer.getMonth() + 1) < 10 ? '0' + (timer.getMonth() + 1) : (timer.getMonth() + 1)}-${timer.getDate() < 10 ? '0' + timer.getDate() : timer.getDate()} ${timer.getHours() < 10 ? '0' + timer.getHours() : timer.getHours()}:${timer.getMinutes() < 10 ? '0' + timer.getMinutes() : timer.getMinutes()}:${timer.getSeconds() < 10 ? '0' + timer.getSeconds() : timer.getSeconds()}` +} + +// 处理时间 2018-12-12 12:12 +export const timeFormat2 = (time) => { + let timer = new Date(time) + return `${timer.getFullYear()}-${(timer.getMonth() + 1) < 10 ? '0' + (timer.getMonth() + 1) : (timer.getMonth() + 1)}-${timer.getDate() < 10 ? '0' + timer.getDate() : timer.getDate()} ${timer.getHours() < 10 ? '0' + timer.getHours() : timer.getHours()}:${timer.getMinutes() < 10 ? '0' + timer.getMinutes() : timer.getMinutes()}` +} +// 处理时间 2018-12-12 +export const timeFormat3 = (time) => { + let timer = time ? new Date(time) : new Date() + return `${timer.getFullYear()}-${(timer.getMonth() + 1) < 10 ? '0' + (timer.getMonth() + 1) : (timer.getMonth() + 1)}-${timer.getDate() < 10 ? '0' + timer.getDate() : timer.getDate()}` +} + +export const isNullDate = (date) => { + if (!date || date.indexOf('1970-01-01') !== -1 || date.indexOf('0001-01-01') !== -1) { + return true + } else { + return false + } +} + +// 两个经纬度之间的距离 +export const getDistance = (lat, lng) => { + let PI = Math.PI // 圆周率 + let R = 6371229 // 地球半径 + let x, y; + + let location = { + lng: Number(store.getters['indexPage/myLocation'].lng), + lat: Number(store.getters['indexPage/myLocation'].lat) + } + // let lngRes = store.state.location.lng > Number(lng) ? store.state.location.lng - Number(lng) : Number(lng) - store.state.location.lng + let lngRes = location.lng > Number(lng) ? location.lng - Number(lng) : Number(lng) - location.lng + // let latRes=store.state.location.lat > Number(lat) ?store.state.location.lat-Number(lat):Number(lat)-store.state.location.lat + x = (lngRes) * PI * R * Math.cos(((Number(location.lat) + Number(lat)) / 2) * PI / 180) / 180 + y = (Number(lat) - location.lat) * PI * R / 180 + let s = Math.hypot(x, y) + return s +} + +export const mapSkuNames = (skuNames) => { + const isMaterial = store.getters['indexPage/isMaterial'] + const carList = store.getters['cartPage/cartList'] + const storeID = store.getters['indexPage/storeID'] + + + const bagSkuIDs = store.getters['indexPage/bagSkuIDs'] + const actSkuIDs = store.getters['indexPage/actSkuIDs'] + + return skuNames.filter(skuName => skuName.skus).map(skuName => { + const sku = skuName.skus[0] + // 处理购物车商品 + let count = 0 + let findCarGood = carList.find(item => item.id === sku.id && item.storeID === skuName.storeID) + if (findCarGood) { + count = findCarGood.count + } + const common = { + id: sku.id, + nameID: skuName.id, + descImg: skuName.descImg, + img: skuName.img, + img2: skuName.img2, + name: computedName(skuName, sku), + storeID: skuName.storeID, + storeName: skuName.storeName, + actType: sku.actType, + // earningPrice: sku.earningPrice, + count, + weight: sku.weight, + stock: sku.stock, + trendType: sku.trendType, + trendPrice: sku.trendPrice, + actPrice: sku.actPrice, + discountType: sku.discountType, + discountValue1: sku.discountValue1, + discountValue2: sku.discountValue2, + unit: skuName.unit + } + if (isMaterial) { + if (bagSkuIDs.includes(sku.id)) { + // console.log('袋子', sku.id) + // 袋子 + return { + ...common, + // categoryID: skuName.categoryID, + // 对price做处理,curPrice为卖价,如果有活动价,填充活动价,没有就填充原价;oriPrice 为原价,如果有活动价,填充原价,没有活动价为0 + curPrice: sku.actPrice ? sku.actPrice : sku.jxPrice, + oriPrice: sku.jxPrice, + specCount: +sku.comment.match(/\d+/)[0], + jxPrice: sku.jxPrice + } + } else { + return { + ...common, + // categoryID: skuName.categoryID, + // 对price做处理,curPrice为卖价,如果有活动价,填充活动价,没有就填充原价;oriPrice 为原价,如果有活动价,填充原价,没有活动价为0 + curPrice: sku.actPrice ? sku.actPrice : sku.jxPrice, + oriPrice: sku.actPrice ? sku.jxPrice : 0, + } + } + } else { + if (storeID && storeID.includes(666666) && actSkuIDs && actSkuIDs.includes(sku.id)) { + // 贴纸和招牌 + return { + ...common, + actType: 0, + curPrice: sku.jxPrice, + oriPrice: 0 + } + } else { + return { + ...common, + // categoryID: skuName.categoryID, + // 对price做处理,curPrice为卖价,如果有活动价,填充活动价,没有就填充原价;oriPrice 为原价,如果有活动价,填充原价,没有活动价为0 + curPrice: sku.actPrice ? sku.actPrice : sku.jxPrice, + oriPrice: sku.actPrice ? sku.jxPrice : 0 + } + } + } + }) +} + +export const computedName = (skuName, sku) => { + let name = '' + if (skuName.prefix) name += `[${skuName.prefix}]` + name += skuName.name + if (skuName.unit === '份') name += '约' + name += +sku.specQuality + name += sku.specUnit + name += '/' + skuName.unit + if (sku.comment) name += `(${sku.comment})` + return name +} + +// 对商品清单进行门店分组 +export const groupByStore = (list) => { + // console.log(list) + let json = {} + list.forEach(item => { + let key = item.storeID + // console.log(key) + if (key in json) { + json[key].push(item) + } else { + json[key] = [] + json[key].push(item) + } + }) + return json +} + +export const mapData = (data) => { + if (!data) { + return [] + } else { + return data.map(item => { + return { + vendorOrderID: item.vendorOrderID, + vendorID: item.vendorID, + storeName: item.storeName, + storeID: item.storeID, + status: item.status, // 状态 + salePrice: item.salePrice, // 订单商品价格 + actualPayPrice: item.actualPayPrice, // 实际支付 + // needPayEndAt: '2019-12-03T14:00:00+08:00', + desiredFee: item.desiredFee, // 配送费 + businessType: item.businessType, // 1 立即达 2 定时达 + expectedDeliveredTime: item.expectedDeliveredTime, // 预计送达时间 + orderCreatedAt: item.orderCreatedAt, // 下单时间 + consigneeAddress: item.consigneeAddress, // 客户地址 + consigneeMobile: item.consigneeMobile, // 客户电话 + consigneeName: item.consigneeName, // 客户姓名 + courierMobile: item.courierMobile, // 骑手电话 + courierName: item.courierName, // 骑手姓名 + waybillVendorID: item.waybillVendorID, // 骑手厂商 + vendorWaybillID: item.vendorWaybillID, // 运单ID + goodsCount: item.goodsCount, // 商品数量 + skuList: item.skuList, + weight: item.weight, + buyerComment: item.buyerComment, // 备注 + deliveryType: item.deliveryType, // 配送类型 + orderFinishedAt: item.orderFinishedAt, // 完成时间 + } + }) + } +} \ No newline at end of file diff --git a/src/utils/log.js b/src/utils/log.js new file mode 100644 index 0000000..549ebc5 --- /dev/null +++ b/src/utils/log.js @@ -0,0 +1,45 @@ +// import store from '@/store/globalStore' +/** + * 日志处理 + */ +const log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null + +const LOG = { + debug () { + if (!log) return + log.debug.apply(log, arguments) + }, + info() { + if (!log) return + log.info.apply(log, arguments) + }, + warn () { + if (!log) return + log.warn.apply(log, arguments) + }, + error () { + if (!log) return + log.error.apply(log, arguments) + }, + setFilterMsg (msg) { // 从基础库2.7.3开始支持 + if (!log || !log.setFilterMsg) return + if (typeof msg !== 'string') return + log.setFilterMsg(msg) + }, + addFilterMsg (msg) { // 从基础库2.8.1开始支持 + if (!log || !log.addFilterMsg) return + if (typeof msg !== 'string') return + log.addFilterMsg(msg) + } +} + +export const logInfo = (json) => { + if(!json.data) return false + LOG.info({ + ...json, + data: json.data.replace(/\\/g, '').substring(0, 4000) + }) + LOG.setFilterMsg(json.reqUrl) +} + +export default LOG diff --git a/src/utils/md5.js b/src/utils/md5.js new file mode 100644 index 0000000..9bd3bef --- /dev/null +++ b/src/utils/md5.js @@ -0,0 +1,492 @@ +class utilsMd5 { + constructor() { + + } + +} +/* + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ + +/* + * Configurable variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + */ +var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ +var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */ +var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ + +/* + * These are the functions you'll usually want to call + * They take string arguments and return either hex or base-64 encoded strings + */ +utilsMd5.hex_md5 = function(s) { + return binl2hex(core_md5(str2binl(s), s.length * chrsz)); +} + +function heyh_md5(s) { + return binl2hex(core_md5(str2binl(s), s.length * chrsz)); +} + +function b64_md5(s) { + return binl2b64(core_md5(str2binl(s), s.length * chrsz)); +} + +function str_md5(s) { + return binl2str(core_md5(str2binl(s), s.length * chrsz)); +} + +function hex_hmac_md5(key, data) { + return binl2hex(core_hmac_md5(key, data)); +} + +function b64_hmac_md5(key, data) { + return binl2b64(core_hmac_md5(key, data)); +} + +function str_hmac_md5(key, data) { + return binl2str(core_hmac_md5(key, data)); +} + +/* + * Perform a simple self-test to see if the VM is working + */ +function md5_vm_test() { + return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"; +} + +/* + * Calculate the MD5 of an array of little-endian words, and a bit length + */ +function core_md5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << ((len) % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for (var i = 0; i < x.length; i += 16) { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + + a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936); + d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5_ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329); + + a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302); + a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734); + + a = md5_hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222); + c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651); + + a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844); + d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551); + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + } + return Array(a, b, c, d); + +} + +/* + * These functions implement the four basic operations the algorithm uses. + */ +function md5_cmn(q, a, b, x, s, t) { + return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b); +} + +function md5_ff(a, b, c, d, x, s, t) { + return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); +} + +function md5_gg(a, b, c, d, x, s, t) { + return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); +} + +function md5_hh(a, b, c, d, x, s, t) { + return md5_cmn(b ^ c ^ d, a, b, x, s, t); +} + +function md5_ii(a, b, c, d, x, s, t) { + return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); +} + +/* + * Calculate the HMAC-MD5, of a key and some data + */ +function core_hmac_md5(key, data) { + var bkey = str2binl(key); + if (bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz); + + var ipad = Array(16), + opad = Array(16); + for (var i = 0; i < 16; i++) { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz); + return core_md5(opad.concat(hash), 512 + 128); +} + +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ +function safe_add(x, y) { + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* + * Bitwise rotate a 32-bit number to the left. + */ +function bit_rol(num, cnt) { + return (num << cnt) | (num >>> (32 - cnt)); +} + +/* + * Convert a string to an array of little-endian words + * If chrsz is ASCII, characters >255 have their hi-byte silently ignored. + */ +function str2binl(str) { + var bin = Array(); + var mask = (1 << chrsz) - 1; + for (var i = 0; i < str.length * chrsz; i += chrsz) + bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (i % 32); + return bin; +} + +/* + * Convert an array of little-endian words to a string + */ +function binl2str(bin) { + var str = ""; + var mask = (1 << chrsz) - 1; + for (var i = 0; i < bin.length * 32; i += chrsz) + str += String.fromCharCode((bin[i >> 5] >>> (i % 32)) & mask); + return str; +} + +/* + * Convert an array of little-endian words to a hex string. + */ +function binl2hex(binarray) { + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for (var i = 0; i < binarray.length * 4; i++) { + str += hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 0xF) + + hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 0xF); + } + return str; +} + +/* + * Convert an array of little-endian words to a base-64 string + */ +function binl2b64(binarray) { + var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var str = ""; + for (var i = 0; i < binarray.length * 4; i += 3) { + var triplet = (((binarray[i >> 2] >> 8 * (i % 4)) & 0xFF) << 16) | + (((binarray[i + 1 >> 2] >> 8 * ((i + 1) % 4)) & 0xFF) << 8) | + ((binarray[i + 2 >> 2] >> 8 * ((i + 2) % 4)) & 0xFF); + for (var j = 0; j < 4; j++) { + if (i * 8 + j * 6 > binarray.length * 32) str += b64pad; + else str += tab.charAt((triplet >> 6 * (3 - j)) & 0x3F); + } + } + return str; +} + + +var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +var base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1); + +utilsMd5.base64encode = function(str) { + var out, i, len; + var c1, c2, c3; + + len = str.length; + i = 0; + out = ""; + while (i < len) { + c1 = str.charCodeAt(i++) & 0xff; + if (i == len) { + out += base64EncodeChars.charAt(c1 >> 2); + out += base64EncodeChars.charAt((c1 & 0x3) << 4); + out += "=="; + break; + } + c2 = str.charCodeAt(i++); + if (i == len) { + out += base64EncodeChars.charAt(c1 >> 2); + out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)); + out += base64EncodeChars.charAt((c2 & 0xF) << 2); + out += "="; + break; + } + c3 = str.charCodeAt(i++); + out += base64EncodeChars.charAt(c1 >> 2); + out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)); + out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6)); + out += base64EncodeChars.charAt(c3 & 0x3F); + } + return out; +} + +utilsMd5.base64decode = function(str) { + var c1, c2, c3, c4; + var i, len, out; + + len = str.length; + i = 0; + out = ""; + while (i < len) { + /* c1 */ + do { + c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff]; + } while (i < len && c1 == -1); + if (c1 == -1) + break; + + /* c2 */ + do { + c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff]; + } while (i < len && c2 == -1); + if (c2 == -1) + break; + + out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4)); + + /* c3 */ + do { + c3 = str.charCodeAt(i++) & 0xff; + if (c3 == 61) + return out; + c3 = base64DecodeChars[c3]; + } while (i < len && c3 == -1); + if (c3 == -1) + break; + + out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2)); + + /* c4 */ + do { + c4 = str.charCodeAt(i++) & 0xff; + if (c4 == 61) + return out; + c4 = base64DecodeChars[c4]; + } while (i < len && c4 == -1); + if (c4 == -1) + break; + out += String.fromCharCode(((c3 & 0x03) << 6) | c4); + } + return out; +} + +function base64decode(str) { + var c1, c2, c3, c4; + var i, len, out; + + len = str.length; + i = 0; + out = ""; + while (i < len) { + /* c1 */ + do { + c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff]; + } while (i < len && c1 == -1); + if (c1 == -1) + break; + + /* c2 */ + do { + c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff]; + } while (i < len && c2 == -1); + if (c2 == -1) + break; + + out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4)); + + /* c3 */ + do { + c3 = str.charCodeAt(i++) & 0xff; + if (c3 == 61) + return out; + c3 = base64DecodeChars[c3]; + } while (i < len && c3 == -1); + if (c3 == -1) + break; + + out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2)); + + /* c4 */ + do { + c4 = str.charCodeAt(i++) & 0xff; + if (c4 == 61) + return out; + c4 = base64DecodeChars[c4]; + } while (i < len && c4 == -1); + if (c4 == -1) + break; + out += String.fromCharCode(((c3 & 0x03) << 6) | c4); + } + return out; +} + +function utf16to8(str) { + var out, i, len, c; + + out = ""; + len = str.length; + for (i = 0; i < len; i++) { + c = str.charCodeAt(i); + if ((c >= 0x0001) && (c <= 0x007F)) { + out += str.charAt(i); + } else if (c > 0x07FF) { + out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F)); + out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F)); + out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); + } else { + out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F)); + out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); + } + } + return out; +} + +function utf8to16(str) { + var out, i, len, c; + var char2, char3; + + out = ""; + len = str.length; + i = 0; + while (i < len) { + c = str.charCodeAt(i++); + switch (c >> 4) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + // 0www.jingxicaishi.com + out += str.charAt(i - 1); + break; + case 12: + case 13: + // 110x xxxx 10xx xxxx + char2 = str.charCodeAt(i++); + out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F)); + break; + case 14: + // 1110 xxxx 10xx xxxx 10xx xxxx + char2 = str.charCodeAt(i++); + char3 = str.charCodeAt(i++); + out += String.fromCharCode(((c & 0x0F) << 12) | + ((char2 & 0x3F) << 6) | + ((char3 & 0x3F) << 0)); + break; + } + } + + return out; +} + + +utilsMd5.JsStrencode = function(strings, key) { + + strings = base64decode(strings); + var key = heyh_md5(key); //约定的解密key 现在我们就先用这个key 哈 建议你给app创建一个 config.js 方便卖出后更改配置 不然很容易搞忘记的哦 + + var len = key.length; + var code = ''; + var k, code; + for (var i = 0; i < strings.length; i++) { + + k = i % len; + code += String.fromCharCode(strings.charCodeAt(i) ^ key.charCodeAt(k)); + } + //document.write(code+"\n"); + return base64decode(code); +} + +export { + utilsMd5 +} diff --git a/src/utils/permission.js b/src/utils/permission.js new file mode 100644 index 0000000..b722ce3 --- /dev/null +++ b/src/utils/permission.js @@ -0,0 +1,274 @@ +/** + * 本模块封装了Android、iOS的应用权限判断、打开应用权限设置界面、以及位置系统服务是否开启 + */ + +var isIos +// #ifdef APP-PLUS || APP +isIos = (plus.os.name == "iOS") +// #endif + +// 判断推送权限是否开启 +function judgeIosPermissionPush() { + var result = false; + var UIApplication = plus.ios.import("UIApplication"); + var app = UIApplication.sharedApplication(); + var enabledTypes = 0; + if (app.currentUserNotificationSettings) { + var settings = app.currentUserNotificationSettings(); + enabledTypes = settings.plusGetAttribute("types"); + console.log("enabledTypes1:" + enabledTypes); + if (enabledTypes == 0) { + console.log("推送权限没有开启"); + } else { + result = true; + console.log("已经开启推送功能!") + } + plus.ios.deleteObject(settings); + } else { + enabledTypes = app.enabledRemoteNotificationTypes(); + if (enabledTypes == 0) { + console.log("推送权限没有开启!"); + } else { + result = true; + console.log("已经开启推送功能!") + } + console.log("enabledTypes2:" + enabledTypes); + } + plus.ios.deleteObject(app); + plus.ios.deleteObject(UIApplication); + return result; +} + +// 判断定位权限是否开启 +function judgeIosPermissionLocation() { + var result = false; + var cllocationManger = plus.ios.import("CLLocationManager"); + var status = cllocationManger.authorizationStatus(); + result = (status != 2) + console.log("定位权限开启:" + result); + // 以下代码判断了手机设备的定位是否关闭,推荐另行使用方法 checkSystemEnableLocation + /* var enable = cllocationManger.locationServicesEnabled(); + var status = cllocationManger.authorizationStatus(); + console.log("enable:" + enable); + console.log("status:" + status); + if (enable && status != 2) { + result = true; + console.log("手机定位服务已开启且已授予定位权限"); + } else { + console.log("手机系统的定位没有打开或未给予定位权限"); + } */ + plus.ios.deleteObject(cllocationManger); + return result; +} + +// 判断麦克风权限是否开启 +function judgeIosPermissionRecord() { + var result = false; + var avaudiosession = plus.ios.import("AVAudioSession"); + var avaudio = avaudiosession.sharedInstance(); + var permissionStatus = avaudio.recordPermission(); + console.log("permissionStatus:" + permissionStatus); + if (permissionStatus == 1684369017 || permissionStatus == 1970168948) { + console.log("麦克风权限没有开启"); + } else { + result = true; + console.log("麦克风权限已经开启"); + } + plus.ios.deleteObject(avaudiosession); + return result; +} + +// 判断相机权限是否开启 +function judgeIosPermissionCamera() { + var result = false; + var AVCaptureDevice = plus.ios.import("AVCaptureDevice"); + var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide'); + console.log("authStatus:" + authStatus); + if (authStatus == 3) { + result = true; + console.log("相机权限已经开启"); + } else { + console.log("相机权限没有开启"); + } + plus.ios.deleteObject(AVCaptureDevice); + return result; +} + +// 判断相册权限是否开启 +function judgeIosPermissionPhotoLibrary() { + var result = false; + var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary"); + var authStatus = PHPhotoLibrary.authorizationStatus(); + console.log("authStatus:" + authStatus); + if (authStatus == 3) { + result = true; + console.log("相册权限已经开启"); + } else { + console.log("相册权限没有开启"); + } + plus.ios.deleteObject(PHPhotoLibrary); + return result; +} + +// 判断通讯录权限是否开启 +function judgeIosPermissionContact() { + var result = false; + var CNContactStore = plus.ios.import("CNContactStore"); + var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0); + if (cnAuthStatus == 3) { + result = true; + console.log("通讯录权限已经开启"); + } else { + console.log("通讯录权限没有开启"); + } + plus.ios.deleteObject(CNContactStore); + return result; +} + +// 判断日历权限是否开启 +function judgeIosPermissionCalendar() { + var result = false; + var EKEventStore = plus.ios.import("EKEventStore"); + var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0); + if (ekAuthStatus == 3) { + result = true; + console.log("日历权限已经开启"); + } else { + console.log("日历权限没有开启"); + } + plus.ios.deleteObject(EKEventStore); + return result; +} + +// 判断备忘录权限是否开启 +function judgeIosPermissionMemo() { + var result = false; + var EKEventStore = plus.ios.import("EKEventStore"); + var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1); + if (ekAuthStatus == 3) { + result = true; + console.log("备忘录权限已经开启"); + } else { + console.log("备忘录权限没有开启"); + } + plus.ios.deleteObject(EKEventStore); + return result; +} + +// Android权限查询 +function requestAndroidPermission(permissionID) { + // console.log('查询权限id',permissionID) + return new Promise((resolve, reject) => { + plus.android.requestPermissions( + [permissionID], // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装 + function(resultObj) { + var result = 0; + for (var i = 0; i < resultObj.granted.length; i++) { + var grantedPermission = resultObj.granted[i]; + // console.log('已获取的权限:' + grantedPermission); + result = 1 + } + for (var i = 0; i < resultObj.deniedPresent.length; i++) { + var deniedPresentPermission = resultObj.deniedPresent[i]; + // console.log('拒绝本次申请的权限:' + deniedPresentPermission); + result = 0 + } + for (var i = 0; i < resultObj.deniedAlways.length; i++) { + var deniedAlwaysPermission = resultObj.deniedAlways[i]; + // console.log('永久拒绝申请的权限:' + deniedAlwaysPermission); + result = -1 + } + resolve(result); + // 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限 + // if (result != 1) { + // gotoAppPermissionSetting() + // } + }, + function(error) { + console.log('申请权限错误:' + error.code + " = " + error.message); + resolve({ + code: error.code, + message: error.message + }); + } + ); + }); +} + +// 使用一个方法,根据参数判断权限 +function judgeIosPermission(permissionID) { + console.log('打印permissionID',permissionID) + if (permissionID == "location") { + return judgeIosPermissionLocation() + } else if (permissionID == "camera") { + return judgeIosPermissionCamera() + } else if (permissionID == "photoLibrary") { + return judgeIosPermissionPhotoLibrary() + } else if (permissionID == "record") { + return judgeIosPermissionRecord() + } else if (permissionID == "push") { + return judgeIosPermissionPush() + } else if (permissionID == "contact") { + return judgeIosPermissionContact() + } else if (permissionID == "calendar") { + return judgeIosPermissionCalendar() + } else if (permissionID == "memo") { + return judgeIosPermissionMemo() + } + return false; +} + +// 跳转到**应用**的权限页面 +function gotoAppPermissionSetting() { + if (isIos) { + var UIApplication = plus.ios.import("UIApplication"); + var application2 = UIApplication.sharedApplication(); + var NSURL2 = plus.ios.import("NSURL"); + // var setting2 = NSURL2.URLWithString("prefs:root=LOCATION_SERVICES"); + var setting2 = NSURL2.URLWithString("app-settings:"); + application2.openURL(setting2); + + plus.ios.deleteObject(setting2); + plus.ios.deleteObject(NSURL2); + plus.ios.deleteObject(application2); + } else { + // console.log(plus.device.vendor); + var Intent = plus.android.importClass("android.content.Intent"); + var Settings = plus.android.importClass("android.provider.Settings"); + var Uri = plus.android.importClass("android.net.Uri"); + var mainActivity = plus.android.runtimeMainActivity(); + var intent = new Intent(); + intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + var uri = Uri.fromParts("package", mainActivity.getPackageName(), null); + intent.setData(uri); + mainActivity.startActivity(intent); + } +} + +// 检查系统的设备服务是否开启 +// var checkSystemEnableLocation = async function () { +function checkSystemEnableLocation() { + if (isIos) { + var result = false; + var cllocationManger = plus.ios.import("CLLocationManager"); + var result = cllocationManger.locationServicesEnabled(); + console.log("系统定位开启:" + result); + plus.ios.deleteObject(cllocationManger); + return result; + } else { + var context = plus.android.importClass("android.content.Context"); + var locationManager = plus.android.importClass("android.location.LocationManager"); + var main = plus.android.runtimeMainActivity(); + var mainSvr = main.getSystemService(context.LOCATION_SERVICE); + var result = mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER); + console.log("系统定位开启:" + result); + return result + } +} + +module.exports = { + judgeIosPermission: judgeIosPermission, + requestAndroidPermission: requestAndroidPermission, + checkSystemEnableLocation: checkSystemEnableLocation, + gotoAppPermissionSetting: gotoAppPermissionSetting +} diff --git a/src/utils/reComputedShopCar.js b/src/utils/reComputedShopCar.js new file mode 100644 index 0000000..1aae4e7 --- /dev/null +++ b/src/utils/reComputedShopCar.js @@ -0,0 +1,16 @@ +export default function computedTotalShopCar(list) { + // 存储购物车到本地 + // await setShopCar(list) + + let totalCount = 0 + + if (list.length !== 0) { + totalCount = list.map(item => item.count).reduce((prev, cur) => prev + cur) + } + // #ifndef MP-TOUTIAO || APP-PLUS + // 设置购物车底部菜单数量 + // #endif + + // console.log('计算购物车数量', totalCount) + return totalCount +} \ No newline at end of file diff --git a/src/utils/uniapi.js b/src/utils/uniapi.js new file mode 100644 index 0000000..a27bc3c --- /dev/null +++ b/src/utils/uniapi.js @@ -0,0 +1,327 @@ +// uni-app 对部分 API 进行了 Promise 封装,返回数据的第一个参数是错误对象,第二个参数是返回数据。let [err, res] = await uni.xxxx +// toast +export const toast = async (title, options = {}) => uni.showToast({ + title, + icon: 'none', + duration: 3000, + ...options +}) + +// errToast +export const errToast = async (title, options = {}) => { + let msg = title + if (Object.prototype.toString.call(title).indexOf('Error') > -1) msg = title.message + return uni.showToast({ + title: msg, + icon: 'none', + duration: 3000, + ...options + }) +} + +// modal +export const modal = async (title, content, options = {}) => { + let res = await uni.showModal({ + title, + content, + showCancel: true, + cancelColor: '#999999', + confirmColor: '#4EB331', + ...options + }) + if (res.errMsg === 'showModal:ok') return res.confirm + else return false +} + +// alert +// export const alert = (err, title = "错误", options = {}) => { +export function alert(err, title = "错误", options = {}) { + let msg = err + if (Object.prototype.toString.call(err).indexOf('Error') > -1) msg = err.message + uni.showModal({ + title, + content: msg, + showCancel: false, + cancelColor: '#999999', + confirmColor: '#4EB331', + ...options + }) +} +// alert back +export const alertBack = (e, title = '错误', options = {}) => { + let msg = '' + if (typeof e === 'string') msg = e + else if ('err' in e) msg = e.err + else msg = e.message + alert(msg, title, { + complete() { + uni.navigateBack({ delta: 1 }) + }, + ...options + }) +} + +// loading +/* + + this.$refs.loading.show() + this.$refs.loading.hide() +*/ + +export const showLoad = async (title = '加载中...', mask = true) => uni.showLoading({ + title, mask +}) + +export const hideLoad = () => uni.hideLoading() + +// 检测更新 +export const checkProgramUpdate = () => { + // 检测是否可以调用getUpdateManager检查更新 + if (!uni.canIUse('getUpdateManager')) return false + + const updateManager = uni.getUpdateManager() + // 获取全局唯一的版本更新管理器,用于管理小程序更新 + updateManager.onCheckForUpdate(res => { + // 监听向微信后台请求检查更新结果事件 + if (res.hasUpdate) { + // 如果有新版本 + // 小程序有新版本,会主动触发下载操作 + updateManager.onUpdateReady(async () => { + // 当新版本下载完成,会进行回调 + let confirm = await modal('更新提示', '新版本已经准备好,单击确定重启小程序') + if (confirm) { + updateManager.applyUpdate() + } + }) + // 小程序有新版本,会主动触发下载操作(无需开发者触发) + updateManager.onUpdateFailed(async () => { + // 当新版本下载失败,会进行回调 + await modal('提示', '检查到有新版本,但下载失败,请稍后尝试') + }) + } + }) +} + +/** + * 获取元素的宽高等信息 + * @param {*} selector 选择器 + * @param {*} filter 过滤字段 + */ +export const queryEleInfo = (context, selector, filter) => new Promise((resolve) => { + let query = '' + + // #ifndef MP-ALIPAY + query = uni.createSelectorQuery().in(context) + // #endif + + // #ifdef MP-ALIPAY + query = uni.createSelectorQuery() + // #endif + + query.select(selector).boundingClientRect(data => { + resolve(filter ? data[filter] : data) + }).exec() +}) + +// 获取服务提供商 +export const getProvider = async (service = 'payment') => { + try { + let res = await uni.getProvider({ service }) + if (res.errMsg === 'getProvider:ok') return res + else throw res + } catch (e) { + console.error(e) + throw e + } +} + +/** + * 获取code + */ +export const getCode = async (service = 'payment') => { + let provider = await getProvider(service) + + let onlyAuthorize = false + + // #ifdef APP-PLUS || APP + onlyAuthorize = true + // #endif + + let res = await uni.login({ + "provider": provider[0], + "onlyAuthorize": onlyAuthorize + }) + if (res.errMsg !== 'login:ok') { + throw res + } else { + uni.setStorageSync('jscode', res.code) + return res.code + } +} + +// 复制 +export const copyData = (data) => new Promise(resolve => { + uni.setClipboardData({ + data, + success() { + resolve() + } + }) +}) + +// app打开小程序 +export const openWeixinMiniprogram = (url, id = 'gh_0d7e2243b51f') => { + // #ifdef APP-PLUS || APP + // 打开菜市小程序 + if (plus.runtime.isApplicationExist({ pname: 'com.tencent.mm', action: 'weixin://' })) { // 判断用户是否安装了微信 + plus.share.getServices(function (res) { + var sweixin = null; + for (var i = 0; i < res.length; i++) { + var t = res[i]; + if (t.id == 'weixin') { + sweixin = t; + } + } + if (sweixin) { + sweixin.launchMiniProgram({ + id: id, //这里写你的小程序原始id(以gh开头) + type: 0, //这里是不同的环境( 0-正式版; 1-测试版; 2-体验版。 默认值为0。) + path: url, //这里是指 定页的路径,如需传参直接字符串拼接(首页可以省略) + }) + } + }, function (res) { + toast('提示', '打开小程序失败') + }) + } else { + toast('温馨提示', '请先下载微信') + } + // #endif +} + +// 跳转页面 +export const jumpPage = (type, url, time = 0) => { + let timer = null + if (timer) clearTimeout(timer) + timer = setTimeout(() => { + uni[type]({ + url, + complete() { + clearTimeout(timer) + } + }) + }, time) +} + +// 获取位置权限 +export const uniGetPosition = async () => { + let res = await uni.getLocation({ + type: 'gcj02' + }) + return res || {} +} + +// 统一支付 +import { utilsMd5 } from '@/utils/md5.js' +import { businessKey, debug } from '@/config.js' +export const handleCreatePay = async (orderInfo, prepayID, codeURL, payInfo) => { + try { + // 获取token + let token = '' + if (debug) token = debugData.token + else { + token = uni.getStorageSync('token') ? uni.getStorageSync('token') : store.getters['login/tmpData'].token + } + let timeStamp = '' + let randomNum = '' + let strPay = '' + let nonceStr = '' + let packageA = '' + let paySign = '' + let signType = 'MD5' + if (codeURL) { + // 通联收银 payType 2 + // console.log('codeURL 存在', codeURL) + timeStamp = codeURL.timeStamp + nonceStr = codeURL.nonceStr + packageA = codeURL.package + signType = codeURL.signType + paySign = codeURL.paySign + } else { + // 京西支付 payType 1 + // 时间戳 + timeStamp = Math.round(new Date().getTime() / 1000).toString() + // 随机数 + randomNum = parseInt(Math.random() * 5) + 1 + // 随机字符串 + strPay = timeStamp + token + randomNum + // 加密字符串 + nonceStr = utilsMd5.hex_md5(strPay) + // 数据包 + packageA = `prepay_id=${prepayID}` + // 支付签名 + paySign = utilsMd5.hex_md5(`appId=wx4b5930c13f8b1170&nonceStr=${nonceStr}&package=${packageA}&signType=MD5&timeStamp=${timeStamp}&key=${businessKey}`) + } + let { provider } = await getProvider() + + let res = '' + + // #ifdef MP-WEIXIN + res = await uni.requestPayment({ + provider: provider[0], + orderInfo, + timeStamp, + nonceStr, + package: packageA, + signType, + paySign + }) + // #endif + + // #ifdef MP-ALIPAY + res = await uni.requestPayment({ + provider: provider[0], + orderInfo: codeURL + }) + // #endif + + // #ifdef MP-TOUTIAO + res = await uni.pay({ + orderInfo: { + order_id: String(payInfo.payOrderID), + order_token: String(payInfo.codeURL), + }, + service: 5 + }); + // #endif + + + // #ifdef MP-KUAISHOU + // console.log('快手小程序的参数,订单id', payInfo.prepayID, 'payInfo.codeURL', payInfo.codeURL) + res = await uni.pay({ + serviceId: '1', + orderInfo: { + order_no: String(payInfo.prepayID), + order_info_token: String(payInfo.codeURL), + } + }); + // #endif + + // #ifndef MP-TOUTIAO || MP-KUAISHOU + if (!res.errMsg.includes('ok')) throw err + // #endif + + } catch (e) { + console.log('handleCreatePay', e) + throw { + errKey: 'requestPayment', + err: e + } + } +} + +// 设置购物车底部菜单数量 +export const setTabBarBadge = (type, count) => { + // #ifndef MP-TOUTIAO || APP-PLUS + + // #endif +} diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 0000000..09c28d4 --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,5 @@ +export const isRequire = (data) => !!(data + '').trim() + +export const isMobile = (num) => isRequire(num) && /^\d{11}$/.test(num) + +export const isSmsCode = (num) => isRequire(num) && /^\d{6}$/.test(num) \ No newline at end of file diff --git a/src/utils/websocket.js b/src/utils/websocket.js new file mode 100644 index 0000000..824135f --- /dev/null +++ b/src/utils/websocket.js @@ -0,0 +1,51 @@ + + +function connect(user, url, func) { + uni.connectSocket({ + url: url, + header: { 'content-type': 'application/json' }, + success: function () { + console.log('websocket连接成功~') + }, + + fail: function () { + console.log('websocket连接失败~') + } + }) + + uni.onSocketOpen(function (res) { + uni.showToast({ + title: '已连接聊天~', + icon: "success", + duration: 2000 + }) + + //接受服务器消息 + uni.onSocketMessage(func);//func回调可以拿到服务器返回的数据 + }); + + uni.onSocketError(function (res) { + uni.showToast({ + title: 'websocket连接失败,请检查!', + icon: "none", + duration: 2000 + }) + }) +} + +//发送消息 +function send(msg) { + uni.sendSocketMessage({ + data: msg + }); +} +let websocket = { + connect, + send +} + +// module.exports = { +// connect: connect, +// send: send +// } +export default websocket \ No newline at end of file diff --git a/unpackage/res/icons/1024x1024.png b/unpackage/res/icons/1024x1024.png new file mode 100644 index 0000000..aa4b16a Binary files /dev/null and b/unpackage/res/icons/1024x1024.png differ diff --git a/unpackage/res/icons/120x120.png b/unpackage/res/icons/120x120.png new file mode 100644 index 0000000..42f700c Binary files /dev/null and b/unpackage/res/icons/120x120.png differ diff --git a/unpackage/res/icons/144x144.png b/unpackage/res/icons/144x144.png new file mode 100644 index 0000000..21b5a69 Binary files /dev/null and b/unpackage/res/icons/144x144.png differ diff --git a/unpackage/res/icons/152x152.png b/unpackage/res/icons/152x152.png new file mode 100644 index 0000000..2b5984f Binary files /dev/null and b/unpackage/res/icons/152x152.png differ diff --git a/unpackage/res/icons/167x167.png b/unpackage/res/icons/167x167.png new file mode 100644 index 0000000..6bec974 Binary files /dev/null and b/unpackage/res/icons/167x167.png differ diff --git a/unpackage/res/icons/180x180.png b/unpackage/res/icons/180x180.png new file mode 100644 index 0000000..f4e5805 Binary files /dev/null and b/unpackage/res/icons/180x180.png differ diff --git a/unpackage/res/icons/192x192.png b/unpackage/res/icons/192x192.png new file mode 100644 index 0000000..0de3331 Binary files /dev/null and b/unpackage/res/icons/192x192.png differ diff --git a/unpackage/res/icons/20x20.png b/unpackage/res/icons/20x20.png new file mode 100644 index 0000000..99ecf58 Binary files /dev/null and b/unpackage/res/icons/20x20.png differ diff --git a/unpackage/res/icons/29x29.png b/unpackage/res/icons/29x29.png new file mode 100644 index 0000000..6f684d7 Binary files /dev/null and b/unpackage/res/icons/29x29.png differ diff --git a/unpackage/res/icons/40x40.png b/unpackage/res/icons/40x40.png new file mode 100644 index 0000000..649ad79 Binary files /dev/null and b/unpackage/res/icons/40x40.png differ diff --git a/unpackage/res/icons/58x58.png b/unpackage/res/icons/58x58.png new file mode 100644 index 0000000..848a27e Binary files /dev/null and b/unpackage/res/icons/58x58.png differ diff --git a/unpackage/res/icons/60x60.png b/unpackage/res/icons/60x60.png new file mode 100644 index 0000000..a2521a9 Binary files /dev/null and b/unpackage/res/icons/60x60.png differ diff --git a/unpackage/res/icons/72x72.png b/unpackage/res/icons/72x72.png new file mode 100644 index 0000000..d16a725 Binary files /dev/null and b/unpackage/res/icons/72x72.png differ diff --git a/unpackage/res/icons/76x76.png b/unpackage/res/icons/76x76.png new file mode 100644 index 0000000..1a9df8e Binary files /dev/null and b/unpackage/res/icons/76x76.png differ diff --git a/unpackage/res/icons/80x80.png b/unpackage/res/icons/80x80.png new file mode 100644 index 0000000..0d4bafe Binary files /dev/null and b/unpackage/res/icons/80x80.png differ diff --git a/unpackage/res/icons/87x87.png b/unpackage/res/icons/87x87.png new file mode 100644 index 0000000..b81cfdb Binary files /dev/null and b/unpackage/res/icons/87x87.png differ diff --git a/unpackage/res/icons/96x96.png b/unpackage/res/icons/96x96.png new file mode 100644 index 0000000..fc07fe5 Binary files /dev/null and b/unpackage/res/icons/96x96.png differ diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..6f7b2c3 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite' +import uni from '@dcloudio/vite-plugin-uni' +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + uni(), + ], +})