From 62f9d0076f8ea3c9cb28b46cf92c9818987510db Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 15 Apr 2026 20:00:07 +0300 Subject: [PATCH 01/21] wip --- package-lock.json | 25971 +++++----------- package.json | 32 +- scripts/update-data.js | 2 +- .../.cache/deps/@vue_devtools-api.js | 2 + src/.vuepress/.cache/deps/@vuepress_shared.js | 166 + .../.cache/deps/@vuepress_shared.js.map | 1 + src/.vuepress/.cache/deps/_metadata.json | 42 + src/.vuepress/.cache/deps/dist-jlnTmUNc.js | 3826 +++ .../.cache/deps/dist-jlnTmUNc.js.map | 1 + src/.vuepress/.cache/deps/package.json | 3 + src/.vuepress/.cache/deps/vue-router.js | 2697 ++ src/.vuepress/.cache/deps/vue-router.js.map | 1 + src/.vuepress/.cache/deps/vue.js | 2 + .../deps/vue.runtime.esm-bundler-CJdF6Oq_.js | 8579 +++++ .../vue.runtime.esm-bundler-CJdF6Oq_.js.map | 1 + src/.vuepress/.temp/docsearch/config.js | 12 + src/.vuepress/.temp/git/config.js | 9 + src/.vuepress/.temp/internal/clientConfigs.js | 31 + src/.vuepress/.temp/internal/routes.js | 54 + src/.vuepress/.temp/internal/siteData.js | 12 + src/.vuepress/.temp/internal/themeData.js | 14 + src/.vuepress/.temp/markdown-tab/config.js | 9 + src/.vuepress/.temp/pages/404.html.vue | 18 + src/.vuepress/.temp/prismjs/config.js | 5 + src/.vuepress/.temp/redirect/map.js | 42 + .../clientConfig.5cdfc054.js | 27 + src/.vuepress/.temp/styles/index.scss | 0 src/.vuepress/.temp/styles/palette.scss | 0 src/.vuepress/config.js | 93 - src/.vuepress/config.ts | 113 + src/.vuepress/{nav.js => nav.ts} | 14 +- src/.vuepress/sidebar.js | 115 - src/.vuepress/sidebar.ts | 135 + src/.vuepress/theme/index.js | 3 - src/.vuepress/theme/index.ts | 3 + src/examples.md | 6 +- src/examples/mandelbrot.md | 2 +- 37 files changed, 22768 insertions(+), 19275 deletions(-) create mode 100644 src/.vuepress/.cache/deps/@vue_devtools-api.js create mode 100644 src/.vuepress/.cache/deps/@vuepress_shared.js create mode 100644 src/.vuepress/.cache/deps/@vuepress_shared.js.map create mode 100644 src/.vuepress/.cache/deps/_metadata.json create mode 100644 src/.vuepress/.cache/deps/dist-jlnTmUNc.js create mode 100644 src/.vuepress/.cache/deps/dist-jlnTmUNc.js.map create mode 100644 src/.vuepress/.cache/deps/package.json create mode 100644 src/.vuepress/.cache/deps/vue-router.js create mode 100644 src/.vuepress/.cache/deps/vue-router.js.map create mode 100644 src/.vuepress/.cache/deps/vue.js create mode 100644 src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js create mode 100644 src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js.map create mode 100644 src/.vuepress/.temp/docsearch/config.js create mode 100644 src/.vuepress/.temp/git/config.js create mode 100644 src/.vuepress/.temp/internal/clientConfigs.js create mode 100644 src/.vuepress/.temp/internal/routes.js create mode 100644 src/.vuepress/.temp/internal/siteData.js create mode 100644 src/.vuepress/.temp/internal/themeData.js create mode 100644 src/.vuepress/.temp/markdown-tab/config.js create mode 100644 src/.vuepress/.temp/pages/404.html.vue create mode 100644 src/.vuepress/.temp/prismjs/config.js create mode 100644 src/.vuepress/.temp/redirect/map.js create mode 100644 src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js create mode 100644 src/.vuepress/.temp/styles/index.scss create mode 100644 src/.vuepress/.temp/styles/palette.scss delete mode 100644 src/.vuepress/config.js create mode 100644 src/.vuepress/config.ts rename src/.vuepress/{nav.js => nav.ts} (87%) delete mode 100644 src/.vuepress/sidebar.js create mode 100644 src/.vuepress/sidebar.ts delete mode 100644 src/.vuepress/theme/index.js create mode 100644 src/.vuepress/theme/index.ts diff --git a/package-lock.json b/package-lock.json index fa2887e86..a23c842e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,83 +9,19 @@ "version": "0.0.0", "license": "Apache-2.0", "devDependencies": { - "@vuepress/plugin-html-redirect": "^0.2.1", - "he": "^1.2.0", - "node-addon-api": "^8.7.0", - "node-fetch": "^2.7.0", - "node-gyp": "^12.2.0", - "pngquant": "^4.2.0", - "prism-themes": "^1.9.0", - "sharp": "^0.34.5", - "vuepress": "^1.9.10", - "vuepress-plugin-serve": "^2.0.4", - "vuepress-plugin-sitemap": "^2.3.1" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "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" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@vuepress/bundler-vite": "2.0.0-rc.28", + "@vuepress/plugin-docsearch": "2.0.0-rc.128", + "@vuepress/plugin-redirect": "2.0.0-rc.128", + "@vuepress/plugin-register-components": "2.0.0-rc.128", + "@vuepress/theme-default": "2.0.0-rc.128", + "he": "latest", + "pngquant": "latest", + "prism-themes": "latest", + "prismjs": "latest", + "sass-embedded": "^1.99.0", + "serve": "latest", + "sharp": "latest", + "vuepress": "2.0.0-rc.28" } }, "node_modules/@babel/generator": { @@ -105,17534 +41,5535 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.3" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", - "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.28.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" + "@babel/types": "^7.29.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", "bin": { - "semver": "bin/semver.js" + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", - "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "regexpu-core": "^6.3.1", - "semver": "^6.3.1" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", - "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", + "node_modules/@bufbuild/protobuf": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.11.0.tgz", + "integrity": "sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "debug": "^4.4.3", - "lodash.debounce": "^4.0.8", - "resolve": "^1.22.11" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } + "license": "(Apache-2.0 AND BSD-3-Clause)" }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "node_modules/@docsearch/css": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.2.tgz", + "integrity": "sha512-fH/cn8BjEEdM2nJdjNMHIvOVYupG6AIDtFVDgIZrNzdCSj4KXr9kd+hsehqsNGYjpUjObeKYKvgy/IwCb1jZYQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "node_modules/@docsearch/js": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-4.6.2.tgz", + "integrity": "sha512-qj1yoxl3y4GKoK7+VM6fq/rQqPnvUmg3IKzJ9x0VzN14QVzdB/SG/J6VfV1BWT5RcPUFxIcVwoY1fwHM2fSRRw==", "dev": true, "license": "MIT" }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "node_modules/@emnapi/core": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.2.tgz", + "integrity": "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", - "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "node_modules/@emnapi/runtime": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.2.tgz", + "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" + "tslib": "^2.4.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" + "tslib": "^2.4.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.1" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", - "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-wrap-function": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", - "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.28.6" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", - "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", - "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", - "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", - "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", - "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", - "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/traverse": "^7.28.6" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.0.tgz", - "integrity": "sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/plugin-syntax-decorators": "^7.28.6" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@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==", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", - "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", - "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", - "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", - "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", - "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.29.0" - }, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", - "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-remap-async-to-generator": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" + "funding": { + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", - "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", - "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, - "engines": { - "node": ">=6.9.0" + "funding": { + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" } }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", - "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", - "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", - "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-globals": "^7.28.0", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-replace-supers": "^7.28.6", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", - "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/template": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", - "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", - "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", - "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", - "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", - "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@babel/plugin-transform-explicit-resource-management": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", - "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", - "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", - "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", - "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", - "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", - "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", - "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", - "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", - "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", - "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", - "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", - "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", - "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", - "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", - "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", - "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", - "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", - "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", - "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", - "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", - "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", - "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", - "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", - "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", - "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", - "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", - "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", - "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", - "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", - "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", - "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", - "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", - "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", - "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", - "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", - "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", - "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", - "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.2.tgz", - "integrity": "sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.28.6", - "@babel/plugin-syntax-import-attributes": "^7.28.6", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.29.0", - "@babel/plugin-transform-async-to-generator": "^7.28.6", - "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.6", - "@babel/plugin-transform-class-properties": "^7.28.6", - "@babel/plugin-transform-class-static-block": "^7.28.6", - "@babel/plugin-transform-classes": "^7.28.6", - "@babel/plugin-transform-computed-properties": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-dotall-regex": "^7.28.6", - "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", - "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.6", - "@babel/plugin-transform-exponentiation-operator": "^7.28.6", - "@babel/plugin-transform-export-namespace-from": "^7.27.1", - "@babel/plugin-transform-for-of": "^7.27.1", - "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.28.6", - "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", - "@babel/plugin-transform-member-expression-literals": "^7.27.1", - "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.28.6", - "@babel/plugin-transform-modules-systemjs": "^7.29.0", - "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", - "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", - "@babel/plugin-transform-numeric-separator": "^7.28.6", - "@babel/plugin-transform-object-rest-spread": "^7.28.6", - "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.28.6", - "@babel/plugin-transform-optional-chaining": "^7.28.6", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.28.6", - "@babel/plugin-transform-private-property-in-object": "^7.28.6", - "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.29.0", - "@babel/plugin-transform-regexp-modifiers": "^7.28.6", - "@babel/plugin-transform-reserved-words": "^7.27.1", - "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.28.6", - "@babel/plugin-transform-sticky-regex": "^7.27.1", - "@babel/plugin-transform-template-literals": "^7.27.1", - "@babel/plugin-transform-typeof-symbol": "^7.27.1", - "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.28.6", - "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.15", - "babel-plugin-polyfill-corejs3": "^0.14.0", - "babel-plugin-polyfill-regenerator": "^0.6.6", - "core-js-compat": "^3.48.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", - "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.8", - "core-js-compat": "^3.48.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "license": "MIT", - "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/runtime": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", - "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.2.tgz", - "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@gar/promise-retry": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", - "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@img/colour": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", - "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", - "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", - "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", - "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", - "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", - "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", - "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", - "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", - "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", - "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", - "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", - "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", - "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", - "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-riscv64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", - "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", - "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", - "cpu": [ - "s390x" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", - "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", - "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", - "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.7.0" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", - "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", - "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", - "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@npmcli/agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz", - "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==", - "dev": true, - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^11.2.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.3.tgz", - "integrity": "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@npmcli/fs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz", - "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==", - "dev": true, - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/redact": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", - "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.6", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", - "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^5.0.0", - "@types/serve-static": "^2" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", - "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.17", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", - "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/http-proxy-middleware": { - "version": "0.19.3", - "resolved": "https://registry.npmjs.org/@types/http-proxy-middleware/-/http-proxy-middleware-0.19.3.tgz", - "integrity": "sha512-lnBTx6HCOUeIJMLbI/LaL5EmdKLhczJY5oeXZpX/cXE4rRqb3RmV7VcMpiEfYkmTjipv3h7IAyIINe4plEv7cA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/http-proxy": "*", - "@types/node": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/markdown-it": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-10.0.2.tgz", - "integrity": "sha512-FGKiVW1UgeIEAChYAuHcfCd0W4LsMEyrSyTVaZiuJhwR4BwSVUD8JKnzmWAMK2FHNLZSPGUaEkpa/dkZj2uq1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" - } - }, - "node_modules/@types/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.19.0" - } - }, - "node_modules/@types/q": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", - "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*" - } - }, - "node_modules/@types/webpack": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.5.tgz", - "integrity": "sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "tapable": "^2.2.0", - "webpack": "^5" - } - }, - "node_modules/@types/webpack-dev-server": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", - "integrity": "sha512-rIb+LtUkKnh7+oIJm3WiMJONd71Q0lZuqGLcSqhZ5qjN9gV/CNmZe7Bai+brnBPZ/KVYOsr+4bFLiNZwjBicLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect-history-api-fallback": "*", - "@types/express": "*", - "@types/http-proxy-middleware": "*", - "@types/serve-static": "*", - "@types/webpack": "*" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@types/webpack/node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@types/webpack/node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@types/webpack/node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "acorn": "^8.14.0" - } - }, - "node_modules/@types/webpack/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@types/webpack/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/@types/webpack/node_modules/enhanced-resolve": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", - "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@types/webpack/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/@types/webpack/node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/@types/webpack/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/webpack/node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@types/webpack/node_modules/schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@types/webpack/node_modules/terser": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.1.tgz", - "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@types/webpack/node_modules/terser-webpack-plugin": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz", - "integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/@types/webpack/node_modules/webpack": { - "version": "5.106.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.1.tgz", - "integrity": "sha512-EW8af29ak8Oaf4T8k8YsajjrDBDYgnKZ5er6ljWFJsXABfTNowQfvHLftwcepVgdz+IoLSdEAbBiM9DFXoll9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.8", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.16.0", - "acorn-import-phases": "^1.0.3", - "browserslist": "^4.28.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.20.0", - "es-module-lexer": "^2.0.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.3", - "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.17", - "watchpack": "^2.5.1", - "webpack-sources": "^3.3.4" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/@types/webpack/node_modules/webpack-sources": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", - "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", - "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vue/babel-helper-vue-transform-on": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", - "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vue/babel-plugin-jsx": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", - "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.0", - "@babel/types": "^7.28.2", - "@vue/babel-helper-vue-transform-on": "1.5.0", - "@vue/babel-plugin-resolve-type": "1.5.0", - "@vue/shared": "^3.5.18" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - } - } - }, - "node_modules/@vue/babel-plugin-resolve-type": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", - "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/parser": "^7.28.0", - "@vue/compiler-sfc": "^3.5.18" - }, - "funding": { - "url": "https://github.com/sponsors/sxzz" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-plugin-transform-vue-jsx": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", - "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", - "html-tags": "^2.0.0", - "lodash.kebabcase": "^4.1.1", - "svg-tags": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-preset-app": { - "version": "4.5.19", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.19.tgz", - "integrity": "sha512-VCNRiAt2P/bLo09rYt3DLe6xXUMlhJwrvU18Ddd/lYJgC7s8+wvhgYs+MTx4OiAXdu58drGwSBO9SPx7C6J82Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.0", - "@babel/helper-compilation-targets": "^7.9.6", - "@babel/helper-module-imports": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.11.0", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.0", - "@vue/babel-plugin-jsx": "^1.0.3", - "@vue/babel-preset-jsx": "^1.2.4", - "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.6.5", - "core-js-compat": "^3.6.5", - "semver": "^6.1.0" - }, - "peerDependencies": { - "@babel/core": "*", - "core-js": "^3", - "vue": "^2 || ^3.0.0-0" - }, - "peerDependenciesMeta": { - "core-js": { - "optional": true - }, - "vue": { - "optional": true - } - } - }, - "node_modules/@vue/babel-preset-app/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@vue/babel-preset-jsx": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", - "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", - "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", - "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", - "@vue/babel-sugar-functional-vue": "^1.4.0", - "@vue/babel-sugar-inject-h": "^1.4.0", - "@vue/babel-sugar-v-model": "^1.4.0", - "@vue/babel-sugar-v-on": "^1.4.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0", - "vue": "*" - }, - "peerDependenciesMeta": { - "vue": { - "optional": true - } - } - }, - "node_modules/@vue/babel-sugar-composition-api-inject-h": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", - "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-composition-api-render-instance": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", - "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-functional-vue": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", - "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-inject-h": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", - "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-v-model": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", - "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", - "camelcase": "^5.0.0", - "html-tags": "^2.0.0", - "svg-tags": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-v-on": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", - "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", - "camelcase": "^5.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.32", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.32.tgz", - "integrity": "sha512-4x74Tbtqnda8s/NSD6e1Dr5p1c8HdMU5RWSjMSUzb8RTcUQqevDCxVAitcLBKT+ie3o0Dl9crc/S/opJM7qBGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.2", - "@vue/shared": "3.5.32", - "entities": "^7.0.1", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.32", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.32.tgz", - "integrity": "sha512-ybHAu70NtiEI1fvAUz3oXZqkUYEe5J98GjMDpTGl5iHb0T15wQYLR4wE3h9xfuTNA+Cm2f4czfe8B4s+CCH57Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.5.32", - "@vue/shared": "3.5.32" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.32", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.32.tgz", - "integrity": "sha512-8UYUYo71cP/0YHMO814TRZlPuUUw3oifHuMR7Wp9SNoRSrxRQnhMLNlCeaODNn6kNTJsjFoQ/kqIj4qGvya4Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.2", - "@vue/compiler-core": "3.5.32", - "@vue/compiler-dom": "3.5.32", - "@vue/compiler-ssr": "3.5.32", - "@vue/shared": "3.5.32", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.21", - "postcss": "^8.5.8", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.32", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.32.tgz", - "integrity": "sha512-Gp4gTs22T3DgRotZ8aA/6m2jMR+GMztvBXUBEUOYOcST+giyGWJ4WvFd7QLHBkzTxkfOt8IELKNdpzITLbA2rw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.32", - "@vue/shared": "3.5.32" - } - }, - "node_modules/@vue/component-compiler-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", - "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "consolidate": "^0.15.1", - "hash-sum": "^1.0.2", - "lru-cache": "^4.1.2", - "merge-source-map": "^1.1.0", - "postcss": "^7.0.36", - "postcss-selector-parser": "^6.0.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "optionalDependencies": { - "prettier": "^1.18.2 || ^2.0.0" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "license": "ISC", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/@vue/component-compiler-utils/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@vue/shared": { - "version": "3.5.32", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", - "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vuepress/core": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-1.9.10.tgz", - "integrity": "sha512-H9ddo5fSinPb8QYl8OJFbZikMpOW84bm/U3Drzz8CnCXNtpda7CU2wX/XzOhe98G8jp45xhtZRkxOrqzBBAShA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.8.4", - "@vue/babel-preset-app": "^4.1.2", - "@vuepress/markdown": "1.9.10", - "@vuepress/markdown-loader": "1.9.10", - "@vuepress/plugin-last-updated": "1.9.10", - "@vuepress/plugin-register-components": "1.9.10", - "@vuepress/shared-utils": "1.9.10", - "@vuepress/types": "1.9.10", - "autoprefixer": "^9.5.1", - "babel-loader": "^8.0.4", - "bundle-require": "2.1.8", - "cache-loader": "^3.0.0", - "chokidar": "^2.0.3", - "connect-history-api-fallback": "^1.5.0", - "copy-webpack-plugin": "^5.0.2", - "core-js": "^3.6.4", - "cross-spawn": "^6.0.5", - "css-loader": "^2.1.1", - "esbuild": "0.14.7", - "file-loader": "^3.0.1", - "js-yaml": "^3.13.1", - "lru-cache": "^5.1.1", - "mini-css-extract-plugin": "0.6.0", - "optimize-css-assets-webpack-plugin": "^5.0.1", - "portfinder": "^1.0.13", - "postcss-loader": "^3.0.0", - "postcss-safe-parser": "^4.0.1", - "toml": "^3.0.0", - "url-loader": "^1.0.1", - "vue": "^2.6.10", - "vue-loader": "^15.7.1", - "vue-router": "^3.4.5", - "vue-server-renderer": "^2.6.10", - "vue-template-compiler": "^2.6.10", - "vuepress-html-webpack-plugin": "^3.2.0", - "vuepress-plugin-container": "^2.0.2", - "webpack": "^4.8.1", - "webpack-chain": "^6.0.0", - "webpack-dev-server": "^3.5.1", - "webpack-merge": "^4.1.2", - "webpackbar": "3.2.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/@vuepress/core/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@vuepress/core/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@vuepress/markdown": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.9.10.tgz", - "integrity": "sha512-sXTLjeZzH8SQuAL5AEH0hhsMljjNJbzWbBvzaj5yQCCdf+3sp/dJ0kwnBSnQjFPPnzPg5t3tLKGUYHyW0KiKzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vuepress/shared-utils": "1.9.10", - "markdown-it": "^8.4.1", - "markdown-it-anchor": "^5.0.2", - "markdown-it-chain": "^1.3.0", - "markdown-it-emoji": "^1.4.0", - "markdown-it-table-of-contents": "^0.4.0", - "prismjs": "^1.13.0" - } - }, - "node_modules/@vuepress/markdown-loader": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.9.10.tgz", - "integrity": "sha512-94BlwKc+lOaN/A5DkyA9KWHvMlMC1sWunAXE3Tv0WYzgYLDs9QqCsx7L5kLkpcOOVVm/8kBJumnXvVBwhqJddw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vuepress/markdown": "1.9.10", - "loader-utils": "^1.1.0", - "lru-cache": "^5.1.1" - } - }, - "node_modules/@vuepress/markdown-loader/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@vuepress/markdown-loader/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@vuepress/plugin-active-header-links": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.9.10.tgz", - "integrity": "sha512-2dRr3DE2UBFXhyMtLR3sGTdRyDM8YStuY6AOoQmoSgwy1IHt7PO7ypOuf1akF+1Nv8Q2aISU06q6TExZouu3Mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vuepress/types": "1.9.10", - "lodash.debounce": "^4.0.8" - } - }, - "node_modules/@vuepress/plugin-html-redirect": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-html-redirect/-/plugin-html-redirect-0.2.1.tgz", - "integrity": "sha512-QRDBzYrr6V8yoCAz2fQd+CNHup4kBebUdpRSxU/4wTFiAMe9Ex4qUw4o1VmCsw4nokLB32qQko0eovI/6PAJlg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vuepress/plugin-last-updated": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.9.10.tgz", - "integrity": "sha512-YxzWGF/OfU6WsHSynZFn74NGGp7dY27Bjy9JyyFo8wF5+2V1gpyDjveHKHGKugS/pMXlxfjzhv9E2Wmy9R7Iog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vuepress/types": "1.9.10", - "cross-spawn": "^6.0.5" - } - }, - "node_modules/@vuepress/plugin-nprogress": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.9.10.tgz", - "integrity": "sha512-I1kkm6yWUQd7vwiV3lEDVpVP0Lr04K0zlczU502lDUa1RufSZ7vt+mlF5fOM28GqT+pKTEToWmm+VNT/R3qvMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vuepress/types": "1.9.10", - "nprogress": "^0.2.0" - } - }, - "node_modules/@vuepress/plugin-register-components": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.9.10.tgz", - "integrity": "sha512-sgdJ5OydTPZAoTkselpvVP3Xsd6bfZ0FpaxOTinal0gJ99h49lvLu9bvzMx13rdGRFO/kRXn0qQQpwKTAfTPqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vuepress/shared-utils": "1.9.10", - "@vuepress/types": "1.9.10" - } - }, - "node_modules/@vuepress/plugin-search": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.9.10.tgz", - "integrity": "sha512-bn2XJikaRgQZXvu8upCjOWrxbLHIRTqnJ3w7G0mo6jCYWGVsHNo6XhVpqylpLR2PWnHT/ImO2bGo38/5Bag/tQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vuepress/types": "1.9.10" - } - }, - "node_modules/@vuepress/shared-utils": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.9.10.tgz", - "integrity": "sha512-M9A3DocPih+V8dKK2Zg9FJQ/f3JZrYsdaM/vQ9F48l8bPlzxw5NvqXIYMK4kKcGEyerQNTWCudoCpLL5uiU0hg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^2.3.2", - "escape-html": "^1.0.3", - "fs-extra": "^7.0.1", - "globby": "^9.2.0", - "gray-matter": "^4.0.1", - "hash-sum": "^1.0.2", - "semver": "^6.0.0", - "toml": "^3.0.0", - "upath": "^1.1.0" - } - }, - "node_modules/@vuepress/shared-utils/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@vuepress/theme-default": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.9.10.tgz", - "integrity": "sha512-XnXn9t+pYCIhWi3cZXJlighuy93FFm5yXdISAAlFlcNkshuGtqamkjacHV8q/QZMfOhSIs6wX7Hj88u2IsT5mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vuepress/plugin-active-header-links": "1.9.10", - "@vuepress/plugin-nprogress": "1.9.10", - "@vuepress/plugin-search": "1.9.10", - "@vuepress/types": "1.9.10", - "docsearch.js": "^2.5.2", - "lodash": "^4.17.15", - "stylus": "^0.54.8", - "stylus-loader": "^3.0.2", - "vuepress-plugin-container": "^2.0.2", - "vuepress-plugin-smooth-scroll": "^0.0.3" - } - }, - "node_modules/@vuepress/types": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/@vuepress/types/-/types-1.9.10.tgz", - "integrity": "sha512-TDNQn4og85onmBpLTTXXmncW3rUnYGr2MkuI8OIFJZetDNM49t1WbjNVlrT+kx7C6qXi6okDQgrHGYXajHZWfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/markdown-it": "^10.0.0", - "@types/webpack-dev-server": "^3", - "webpack-chain": "^6.0.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true, - "license": "ISC" - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-numbers/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/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": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/agentkeepalive": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", - "integrity": "sha512-TnB6ziK363p7lR8QpeLC8aMr8EGYBKZTpgzQLfqTs3bR0Oo5VbKdwKf8h0dSzsYrB7lSCgfJnMZKqShvlq5Oyg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/algoliasearch": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz", - "integrity": "sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "agentkeepalive": "^2.2.0", - "debug": "^2.6.9", - "envify": "^4.0.0", - "es6-promise": "^4.1.0", - "events": "^1.1.0", - "foreach": "^2.0.5", - "global": "^4.3.2", - "inherits": "^2.0.1", - "isarray": "^2.0.1", - "load-script": "^1.0.0", - "object-keys": "^1.0.11", - "querystring-es3": "^0.2.1", - "reduce": "^1.0.1", - "semver": "^5.1.0", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/algoliasearch/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/algoliasearch/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/algoliasearch/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "optional": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "license": "ISC" - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true - }, - "node_modules/archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "file-type": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/archive-type/node_modules/file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.reduce": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz", - "integrity": "sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-array-method-boxes-properly": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "is-string": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/assert": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", - "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "object.assign": "^4.1.4", - "util": "^0.10.4" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true, - "license": "ISC" - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true, - "license": "MIT" - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autocomplete.js": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.29.0.tgz", - "integrity": "sha512-pvR95T2OVglWEmh+MiIF4kDzBS8EfxsyDTJo0G7DR3BcFXTYUsJ5EyXnEMfUMjTgv7ytnwH9mdEYNCJ+p2ZlHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "immediate": "^3.2.3" - } - }, - "node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/autoprefixer/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/autoprefixer/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/autoprefixer/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-loader": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", - "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.4", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/babel-loader/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", - "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-define-polyfill-provider": "^0.6.8", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", - "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5", - "core-js-compat": "^3.43.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", - "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.8" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.17", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.17.tgz", - "integrity": "sha512-HdrkN8eVG2CXxeifv/VdJ4A4RSra1DTW8dc/hdxzhGHN8QePs6gKaWM9pHPcpCoxYZJuOZ8drHmbdpLHjCYjLA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/bin-build": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", - "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "decompress": "^4.0.0", - "download": "^6.2.2", - "execa": "^0.7.0", - "p-map-series": "^1.0.0", - "tempfile": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-build/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/bin-build/node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-build/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-build/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/bin-build/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/bin-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", - "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "execa": "^0.7.0", - "executable": "^4.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/bin-check/node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/bin-check/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/bin-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", - "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "execa": "^1.0.0", - "find-versions": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-version-check": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", - "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "bin-version": "^3.0.0", - "semver": "^5.6.0", - "semver-truncate": "^1.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-version/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-version/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", - "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "bin-check": "^4.1.0", - "bin-version-check": "^4.0.0", - "download": "^7.1.0", - "import-lazy": "^3.1.0", - "os-filter-obj": "^2.0.0", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/download/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/got/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "p-timeout": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/bn.js": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", - "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", - "dev": true, - "license": "MIT" - }, - "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", - "dev": true, - "license": "MIT", - "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.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", - "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.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/bonjour": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.1.tgz", - "integrity": "sha512-xONzj4PfpPJw6xSqCcT2SmQkBOXpUINUz3o3qXcWJwYlXbkZNcNaUae0o5lle7tKt4HHV6dTgkIRhAXZ3nBMsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^7.2.3", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/bonjour/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" - }, - "node_modules/boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "dev": true, - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/boxen/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/boxen/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", - "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^5.2.1", - "randombytes": "^2.1.0", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", - "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", - "dev": true, - "license": "ISC", - "dependencies": { - "bn.js": "^5.2.2", - "browserify-rsa": "^4.1.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.6.1", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.9", - "readable-stream": "^2.3.8", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true, - "license": "MIT" - }, - "node_modules/buffer-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", - "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/bundle-require": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-2.1.8.tgz", - "integrity": "sha512-oOEg3A0hy/YzvNWNowtKD0pmhZKseOFweCbgyMqTIih4gRY1nJWsvrOCT27L9NbIyL5jMjTFrAUpGxxpW68Puw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "esbuild": ">=0.13" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cac": { - "version": "6.7.12", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.12.tgz", - "integrity": "sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cache-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-3.0.1.tgz", - "integrity": "sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-json": "^2.0.0", - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.2.3", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/cache-loader/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cache-loader/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cache-loader/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cache-loader/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cache-loader/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cache-loader/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/cache-loader/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cache-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", - "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "get-intrinsic": "^1.3.0", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", - "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001787", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001787.tgz", - "integrity": "sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dev": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/chokidar/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/chokidar/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true, - "license": "ISC" - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/cipher-base": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.7.tgz", - "integrity": "sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1", - "to-buffer": "^1.2.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dev": true, - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true, - "license": "MIT" - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", - "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.1.0", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/compression/node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/configstore/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/configstore/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", - "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", - "deprecated": "Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog", - "dev": true, - "license": "MIT", - "dependencies": { - "bluebird": "^3.1.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/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.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", - "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true, - "license": "MIT" - }, - "node_modules/copy-webpack-plugin/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/copy-webpack-plugin/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", - "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", - "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.28.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "license": "MIT", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", - "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserify-cipher": "^1.0.1", - "browserify-sign": "^4.2.3", - "create-ecdh": "^4.0.4", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "diffie-hellman": "^5.0.3", - "hash-base": "~3.0.4", - "inherits": "^2.0.4", - "pbkdf2": "^3.1.2", - "public-encrypt": "^4.0.3", - "randombytes": "^2.1.0", - "randomfill": "^1.0.4" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - }, - "engines": { - "node": ">4" - } - }, - "node_modules/css-declaration-sorter/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/css-declaration-sorter/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-declaration-sorter/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-loader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", - "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^5.2.0", - "icss-utils": "^4.1.0", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.14", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.6", - "postcss-modules-scope": "^2.1.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/css-loader/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/css-loader/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-loader/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/css-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/css-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "css": "^2.0.0" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true, - "license": "MIT" - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", - "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", - "postcss-unique-selectors": "^4.0.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/cssnano-preset-default/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/cssnano-preset-default/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-raw-cache/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/cssnano-util-raw-cache/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/cssnano-util-raw-cache/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/cssnano/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/cssnano/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cyclist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", - "dev": true, - "license": "MIT" - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-equal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", - "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arguments": "^1.1.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.5.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true, - "license": "MIT" - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", - "dev": true, - "license": "MIT" - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/docsearch.js": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.5.2.tgz", - "integrity": "sha512-bf84/poKgLgeNg45SqabZ9lHdK55QcMtUHvpVj8NLMCpAE6IPaxzeNAg5UfHRPVMwFRKMU0NNZt9yFyNYmVGrg==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @docsearch/js.", - "dev": true, - "license": "MIT", - "dependencies": { - "algoliasearch": "^3.24.5", - "autocomplete.js": "^0.29.0", - "hogan.js": "^3.0.2", - "to-factory": "^1.0.0" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "license": "MIT", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", - "dev": true - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domhandler/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/download": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", - "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "caw": "^2.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.0.0", - "ext-name": "^5.0.0", - "file-type": "5.2.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^7.0.0", - "make-dir": "^1.0.0", - "p-event": "^1.0.0", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.335", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.335.tgz", - "integrity": "sha512-q9n5T4BR4Xwa2cwbrwcsDJtHD/enpQ5S1xF1IAtdqf5AAgqDFmR/aakqH3ChFdqd/QXJhS3rnnXFtexU7rax6Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/elliptic": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", - "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "license": "MIT", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/enhanced-resolve/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/entities": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", - "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/envify": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz", - "integrity": "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "esprima": "^4.0.0", - "through": "~2.3.4" - }, - "bin": { - "envify": "bin/envify" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.24.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", - "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", - "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/esbuild": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.7.tgz", - "integrity": "sha512-+u/msd6iu+HvfysUPkZ9VHm83LImmSNnecYPfFI01pQ7TTcsFR+V0BkybZX7mPtIaI7LCrse6YRj+v3eraJSgw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "optionalDependencies": { - "esbuild-android-arm64": "0.14.7", - "esbuild-darwin-64": "0.14.7", - "esbuild-darwin-arm64": "0.14.7", - "esbuild-freebsd-64": "0.14.7", - "esbuild-freebsd-arm64": "0.14.7", - "esbuild-linux-32": "0.14.7", - "esbuild-linux-64": "0.14.7", - "esbuild-linux-arm": "0.14.7", - "esbuild-linux-arm64": "0.14.7", - "esbuild-linux-mips64le": "0.14.7", - "esbuild-linux-ppc64le": "0.14.7", - "esbuild-netbsd-64": "0.14.7", - "esbuild-openbsd-64": "0.14.7", - "esbuild-sunos-64": "0.14.7", - "esbuild-windows-32": "0.14.7", - "esbuild-windows-64": "0.14.7", - "esbuild-windows-arm64": "0.14.7" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.7.tgz", - "integrity": "sha512-9/Q1NC4JErvsXzJKti0NHt+vzKjZOgPIjX/e6kkuCzgfT/GcO3FVBcGIv4HeJG7oMznE6KyKhvLrFgt7CdU2/w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/esbuild-darwin-64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.7.tgz", - "integrity": "sha512-Z9X+3TT/Xj+JiZTVlwHj2P+8GoiSmUnGVz0YZTSt8WTbW3UKw5Pw2ucuJ8VzbD2FPy0jbIKJkko/6CMTQchShQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.7.tgz", - "integrity": "sha512-68e7COhmwIiLXBEyxUxZSSU0akgv8t3e50e2QOtKdBUE0F6KIRISzFntLe2rYlNqSsjGWsIO6CCc9tQxijjSkw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.7.tgz", - "integrity": "sha512-76zy5jAjPiXX/S3UvRgG85Bb0wy0zv/J2lel3KtHi4V7GUTBfhNUPt0E5bpSXJ6yMT7iThhnA5rOn+IJiUcslQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.7.tgz", - "integrity": "sha512-lSlYNLiqyzd7qCN5CEOmLxn7MhnGHPcu5KuUYOG1i+t5A6q7LgBmfYC9ZHJBoYyow3u4CNu79AWHbvVLpE/VQQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/esbuild-linux-32": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.7.tgz", - "integrity": "sha512-Vk28u409wVOXqTaT6ek0TnfQG4Ty1aWWfiysIaIRERkNLhzLhUf4i+qJBN8mMuGTYOkE40F0Wkbp6m+IidOp2A==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.7.tgz", - "integrity": "sha512-+Lvz6x+8OkRk3K2RtZwO+0a92jy9si9cUea5Zoru4yJ/6EQm9ENX5seZE0X9DTwk1dxJbjmLsJsd3IoowyzgVg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-arm": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.7.tgz", - "integrity": "sha512-OzpXEBogbYdcBqE4uKynuSn5YSetCvK03Qv1HcOY1VN6HmReuatjJ21dCH+YPHSpMEF0afVCnNfffvsGEkxGJQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.7.tgz", - "integrity": "sha512-kJd5beWSqteSAW086qzCEsH6uwpi7QRIpzYWHzEYwKKu9DiG1TwIBegQJmLpPsLp4v5RAFjea0JAmAtpGtRpqg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.7.tgz", - "integrity": "sha512-mFWpnDhZJmj/h7pxqn1GGDsKwRfqtV7fx6kTF5pr4PfXe8pIaTERpwcKkoCwZUkWAOmUEjMIUAvFM72A6hMZnA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.7.tgz", - "integrity": "sha512-wM7f4M0bsQXfDL4JbbYD0wsr8cC8KaQ3RPWc/fV27KdErPW7YsqshZZSjDV0kbhzwpNNdhLItfbaRT8OE8OaKA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.7.tgz", - "integrity": "sha512-J/afS7woKyzGgAL5FlgvMyqgt5wQ597lgsT+xc2yJ9/7BIyezeXutXqfh05vszy2k3kSvhLesugsxIA71WsqBw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ] - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.7.tgz", - "integrity": "sha512-7CcxgdlCD+zAPyveKoznbgr3i0Wnh0L8BDGRCjE/5UGkm5P/NQko51tuIDaYof8zbmXjjl0OIt9lSo4W7I8mrw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/esbuild-sunos-64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.7.tgz", - "integrity": "sha512-GKCafP2j/KUljVC3nesw1wLFSZktb2FGCmoT1+730zIF5O6hNroo0bSEofm6ZK5mNPnLiSaiLyRB9YFgtkd5Xg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ] - }, - "node_modules/esbuild-windows-32": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.7.tgz", - "integrity": "sha512-5I1GeL/gZoUUdTPA0ws54bpYdtyeA2t6MNISalsHpY269zK8Jia/AXB3ta/KcDHv2SvNwabpImeIPXC/k0YW6A==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/esbuild-windows-64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.7.tgz", - "integrity": "sha512-CIGKCFpQOSlYsLMbxt8JjxxvVw9MlF1Rz2ABLVfFyHUF5OeqHD5fPhGrCVNaVrhO8Xrm+yFmtjcZudUGr5/WYQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.7.tgz", - "integrity": "sha512-eOs1eSivOqN7cFiRIukEruWhaCf75V0N8P0zP7dh44LIhLl8y6/z++vv9qQVbkBm5/D7M7LfCfCTmt1f1wHOCw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/execa/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/execa/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "pify": "^2.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/executable/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/exponential-backoff": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", - "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/express": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.14.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/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.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "mime-db": "^1.28.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "deprecated": "This module is no longer supported.", - "dev": true, - "license": "ISC" - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", - "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-versions": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", - "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "semver-regex": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreach": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", - "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", - "dev": true, - "license": "MIT" - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "npm-conf": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "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": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==", - "dev": true, - "license": "BSD" - }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "node_modules/global-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", - "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", - "dev": true, - "dependencies": { - "ini": "1.3.7" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", - "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", - "dev": true - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true, - "license": "MIT" - }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hash-base": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", - "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", - "dev": true, - "license": "MIT" - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hogan.js": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", - "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", - "dev": true, - "dependencies": { - "mkdirp": "0.3.0", - "nopt": "1.0.10" - }, - "bin": { - "hulk": "bin/hulk" - } - }, - "node_modules/hogan.js/node_modules/mkdirp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", - "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "license": "MIT/X11", - "engines": { - "node": "*" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==", - "dev": true, - "license": "MIT" - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "bin": { - "html-minifier": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/html-minifier/node_modules/commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/htmlparser2/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/htmlparser2/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/htmlparser2/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true, - "license": "BSD-2-Clause", - "optional": true - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", - "dev": true, - "license": "ISC" - }, - "node_modules/icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "license": "ISC", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/icss-utils/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/icss-utils/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/icss-utils/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true, - "license": "MIT" - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "import-from": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dev": true, - "license": "MIT", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", - "dev": true, - "license": "MIT" - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true, - "license": "ISC" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ip": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", - "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/ip-address": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/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-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", - "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", - "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-installed-globally": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", - "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", - "dev": true, - "dependencies": { - "global-dirs": "^2.0.1", - "is-path-inside": "^3.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", - "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "dev": true, - "license": "MIT", - "optional": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd/node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/javascript-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "license": "MIT", - "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.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true, - "license": "ISC" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "dev": true, - "license": "MIT", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/load-script": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", - "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==", - "dev": true, - "license": "MIT" - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.chunk": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", - "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=", - "dev": true - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", - "dev": true - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "node_modules/lodash.template": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.18.1.tgz", - "integrity": "sha512-5urZrLnV/VD6zHK5KsVtZgt7H19v51mIzoS0aBNH8yp3I8tbswrEjOABOPY8m8uB7NuibubLrMX+Y0PXsU9X+w==", - "deprecated": "This package is deprecated. Use https://socket.dev/npm/package/eta instead.", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loglevel": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz", - "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "integrity": "sha1-2COIrpyWC+y+oMc7uet5tsbOmus=", - "dev": true - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/make-fetch-happen": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", - "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", - "dev": true, - "license": "ISC", - "dependencies": { - "@gar/promise-retry": "^1.0.0", - "@npmcli/agent": "^4.0.0", - "@npmcli/redact": "^4.0.0", - "cacache": "^20.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^5.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^6.0.0", - "ssri": "^13.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/make-fetch-happen/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/make-fetch-happen/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", - "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^5.0.0", - "fs-minipass": "^3.0.0", - "glob": "^13.0.0", - "lru-cache": "^11.1.0", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^13.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/make-fetch-happen/node_modules/glob": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", - "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minimatch": "^10.2.2", - "minipass": "^7.1.3", - "path-scurry": "^2.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/make-fetch-happen/node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.3.tgz", - "integrity": "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/make-fetch-happen/node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/make-fetch-happen/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/make-fetch-happen/node_modules/p-map": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", - "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", - "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-it": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", - "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it-anchor": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", - "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", - "dev": true, - "license": "Unlicense", - "peerDependencies": { - "markdown-it": "*" - } - }, - "node_modules/markdown-it-chain": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz", - "integrity": "sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "webpack-chain": "^4.9.0" - }, - "engines": { - "node": ">=6.9" - }, - "peerDependencies": { - "markdown-it": ">=5.0.0" - } - }, - "node_modules/markdown-it-chain/node_modules/javascript-stringify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", - "integrity": "sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/markdown-it-chain/node_modules/webpack-chain": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz", - "integrity": "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^1.6.0" - } - }, - "node_modules/markdown-it-container": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz", - "integrity": "sha512-IxPOaq2LzrGuFGyYq80zaorXReh2ZHGFOB1/Hen429EJL1XkPI3FJTpx9TsJeua+j2qTru4h3W1TiCRdeivMmA==", - "dev": true, - "license": "MIT" - }, - "node_modules/markdown-it-emoji": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz", - "integrity": "sha512-QCz3Hkd+r5gDYtS2xsFXmBYrgw6KuWcJZLCEkdfAuwzZbShCmCfta+hwAMq4NX/4xPzkSHduMKgMkkPUJxSXNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/markdown-it-table-of-contents": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz", - "integrity": "sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">6.4.0" - } - }, - "node_modules/markdown-it/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memoizeasync": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/memoizeasync/-/memoizeasync-1.1.0.tgz", - "integrity": "sha1-nXAopvJm3rczUQu327pfUYeMVh4=", - "dev": true, - "dependencies": { - "lru-cache": "2.5.0", - "passerror": "1.1.1" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "license": "MIT", - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "url": "https://opencollective.com/libvips" } }, - "node_modules/micromatch/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/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.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" + "funding": { + "url": "https://opencollective.com/libvips" }, - "engines": { - "node": ">= 0.6" + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "libc": [ + "glibc" + ], + "license": "Apache-2.0", "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/min-document": { - "version": "2.19.2", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.2.tgz", - "integrity": "sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "dom-walk": "^0.1.0" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz", - "integrity": "sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "loader-utils": "^1.1.0", - "normalize-url": "^2.0.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.4.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true, - "license": "ISC" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true, - "license": "MIT" - }, - "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" + "funding": { + "url": "https://opencollective.com/libvips" }, - "engines": { - "node": "*" + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" } }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "BlueOak-1.0.0", + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" } }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" } }, - "node_modules/minipass-fetch": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", - "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^2.0.0", - "minizlib": "^3.0.1" - }, + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "iconv-lite": "^0.7.2" + "@img/sharp-libvips-linux-s390x": "1.2.4" } }, - "node_modules/minipass-fetch/node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "libc": [ + "glibc" + ], + "license": "Apache-2.0", "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" } }, - "node_modules/minipass-flush": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", - "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minipass": "^3.0.0" - }, + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" } }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" } }, - "node_modules/minipass-flush/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], "dev": true, - "license": "ISC", + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, "dependencies": { - "minipass": "^3.0.0" + "@emnapi/runtime": "^1.7.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/minipass-pipeline/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/minipass-sized": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", - "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.1.2" - }, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, + "license": "MIT", "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } + "license": "MIT" }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", - "deprecated": "This package is no longer supported.", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "node_modules/@mdit-vue/plugin-component": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-component/-/plugin-component-3.0.2.tgz", + "integrity": "sha512-Fu53MajrZMOAjOIPGMTdTXgHLgGU9KwTqKtYc6WNYtFZNKw04euSfJ/zFg8eBY/2MlciVngkF7Gyc2IL7e8Bsw==", "dev": true, "license": "MIT", "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "@types/markdown-it": "^14.1.2", + "markdown-it": "^14.1.0" }, - "bin": { - "multicast-dns": "cli.js" + "engines": { + "node": ">=20.0.0" } }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "node_modules/@mdit-vue/plugin-frontmatter": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-3.0.2.tgz", + "integrity": "sha512-QKKgIva31YtqHgSAz7S7hRcL7cHXiqdog4wxTfxeQCHo+9IP4Oi5/r1Y5E93nTPccpadDWzAwr3A0F+kAEnsVQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "@mdit-vue/types": "3.0.2", + "@types/markdown-it": "^14.1.2", + "gray-matter": "^4.0.3", + "markdown-it": "^14.1.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=20.0.0" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/@mdit-vue/plugin-headers": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-headers/-/plugin-headers-3.0.2.tgz", + "integrity": "sha512-Z3PpDdwBTO5jlW2r617tQibkwtCc5unTnj/Ew1SCxTQaXjtKgwP9WngdSN+xxriISHoNOYzwpoUw/1CW8ntibA==", "dev": true, + "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "@mdit-vue/shared": "3.0.2", + "@mdit-vue/types": "3.0.2", + "@types/markdown-it": "^14.1.2", + "markdown-it": "^14.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=20.0.0" } }, - "node_modules/nanomatch/node_modules/extend-shallow": { + "node_modules/@mdit-vue/plugin-sfc": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-sfc/-/plugin-sfc-3.0.2.tgz", + "integrity": "sha512-dhxIrCGu5Nd4Cgo9JJHLjdNy2lMEv+LpimetBHDSeEEJxJBC4TPN0Cljn+3/nV1uJdGyw33UZA86PGdgt1LsoA==", "dev": true, + "license": "MIT", "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "@mdit-vue/types": "3.0.2", + "@types/markdown-it": "^14.1.2", + "markdown-it": "^14.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=20.0.0" } }, - "node_modules/nanomatch/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/@mdit-vue/plugin-title": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-title/-/plugin-title-3.0.2.tgz", + "integrity": "sha512-KTDP7s68eKTwy4iYp5UauQuVJf+tDMdJZMO6K4feWYS8TX95ItmcxyX7RprfBWLTUwNXBYOifsL6CkIGlWcNjA==", "dev": true, + "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4" + "@mdit-vue/shared": "3.0.2", + "@mdit-vue/types": "3.0.2", + "@types/markdown-it": "^14.1.2", + "markdown-it": "^14.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=20.0.0" } }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/@mdit-vue/plugin-toc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-toc/-/plugin-toc-3.0.2.tgz", + "integrity": "sha512-Dz0dURjD5wR4nBxFMiqb0BTGRAOkCE60byIemqLqnkF6ORKKJ8h5aLF5J5ssbLO87hwu81IikHiaXvqoiEneoQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@mdit-vue/shared": "3.0.2", + "@mdit-vue/types": "3.0.2", + "@types/markdown-it": "^14.1.2", + "markdown-it": "^14.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=20.0.0" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "node_modules/@mdit-vue/shared": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@mdit-vue/shared/-/shared-3.0.2.tgz", + "integrity": "sha512-anFGls154h0iVzUt5O43EaqYvPwzfUxQ34QpNQsUQML7pbEJMhcgkRNvYw9hZBspab+/TP45agdPw5joh6/BBA==", "dev": true, "license": "MIT", "dependencies": { - "lower-case": "^1.1.1" + "@mdit-vue/types": "3.0.2", + "@types/markdown-it": "^14.1.2", + "markdown-it": "^14.1.0" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/node-addon-api": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.7.0.tgz", - "integrity": "sha512-9MdFxmkKaOYVTV+XVRG8ArDwwQ77XIgIPyKASB1k3JPq3M8fGQQQE3YpMOrKm6g//Ktx8ivZr8xo1Qmtqub+GA==", + "node_modules/@mdit-vue/types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@mdit-vue/types/-/types-3.0.2.tgz", + "integrity": "sha512-00aAZ0F0NLik6I6Yba2emGbHLxv+QYrPH00qQ5dFKXlAo1Ll2RHDXwY7nN2WAfrx2pP+WrvSRFTGFCNGdzBDHw==", "dev": true, "license": "MIT", "engines": { - "node": "^18 || ^20 || >= 21" + "node": ">=20.0.0" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/@mdit/helper": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/@mdit/helper/-/helper-0.23.2.tgz", + "integrity": "sha512-w4oja7kZYnkSiodfn4Neg1gmlIkvQtmCBJTLvLFOaET7xt8KomDNPQeumpGobQ9dWkXFqBKHlxjTYgroPH+CvA==", "dev": true, "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "@types/markdown-it": "^14.1.2" }, "engines": { - "node": "4.x || >=6.0.0" + "node": ">= 20" }, "peerDependencies": { - "encoding": "^0.1.0" + "markdown-it": "^14.1.0" }, "peerDependenciesMeta": { - "encoding": { + "markdown-it": { "optional": true } } }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.2.0.tgz", - "integrity": "sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==", + "node_modules/@mdit/plugin-alert": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/@mdit/plugin-alert/-/plugin-alert-0.23.2.tgz", + "integrity": "sha512-pXIil0FLy9ilhvT6d324A4X+mt5i/zG8ml0VIpZwiUYh2k1Wi6VnZhFHfsnONTRu6dPL2EwQBIhQgQ+269f7LA==", "dev": true, "license": "MIT", "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^15.0.0", - "nopt": "^9.0.0", - "proc-log": "^6.0.0", - "semver": "^7.3.5", - "tar": "^7.5.4", - "tinyglobby": "^0.2.12", - "which": "^6.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "@types/markdown-it": "^14.1.2" }, "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/node-gyp/node_modules/abbrev": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", - "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/node-gyp/node_modules/isexe": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", - "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=20" - } - }, - "node_modules/node-gyp/node_modules/nopt": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", - "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^4.0.0" + "node": ">= 20" }, - "bin": { - "nopt": "bin/nopt.js" + "peerDependencies": { + "markdown-it": "^14.1.0" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "peerDependenciesMeta": { + "markdown-it": { + "optional": true + } } }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "node_modules/@mdit/plugin-container": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/@mdit/plugin-container/-/plugin-container-0.23.2.tgz", + "integrity": "sha512-rXlFg37YuQDNcVKCaPtaJ2oCbfxTIguzf0Uklt65PK6J3kqB82+IE0+p87GIObWxdm1ajfbMUSLfvfrHoiqq4Q==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "@types/markdown-it": "^14.1.2" }, "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", - "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^4.0.0" + "node": ">= 20" }, - "bin": { - "node-which": "bin/which.js" + "peerDependencies": { + "markdown-it": "^14.1.0" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "peerDependenciesMeta": { + "markdown-it": { + "optional": true + } } }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "node_modules/@mdit/plugin-tab": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@mdit/plugin-tab/-/plugin-tab-0.24.2.tgz", + "integrity": "sha512-9rN23SP4beO0shBOuSGLGR+Ia7fminVSH6xl5Rb6rh6rRYQ6R3NR2KkIfLZvoMCRiN2uDwhXT/R9LyXHOdRMUQ==", "dev": true, "license": "MIT", "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "@mdit/helper": "0.23.2", + "@types/markdown-it": "^14.1.2" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "markdown-it": "^14.1.0" + }, + "peerDependenciesMeta": { + "markdown-it": { + "optional": true + } } }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, - "node_modules/node-libs-browser/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/@oxc-project/types": { + "version": "0.124.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.124.0.tgz", + "integrity": "sha512-VBFWMTBvHxS11Z5Lvlr3IWgrwhMTXV+Md+EQF0Xf60+wAdsGFTBx7X7K/hP4pi8N7dcm1RvcHwDxZ16Qx8keUg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.8.x" + "funding": { + "url": "https://github.com/sponsors/Boshen" } }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.37", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", - "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", - "dev": true, - "license": "MIT" - }, - "node_modules/nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "optional": true, "dependencies": { - "abbrev": "1" + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" }, - "bin": { - "nopt": "bin/nopt.js" + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "*" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/normalize-url/node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/normalize-url/node_modules/sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, - "dependencies": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/npm-conf/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "~1.0.0" + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-YYe6aWruPZDtHNpwu7+qAHEMbQ/yRl6atqb/AhznLTnD3UY99Q1jE7ihLSahNWkF4EqRPVC4SiR4O0UkLK02tA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=0.10.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-oArR/ig8wNTPYsXL+Mzhs0oxhxfuHRfG7Ikw7jXsw8mYOtk71W0OkF2VEVh699pdmzjPQsTjlD1JIOoHkLP1Fg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.15.tgz", + "integrity": "sha512-YzeVqOqjPYvUbJSWJ4EDL8ahbmsIXQpgL3JVipmN+MX0XnXMeWomLN3Fb+nwCmP/jfyqte5I3XRSm7OfQrbyxw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.15.tgz", + "integrity": "sha512-9Erhx956jeQ0nNTyif1+QWAXDRD38ZNjr//bSHrt6wDwB+QkAfl2q6Mn1k6OBPerznjRmbM10lgRb1Pli4xZPw==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=0.10.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.15.tgz", + "integrity": "sha512-cVwk0w8QbZJGTnP/AHQBs5yNwmpgGYStL88t4UIaqcvYJWBfS0s3oqVLZPwsPU6M0zlW4GqjP0Zq5MnAGwFeGA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-eBZ/u8iAK9SoHGanqe/jrPnY0JvBN6iXbVOsbO38mbz+ZJsaobExAm1Iu+rxa4S1l2FjG0qEZn4Rc6X8n+9M+w==", + "cpu": [ + "arm64" + ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.15.tgz", + "integrity": "sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==", + "cpu": [ + "arm64" + ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==", + "cpu": [ + "ppc64" + ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-023bTPBod7J3Y/4fzAN6QtpkSABR0rigtrwaP+qSEabUh5zf6ELr9Nc7GujaROuPY3uwdSIXWrvhn1KxOvurWA==", + "cpu": [ + "x64" + ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.9.tgz", - "integrity": "sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.15.tgz", + "integrity": "sha512-witB2O0/hU4CgfOOKUoeFgQ4GktPi1eEbAhaLAIpgD6+ZnhcPkUtPsoKKHRzmOoWPZue46IThdSgdo4XneOLYw==", + "cpu": [ + "x64" + ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", - "dependencies": { - "array.prototype.reduce": "^1.0.8", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "gopd": "^1.2.0", - "safe-array-concat": "^1.1.3" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], "engines": { - "node": ">=0.10.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.15.tgz", + "integrity": "sha512-ApLruZq/ig+nhaE7OJm4lDjayUnOHVUa77zGeqnqZ9pn0ovdVbbNPerVibLXDmWeUZXjIYIT8V3xkT58Rm9u5Q==", + "cpu": [ + "wasm32" + ], "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "@emnapi/core": "1.9.2", + "@emnapi/runtime": "1.9.2", + "@napi-rs/wasm-runtime": "^1.1.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=14.0.0" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.15.tgz", + "integrity": "sha512-KmoUoU7HnN+Si5YWJigfTws1jz1bKBYDQKdbLspz0UaqjjFkddHsqorgiW1mxcAj88lYUE6NC/zJNwT+SloqtA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 0.8" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/on-headers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", - "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.15.tgz", + "integrity": "sha512-3P2A8L+x75qavWLe/Dll3EYBJLQmtkJN8rfh+U/eR3MqMgL/h98PhYI+JFfXuDPgPeCB7iZAKiqii5vqOvnA0g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 0.8" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.13.tgz", + "integrity": "sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==", "dev": true, - "dependencies": { - "wrappy": "1" - } + "license": "MIT" }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", "dev": true, "license": "MIT", "optional": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, - "bin": { - "opencollective-postinstall": "index.js" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", "dev": true, + "license": "MIT", "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" + "@types/ms": "*" } }, - "node_modules/optimize-css-assets-webpack-plugin": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz", - "integrity": "sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==", + "node_modules/@types/fs-extra": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz", + "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", "dev": true, "license": "MIT", "dependencies": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^3.0.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" + "@types/jsonfile": "*", + "@types/node": "*" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "node_modules/@types/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==", "dev": true, "license": "MIT" }, - "node_modules/os-filter-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", - "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "arch": "^2.1.0" - }, - "engines": { - "node": ">=4" + "@types/unist": "*" } }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "node_modules/@types/jsonfile": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz", + "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/node": "*" } }, - "node_modules/p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/p-event": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", - "integrity": "sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==", + "node_modules/@types/markdown-it": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", + "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "p-timeout": "^1.1.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" + "@types/linkify-it": "^5", + "@types/mdurl": "^2" } }, - "node_modules/p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", + "node_modules/@types/markdown-it-emoji": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/markdown-it-emoji/-/markdown-it-emoji-3.0.1.tgz", + "integrity": "sha512-cz1j8R35XivBqq9mwnsrP2fsz2yicLhB8+PDtuVkKOExwEdsVBNI+ROL3sbhtR5occRZ66vT0QnwFZCqdjf3pA==", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" + "dependencies": { + "@types/markdown-it": "^14" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@types/unist": "*" } }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/p-map": { + "node_modules/@types/ms": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/p-map-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", - "integrity": "sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==", + "node_modules/@types/node": { + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "p-reduce": "^1.0.0" - }, - "engines": { - "node": ">=4" + "undici-types": "~7.19.0" } }, - "node_modules/p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==", + "node_modules/@types/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==", "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", "dev": true, "license": "MIT", "dependencies": { - "retry": "^0.12.0" - }, - "engines": { - "node": ">=6" + "@types/node": "*" } }, - "node_modules/p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==", + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.6.tgz", + "integrity": "sha512-u9HHgfrq3AjXlysn0eINFnWQOJQLO9WN6VprZ8FXl7A2bYisv3Hui9Ij+7QZ41F/WYWarHjwBbXtD7dKg3uxbg==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "p-finally": "^1.0.0" + "@rolldown/pluginutils": "1.0.0-rc.13" }, "engines": { - "node": ">=4" + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "vue": "^3.2.25" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/@vue-macros/common": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-3.1.2.tgz", + "integrity": "sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==", "dev": true, "license": "MIT", + "dependencies": { + "@vue/compiler-sfc": "^3.5.22", + "ast-kit": "^2.1.2", + "local-pkg": "^1.1.2", + "magic-string-ast": "^1.0.2", + "unplugin-utils": "^0.3.0" + }, "engines": { - "node": ">=6" + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/vue-macros" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } } }, - "node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "node_modules/@vue/compiler-core": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.32.tgz", + "integrity": "sha512-4x74Tbtqnda8s/NSD6e1Dr5p1c8HdMU5RWSjMSUzb8RTcUQqevDCxVAitcLBKT+ie3o0Dl9crc/S/opJM7qBGQ==", "dev": true, + "license": "MIT", "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" + "@babel/parser": "^7.29.2", + "@vue/shared": "3.5.32", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" } }, - "node_modules/package-json/node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=6" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/package-json/node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "node_modules/@vue/compiler-dom": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.32.tgz", + "integrity": "sha512-ybHAu70NtiEI1fvAUz3oXZqkUYEe5J98GjMDpTGl5iHb0T15wQYLR4wE3h9xfuTNA+Cm2f4czfe8B4s+CCH57Q==", "dev": true, + "license": "MIT", "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" + "@vue/compiler-core": "3.5.32", + "@vue/shared": "3.5.32" } }, - "node_modules/package-json/node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/@vue/compiler-sfc": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.32.tgz", + "integrity": "sha512-8UYUYo71cP/0YHMO814TRZlPuUUw3oifHuMR7Wp9SNoRSrxRQnhMLNlCeaODNn6kNTJsjFoQ/kqIj4qGvya4Xg==", "dev": true, + "license": "MIT", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/parser": "^7.29.2", + "@vue/compiler-core": "3.5.32", + "@vue/compiler-dom": "3.5.32", + "@vue/compiler-ssr": "3.5.32", + "@vue/shared": "3.5.32", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.8", + "source-map-js": "^1.2.1" } }, - "node_modules/package-json/node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "node_modules/@vue/compiler-ssr": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.32.tgz", + "integrity": "sha512-Gp4gTs22T3DgRotZ8aA/6m2jMR+GMztvBXUBEUOYOcST+giyGWJ4WvFd7QLHBkzTxkfOt8IELKNdpzITLbA2rw==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.32", + "@vue/shared": "3.5.32" } }, - "node_modules/package-json/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/@vue/devtools-api": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.1.1.tgz", + "integrity": "sha512-bsDMJ07b3GN1puVwJb/fyFnj/U2imyswK5UQVLZwVl7O05jDrt6BHxeG5XffmOOdasOj/bOmIjxJvGPxU7pcqw==", "dev": true, + "license": "MIT", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@vue/devtools-kit": "^8.1.1" } }, - "node_modules/package-json/node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "node_modules/@vue/devtools-kit": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.1.1.tgz", + "integrity": "sha512-gVBaBv++i+adg4JpH71k9ppl4soyR7Y2McEqO5YNgv0BI1kMZ7BDX5gnwkZ5COYgiCyhejZG+yGNrBAjj6Coqg==", "dev": true, + "license": "MIT", "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" + "@vue/devtools-shared": "^8.1.1", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "perfect-debounce": "^2.0.0" } }, - "node_modules/package-json/node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/package-json/node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "node_modules/@vue/devtools-shared": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.1.1.tgz", + "integrity": "sha512-+h4ttmJYl/txpxHKaoZcaKpC+pvckgLzIDiSQlaQ7kKthKh8KuwoLW2D8hPJEnqKzXOvu15UHEoGyngAXCz0EQ==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/package-json/node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "node_modules/@vue/reactivity": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.32.tgz", + "integrity": "sha512-/ORasxSGvZ6MN5gc+uE364SxFdJ0+WqVG0CENXaGW58TOCdrAW76WWaplDtECeS1qphvtBZtR+3/o1g1zL4xPQ==", "dev": true, - "engines": { - "node": ">=6" + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.32" } }, - "node_modules/package-json/node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "node_modules/@vue/runtime-core": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.32.tgz", + "integrity": "sha512-pDrXCejn4UpFDFmMd27AcJEbHaLemaE5o4pbb7sLk79SRIhc6/t34BQA7SGNgYtbMnvbF/HHOftYBgFJtUoJUQ==", "dev": true, - "engines": { - "node": ">=4" + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.32", + "@vue/shared": "3.5.32" } }, - "node_modules/package-json/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@vue/runtime-dom": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.32.tgz", + "integrity": "sha512-1CDVv7tv/IV13V8Nip1k/aaObVbWqRlVCVezTwx3K07p7Vxossp5JU1dcPNhJk3w347gonIUT9jQOGutyJrSVQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.32", + "@vue/runtime-core": "3.5.32", + "@vue/shared": "3.5.32", + "csstype": "^3.2.3" } }, - "node_modules/package-json/node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "node_modules/@vue/server-renderer": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.32.tgz", + "integrity": "sha512-IOjm2+JQwRFS7W28HNuJeXQle9KdZbODFY7hFGVtnnghF51ta20EWAZJHX+zLGtsHhaU6uC9BGPV52KVpYryMQ==", "dev": true, + "license": "MIT", "dependencies": { - "prepend-http": "^2.0.0" + "@vue/compiler-ssr": "3.5.32", + "@vue/shared": "3.5.32" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "vue": "3.5.32" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "node_modules/@vue/shared": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "dev": true, - "license": "(MIT AND Zlib)" + "license": "MIT" }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "node_modules/@vuepress/bundler-vite": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/@vuepress/bundler-vite/-/bundler-vite-2.0.0-rc.28.tgz", + "integrity": "sha512-Z/XuPeJb6ibOIWXQDIquarDkrd9ZgHqxvxpYWvjuT9r8EbXSjq7yFKjCo1s+576otB3lB5K99bT0PDrVUKAGgw==", "dev": true, "license": "MIT", "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "@vitejs/plugin-vue": "^6.0.5", + "@vuepress/bundlerutils": "2.0.0-rc.28", + "@vuepress/client": "2.0.0-rc.28", + "@vuepress/core": "2.0.0-rc.28", + "@vuepress/shared": "2.0.0-rc.28", + "@vuepress/utils": "2.0.0-rc.28", + "autoprefixer": "^10.4.27", + "connect-history-api-fallback": "^2.0.0", + "postcss": "^8.5.8", + "postcss-load-config": "^6.0.1", + "rolldown": "^1.0.0-rc.12", + "vite": "^8.0.3", + "vue": "^3.5.31", + "vue-router": "^5.0.4" } }, - "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "node_modules/@vuepress/bundlerutils": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/@vuepress/bundlerutils/-/bundlerutils-2.0.0-rc.28.tgz", + "integrity": "sha512-MMSLZGugzwGSnMicRk0eMW9Bn1Kyt6eTGTer8rWr53KV8v48QZNdZ3G4nHAjyzfgrboe57Wm5Et5XqFV/BMN5w==", "dev": true, "license": "MIT", "dependencies": { - "no-case": "^2.2.0" + "@vuepress/client": "2.0.0-rc.28", + "@vuepress/core": "2.0.0-rc.28", + "@vuepress/shared": "2.0.0-rc.28", + "@vuepress/utils": "2.0.0-rc.28", + "vue": "^3.5.31", + "vue-router": "^5.0.4" } }, - "node_modules/parse-asn1": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", - "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", + "node_modules/@vuepress/cli": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/@vuepress/cli/-/cli-2.0.0-rc.28.tgz", + "integrity": "sha512-2CsVB4qksnPojOAy8GAVPIMW+i7rAUU4l6X7oTBC2ABebDhG5aHShywQfAz0GLQ+84OnV6vNlx/PY8GAPIAu7w==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "asn1.js": "^4.10.1", - "browserify-aes": "^1.2.0", - "evp_bytestokey": "^1.0.3", - "pbkdf2": "^3.1.5", - "safe-buffer": "^5.2.1" + "@vuepress/core": "2.0.0-rc.28", + "@vuepress/shared": "2.0.0-rc.28", + "@vuepress/utils": "2.0.0-rc.28", + "cac": "^7.0.0", + "chokidar": "^5.0.0", + "envinfo": "^7.21.0", + "esbuild": "^0.27.4" }, - "engines": { - "node": ">= 0.10" + "bin": { + "vuepress-cli": "bin/vuepress.js" } }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/@vuepress/client": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/@vuepress/client/-/client-2.0.0-rc.28.tgz", + "integrity": "sha512-870kxivNDXHQ1cY9kHXna2p4rnxvTG8n09dTnoUCzpBio6sHoJNOpSahLGNW5YhQzOuLVwvKSA4J3NsQ+iU+HQ==", "dev": true, "license": "MIT", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" + "@vue/devtools-api": "^8.1.1", + "@vue/devtools-kit": "^8.1.1", + "@vuepress/shared": "2.0.0-rc.28", + "vue": "^3.5.31", + "vue-router": "^5.0.4" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/@vuepress/core": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-2.0.0-rc.28.tgz", + "integrity": "sha512-S/4/JeYoz7/jSOYk/Mb0cesN/62aazKNEZf1lMA7FGBXv9gYekXFL+YPEODl5pQ3SUuRDNFSTIbx8UtvMwiXAg==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@vuepress/client": "2.0.0-rc.28", + "@vuepress/markdown": "2.0.0-rc.28", + "@vuepress/shared": "2.0.0-rc.28", + "@vuepress/utils": "2.0.0-rc.28", + "vue": "^3.5.31" } }, - "node_modules/passerror": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/passerror/-/passerror-1.1.1.tgz", - "integrity": "sha1-oluI292RCilgOux9y5bpp6l2h7Q=", + "node_modules/@vuepress/helper": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/helper/-/helper-2.0.0-rc.128.tgz", + "integrity": "sha512-+QT/PWnjyn2/XvARBnhLmnWvckLjpak44Go1mSUCV0lDC/l5xkB7/Vk3KJad7k44ERfr2QFL19MEyj9rhe8WiQ==", "dev": true, - "engines": { - "node": "*" + "license": "MIT", + "dependencies": { + "@vue/shared": "^3.5.31", + "@vueuse/core": "^14.2.1", + "cheerio": "^1.2.0", + "fflate": "^0.8.2", + "gray-matter": "^4.0.3", + "vue": "^3.5.31" + }, + "peerDependencies": { + "@vuepress/bundler-vite": "2.0.0-rc.28", + "@vuepress/bundler-webpack": "2.0.0-rc.28", + "vuepress": "2.0.0-rc.28" + }, + "peerDependenciesMeta": { + "@vuepress/bundler-vite": { + "optional": true + }, + "@vuepress/bundler-webpack": { + "optional": true + } } }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/@vuepress/highlighter-helper": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/highlighter-helper/-/highlighter-helper-2.0.0-rc.128.tgz", + "integrity": "sha512-A45qZoUdURzeeuMmGiv8mmdEd/U5KQB7g6LBK/vj957NkHfoOEVHP9ys9l5Qfdjbvpwwz1+UxSOyjrQRqgfANA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "peerDependencies": { + "@vuepress/helper": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1", + "vuepress": "2.0.0-rc.28" + }, + "peerDependenciesMeta": { + "@vueuse/core": { + "optional": true + } } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/@vuepress/markdown": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-2.0.0-rc.28.tgz", + "integrity": "sha512-QHTQx2iuqU+5wOI58ByhlkkkCkv0HRM/DTddlUkz7c+NkbONN4WYN//tBypvFLiyJxGJNsR6QfBd1uaBrfsDpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mdit-vue/plugin-component": "^3.0.2", + "@mdit-vue/plugin-frontmatter": "^3.0.2", + "@mdit-vue/plugin-headers": "^3.0.2", + "@mdit-vue/plugin-sfc": "^3.0.2", + "@mdit-vue/plugin-title": "^3.0.2", + "@mdit-vue/plugin-toc": "^3.0.2", + "@mdit-vue/shared": "^3.0.2", + "@mdit-vue/types": "^3.0.2", + "@types/markdown-it": "^14.1.2", + "@types/markdown-it-emoji": "^3.0.1", + "@vuepress/shared": "2.0.0-rc.28", + "@vuepress/utils": "2.0.0-rc.28", + "markdown-it": "^14.1.1", + "markdown-it-anchor": "^9.2.0", + "markdown-it-emoji": "^3.0.0", + "mdurl": "^2.0.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true, - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "node_modules/@vuepress/plugin-active-header-links": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-2.0.0-rc.128.tgz", + "integrity": "sha512-DROON+l56NGoy7MoYzRY9F0XBMSNSQP5UiQPW7+NM5KBWxwHyls7fu3D/Mf5Rz+1mCCmUE2Y1+2jJ9eVjGLDVw==", "dev": true, - "engines": { - "node": ">=4" + "license": "MIT", + "dependencies": { + "@vueuse/core": "^14.2.1", + "vue": "^3.5.31" + }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "node_modules/@vuepress/plugin-back-to-top": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-back-to-top/-/plugin-back-to-top-2.0.0-rc.128.tgz", + "integrity": "sha512-mFtopKfLppazRrG7mZf1BiW+S3Z36ntY15x3NC1OveNFWEqN9l4KiSer2ydWV4nLZgPQtVZnv5TVDNxCwsQlZA==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" + "@vuepress/helper": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1", + "vue": "^3.5.31" }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.3.tgz", - "integrity": "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ==", + "node_modules/@vuepress/plugin-copy-code": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-copy-code/-/plugin-copy-code-2.0.0-rc.128.tgz", + "integrity": "sha512-5wfsM8TvuV+x9p5iJs67/jLgZuyFQ+x6Q3aqHWdttODuFTJYoYcQffusLjJkBHIycnGKNsqcZySNj1/2b4kcyQ==", "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" + "license": "MIT", + "dependencies": { + "@vuepress/helper": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1", + "vue": "^3.5.31" + }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/path-to-regexp": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", - "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "node_modules/@vuepress/plugin-docsearch": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-docsearch/-/plugin-docsearch-2.0.0-rc.128.tgz", + "integrity": "sha512-CTL4YpIQZiuDtocMCg1HP2VIL5foII9EfbVPuXwtXsjEjg5LIB8/3BLgPOC1qryagK1bzat+hkoUk6F9PHTzCQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@docsearch/css": "^4.6.2", + "@docsearch/js": "^4.6.2", + "@vuepress/helper": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1", + "ts-debounce": "^4.0.0", + "vue": "^3.5.31" + }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" + } }, - "node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "node_modules/@vuepress/plugin-git": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-git/-/plugin-git-2.0.0-rc.128.tgz", + "integrity": "sha512-64WBtkGl8kY+HhqdWITFOAa1ZkkEyLhiUxkANic2zNHlin7e3RqDw3wa32TVHyI20d0lgq6Ut58hCkznVDqLSw==", "dev": true, "license": "MIT", "dependencies": { - "pify": "^3.0.0" + "@vuepress/helper": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1", + "rehype-parse": "^9.0.1", + "rehype-sanitize": "^6.0.0", + "rehype-stringify": "^10.0.1", + "unified": "^11.0.5", + "vue": "^3.5.31" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/path-type/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "node_modules/@vuepress/plugin-links-check": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-links-check/-/plugin-links-check-2.0.0-rc.128.tgz", + "integrity": "sha512-qKPlPeRzPEIePqQoj8KA5sJc7Op93hO5mdIRYqRD6Ffi5pxChL0ewy9QY9JacIxYDz+G3d1mr2bVvbdjIQFb3Q==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "@vuepress/helper": "2.0.0-rc.128" + }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/pbkdf2": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", - "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", + "node_modules/@vuepress/plugin-markdown-hint": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-markdown-hint/-/plugin-markdown-hint-2.0.0-rc.128.tgz", + "integrity": "sha512-ApqL+IUyTMuRpXIH9hhseLpd9jQwl++9h3t9osUTB9Q4hu43aMuAcYO4Pyu7nld/T5HK18oMLDLEaFlJYHuCRA==", "dev": true, "license": "MIT", "dependencies": { - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "ripemd160": "^2.0.3", - "safe-buffer": "^5.2.1", - "sha.js": "^2.4.12", - "to-buffer": "^1.2.1" + "@mdit/plugin-alert": "^0.23.2", + "@mdit/plugin-container": "^0.23.2", + "@types/markdown-it": "^14.1.2", + "@vuepress/helper": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1" }, - "engines": { - "node": ">= 0.10" + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "node_modules/@vuepress/plugin-markdown-tab": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-markdown-tab/-/plugin-markdown-tab-2.0.0-rc.128.tgz", + "integrity": "sha512-NJEz32feFcEwskmHoUZBaLzjoE++gmpZb1+l5h56go9GonC14cI0NCiRF2+ZwLzN/P/hHkJPoakP6DV+zV+O+Q==", "dev": true, "license": "MIT", - "optional": true + "dependencies": { + "@mdit/plugin-tab": "^0.24.2", + "@types/markdown-it": "^14.1.2", + "@vuepress/helper": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1", + "vue": "^3.5.31" + }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" + } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "node_modules/@vuepress/plugin-medium-zoom": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-2.0.0-rc.128.tgz", + "integrity": "sha512-EPblj0gF+5h4gYuWc5NGIR2j7H1xlQcsUT86hUim/JfYw16S3Iq8/bCMwRUPW+mR4YdJg2p0/JYrYEcBsiKBKA==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "@vuepress/helper": "2.0.0-rc.128", + "medium-zoom": "^1.1.0", + "vue": "^3.5.31" + }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" + } }, - "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "node_modules/@vuepress/plugin-nprogress": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-2.0.0-rc.128.tgz", + "integrity": "sha512-KlvbRwRwlKnfNoHBXbMiGe/1mvKy2fg0AnTLWbqXU0xXsZxp//t0qEGGp3Pnp6LNwkThEZI/Hjn0kfMpBgr77w==", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">=8.6" + "dependencies": { + "@vuepress/helper": "2.0.0-rc.128", + "vue": "^3.5.31" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/@vuepress/plugin-palette": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-palette/-/plugin-palette-2.0.0-rc.128.tgz", + "integrity": "sha512-raFuu9y0CKD1iUiLxE+LFadBIZwjITOx3Bm/HWPYd7wdttS+lH5Spe4SA94tdxRIyXN5mRz817rtVAI1NJWYHQ==", "dev": true, - "engines": { - "node": ">=6" + "license": "MIT", + "dependencies": { + "@vuepress/helper": "2.0.0-rc.128", + "chokidar": "^5.0.0" + }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "node_modules/@vuepress/plugin-prismjs": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-prismjs/-/plugin-prismjs-2.0.0-rc.128.tgz", + "integrity": "sha512-P8Ng2elo/iOx/4sI5GXvPzDIEgIdMOqWzwWIjdiipFHlUgWIkNtMS0Y8DU+LGc5yPds00joGIYgqyt8/M9wLAQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "dependencies": { + "@vuepress/helper": "2.0.0-rc.128", + "@vuepress/highlighter-helper": "2.0.0-rc.128", + "prismjs": "^1.30.0" + }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "node_modules/@vuepress/plugin-redirect": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-redirect/-/plugin-redirect-2.0.0-rc.128.tgz", + "integrity": "sha512-B4t0s+KzticXePCgiLGDk4LheFnhTr3KKdz81+AGIEH3sKkGqurxG3rmLlken1RxzecPhZ4iQTYIhwkzWe4w+A==", "dev": true, + "license": "MIT", "dependencies": { - "pinkie": "^2.0.0" + "@vuepress/helper": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1", + "commander": "^14.0.3", + "vue": "^3.5.31" + }, + "bin": { + "vp-redirect": "dist/cli/index.js" }, + "peerDependencies": { + "vuepress": "2.0.0-rc.28" + } + }, + "node_modules/@vuepress/plugin-redirect/node_modules/commander": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=20" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/@vuepress/plugin-register-components": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-2.0.0-rc.128.tgz", + "integrity": "sha512-mKmGnvz1/b3ORbjgTIwaGt3siG+utcfIOa8E5R7HlIbr3WJCjwvQtmNLn/xQLNrSN5iKwngUf+i73GseXTvhbQ==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "chokidar": "^5.0.0", + "picomatch": "^4.0.4" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/pngquant": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pngquant/-/pngquant-4.2.0.tgz", - "integrity": "sha512-MTwjMjf8++Z6UxxTrez/A3zXGk29KgpZa1U9tktNqYQvMhJFK5Uq1pr7rLcWQNMG3U19S48SV2ncS0q0dCIV+Q==", + "node_modules/@vuepress/plugin-seo": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-seo/-/plugin-seo-2.0.0-rc.128.tgz", + "integrity": "sha512-NYhZOmVA9xXy+4BwYpTT8LlJ40iop/O+4HUWFh46OoZfrCdy236i1BuYCPHi9CtoJ22BMITHhKydhd2ys1ZX8g==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "memoizeasync": "1.1.0", - "which": "2.0.2" + "@vuepress/helper": "2.0.0-rc.128" }, - "optionalDependencies": { - "pngquant-bin": "^6.0.1" + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/pngquant-bin": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-6.0.1.tgz", - "integrity": "sha512-Q3PUyolfktf+hYio6wsg3SanQzEU/v8aICg/WpzxXcuCMRb7H2Q81okfpcEztbMvw25ILjd3a87doj2N9kvbpQ==", + "node_modules/@vuepress/plugin-sitemap": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-sitemap/-/plugin-sitemap-2.0.0-rc.128.tgz", + "integrity": "sha512-hClR6v1MaL3CO1s7joJbbs4H8Ps4J4mO16gWUia+n0T61pXneBcSZDezlA6BeOlIuCKKHfmQl1EXUXC6jxZB3w==", "dev": true, - "hasInstallScript": true, - "license": "GPL-3.0+", - "optional": true, + "license": "MIT", "dependencies": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.1", - "execa": "^4.0.0" + "@vuepress/helper": "2.0.0-rc.128", + "sitemap": "^9.0.1" }, - "bin": { - "pngquant": "cli.js" - }, - "engines": { - "node": ">=10" + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/portfinder": { - "version": "1.0.38", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", - "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "node_modules/@vuepress/plugin-theme-data": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-theme-data/-/plugin-theme-data-2.0.0-rc.128.tgz", + "integrity": "sha512-cFBaYVvxxq6fbWkeFi4jEbm4mo+AcKJa4PVIlQSpTun3Y+bEVlw+HPCgP9EP0Rm52OG+7byNBArHjjY7Ekh5DA==", "dev": true, "license": "MIT", "dependencies": { - "async": "^3.2.6", - "debug": "^4.3.6" + "@vue/devtools-api": "^8.1.1", + "vue": "^3.5.31" }, - "engines": { - "node": ">= 10.12" + "peerDependencies": { + "vuepress": "2.0.0-rc.28" } }, - "node_modules/portfinder/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "node_modules/@vuepress/shared": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/@vuepress/shared/-/shared-2.0.0-rc.28.tgz", + "integrity": "sha512-swSMYnnKWPaNYJaXuMCeLGe9xeGI/pW99yajGwU3e4cz//ifUanCrfVD8CVudv3841ymOsNOnjgfxV6V0DXE5w==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "@mdit-vue/types": "^3.0.2" + } + }, + "node_modules/@vuepress/theme-default": { + "version": "2.0.0-rc.128", + "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-2.0.0-rc.128.tgz", + "integrity": "sha512-KiNaZXLkV2htUu1LXPYIvIU/8gzkm1tHRhVrfnvOdw+ZyNrDDRbZAcu1sHubT/Nb5zCFhgO+O2obSGGgfomxlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vuepress/helper": "2.0.0-rc.128", + "@vuepress/plugin-active-header-links": "2.0.0-rc.128", + "@vuepress/plugin-back-to-top": "2.0.0-rc.128", + "@vuepress/plugin-copy-code": "2.0.0-rc.128", + "@vuepress/plugin-git": "2.0.0-rc.128", + "@vuepress/plugin-links-check": "2.0.0-rc.128", + "@vuepress/plugin-markdown-hint": "2.0.0-rc.128", + "@vuepress/plugin-markdown-tab": "2.0.0-rc.128", + "@vuepress/plugin-medium-zoom": "2.0.0-rc.128", + "@vuepress/plugin-nprogress": "2.0.0-rc.128", + "@vuepress/plugin-palette": "2.0.0-rc.128", + "@vuepress/plugin-prismjs": "2.0.0-rc.128", + "@vuepress/plugin-seo": "2.0.0-rc.128", + "@vuepress/plugin-sitemap": "2.0.0-rc.128", + "@vuepress/plugin-theme-data": "2.0.0-rc.128", + "@vueuse/core": "^14.2.1", + "vue": "^3.5.31" }, - "engines": { - "node": ">=6.0" + "peerDependencies": { + "sass": "^1.98.0", + "sass-embedded": "^1.98.0", + "sass-loader": "^16.0.7", + "vuepress": "2.0.0-rc.28" }, "peerDependenciesMeta": { - "supports-color": { + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "sass-loader": { "optional": true } } }, - "node_modules/portfinder/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "node_modules/@vuepress/utils": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/@vuepress/utils/-/utils-2.0.0-rc.28.tgz", + "integrity": "sha512-oias4eSpj9FpDboXf7QzvcrZXtYAKWpJo6H2trnSgbXlo+B+xP+AYMSxj5j7XGtuwp7E0usz3TH6alXnPF6nuQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.13", + "@types/fs-extra": "^11.0.4", + "@types/hash-sum": "^1.0.2", + "@types/picomatch": "^4.0.2", + "@vuepress/shared": "2.0.0-rc.28", + "debug": "^4.4.3", + "fs-extra": "^11.3.4", + "hash-sum": "^2.0.0", + "ora": "^9.3.0", + "picocolors": "^1.1.1", + "picomatch": "^4.0.4", + "tinyglobby": "^0.2.15", + "upath": "^2.0.1" + } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "node_modules/@vueuse/core": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz", + "integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "14.2.1", + "@vueuse/shared": "14.2.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" } }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "node_modules/@vueuse/metadata": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz", + "integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/postcss": { - "version": "8.5.9", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz", - "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", + "node_modules/@vueuse/shared": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz", + "integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@zeit/schemas": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", + "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", + "dev": true, + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=0.4.0" } }, - "node_modules/postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/postcss-calc/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, - "license": "ISC" + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } }, - "node_modules/postcss-calc/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=8" } }, - "node_modules/postcss-calc/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/postcss-colormin/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-colormin/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=6.0.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/postcss-colormin/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/postcss-colormin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "node_modules/archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "file-type": "^4.2.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "node_modules/postcss-convert-values/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-convert-values/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/archive-type/node_modules/file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, + "optional": true, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", "dev": true, "license": "MIT" }, - "node_modules/postcss-convert-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "node_modules/ast-kit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-2.2.0.tgz", + "integrity": "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==", "dev": true, "license": "MIT", "dependencies": { - "postcss": "^7.0.0" + "@babel/parser": "^7.28.5", + "pathe": "^2.0.3" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" } }, - "node_modules/postcss-discard-comments/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-discard-comments/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/ast-walker-scope": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.8.3.tgz", + "integrity": "sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "@babel/parser": "^7.28.4", + "ast-kit": "^2.1.3" }, "engines": { - "node": ">=6.0.0" + "node": ">=20.19.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-discard-comments/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/sxzz" } }, - "node_modules/postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "node_modules/autoprefixer": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", + "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "postcss": "^7.0.0" + "browserslist": "^4.28.2", + "caniuse-lite": "^1.0.30001787", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" }, "engines": { - "node": ">=6.9.0" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/postcss-discard-duplicates/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-discard-duplicates/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-discard-duplicates/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.17", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.17.tgz", + "integrity": "sha512-HdrkN8eVG2CXxeifv/VdJ4A4RSra1DTW8dc/hdxzhGHN8QePs6gKaWM9pHPcpCoxYZJuOZ8drHmbdpLHjCYjLA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "node_modules/bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "postcss": "^7.0.0" + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "node_modules/postcss-discard-empty/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/bin-build/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } }, - "node_modules/postcss-discard-empty/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/bin-build/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-discard-empty/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/bin-build/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "node_modules/bin-build/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, - "license": "MIT", + "license": "ISC", + "optional": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/bin-build/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "optional": true, "dependencies": { - "postcss": "^7.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "which": "bin/which" } }, - "node_modules/postcss-discard-overridden/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-discard-overridden/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "execa": "^0.7.0", + "executable": "^4.1.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-discard-overridden/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/bin-check/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "optional": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "node_modules/postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "node_modules/bin-check/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-loader": { + "node_modules/bin-check/node_modules/get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", "dev": true, "license": "MIT", - "dependencies": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, + "optional": true, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/postcss-loader/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/bin-check/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, - "license": "ISC" + "license": "ISC", + "optional": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } }, - "node_modules/postcss-loader/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/bin-check/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "MIT", + "license": "ISC", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" + "isexe": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "bin": { + "which": "bin/which" } }, - "node_modules/postcss-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "execa": "^1.0.0", + "find-versions": "^3.0.0" }, "engines": { - "node": ">= 4" - } - }, - "node_modules/postcss-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "node_modules/bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/postcss-merge-longhand/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-merge-longhand/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/bin-version/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-merge-longhand/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "node_modules/bin-version/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" + "pump": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/postcss-merge-rules/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-merge-rules/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=6" } }, - "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "node_modules/bin-wrapper/node_modules/download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/postcss-merge-rules/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/bin-wrapper/node_modules/download/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "node_modules/bin-wrapper/node_modules/file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", "dev": true, "license": "MIT", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "optional": true, "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/postcss-minify-font-values/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/bin-wrapper/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4" + } }, - "node_modules/postcss-minify-font-values/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/bin-wrapper/node_modules/got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/bin-wrapper/node_modules/got/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4" + } }, - "node_modules/postcss-minify-font-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/bin-wrapper/node_modules/p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "node_modules/bin-wrapper/node_modules/p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "p-timeout": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/postcss-minify-gradients/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-minify-gradients/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/bin-wrapper/node_modules/p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "p-finally": "^1.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-minify-gradients/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/bin-wrapper/node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "node_modules/bin-wrapper/node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" + "prepend-http": "^2.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "node_modules/postcss-minify-params/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-minify-params/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-minify-params/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, - "node_modules/postcss-minify-selectors/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true, "license": "ISC" }, - "node_modules/postcss-minify-selectors/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "node_modules/boxen/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-minify-selectors/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "node_modules/brace-expansion": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "postcss": "^7.0.5" - }, - "engines": { - "node": ">= 6" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/postcss-modules-extract-imports/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-modules-extract-imports/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, - "engines": { - "node": ">=6.0.0" + "bin": { + "browserslist": "cli.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/postcss-modules-extract-imports/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", - "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^3.3.1" - }, - "engines": { - "node": ">= 6" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "node_modules/postcss-modules-local-by-default/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, + "optional": true, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": "*" } }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, - "node_modules/postcss-modules-local-by-default/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "node_modules/cac": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cac/-/cac-7.0.0.tgz", + "integrity": "sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==", "dev": true, - "license": "ISC", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=20.19.0" } }, - "node_modules/postcss-modules-scope/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true, + "dependencies": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + } }, - "node_modules/postcss-modules-scope/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, + "optional": true, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-modules-scope/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^7.0.6" - } - }, - "node_modules/postcss-modules-values/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-modules-values/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-modules-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "postcss": "^7.0.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.4" } }, - "node_modules/postcss-normalize-charset/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-normalize-charset/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-charset/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", "dev": true, "license": "MIT", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, "engines": { - "node": ">=6.9.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-display-values/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/caniuse-lite": { + "version": "1.0.30001787", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001787.tgz", + "integrity": "sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==", "dev": true, - "license": "ISC" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" }, - "node_modules/postcss-normalize-display-values/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-normalize-display-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, "license": "MIT", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, "engines": { - "node": ">=6.9.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/postcss-normalize-positions/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-normalize-positions/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "chalk": "^4.1.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-normalize-positions/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "node_modules/chalk-template/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-normalize-repeat-style/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-normalize-repeat-style/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/chalk-template/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-normalize-repeat-style/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "node_modules/chalk-template/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=7.0.0" } }, - "node_modules/postcss-normalize-string/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/chalk-template/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/postcss-normalize-string/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/chalk-template/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=8" } }, - "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", "dev": true, - "license": "MIT" + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/postcss-normalize-string/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "node_modules/cheerio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz", + "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==", "dev": true, "license": "MIT", "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.1", + "htmlparser2": "^10.1.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.19.0", + "whatwg-mimetype": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.18.1" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" } }, - "node_modules/postcss-normalize-timing-functions/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", "dev": true, - "license": "ISC" + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } }, - "node_modules/postcss-normalize-timing-functions/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "readdirp": "^5.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 20.19.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-normalize-timing-functions/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "restore-cursor": "^5.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-unicode/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-normalize-unicode/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/cli-spinners": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-3.4.0.tgz", + "integrity": "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=6.0.0" + "node": ">=18.20" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-normalize-unicode/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "node_modules/clipboardy/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 8" } }, - "node_modules/postcss-normalize-url/node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "node_modules/clipboardy/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "license": "MIT", + "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": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/postcss-normalize-url/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-normalize-url/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/clipboardy/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=6.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/clipboardy/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } }, - "node_modules/postcss-normalize-url/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/clipboardy/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "node_modules/clipboardy/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "license": "MIT", "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/postcss-normalize-whitespace/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-normalize-whitespace/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/clipboardy/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "path-key": "^3.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=8" } }, - "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-normalize-whitespace/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/clipboardy/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "node_modules/clipboardy/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/postcss-ordered-values/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-ordered-values/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/clipboardy/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=8" } }, - "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, - "license": "MIT" + "optional": true, + "dependencies": { + "mimic-response": "^1.0.0" + } }, - "node_modules/postcss-ordered-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/colorjs.io": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", + "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", "dev": true, "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/postcss-reduce-initial/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, - "license": "ISC" + "optional": true }, - "node_modules/postcss-reduce-initial/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 0.6" } }, - "node_modules/postcss-reduce-initial/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "ms": "2.0.0" } }, - "node_modules/postcss-reduce-transforms/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/postcss-reduce-transforms/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "dev": true, "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 0.6" } }, - "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true, "license": "MIT" }, - "node_modules/postcss-reduce-transforms/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/confbox": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz", + "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/postcss-safe-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", - "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "postcss": "^7.0.26" - }, - "engines": { - "node": ">=6.0.0" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "node_modules/postcss-safe-parser/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=0.8" + } }, - "node_modules/postcss-safe-parser/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 0.6" } }, - "node_modules/postcss-safe-parser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "node_modules/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, "engines": { - "node": ">=4" + "node": ">=4.8" } }, - "node_modules/postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "node_modules/cross-spawn/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "which": "bin/which" } }, - "node_modules/postcss-svgo/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-svgo/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/postcss-svgo/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", "dev": true, - "license": "BSD-3-Clause", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dev": true, - "license": "MIT", - "dependencies": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" + "node": ">= 6" }, - "engines": { - "node": ">=6.9.0" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/postcss-unique-selectors/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/postcss-unique-selectors/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "ms": "^2.1.3" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/postcss-unique-selectors/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, - "license": "BSD-3-Clause", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, "license": "MIT", "optional": true, + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, - "license": "MIT", "optional": true, - "bin": { - "prettier": "bin-prettier.js" + "dependencies": { + "mimic-response": "^1.0.0" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=4" } }, - "node_modules/pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "dev": true, - "license": "MIT", + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, "engines": { "node": ">=4" } }, - "node_modules/prism-themes": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/prism-themes/-/prism-themes-1.9.0.tgz", - "integrity": "sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw==", - "dev": true - }, - "node_modules/prismjs": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", - "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, "license": "MIT", + "optional": true, + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/proc-log": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", - "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true, - "license": "ISC", + "license": "MIT", + "optional": true, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=4" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "license": "MIT", + "optional": true, + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=4" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true, - "license": "ISC", - "optional": true - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" }, "engines": { - "node": ">= 0.10" + "node": ">=4" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "license": "MIT" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, "license": "MIT", - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", + "node_modules/decompress-unzip/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/decompress/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "license": "MIT", - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, - "dependencies": { - "escape-goat": "^2.0.0" - }, + "license": "Apache-2.0", "engines": { "node": ">=8" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", - "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", - "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" + "dequal": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "license": "MIT", "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, "engines": { - "node": ">=0.4.x" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "safe-buffer": "^5.1.0" + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "node_modules/download/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", "dev": true, "license": "MIT", - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "optional": true, + "engines": { + "node": ">=4" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/download/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true, + "optional": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.335", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.335.tgz", + "integrity": "sha512-q9n5T4BR4Xwa2cwbrwcsDJtHD/enpQ5S1xF1IAtdqf5AAgqDFmR/aakqH3ChFdqd/QXJhS3rnnXFtexU7rax6Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "dev": true, + "license": "MIT", "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" }, - "bin": { - "rc": "cli.js" + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" } }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "once": "^1.4.0" } }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" }, "engines": { - "node": ">=0.10" + "node": ">=4" } }, - "node_modules/reduce": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.3.tgz", - "integrity": "sha512-0Dtt3Bgj34/yKFzE5N9V6/HYyP3gb+E3TLs/hMr/wGgkCIzYa+7G4hNrE/P+en52OJT+pLUgmba9DQF3AB+2LQ==", + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", - "dependencies": { - "object-keys": "^1.1.1" - }, + "optional": true, "engines": { "node": ">= 0.4" } }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" + "es-errors": "^1.3.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", - "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/regex-not/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/regex-not/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/regexpu-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", - "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "node_modules/execa/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.2", - "regjsgen": "^0.8.0", - "regjsparser": "^0.13.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.2.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "node_modules/execa/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "rc": "^1.2.8" + "pump": "^3.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "dependencies": { - "rc": "^1.2.8" - }, + "license": "MIT", + "optional": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz", - "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", + "node_modules/execa/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "optional": true, "dependencies": { - "jsesc": "~3.1.0" + "path-key": "^3.0.0" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": ">=8" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "node_modules/execa/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "node_modules/renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "node_modules/execa/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - } - }, - "node_modules/renderkid/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "shebang-regex": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=8" } }, - "node_modules/renderkid/node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "node_modules/execa/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "optional": true, "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node": ">=8" } }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "pify": "^2.2.0" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">=4" } }, - "node_modules/renderkid/node_modules/domelementtype": { + "node_modules/executable/node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "license": "MIT" }, - "node_modules/renderkid/node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "optional": true, "dependencies": { - "boolbase": "^1.0.0" + "mime-db": "^1.28.0" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, "engines": { - "node": ">=0.10" + "node": ">=4" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, + "pend": "~1.2.0" + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true, + "license": "MIT", + "optional": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/resolve-cwd": { + "node_modules/filename-reserved-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", "dev": true, "license": "MIT", - "dependencies": { - "resolve-from": "^3.0.0" - }, + "optional": true, "engines": { "node": ">=4" } }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "node_modules/filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", "dev": true, "license": "MIT", + "optional": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + }, "engines": { "node": ">=4" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "node_modules/find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "lowercase-keys": "^1.0.0" + "semver-regex": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-callable": "^1.2.7" + }, "engines": { - "node": ">=0.12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } }, - "node_modules/rgba-regex": { + "node_modules/fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } + "license": "MIT", + "optional": true }, - "node_modules/ripemd160": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", - "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", + "node_modules/fs-extra": { + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", "dev": true, "license": "MIT", "dependencies": { - "hash-base": "^3.1.2", - "inherits": "^2.0.4" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=14.14" } }, - "node_modules/ripemd160/node_modules/hash-base": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", - "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^2.3.8", - "safe-buffer": "^5.2.1", - "to-buffer": "^1.2.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.8" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.1.1" + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "node_modules/get-east-asian-width": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, "engines": { - "node": ">=0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "isarray": "^2.0.5" + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -17641,574 +5578,518 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-push-apply/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "node_modules/get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true, + "dependencies": { + "npm-conf": "^1.1.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">= 8.9.0" + "node": ">=0.10.0" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "node_modules/got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" }, "engines": { "node": ">=4" } }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", "dev": true, "license": "MIT", "optional": true, - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" + "engines": { + "node": ">=4" } }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", "dev": true, "license": "MIT", "dependencies": { - "node-forge": "^0.10.0" - } - }, - "node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" } }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "semver": "^6.3.0" - }, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/semver-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", - "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", "dev": true, "license": "MIT", "optional": true, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", - "integrity": "sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "optional": true, - "dependencies": { - "semver": "^5.3.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/send": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" + "has-symbol-support-x": "^1.4.1" }, "engines": { - "node": ">= 0.8.0" + "node": "*" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "ms": "2.0.0" + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { + "node_modules/hash-sum": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", "dev": true, "license": "MIT" }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "license": "MIT", - "bin": { - "mime": "cli.js" + "optional": true, + "dependencies": { + "function-bind": "^1.1.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" + "node": ">= 0.4" } }, - "node_modules/serve-index": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", - "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.8.0", - "mime-types": "~2.1.35", - "parseurl": "~1.3.3" - }, - "engines": { - "node": ">= 0.8.0" + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "url": "https://opencollective.com/unified" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", "dev": true, "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", "dev": true, "license": "MIT", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" + "@types/hast": "^3.0.0" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "license": "ISC" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/hast-util-sanitize": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz", + "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==", "dev": true, "license": "MIT", "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" + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "unist-util-position": "^5.0.0" }, - "engines": { - "node": ">= 0.4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" }, - "engines": { - "node": ">= 0.4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", "dev": true, "license": "MIT", "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" + "@types/hast": "^3.0.0" }, - "engines": { - "node": ">= 0.4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", "dev": true, + "license": "MIT", "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, - "license": "MIT" + "bin": { + "he": "bin/he" + } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/sha.js": { - "version": "2.4.12", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", - "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", "dev": true, - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1", - "to-buffer": "^1.2.0" - }, - "bin": { - "sha.js": "bin.js" - }, - "engines": { - "node": ">= 0.10" - }, + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "node_modules/htmlparser2": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", "dependencies": { - "@img/colour": "^1.0.0", - "detect-libc": "^2.1.2", - "semver": "^7.7.3" - }, + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=0.12" }, "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/sharp/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "BSD-2-Clause", + "optional": true + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "license": "Apache-2.0", + "optional": true, "engines": { - "node": ">=10" + "node": ">=8.12.0" } }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "node_modules/immutable": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, + "optional": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "optional": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, + "optional": true, "engines": { "node": ">= 0.4" }, @@ -18216,1257 +6097,1275 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/simple-swizzle": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", - "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "license": "MIT", - "dependencies": { - "is-arrayish": "^0.3.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", - "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/sitemap": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-3.2.2.tgz", - "integrity": "sha512-TModL/WU4m2q/mQcrDgNANn0P4LwprM9MMvG4hu5zP4c6IIKs2YLTu6nXXnNr8ODW/WFtxKggiJ1EGn2W0GNmg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "dependencies": { - "lodash.chunk": "^4.2.0", - "lodash.padstart": "^4.6.1", - "whatwg-url": "^7.0.0", - "xmlbuilder": "^13.0.0" - }, + "license": "MIT", + "optional": true, "engines": { - "node": ">=6.0.0", - "npm": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/sitemap/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "dependencies": { - "punycode": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/sitemap/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/sitemap/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/slash": { + "node_modules/is-interactive": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } + "optional": true }, - "node_modules/smoothscroll-polyfill": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", - "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==", + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, + "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "is-buffer": "^1.1.5" + "which-typed-array": "^1.1.16" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "optional": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "kind-of": "^3.0.2" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" + "optional": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, + "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "universalify": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "optional": true, + "dependencies": { + "json-buffer": "3.0.0" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", - "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", "dev": true, - "license": "MIT", + "license": "MPL-2.0", "dependencies": { - "debug": "^3.2.7", - "eventsource": "^2.0.2", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" + "detect-libc": "^2.0.3" }, "engines": { - "node": ">=12" + "node": ">= 12.0.0" }, "funding": { - "url": "https://tidelift.com/funding/github/npm/sockjs-client" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/sockjs/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/socks": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "ip-address": "^10.0.1", - "smart-buffer": "^4.2.0" - }, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 14" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", + "license": "MPL-2.0", "optional": true, - "dependencies": { - "is-plain-obj": "^1.0.0" - }, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "libc": [ + "glibc" + ], + "license": "MPL-2.0", "optional": true, - "dependencies": { - "sort-keys": "^1.0.0" - }, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true, - "license": "MIT" - }, - "node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BSD-3-Clause", + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 12" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-3-Clause", + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-3-Clause", + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, "engines": { - "node": ">=6.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "uc.micro": "^2.0.0" } }, - "node_modules/spdy-transport/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/local-pkg": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", + "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" + "mlly": "^1.7.4", + "pkg-types": "^2.3.0", + "quansync": "^0.2.11" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "node": ">=14" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/split-string/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/log-symbols": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz", + "integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==", "dev": true, "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4" + "is-unicode-supported": "^2.0.0", + "yoctocolors": "^2.1.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", - "dev": true, - "license": "MIT" - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "node": ">=18" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/lru-cache": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", + "integrity": "sha1-2COIrpyWC+y+oMc7uet5tsbOmus=", + "dev": true }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/magic-string-ast": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-1.0.3.tgz", + "integrity": "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "magic-string": "^0.30.19" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" + "node": ">=20.19.0" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sxzz" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "pify": "^3.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/std-env": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", - "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", + "node_modules/markdown-it": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", "dev": true, "license": "MIT", "dependencies": { - "ci-info": "^3.1.1" + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" } }, - "node_modules/std-env/node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "node_modules/markdown-it-anchor": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-9.2.0.tgz", + "integrity": "sha512-sa2ErMQ6kKOA4l31gLGYliFQrMKkqSO0ZJgGhDHKijPf0pNFM9vghjAh3gn26pS4JDRs7Iwa9S36gxm3vgZTzg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" } }, - "node_modules/stop-iteration-iterator": { + "node_modules/markdown-it-emoji": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-3.0.0.tgz", + "integrity": "sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg==", + "dev": true, + "license": "MIT" + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/math-intrinsics": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, + "optional": true, "engines": { "node": ">= 0.4" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", "dev": true, "license": "MIT", "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } + "license": "MIT" }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/medium-zoom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz", + "integrity": "sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/memoizeasync": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/memoizeasync/-/memoizeasync-1.1.0.tgz", + "integrity": "sha1-nXAopvJm3rczUQu327pfUYeMVh4=", "dev": true, - "license": "MIT", "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "lru-cache": "2.5.0", + "passerror": "1.1.1" } }, - "node_modules/stream-shift": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true, "license": "MIT" }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT" }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, + "optional": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-regex": "^2.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mlly": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz", + "integrity": "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "acorn": "^8.16.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.3" } }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "is-natural-number": "^4.0.1" + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "optional": true + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } + "optional": true }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "node_modules/node-releases": { + "version": "2.0.37", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", + "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "node_modules/normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "escape-string-regexp": "^1.0.2" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "node_modules/normalize-url/node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", "dev": true, "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, + "optional": true, "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "node_modules/stylehacks/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/stylehacks/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/normalize-url/node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "is-plain-obj": "^1.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/stylehacks/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "node_modules/npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "config-chain": "^1.1.11", + "pify": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/stylehacks/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/npm-conf/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/stylus": { - "version": "0.54.8", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", - "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", - "glob": "^7.1.6", - "mkdirp": "~1.0.4", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.3.0", - "source-map": "^0.7.3" - }, - "bin": { - "stylus": "bin/stylus" + "path-key": "^2.0.0" }, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/stylus-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", - "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "loader-utils": "^1.0.2", - "lodash.clonedeep": "^4.5.0", - "when": "~3.6.x" + "boolbase": "^1.0.0" }, - "peerDependencies": { - "stylus": ">=0.52.4" + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/stylus/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/stylus/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/stylus/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/stylus/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "optional": true, + "dependencies": { + "wrappy": "1" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=4" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/ora": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", "dev": true, "license": "MIT", + "dependencies": { + "chalk": "^5.6.2", + "cli-cursor": "^5.0.0", + "cli-spinners": "^3.2.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.1.0", + "log-symbols": "^7.0.1", + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=20" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dev": true - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "node_modules/os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" + "arch": "^2.1.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=4" } }, - "node_modules/tapable": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", - "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", + "node_modules/p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=4" } }, - "node_modules/tar": { - "version": "7.5.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", - "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", + "node_modules/p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", + "optional": true, "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" + "p-timeout": "^1.1.1" }, "engines": { - "node": ">=18" + "node": ">=4" } }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true, - "license": "MIT", "optional": true, - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "node_modules/tar/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "node_modules/p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", + "optional": true, "engines": { - "node": ">=18" + "node": ">=4" } }, - "node_modules/tar/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "node_modules/p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", + "optional": true, + "dependencies": { + "p-reduce": "^1.0.0" + }, "engines": { - "node": ">=18" + "node": ">=4" } }, - "node_modules/temp-dir": { + "node_modules/p-reduce": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==", "dev": true, "license": "MIT", "optional": true, @@ -19474,2403 +7373,2494 @@ "node": ">=4" } }, - "node_modules/tempfile": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", - "integrity": "sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==", + "node_modules/p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "temp-dir": "^1.0.0", - "uuid": "^3.0.1" + "p-finally": "^1.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" + "domhandler": "^5.0.3", + "parse5": "^7.0.0" }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.6.tgz", - "integrity": "sha512-2lBVf/VMVIddjSn3GqbT90GvIJ/eYXJkt8cTzU7NbjKqK8fwv18Ftr4PlbF46b/e88743iZFL5Dtr/rC4hjIeA==", + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", "dev": true, "license": "MIT", "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "parse5": "^7.0.0" }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">= 6.9.0" + "node": ">=0.12" }, - "peerDependencies": { - "webpack": "^4.0.0" + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "node_modules/passerror": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/passerror/-/passerror-1.1.1.tgz", + "integrity": "sha1-oluI292RCilgOux9y5bpp6l2h7Q=", "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/terser-webpack-plugin/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "optional": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/terser-webpack-plugin/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } + "optional": true }, - "node_modules/terser-webpack-plugin/node_modules/make-dir": { + "node_modules/perfect-debounce": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz", + "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/terser-webpack-plugin/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, + "optional": true, "engines": { "node": ">=6" } }, - "node_modules/terser-webpack-plugin/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true, - "license": "MIT", + "optional": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "find-up": "^3.0.0" + "pinkie": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/pkg-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", + "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" } }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/pngquant": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pngquant/-/pngquant-4.2.0.tgz", + "integrity": "sha512-MTwjMjf8++Z6UxxTrez/A3zXGk29KgpZa1U9tktNqYQvMhJFK5Uq1pr7rLcWQNMG3U19S48SV2ncS0q0dCIV+Q==", "dev": true, "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "memoizeasync": "1.1.0", + "which": "2.0.2" + }, + "optionalDependencies": { + "pngquant-bin": "^6.0.1" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/pngquant-bin": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-6.0.1.tgz", + "integrity": "sha512-Q3PUyolfktf+hYio6wsg3SanQzEU/v8aICg/WpzxXcuCMRb7H2Q81okfpcEztbMvw25ILjd3a87doj2N9kvbpQ==", "dev": true, - "license": "MIT", + "hasInstallScript": true, + "license": "GPL-3.0+", + "optional": true, "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "execa": "^4.0.0" + }, + "bin": { + "pngquant": "cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/thunky": { + "node_modules/possible-typed-array-names": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true, - "license": "MIT" - }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "dev": true, "license": "MIT", "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "node_modules/postcss": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz", + "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "setimmediate": "^1.0.4" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=0.6.0" + "node": "^10 || ^12 || >=14" } }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" + "lilconfig": "^3.1.1" }, "engines": { - "node": ">=12.0.0" + "node": ">= 18" }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "node_modules/prism-themes": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/prism-themes/-/prism-themes-1.9.0.tgz", + "integrity": "sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw==", + "dev": true + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">=6" } }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true, - "license": "MIT" + "optional": true }, - "node_modules/to-buffer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", - "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", "dev": true, "license": "MIT", - "dependencies": { - "isarray": "^2.0.5", - "safe-buffer": "^5.2.1", - "typed-array-buffer": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/to-buffer/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/to-factory": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz", - "integrity": "sha512-JVYrY42wMG7ddf+wBUQR/uHGbjUHZbLisJ8N62AMm0iTZ0p8YTcZLzdtomU0+H+wa99VbkyvQGB3zxB7NDzgIQ==", + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true, - "license": "MIT" + "license": "ISC", + "optional": true }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, + "optional": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/quansync": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", + "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==", "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" }, - "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/to-regex/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "rc": "cli.js" } }, - "node_modules/to-regex/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.6" + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/toml": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "escape-string-regexp": "^1.0.2" + "rc": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD", - "optional": true - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "^5.0.1" + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" }, - "engines": { - "node": "*" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/rehype-sanitize": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-sanitize/-/rehype-sanitize-6.0.0.tgz", + "integrity": "sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-sanitize": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", "dev": true, "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" }, - "engines": { - "node": ">= 0.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "lowercase-keys": "^1.0.0" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "node_modules/restore-cursor/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "mimic-function": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true, - "license": "MIT" - }, - "node_modules/uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "node_modules/rolldown": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.15.tgz", + "integrity": "sha512-Ff31guA5zT6WjnGp0SXw76X6hzGRk/OQq2hE+1lcDe+lJdHSgnSX6nK3erbONHyCbpSj9a9E+uX/OvytZoWp2g==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "commander": "~2.19.0", - "source-map": "~0.6.1" + "@oxc-project/types": "=0.124.0", + "@rolldown/pluginutils": "1.0.0-rc.15" }, "bin": { - "uglifyjs": "bin/uglifyjs" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=0.8.0" + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.15", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.15", + "@rolldown/binding-darwin-x64": "1.0.0-rc.15", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.15", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.15", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.15", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.15", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.15", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.15", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.15", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.15" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.15.tgz", + "integrity": "sha512-UromN0peaE53IaBRe9W7CjrZgXl90fqGpK+mIZbA3qSTeYqg3pqpROBdIPvOG3F5ereDHNwoHBI2e50n1BDr1g==", + "dev": true, + "license": "MIT" + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" } }, - "node_modules/uglify-js/node_modules/commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "license": "MIT" }, - "node_modules/uglify-js/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/sass": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz", + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "node_modules/sass-embedded": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.99.0.tgz", + "integrity": "sha512-gF/juR1aX02lZHkvwxdF80SapkQeg2fetoDF6gIQkNbSw5YEUFspMkyGTjPjgZSgIHuZpy+Wz4PlebKnLXMjdg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" + "@bufbuild/protobuf": "^2.5.0", + "colorjs.io": "^0.5.0", + "immutable": "^5.1.5", + "rxjs": "^7.4.0", + "supports-color": "^8.1.1", + "sync-child-process": "^1.0.2", + "varint": "^6.0.0" + }, + "bin": { + "sass": "dist/bin/sass.js" }, "engines": { - "node": ">= 0.4" + "node": ">=16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "optionalDependencies": { + "sass-embedded-all-unknown": "1.99.0", + "sass-embedded-android-arm": "1.99.0", + "sass-embedded-android-arm64": "1.99.0", + "sass-embedded-android-riscv64": "1.99.0", + "sass-embedded-android-x64": "1.99.0", + "sass-embedded-darwin-arm64": "1.99.0", + "sass-embedded-darwin-x64": "1.99.0", + "sass-embedded-linux-arm": "1.99.0", + "sass-embedded-linux-arm64": "1.99.0", + "sass-embedded-linux-musl-arm": "1.99.0", + "sass-embedded-linux-musl-arm64": "1.99.0", + "sass-embedded-linux-musl-riscv64": "1.99.0", + "sass-embedded-linux-musl-x64": "1.99.0", + "sass-embedded-linux-riscv64": "1.99.0", + "sass-embedded-linux-x64": "1.99.0", + "sass-embedded-unknown-all": "1.99.0", + "sass-embedded-win32-arm64": "1.99.0", + "sass-embedded-win32-x64": "1.99.0" + } + }, + "node_modules/sass-embedded-all-unknown": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.99.0.tgz", + "integrity": "sha512-qPIRG8Uhjo6/OKyAKixTnwMliTz+t9K6Duk0mx5z+K7n0Ts38NSJz2sjDnc7cA/8V9Lb3q09H38dZ1CLwD+ssw==", + "cpu": [ + "!arm", + "!arm64", + "!riscv64", + "!x64" + ], "dev": true, "license": "MIT", "optional": true, "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" + "sass": "1.99.0" } }, - "node_modules/undici-types": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", - "dev": true, - "license": "MIT" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "node_modules/sass-embedded-android-arm": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.99.0.tgz", + "integrity": "sha512-EHvJ0C7/VuP78Qr6f8gIUVUmCqIorEQpw2yp3cs3SMg02ZuumlhjXvkTcFBxHmFdFR23vTNk1WnhY6QSeV1nFQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/sass-embedded-android-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.99.0.tgz", + "integrity": "sha512-fNHhdnP23yqqieCbAdym4N47AleSwjbNt6OYIYx4DdACGdtERjQB4iOX/TaKsW034MupfF7SjnAAK8w7Ptldtg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", - "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "node_modules/sass-embedded-android-riscv64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.99.0.tgz", + "integrity": "sha512-4zqDFRvgGDTL5vTHuIhRxUpXFoh0Cy7Gm5Ywk19ASd8Settmd14YdPRZPmMxfgS1GH292PofV1fq1ifiSEJWBw==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", - "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "node_modules/sass-embedded-android-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.99.0.tgz", + "integrity": "sha512-Uk53k/dGYt04RjOL4gFjZ0Z9DH9DKh8IA8WsXUkNqsxerAygoy3zqRBS2zngfE9K2jiOM87q+1R1p87ory9oQQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "node_modules/sass-embedded-darwin-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.99.0.tgz", + "integrity": "sha512-u61/7U3IGLqoO6gL+AHeiAtlTPFwJK1+964U8gp45ZN0hzh1yrARf5O1mivXv8NnNgJvbG2wWJbiNZP0lG/lTg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", - "dev": true, - "license": "MIT" - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==", + "node_modules/sass-embedded-darwin-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.99.0.tgz", + "integrity": "sha512-j/kkk/NcXdIameLezSfXjgCiBkVcA+G60AXrX768/3g0miK1g7M9dj7xOhCb1i7/wQeiEI3rw2LLuO63xRIn4A==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/sass-embedded-linux-arm": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.99.0.tgz", + "integrity": "sha512-d4IjJZrX2+AwB2YCy1JySwdptJECNP/WfAQLUl8txI3ka8/d3TUI155GtelnoZUkio211PwIeFvvAeZ9RXPQnw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^2.0.0" + "libc": "glibc", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" } }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/sass-embedded-linux-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.99.0.tgz", + "integrity": "sha512-btNcFpItcB56L40n8hDeL7sRSMLDXQ56nB5h2deddJx1n60rpKSElJmkaDGHtpkrY+CTtDRV0FZDjHeTJddYew==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" + "libc": "glibc", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" } }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "node_modules/sass-embedded-linux-musl-arm": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.99.0.tgz", + "integrity": "sha512-2gvHOupgIw3ytatXT4nFUow71LFbuOZPEwG+HUzcNQDH8ue4Ez8cr03vsv5MDv3lIjOKcXwDvWD980t18MwkoQ==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, + "libc": "musl", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/sass-embedded-linux-musl-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.99.0.tgz", + "integrity": "sha512-Hi2bt/IrM5P4FBKz6EcHAlniwfpoz9mnTdvSd58y+avA3SANM76upIkAdSayA8ZGwyL3gZokru1AKDPF9lJDNw==", + "cpu": [ + "arm64" + ], "dev": true, + "libc": "musl", "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 4.0.0" + "node": ">=14.0.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "node_modules/sass-embedded-linux-musl-riscv64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.99.0.tgz", + "integrity": "sha512-mKqGvVaJ9rHMqyZsF0kikQe4NO0f4osb67+X6nLhBiVDKvyazQHJ3zJQreNefIE36yL2sjHIclSB//MprzaQDg==", + "cpu": [ + "riscv64" + ], "dev": true, + "libc": "musl", "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.8" + "node": ">=14.0.0" } }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "node_modules/sass-embedded-linux-musl-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.99.0.tgz", + "integrity": "sha512-huhgOMmOc30r7CH7qbRbT9LerSEGSnWuS4CYNOskr9BvNeQp4dIneFufNRGZ7hkOAxUM8DglxIZJN/cyAT95Ew==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "libc": "musl", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "node_modules/sass-embedded-linux-riscv64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.99.0.tgz", + "integrity": "sha512-mevFPIFAVhrH90THifxLfOntFmHtcEKOcdWnep2gJ0X4DVva4AiVIRlQe/7w9JFx5+gnDRE1oaJJkzuFUuYZsA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, + "libc": "glibc", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "node_modules/sass-embedded-linux-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.99.0.tgz", + "integrity": "sha512-9k7IkULqIZdCIVt4Mboryt6vN8Mjmm3EhI1P3mClU5y5i3wLK5ExC3cbVWk047KsID/fvB1RLslqghXJx5BoxA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, + "libc": "glibc", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "node_modules/sass-embedded-unknown-all": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.99.0.tgz", + "integrity": "sha512-P7MxiUtL/XzGo3PX0CaB8lNNEFLQWKikPA8pbKytx9ZCLZSDkt2NJcdAbblB/sqMs4AV3EK2NadV8rI/diq3xg==", "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "!android", + "!darwin", + "!linux", + "!win32" + ], "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "sass": "1.99.0" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "node_modules/sass-embedded-win32-arm64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.99.0.tgz", + "integrity": "sha512-8whpsW7S+uO8QApKfQuc36m3P9EISzbVZOgC79goob4qGy09u8Gz/rYvw8h1prJDSjltpHGhOzBE6LDz7WvzVw==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "node_modules/sass-embedded-win32-x64": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.99.0.tgz", + "integrity": "sha512-ipuOv1R2K4MHeuCEAZGpuUbAgma4gb0sdacyrTjJtMOy/OY9UvWfVlwErdB09KIkp4fPDpQJDJfvYN6bC8jeNg==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4", - "yarn": "*" + "node": ">=14.0.0" } }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", + "optional": true, "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" + "readdirp": "^4.0.1" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">= 14.16.0" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/update-notifier": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", - "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, - "dependencies": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, + "license": "MIT", + "optional": true, "engines": { - "node": ">=8" + "node": ">= 14.18.0" }, "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/update-notifier/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=11.0.0" } }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/update-notifier/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "color-name": "~1.1.4" + "commander": "^2.8.1" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" } }, - "node_modules/update-notifier/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/update-notifier/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "engines": { - "node": ">=8" + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" } }, - "node_modules/update-notifier/node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "node_modules/semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", "dev": true, + "license": "MIT", + "optional": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/update-notifier/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "has-flag": "^4.0.0" + "semver": "^5.3.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" + "node": ">=0.10.0" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", - "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "node_modules/serve": { + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.6.tgz", + "integrity": "sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==", "dev": true, "license": "MIT", "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.12.3" + "@zeit/schemas": "2.36.0", + "ajv": "8.18.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.8.1", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.7", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" }, "engines": { - "node": ">= 0.4" + "node": ">= 14" } }, - "node_modules/url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "node_modules/serve-handler": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.7.tgz", + "integrity": "sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==", "dev": true, "license": "MIT", "dependencies": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^3.0.0 || ^4.0.0" + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.5", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" } }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/serve-handler/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true, "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, "engines": { - "node": ">= 4" + "node": ">= 0.8" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "node_modules/serve-handler/node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", "dev": true, "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true, "license": "MIT", - "optional": true, - "dependencies": { - "prepend-http": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "license": "MIT", - "optional": true, + "dependencies": { + "mime-db": "~1.33.0" + }, "engines": { - "node": ">= 4" + "node": ">= 0.6" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", "dev": true, "license": "MIT" }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "node_modules/serve-handler/node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", "dev": true, "license": "MIT", - "dependencies": { - "inherits": "2.0.3" + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.4" } }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true, - "license": "ISC" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, "engines": { - "node": ">= 0.4.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" } }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "node_modules/sharp/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, + "license": "ISC", "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, + "semver": "bin/semver.js" + }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "optional": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", - "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", - "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.", + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true, - "license": "MIT", - "dependencies": { - "@vue/compiler-sfc": "2.7.16", - "csstype": "^3.1.0" + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", - "dev": true, - "license": "MIT" + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/vue-loader": { - "version": "15.11.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz", - "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==", + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", "dev": true, "license": "MIT", "dependencies": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" }, - "peerDependencies": { - "css-loader": "*", - "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + "bin": { + "sitemap": "dist/esm/cli.js" }, - "peerDependenciesMeta": { - "cache-loader": { - "optional": true - }, - "prettier": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } + "engines": { + "node": ">=20.19.5", + "npm": ">=10.8.2" } }, - "node_modules/vue-router": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", - "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue-server-renderer": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.7.16.tgz", - "integrity": "sha512-U7GgR4rYmHmbs3Z2gqsasfk7JNuTsy/xrR5EMMGRLkjN8+ryDlqQq6Uu3DcmbCATAei814YOxyl0eq2HNqgXyQ==", + "node_modules/sitemap/node_modules/@types/node": { + "version": "24.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", + "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "hash-sum": "^2.0.0", - "he": "^1.2.0", - "lodash.template": "^4.5.0", - "lodash.uniq": "^4.5.0", - "resolve": "^1.22.0", - "serialize-javascript": "^6.0.0", - "source-map": "0.5.6" + "undici-types": "~7.16.0" } }, - "node_modules/vue-server-renderer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/sitemap/node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "license": "MIT" }, - "node_modules/vue-server-renderer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-plain-obj": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/vue-server-renderer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "color-name": "~1.1.4" + "sort-keys": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/vue-server-renderer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue-server-renderer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/vue-server-renderer/node_modules/hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue-server-renderer/node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/vue-server-renderer/node_modules/source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "license": "BSD-3-Clause" }, - "node_modules/vue-server-renderer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vue-style-loader": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", - "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", "dev": true, "license": "MIT", - "dependencies": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/vue-template-compiler": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", - "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, - "license": "MIT" + "optional": true }, - "node_modules/vue/node_modules/@vue/compiler-sfc": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", - "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", + "node_modules/string-width": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", + "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/parser": "^7.23.5", - "postcss": "^8.4.14", - "source-map": "^0.6.1" + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" }, - "optionalDependencies": { - "prettier": "^1.18.2 || ^2.0.0" - } - }, - "node_modules/vue/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vuepress": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-1.9.10.tgz", - "integrity": "sha512-UnGm9vjQvG918SZVNvgiUlNimLqawdYPq0aPRXDpEB1VksvqegVFy/GKdA8ShXJaEpOMPSt7YD4uK21jaMs3kA==", + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@vuepress/core": "1.9.10", - "@vuepress/theme-default": "1.9.10", - "@vuepress/types": "1.9.10", - "cac": "^6.5.6", - "envinfo": "^7.2.0", - "opencollective-postinstall": "^2.0.2", - "update-notifier": "^4.0.0" - }, - "bin": { - "vuepress": "cli.js" + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" }, - "engines": { - "node": ">=8.6" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/vuepress-html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==", + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" + "ansi-regex": "^6.2.2" }, "engines": { - "node": ">=6.9" + "node": ">=12" }, - "peerDependencies": { - "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/vuepress-html-webpack-plugin/node_modules/big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/vuepress-html-webpack-plugin/node_modules/emojis-list": { + "node_modules/strip-dirs": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true, - "license": "MIT", + "optional": true, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/vuepress-html-webpack-plugin/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=6" } }, - "node_modules/vuepress-html-webpack-plugin/node_modules/loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==", + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, "license": "MIT", - "dependencies": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/vuepress-html-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", "dev": true, "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/vuepress-html-webpack-plugin/node_modules/util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/vuepress-plugin-container": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.4.tgz", - "integrity": "sha512-l+EkeL+rC6DJch1wAZUFIkNDaz2TNOg4NQTHa3yMAsYkC+QaSRubGdN6YwOSmfjxVmM9s9D3gwBWw0O7OBhqRg==", + "node_modules/sync-child-process": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", + "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", "dev": true, "license": "MIT", "dependencies": { - "markdown-it-container": "^2.0.0" + "sync-message-port": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/vuepress-plugin-serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vuepress-plugin-serve/-/vuepress-plugin-serve-2.0.4.tgz", - "integrity": "sha512-k48WdAJ42+llZNXCbQ1ekDAZU54YXJtJRUpalAUkCP3FkI3esnUrMzyEKsosSdW2NSRLN9cPlj1qfhfYGhDNMw==", + "node_modules/sync-message-port": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.2.0.tgz", + "integrity": "sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==", "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "express": "^4.16.4", - "opn": "^5.4.0" + "license": "MIT", + "engines": { + "node": ">=16.0.0" } }, - "node_modules/vuepress-plugin-sitemap": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/vuepress-plugin-sitemap/-/vuepress-plugin-sitemap-2.3.1.tgz", - "integrity": "sha512-n+8lbukhrKrsI9H/EX0EBgkE1pn85LAQFvQ5dIvrZP4Kz6JxPOPPNTQmZMhahQV1tXbLZQCEN7A1WZH4x+arJQ==", + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "sitemap": "^3.0.0" - }, - "bin": { - "vuepress-sitemap": "cli.js" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" }, - "peerDependencies": { - "chalk": "^2.0.0", - "commander": "^2.0.0", - "esm": "^3.0.0" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/vuepress-plugin-smooth-scroll": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz", - "integrity": "sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg==", + "node_modules/temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", "dev": true, "license": "MIT", - "dependencies": { - "smoothscroll-polyfill": "^0.4.3" + "optional": true, + "engines": { + "node": ">=4" } }, - "node_modules/watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "node_modules/tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "engines": { + "node": ">=4" } }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } + "optional": true }, - "node_modules/watchpack/node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", "dev": true, "license": "MIT", "optional": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/watchpack/node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "fill-range": "^7.1.1" + "fdir": "^6.5.0", + "picomatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/watchpack/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", - "optional": true, - "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" + "node": ">=12.0.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/watchpack/node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "to-regex-range": "^5.0.1" + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/watchpack/node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "node_modules/to-buffer/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "optional": true }, - "node_modules/watchpack/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/watchpack/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "binary-extensions": "^2.0.0" + "escape-string-regexp": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/watchpack/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.12.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/watchpack/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/ts-debounce": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz", + "integrity": "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, - "license": "MIT", "optional": true, "dependencies": { - "picomatch": "^2.2.1" + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">=8.10.0" + "node": "*" } }, - "node_modules/watchpack/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "is-number": "^7.0.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": ">=8.0" + "node": ">= 0.4" } }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true, - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } + "license": "MIT" }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT" }, - "node_modules/webpack": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", - "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" } }, - "node_modules/webpack-chain": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", - "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "node_modules/undici": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", + "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", "dev": true, - "license": "MPL-2.0", - "dependencies": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=20.18.1" } }, - "node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "node_modules/undici-types": { + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", + "dev": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", "dev": true, "license": "MIT", "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-html-community": "0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/webpack-dev-server/node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/unist": "^3.0.0" }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-dev-server/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@types/unist": "^3.0.0" }, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" + "@types/unist": "^3.0.0" }, - "engines": { - "node": ">= 6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", "dev": true, "license": "MIT", "dependencies": { - "lodash": "^4.17.15" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", "dev": true, "license": "MIT", "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/webpack/node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", - "optional": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10.0.0" } }, - "node_modules/webpack/node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/unplugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-3.0.0.tgz", + "integrity": "sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "fill-range": "^7.1.1" + "@jridgewell/remapping": "^2.3.5", + "picomatch": "^4.0.3", + "webpack-virtual-modules": "^0.6.2" }, "engines": { - "node": ">=8" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/webpack/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/unplugin-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz", + "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", "dev": true, "license": "MIT", - "optional": true, "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" + "pathe": "^2.0.3", + "picomatch": "^4.0.3" }, "engines": { - "node": ">= 8.10.0" + "node": ">=20.19.0" }, "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "url": "https://github.com/sponsors/sxzz" } }, - "node_modules/webpack/node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", "dev": true, "license": "MIT", - "optional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=4", + "yarn": "*" } }, - "node_modules/webpack/node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/webpack/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", "dev": true, - "license": "ISC", - "optional": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" } }, - "node_modules/webpack/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "binary-extensions": "^2.0.0" + "prepend-http": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/webpack/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", "dev": true, "license": "MIT", "optional": true, "engines": { - "node": ">=0.12.0" + "node": ">= 4" } }, - "node_modules/webpack/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "optional": true + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, - "license": "MIT", "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" + "bin": { + "uuid": "bin/uuid" } }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } + "license": "MIT" }, - "node_modules/webpack/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/webpack/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "is-number": "^7.0.0" + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" }, - "engines": { - "node": ">=8.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/webpack/node_modules/watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/webpackbar": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-3.2.0.tgz", - "integrity": "sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==", + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", "dev": true, "license": "MIT", "dependencies": { - "ansi-escapes": "^4.1.0", - "chalk": "^2.4.1", - "consola": "^2.6.0", - "figures": "^3.0.0", - "pretty-time": "^1.1.0", - "std-env": "^2.2.1", - "text-table": "^0.2.0", - "wrap-ansi": "^5.1.0" - }, - "engines": { - "node": ">= 6.9.0" + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, - "peerDependencies": { - "webpack": "^3.0.0 || ^4.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "node_modules/vite": { + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.8.tgz", + "integrity": "sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.15", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } } }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "node_modules/vue": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.32.tgz", + "integrity": "sha512-vM4z4Q9tTafVfMAK7IVzmxg34rSzTFMyIe0UUEijUCkn9+23lj0WRfA83dg7eQZIUlgOSGrkViIaCfqSAUXsMw==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "@vue/compiler-dom": "3.5.32", + "@vue/compiler-sfc": "3.5.32", + "@vue/runtime-dom": "3.5.32", + "@vue/server-renderer": "3.5.32", + "@vue/shared": "3.5.32" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/when": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", - "integrity": "sha512-d1VUP9F96w664lKINMGeElWdhhb5sC+thXM+ydZGU3ZnaE09Wv6FaS+mpM9570kcDs/xMfcXJBTLsMdHEFYY9Q==", - "dev": true - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/vue-router": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-5.0.4.tgz", + "integrity": "sha512-lCqDLCI2+fKVRl2OzXuzdSWmxXFLQRxQbmHugnRpTMyYiT+hNaycV0faqG5FBHDXoYrZ6MQcX87BvbY8mQ20Bg==", "dev": true, + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "@babel/generator": "^7.28.6", + "@vue-macros/common": "^3.1.1", + "@vue/devtools-api": "^8.0.6", + "ast-walker-scope": "^0.8.3", + "chokidar": "^5.0.0", + "json5": "^2.2.3", + "local-pkg": "^1.1.2", + "magic-string": "^0.30.21", + "mlly": "^1.8.0", + "muggle-string": "^0.4.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "scule": "^1.3.0", + "tinyglobby": "^0.2.15", + "unplugin": "^3.0.0", + "unplugin-utils": "^0.3.1", + "yaml": "^2.8.2" }, - "bin": { - "node-which": "bin/node-which" + "funding": { + "url": "https://github.com/sponsors/posva" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "@pinia/colada": ">=0.21.2", + "@vue/compiler-sfc": "^3.5.17", + "pinia": "^3.0.4", + "vue": "^3.5.0" + }, + "peerDependenciesMeta": { + "@pinia/colada": { + "optional": true + }, + "@vue/compiler-sfc": { + "optional": true + }, + "pinia": { + "optional": true + } } }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "node_modules/vuepress": { + "version": "2.0.0-rc.28", + "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-2.0.0-rc.28.tgz", + "integrity": "sha512-Ltg8UfMDIzcl8j8GEoMkXJ7aO0LUhNlxtzJOYeLHMI1wbS/mNgH68hXNJhMb81jREcgb9OmdqAwCLlKdfGWNYA==", "dev": true, "license": "MIT", "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" + "@vuepress/cli": "2.0.0-rc.28", + "@vuepress/client": "2.0.0-rc.28", + "@vuepress/core": "2.0.0-rc.28", + "@vuepress/markdown": "2.0.0-rc.28", + "@vuepress/shared": "2.0.0-rc.28", + "@vuepress/utils": "2.0.0-rc.28", + "vue": "^3.5.31" + }, + "bin": { + "vuepress": "bin/vuepress.js", + "vuepress-vite": "bin/vuepress-vite.js", + "vuepress-webpack": "bin/vuepress-webpack.js" }, "engines": { - "node": ">= 0.4" + "node": "^20.9.0 || >=22.18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@vuepress/bundler-vite": "2.0.0-rc.28", + "@vuepress/bundler-webpack": "2.0.0-rc.28", + "vue": "^3.5.31" + }, + "peerDependenciesMeta": { + "@vuepress/bundler-vite": { + "optional": true + }, + "@vuepress/bundler-webpack": { + "optional": true + } } }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/which-builtin-type/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", "dev": true, "license": "MIT" }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", "dev": true, "license": "MIT", "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=18" } }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/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/which-typed-array": { "version": "1.1.20", @@ -21878,6 +9868,7 @@ "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", @@ -21895,270 +9886,176 @@ } }, "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^4.0.0" + "string-width": "^5.0.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/widest-line/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, "node_modules/widest-line/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "errno": "~0.1.7" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": 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": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/xmlbuilder": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", - "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", "dev": true, - "engines": { - "node": ">=6.0" - } + "optional": true }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, + "optional": true, "engines": { "node": ">=0.4" } }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true, - "license": "ISC" - }, "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } + "optional": true }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "dev": true, "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" + "bin": { + "yaml": "bin.mjs" }, "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "node": ">= 14.6" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "node_modules/yargs/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", "dev": true, "license": "MIT", - "optional": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } } } diff --git a/package.json b/package.json index 3d21c6bb3..400fbb172 100644 --- a/package.json +++ b/package.json @@ -2,27 +2,27 @@ "name": "@assemblyscript/website", "private": true, "version": "0.0.0", + "type": "module", "license": "Apache-2.0", "description": "AssemblyScript's Website.", "scripts": { - "start": "vuepress dev src --host localhost --no-cache", + "start": "vuepress dev src --host localhost --clean-cache", "build": "vuepress build src", - "serve": "vuepress serve src" + "serve": "serve dist" }, "devDependencies": { - "@vuepress/plugin-html-redirect": "^0.2.1", - "he": "^1.2.0", - "node-addon-api": "^8.7.0", - "node-fetch": "^2.7.0", - "node-gyp": "^12.2.0", - "pngquant": "^4.2.0", - "prism-themes": "^1.9.0", - "sharp": "^0.34.5", - "vuepress": "^1.9.10", - "vuepress-plugin-serve": "^2.0.4", - "vuepress-plugin-sitemap": "^2.3.1" - }, - "overrides": { - "watchpack": "2.5.1" + "@vuepress/bundler-vite": "2.0.0-rc.28", + "@vuepress/plugin-docsearch": "2.0.0-rc.128", + "@vuepress/plugin-redirect": "2.0.0-rc.128", + "@vuepress/plugin-register-components": "2.0.0-rc.128", + "@vuepress/theme-default": "2.0.0-rc.128", + "he": "latest", + "pngquant": "latest", + "prism-themes": "latest", + "prismjs": "latest", + "sass-embedded": "^1.99.0", + "serve": "latest", + "sharp": "latest", + "vuepress": "2.0.0-rc.28" } } diff --git a/scripts/update-data.js b/scripts/update-data.js index 0131053a0..67d012f0d 100644 --- a/scripts/update-data.js +++ b/scripts/update-data.js @@ -112,7 +112,7 @@ function updateSponsors() { /** Updates contributors data by pulling stats from GitHub. */ function updateContributors() { const contributors = {} - Promise.all(repos.map(repo => fetch('http://api.github.com/repos/' + repo + '/contributors').then(res => res.json()))) + Promise.all(repos.map(repo => fetch('https://api.github.com/repos/' + repo + '/contributors').then(res => res.json()))) .then(jsons => { jsons.forEach(json => { json diff --git a/src/.vuepress/.cache/deps/@vue_devtools-api.js b/src/.vuepress/.cache/deps/@vue_devtools-api.js new file mode 100644 index 000000000..2662b6ab3 --- /dev/null +++ b/src/.vuepress/.cache/deps/@vue_devtools-api.js @@ -0,0 +1,2 @@ +import { a as removeCustomCommand, i as onDevToolsConnected, n as addCustomTab, o as setupDevToolsPlugin, r as onDevToolsClientConnected, t as addCustomCommand } from "./dist-jlnTmUNc.js"; +export { addCustomCommand, addCustomTab, onDevToolsClientConnected, onDevToolsConnected, removeCustomCommand, setupDevToolsPlugin, setupDevToolsPlugin as setupDevtoolsPlugin }; diff --git a/src/.vuepress/.cache/deps/@vuepress_shared.js b/src/.vuepress/.cache/deps/@vuepress_shared.js new file mode 100644 index 000000000..be72898bb --- /dev/null +++ b/src/.vuepress/.cache/deps/@vuepress_shared.js @@ -0,0 +1,166 @@ +//#region node_modules/@vuepress/shared/dist/index.js +/** +* Determine a link has protocol or not +*/ +var isLinkWithProtocol = (link) => /^[a-z][a-z0-9+.-]*:/.test(link) || link.startsWith("//"); +var markdownLinkRegexp = /.md((\?|#).*)?$/; +/** +* Determine a link is external or not +*/ +var isLinkExternal = (link, base = "/") => isLinkWithProtocol(link) || link.startsWith("/") && !link.startsWith(base) && !markdownLinkRegexp.test(link); +/** +* Determine a link is http link or not +* +* - http://github.com +* - https://github.com +* - //github.com +*/ +var isLinkHttp = (link) => /^(https?:)?\/\//.test(link); +/** +* Infer route path of the given raw path +*/ +var inferRoutePath = (rawPath) => { + if (!rawPath || rawPath.endsWith("/")) return rawPath; + let routePath = rawPath.replace(/(^|\/)README.md$/i, "$1index.html"); + if (routePath.endsWith(".md")) routePath = `${routePath.substring(0, routePath.length - 3)}.html`; + else if (!routePath.endsWith(".html")) routePath = `${routePath}.html`; + if (routePath.endsWith("/index.html")) routePath = routePath.substring(0, routePath.length - 10); + return routePath; +}; +var FAKE_HOST = "http://."; +/** +* Normalize the given pathname path to the final route path +*/ +var normalizeRoutePath = (pathname, current) => { + if (!pathname.startsWith("/") && current) { + const loc = current.slice(0, current.lastIndexOf("/")); + return inferRoutePath(new URL(`${loc}/${pathname}`, FAKE_HOST).pathname); + } + return inferRoutePath(pathname); +}; +/** +* Resolve the matched locale path of route path +*/ +var resolveLocalePath = (locales, routePath) => { + const localePaths = Object.keys(locales).sort((a, b) => { + const levelDelta = b.split("/").length - a.split("/").length; + if (levelDelta !== 0) return levelDelta; + return b.length - a.length; + }); + for (const localePath of localePaths) if (routePath.startsWith(localePath)) return localePath; + return "/"; +}; +/** +* For a give URL, remove the origin and the site base to get the route path +*/ +var resolveRoutePathFromUrl = (url, base = "/") => { + const pathname = url.replace(/^(?:https?:)?\/\/[^/]*/, ""); + return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname; +}; +var SPLIT_CHAR_REGEXP = /(#|\?)/; +/** +* Split a path into pathname and hashAndQueries +*/ +var splitPath = (path) => { + const [pathname, ...hashAndQueries] = path.split(SPLIT_CHAR_REGEXP); + return { + pathname, + hashAndQueries: hashAndQueries.join("") + }; +}; +var TAGS_ALLOWED = [ + "link", + "meta", + "script", + "style", + "noscript", + "template" +]; +var TAGS_UNIQUE = ["title", "base"]; +/** +* Resolve identifier of a tag, to avoid duplicated tags in `` +*/ +var resolveHeadIdentifier = ([tag, attrs, content]) => { + if (TAGS_UNIQUE.includes(tag)) return tag; + if (!TAGS_ALLOWED.includes(tag)) return null; + if (tag === "meta" && attrs.name) return `${tag}.${attrs.name}`; + if (tag === "template" && attrs.id) return `${tag}.${attrs.id}`; + return JSON.stringify([ + tag, + Object.entries(attrs).map(([key, value]) => { + if (typeof value === "boolean") return value ? [key, ""] : null; + return [key, value]; + }).filter((item) => item != null).sort(([keyA], [keyB]) => keyA.localeCompare(keyB)), + content + ]); +}; +/** +* Dedupe head config with identifier +* +* Items that appear earlier have higher priority +*/ +var dedupeHead = (head) => { + const identifierSet = /* @__PURE__ */ new Set(); + const result = []; + head.forEach((item) => { + const identifier = resolveHeadIdentifier(item); + if (identifier && !identifierSet.has(identifier)) { + identifierSet.add(identifier); + result.push(item); + } + }); + return result; +}; +/** +* Ensure a url string to have leading slash / +*/ +var ensureLeadingSlash = (str) => str.startsWith("/") ? str : `/${str}`; +/** +* Ensure a url string to have ending slash / +*/ +var ensureEndingSlash = (str) => str.endsWith("/") || str.endsWith(".html") ? str : `${str}/`; +/** +* Format a date string to `yyyy-MM-dd` +*/ +var formatDateString = (str, defaultDateString = "") => { + const dateMatch = str.match(/\b(\d{4})-(\d{1,2})-(\d{1,2})\b/); + if (dateMatch === null) return defaultDateString; + const [, yearStr, monthStr, dayStr] = dateMatch; + return [ + yearStr, + monthStr.padStart(2, "0"), + dayStr.padStart(2, "0") + ].join("-"); +}; +/** +* Omit properties from an object +*/ +var omit = (obj, ...keys) => { + const result = { ...obj }; + for (const key of keys) delete result[key]; + return result; +}; +/** +* Remove ending slash / from a string +*/ +var removeEndingSlash = (str) => str.endsWith("/") ? str.slice(0, -1) : str; +/** +* Remove leading slash / from a string +*/ +var removeLeadingSlash = (str) => str.startsWith("/") ? str.slice(1) : str; +/** +* Check if a value is a function +*/ +var isFunction = (val) => typeof val === "function"; +/** +* Check if a value is plain object, with generic type support +*/ +var isPlainObject = (val) => Object.prototype.toString.call(val) === "[object Object]"; +/** +* Check if a value is a string +*/ +var isString = (val) => typeof val === "string"; +//#endregion +export { dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, inferRoutePath, isFunction, isLinkExternal, isLinkHttp, isLinkWithProtocol, isPlainObject, isString, normalizeRoutePath, omit, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl, splitPath }; + +//# sourceMappingURL=@vuepress_shared.js.map \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/@vuepress_shared.js.map b/src/.vuepress/.cache/deps/@vuepress_shared.js.map new file mode 100644 index 000000000..35d892655 --- /dev/null +++ b/src/.vuepress/.cache/deps/@vuepress_shared.js.map @@ -0,0 +1 @@ +{"version":3,"file":"@vuepress_shared.js","names":[],"sources":["../../../../node_modules/@vuepress/shared/dist/index.js"],"sourcesContent":["//#region src/utils/links/isLinkWithProtocol.ts\n/**\n* Determine a link has protocol or not\n*/\nconst isLinkWithProtocol = (link) => /^[a-z][a-z0-9+.-]*:/.test(link) || link.startsWith(\"//\");\n//#endregion\n//#region src/utils/links/isLinkExternal.ts\nconst markdownLinkRegexp = /.md((\\?|#).*)?$/;\n/**\n* Determine a link is external or not\n*/\nconst isLinkExternal = (link, base = \"/\") => isLinkWithProtocol(link) || link.startsWith(\"/\") && !link.startsWith(base) && !markdownLinkRegexp.test(link);\n//#endregion\n//#region src/utils/links/isLinkHttp.ts\n/**\n* Determine a link is http link or not\n*\n* - http://github.com\n* - https://github.com\n* - //github.com\n*/\nconst isLinkHttp = (link) => /^(https?:)?\\/\\//.test(link);\n//#endregion\n//#region src/utils/routes/inferRoutePath.ts\n/**\n* Infer route path of the given raw path\n*/\nconst inferRoutePath = (rawPath) => {\n\tif (!rawPath || rawPath.endsWith(\"/\")) return rawPath;\n\tlet routePath = rawPath.replace(/(^|\\/)README.md$/i, \"$1index.html\");\n\tif (routePath.endsWith(\".md\")) routePath = `${routePath.substring(0, routePath.length - 3)}.html`;\n\telse if (!routePath.endsWith(\".html\")) routePath = `${routePath}.html`;\n\tif (routePath.endsWith(\"/index.html\")) routePath = routePath.substring(0, routePath.length - 10);\n\treturn routePath;\n};\n//#endregion\n//#region src/utils/routes/normalizeRoutePath.ts\nconst FAKE_HOST = \"http://.\";\n/**\n* Normalize the given pathname path to the final route path\n*/\nconst normalizeRoutePath = (pathname, current) => {\n\tif (!pathname.startsWith(\"/\") && current) {\n\t\tconst loc = current.slice(0, current.lastIndexOf(\"/\"));\n\t\treturn inferRoutePath(new URL(`${loc}/${pathname}`, FAKE_HOST).pathname);\n\t}\n\treturn inferRoutePath(pathname);\n};\n//#endregion\n//#region src/utils/routes/resolveLocalePath.ts\n/**\n* Resolve the matched locale path of route path\n*/\nconst resolveLocalePath = (locales, routePath) => {\n\tconst localePaths = Object.keys(locales).sort((a, b) => {\n\t\tconst levelDelta = b.split(\"/\").length - a.split(\"/\").length;\n\t\tif (levelDelta !== 0) return levelDelta;\n\t\treturn b.length - a.length;\n\t});\n\tfor (const localePath of localePaths) if (routePath.startsWith(localePath)) return localePath;\n\treturn \"/\";\n};\n//#endregion\n//#region src/utils/routes/resolveRoutePathFromUrl.ts\n/**\n* For a give URL, remove the origin and the site base to get the route path\n*/\nconst resolveRoutePathFromUrl = (url, base = \"/\") => {\n\tconst pathname = url.replace(/^(?:https?:)?\\/\\/[^/]*/, \"\");\n\treturn pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname;\n};\n//#endregion\n//#region src/utils/routes/splitPath.ts\nconst SPLIT_CHAR_REGEXP = /(#|\\?)/;\n/**\n* Split a path into pathname and hashAndQueries\n*/\nconst splitPath = (path) => {\n\tconst [pathname, ...hashAndQueries] = path.split(SPLIT_CHAR_REGEXP);\n\treturn {\n\t\tpathname,\n\t\thashAndQueries: hashAndQueries.join(\"\")\n\t};\n};\n//#endregion\n//#region src/utils/resolveHeadIdentifier.ts\nconst TAGS_ALLOWED = [\n\t\"link\",\n\t\"meta\",\n\t\"script\",\n\t\"style\",\n\t\"noscript\",\n\t\"template\"\n];\nconst TAGS_UNIQUE = [\"title\", \"base\"];\n/**\n* Resolve identifier of a tag, to avoid duplicated tags in ``\n*/\nconst resolveHeadIdentifier = ([tag, attrs, content]) => {\n\tif (TAGS_UNIQUE.includes(tag)) return tag;\n\tif (!TAGS_ALLOWED.includes(tag)) return null;\n\tif (tag === \"meta\" && attrs.name) return `${tag}.${attrs.name}`;\n\tif (tag === \"template\" && attrs.id) return `${tag}.${attrs.id}`;\n\treturn JSON.stringify([\n\t\ttag,\n\t\tObject.entries(attrs).map(([key, value]) => {\n\t\t\tif (typeof value === \"boolean\") return value ? [key, \"\"] : null;\n\t\t\treturn [key, value];\n\t\t}).filter((item) => item != null).sort(([keyA], [keyB]) => keyA.localeCompare(keyB)),\n\t\tcontent\n\t]);\n};\n//#endregion\n//#region src/utils/dedupeHead.ts\n/**\n* Dedupe head config with identifier\n*\n* Items that appear earlier have higher priority\n*/\nconst dedupeHead = (head) => {\n\tconst identifierSet = /* @__PURE__ */ new Set();\n\tconst result = [];\n\thead.forEach((item) => {\n\t\tconst identifier = resolveHeadIdentifier(item);\n\t\tif (identifier && !identifierSet.has(identifier)) {\n\t\t\tidentifierSet.add(identifier);\n\t\t\tresult.push(item);\n\t\t}\n\t});\n\treturn result;\n};\n//#endregion\n//#region src/utils/ensureLeadingSlash.ts\n/**\n* Ensure a url string to have leading slash /\n*/\nconst ensureLeadingSlash = (str) => str.startsWith(\"/\") ? str : `/${str}`;\n//#endregion\n//#region src/utils/ensureEndingSlash.ts\n/**\n* Ensure a url string to have ending slash /\n*/\nconst ensureEndingSlash = (str) => str.endsWith(\"/\") || str.endsWith(\".html\") ? str : `${str}/`;\n//#endregion\n//#region src/utils/formatDateString.ts\n/**\n* Format a date string to `yyyy-MM-dd`\n*/\nconst formatDateString = (str, defaultDateString = \"\") => {\n\tconst dateMatch = str.match(/\\b(\\d{4})-(\\d{1,2})-(\\d{1,2})\\b/);\n\tif (dateMatch === null) return defaultDateString;\n\tconst [, yearStr, monthStr, dayStr] = dateMatch;\n\treturn [\n\t\tyearStr,\n\t\tmonthStr.padStart(2, \"0\"),\n\t\tdayStr.padStart(2, \"0\")\n\t].join(\"-\");\n};\n//#endregion\n//#region src/utils/omit.ts\n/**\n* Omit properties from an object\n*/\nconst omit = (obj, ...keys) => {\n\tconst result = { ...obj };\n\tfor (const key of keys) delete result[key];\n\treturn result;\n};\n//#endregion\n//#region src/utils/removeEndingSlash.ts\n/**\n* Remove ending slash / from a string\n*/\nconst removeEndingSlash = (str) => str.endsWith(\"/\") ? str.slice(0, -1) : str;\n//#endregion\n//#region src/utils/removeLeadingSlash.ts\n/**\n* Remove leading slash / from a string\n*/\nconst removeLeadingSlash = (str) => str.startsWith(\"/\") ? str.slice(1) : str;\n//#endregion\n//#region src/utils/typeGuards.ts\n/**\n* Check if a value is a function\n*/\nconst isFunction = (val) => typeof val === \"function\";\n/**\n* Check if a value is plain object, with generic type support\n*/\nconst isPlainObject = (val) => Object.prototype.toString.call(val) === \"[object Object]\";\n/**\n* Check if a value is a string\n*/\nconst isString = (val) => typeof val === \"string\";\n//#endregion\nexport { dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, inferRoutePath, isFunction, isLinkExternal, isLinkHttp, isLinkWithProtocol, isPlainObject, isString, normalizeRoutePath, omit, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl, splitPath };\n"],"x_google_ignoreList":[0],"mappings":"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"} \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/_metadata.json b/src/.vuepress/.cache/deps/_metadata.json new file mode 100644 index 000000000..fed488a97 --- /dev/null +++ b/src/.vuepress/.cache/deps/_metadata.json @@ -0,0 +1,42 @@ +{ + "hash": "954000a8", + "configHash": "4e81fcb7", + "lockfileHash": "da049295", + "browserHash": "9957b08d", + "optimized": { + "@vue/devtools-api": { + "src": "../../../../node_modules/@vue/devtools-api/dist/index.js", + "file": "@vue_devtools-api.js", + "fileHash": "16491cf7", + "needsInterop": false + }, + "@vuepress/shared": { + "src": "../../../../node_modules/@vuepress/shared/dist/index.js", + "file": "@vuepress_shared.js", + "fileHash": "b36765a9", + "needsInterop": false + }, + "vue-router": { + "src": "../../../../node_modules/vue-router/dist/vue-router.js", + "file": "vue-router.js", + "fileHash": "60f0bcb9", + "needsInterop": false + }, + "vue": { + "src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", + "file": "vue.js", + "fileHash": "b37f449d", + "needsInterop": false + } + }, + "chunks": { + "dist-jlnTmUNc": { + "file": "dist-jlnTmUNc.js", + "isDynamicEntry": false + }, + "vue.runtime.esm-bundler-CJdF6Oq_": { + "file": "vue.runtime.esm-bundler-CJdF6Oq_.js", + "isDynamicEntry": false + } + } +} \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/dist-jlnTmUNc.js b/src/.vuepress/.cache/deps/dist-jlnTmUNc.js new file mode 100644 index 000000000..8ce172dab --- /dev/null +++ b/src/.vuepress/.cache/deps/dist-jlnTmUNc.js @@ -0,0 +1,3826 @@ +//#region node_modules/@vue/devtools-shared/dist/index.js +var __create$1 = Object.create; +var __defProp$1 = Object.defineProperty; +var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor; +var __getOwnPropNames$1 = Object.getOwnPropertyNames; +var __getProtoOf$1 = Object.getPrototypeOf; +var __hasOwnProp$1 = Object.prototype.hasOwnProperty; +var __commonJSMin$1 = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports); +var __copyProps$1 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames$1(from), i = 0, n = keys.length, key; i < n; i++) { + key = keys[i]; + if (!__hasOwnProp$1.call(to, key) && key !== except) __defProp$1(to, key, { + get: ((k) => from[k]).bind(null, key), + enumerable: !(desc = __getOwnPropDesc$1(from, key)) || desc.enumerable + }); + } + return to; +}; +var __toESM$1 = (mod, isNodeMode, target) => (target = mod != null ? __create$1(__getProtoOf$1(mod)) : {}, __copyProps$1(isNodeMode || !mod || !mod.__esModule ? __defProp$1(target, "default", { + value: mod, + enumerable: true +}) : target, mod)); +var isBrowser = typeof navigator !== "undefined"; +var target = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : {}; +typeof target.chrome !== "undefined" && target.chrome.devtools; +isBrowser && (target.self, target.top); +typeof navigator !== "undefined" && navigator.userAgent?.toLowerCase().includes("electron"); +typeof window !== "undefined" && window.__NUXT__; +var import_rfdc = /* @__PURE__ */ __toESM$1((/* @__PURE__ */ __commonJSMin$1(((exports, module) => { + module.exports = rfdc; + function copyBuffer(cur) { + if (cur instanceof Buffer) return Buffer.from(cur); + return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length); + } + function rfdc(opts) { + opts = opts || {}; + if (opts.circles) return rfdcCircles(opts); + const constructorHandlers = /* @__PURE__ */ new Map(); + constructorHandlers.set(Date, (o) => new Date(o)); + constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn))); + constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn))); + if (opts.constructorHandlers) for (const handler of opts.constructorHandlers) constructorHandlers.set(handler[0], handler[1]); + let handler = null; + return opts.proto ? cloneProto : clone; + function cloneArray(a, fn) { + const keys = Object.keys(a); + const a2 = new Array(keys.length); + for (let i = 0; i < keys.length; i++) { + const k = keys[i]; + const cur = a[k]; + if (typeof cur !== "object" || cur === null) a2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn); + else if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur); + else a2[k] = fn(cur); + } + return a2; + } + function clone(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, clone); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone); + const o2 = {}; + for (const k in o) { + if (Object.hasOwnProperty.call(o, k) === false) continue; + const cur = o[k]; + if (typeof cur !== "object" || cur === null) o2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone); + else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); + else o2[k] = clone(cur); + } + return o2; + } + function cloneProto(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, cloneProto); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto); + const o2 = {}; + for (const k in o) { + const cur = o[k]; + if (typeof cur !== "object" || cur === null) o2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto); + else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); + else o2[k] = cloneProto(cur); + } + return o2; + } + } + function rfdcCircles(opts) { + const refs = []; + const refsNew = []; + const constructorHandlers = /* @__PURE__ */ new Map(); + constructorHandlers.set(Date, (o) => new Date(o)); + constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn))); + constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn))); + if (opts.constructorHandlers) for (const handler of opts.constructorHandlers) constructorHandlers.set(handler[0], handler[1]); + let handler = null; + return opts.proto ? cloneProto : clone; + function cloneArray(a, fn) { + const keys = Object.keys(a); + const a2 = new Array(keys.length); + for (let i = 0; i < keys.length; i++) { + const k = keys[i]; + const cur = a[k]; + if (typeof cur !== "object" || cur === null) a2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn); + else if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur); + else { + const index = refs.indexOf(cur); + if (index !== -1) a2[k] = refsNew[index]; + else a2[k] = fn(cur); + } + } + return a2; + } + function clone(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, clone); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone); + const o2 = {}; + refs.push(o); + refsNew.push(o2); + for (const k in o) { + if (Object.hasOwnProperty.call(o, k) === false) continue; + const cur = o[k]; + if (typeof cur !== "object" || cur === null) o2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone); + else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); + else { + const i = refs.indexOf(cur); + if (i !== -1) o2[k] = refsNew[i]; + else o2[k] = clone(cur); + } + } + refs.pop(); + refsNew.pop(); + return o2; + } + function cloneProto(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, cloneProto); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto); + const o2 = {}; + refs.push(o); + refsNew.push(o2); + for (const k in o) { + const cur = o[k]; + if (typeof cur !== "object" || cur === null) o2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto); + else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); + else { + const i = refs.indexOf(cur); + if (i !== -1) o2[k] = refsNew[i]; + else o2[k] = cloneProto(cur); + } + } + refs.pop(); + refsNew.pop(); + return o2; + } + } +})))(), 1); +var classifyRE = /(?:^|[-_/])(\w)/g; +function toUpper(_, c) { + return c ? c.toUpperCase() : ""; +} +function classify(str) { + return str && `${str}`.replace(classifyRE, toUpper); +} +function basename(filename, ext) { + let normalizedFilename = filename.replace(/^[a-z]:/i, "").replace(/\\/g, "/"); + if (normalizedFilename.endsWith(`index${ext}`)) normalizedFilename = normalizedFilename.replace(`/index${ext}`, ext); + const lastSlashIndex = normalizedFilename.lastIndexOf("/"); + const baseNameWithExt = normalizedFilename.substring(lastSlashIndex + 1); + if (ext) { + const extIndex = baseNameWithExt.lastIndexOf(ext); + return baseNameWithExt.substring(0, extIndex); + } + return ""; +} +var HTTP_URL_RE = /^https?:\/\//; +/** +* Check a string is start with `/` or a valid http url +*/ +function isUrlString(str) { + return str.startsWith("/") || HTTP_URL_RE.test(str); +} +/** +* @copyright [rfdc](https://github.com/davidmarkclements/rfdc) +* @description A really fast deep clone alternative +*/ +var deepClone = (0, import_rfdc.default)({ circles: true }); +//#endregion +//#region node_modules/perfect-debounce/dist/index.mjs +var DEBOUNCE_DEFAULTS = { trailing: true }; +/** +Debounce functions +@param fn - Promise-returning/async function to debounce. +@param wait - Milliseconds to wait before calling `fn`. Default value is 25ms +@returns A function that delays calling `fn` until after `wait` milliseconds have elapsed since the last time it was called. +@example +``` +import { debounce } from 'perfect-debounce'; +const expensiveCall = async input => input; +const debouncedFn = debounce(expensiveCall, 200); +for (const number of [1, 2, 3]) { +console.log(await debouncedFn(number)); +} +//=> 1 +//=> 2 +//=> 3 +``` +*/ +function debounce(fn, wait = 25, options = {}) { + options = { + ...DEBOUNCE_DEFAULTS, + ...options + }; + if (!Number.isFinite(wait)) throw new TypeError("Expected `wait` to be a finite number"); + let leadingValue; + let timeout; + let resolveList = []; + let currentPromise; + let trailingArgs; + const applyFn = (_this, args) => { + currentPromise = _applyPromised(fn, _this, args); + currentPromise.finally(() => { + currentPromise = null; + if (options.trailing && trailingArgs && !timeout) { + const promise = applyFn(_this, trailingArgs); + trailingArgs = null; + return promise; + } + }); + return currentPromise; + }; + const debounced = function(...args) { + if (options.trailing) trailingArgs = args; + if (currentPromise) return currentPromise; + return new Promise((resolve) => { + const shouldCallNow = !timeout && options.leading; + clearTimeout(timeout); + timeout = setTimeout(() => { + timeout = null; + const promise = options.leading ? leadingValue : applyFn(this, args); + trailingArgs = null; + for (const _resolve of resolveList) _resolve(promise); + resolveList = []; + }, wait); + if (shouldCallNow) { + leadingValue = applyFn(this, args); + resolve(leadingValue); + } else resolveList.push(resolve); + }); + }; + const _clearTimeout = (timer) => { + if (timer) { + clearTimeout(timer); + timeout = null; + } + }; + debounced.isPending = () => !!timeout; + debounced.cancel = () => { + _clearTimeout(timeout); + resolveList = []; + trailingArgs = null; + }; + debounced.flush = () => { + _clearTimeout(timeout); + if (!trailingArgs || currentPromise) return; + const args = trailingArgs; + trailingArgs = null; + return applyFn(this, args); + }; + return debounced; +} +async function _applyPromised(fn, _this, args) { + return await fn.apply(_this, args); +} +//#endregion +//#region node_modules/hookable/dist/index.mjs +function flatHooks(configHooks, hooks = {}, parentName) { + for (const key in configHooks) { + const subHook = configHooks[key]; + const name = parentName ? `${parentName}:${key}` : key; + if (typeof subHook === "object" && subHook !== null) flatHooks(subHook, hooks, name); + else if (typeof subHook === "function") hooks[name] = subHook; + } + return hooks; +} +var defaultTask = { run: (function_) => function_() }; +var _createTask = () => defaultTask; +var createTask = typeof console.createTask !== "undefined" ? console.createTask : _createTask; +function serialTaskCaller(hooks, args) { + const task = createTask(args.shift()); + return hooks.reduce((promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))), Promise.resolve()); +} +function parallelTaskCaller(hooks, args) { + const task = createTask(args.shift()); + return Promise.all(hooks.map((hook) => task.run(() => hook(...args)))); +} +function callEachWith(callbacks, arg0) { + for (const callback of [...callbacks]) callback(arg0); +} +var Hookable = class { + constructor() { + this._hooks = {}; + this._before = void 0; + this._after = void 0; + this._deprecatedMessages = void 0; + this._deprecatedHooks = {}; + this.hook = this.hook.bind(this); + this.callHook = this.callHook.bind(this); + this.callHookWith = this.callHookWith.bind(this); + } + hook(name, function_, options = {}) { + if (!name || typeof function_ !== "function") return () => {}; + const originalName = name; + let dep; + while (this._deprecatedHooks[name]) { + dep = this._deprecatedHooks[name]; + name = dep.to; + } + if (dep && !options.allowDeprecated) { + let message = dep.message; + if (!message) message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : ""); + if (!this._deprecatedMessages) this._deprecatedMessages = /* @__PURE__ */ new Set(); + if (!this._deprecatedMessages.has(message)) { + console.warn(message); + this._deprecatedMessages.add(message); + } + } + if (!function_.name) try { + Object.defineProperty(function_, "name", { + get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb", + configurable: true + }); + } catch {} + this._hooks[name] = this._hooks[name] || []; + this._hooks[name].push(function_); + return () => { + if (function_) { + this.removeHook(name, function_); + function_ = void 0; + } + }; + } + hookOnce(name, function_) { + let _unreg; + let _function = (...arguments_) => { + if (typeof _unreg === "function") _unreg(); + _unreg = void 0; + _function = void 0; + return function_(...arguments_); + }; + _unreg = this.hook(name, _function); + return _unreg; + } + removeHook(name, function_) { + if (this._hooks[name]) { + const index = this._hooks[name].indexOf(function_); + if (index !== -1) this._hooks[name].splice(index, 1); + if (this._hooks[name].length === 0) delete this._hooks[name]; + } + } + deprecateHook(name, deprecated) { + this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated; + const _hooks = this._hooks[name] || []; + delete this._hooks[name]; + for (const hook of _hooks) this.hook(name, hook); + } + deprecateHooks(deprecatedHooks) { + Object.assign(this._deprecatedHooks, deprecatedHooks); + for (const name in deprecatedHooks) this.deprecateHook(name, deprecatedHooks[name]); + } + addHooks(configHooks) { + const hooks = flatHooks(configHooks); + const removeFns = Object.keys(hooks).map((key) => this.hook(key, hooks[key])); + return () => { + for (const unreg of removeFns.splice(0, removeFns.length)) unreg(); + }; + } + removeHooks(configHooks) { + const hooks = flatHooks(configHooks); + for (const key in hooks) this.removeHook(key, hooks[key]); + } + removeAllHooks() { + for (const key in this._hooks) delete this._hooks[key]; + } + callHook(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(serialTaskCaller, name, ...arguments_); + } + callHookParallel(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(parallelTaskCaller, name, ...arguments_); + } + callHookWith(caller, name, ...arguments_) { + const event = this._before || this._after ? { + name, + args: arguments_, + context: {} + } : void 0; + if (this._before) callEachWith(this._before, event); + const result = caller(name in this._hooks ? [...this._hooks[name]] : [], arguments_); + if (result instanceof Promise) return result.finally(() => { + if (this._after && event) callEachWith(this._after, event); + }); + if (this._after && event) callEachWith(this._after, event); + return result; + } + beforeEach(function_) { + this._before = this._before || []; + this._before.push(function_); + return () => { + if (this._before !== void 0) { + const index = this._before.indexOf(function_); + if (index !== -1) this._before.splice(index, 1); + } + }; + } + afterEach(function_) { + this._after = this._after || []; + this._after.push(function_); + return () => { + if (this._after !== void 0) { + const index = this._after.indexOf(function_); + if (index !== -1) this._after.splice(index, 1); + } + }; + } +}; +function createHooks() { + return new Hookable(); +} +//#endregion +//#region node_modules/birpc/dist/index.mjs +var { clearTimeout: clearTimeout$1, setTimeout: setTimeout$1 } = globalThis; +Math.random.bind(Math); +var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports); +function getComponentTypeName(options) { + if (typeof options === "function") return options.displayName || options.name || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || ""; + const name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name; + if (name === "index" && options.__file?.endsWith("index.vue")) return ""; + return name; +} +function getComponentFileName(options) { + const file = options.__file; + if (file) return classify(basename(file, ".vue")); +} +function saveComponentGussedName(instance, name) { + instance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name; + return name; +} +function getAppRecord(instance) { + if (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__) return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__; + else if (instance.root) return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__; +} +function isFragment(instance) { + const subTreeType = instance.subTree?.type; + const appRecord = getAppRecord(instance); + if (appRecord) return appRecord?.types?.Fragment === subTreeType; + return false; +} +/** +* Get the appropriate display name for an instance. +* +* @param {Vue} instance +* @return {string} +*/ +function getInstanceName(instance) { + const name = getComponentTypeName(instance?.type || {}); + if (name) return name; + if (instance?.root === instance) return "Root"; + for (const key in instance.parent?.type?.components) if (instance.parent.type.components[key] === instance?.type) return saveComponentGussedName(instance, key); + for (const key in instance.appContext?.components) if (instance.appContext.components[key] === instance?.type) return saveComponentGussedName(instance, key); + const fileName = getComponentFileName(instance?.type || {}); + if (fileName) return fileName; + return "Anonymous Component"; +} +/** +* Returns a devtools unique id for instance. +* @param {Vue} instance +*/ +function getUniqueComponentId(instance) { + return `${instance?.appContext?.app?.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ ?? 0}:${instance === instance?.root ? "root" : instance.uid}`; +} +function getComponentInstance(appRecord, instanceId) { + instanceId = instanceId || `${appRecord.id}:root`; + return appRecord.instanceMap.get(instanceId) || appRecord.instanceMap.get(":root"); +} +function createRect() { + const rect = { + top: 0, + bottom: 0, + left: 0, + right: 0, + get width() { + return rect.right - rect.left; + }, + get height() { + return rect.bottom - rect.top; + } + }; + return rect; +} +var range; +function getTextRect(node) { + if (!range) range = document.createRange(); + range.selectNode(node); + return range.getBoundingClientRect(); +} +function getFragmentRect(vnode) { + const rect = createRect(); + if (!vnode.children) return rect; + for (let i = 0, l = vnode.children.length; i < l; i++) { + const childVnode = vnode.children[i]; + let childRect; + if (childVnode.component) childRect = getComponentBoundingRect(childVnode.component); + else if (childVnode.el) { + const el = childVnode.el; + if (el.nodeType === 1 || el.getBoundingClientRect) childRect = el.getBoundingClientRect(); + else if (el.nodeType === 3 && el.data.trim()) childRect = getTextRect(el); + } + if (childRect) mergeRects(rect, childRect); + } + return rect; +} +function mergeRects(a, b) { + if (!a.top || b.top < a.top) a.top = b.top; + if (!a.bottom || b.bottom > a.bottom) a.bottom = b.bottom; + if (!a.left || b.left < a.left) a.left = b.left; + if (!a.right || b.right > a.right) a.right = b.right; + return a; +} +var DEFAULT_RECT = { + top: 0, + left: 0, + right: 0, + bottom: 0, + width: 0, + height: 0 +}; +function getComponentBoundingRect(instance) { + const el = instance.subTree.el; + if (typeof window === "undefined") return DEFAULT_RECT; + if (isFragment(instance)) return getFragmentRect(instance.subTree); + else if (el?.nodeType === 1) return el?.getBoundingClientRect(); + else if (instance.subTree.component) return getComponentBoundingRect(instance.subTree.component); + else return DEFAULT_RECT; +} +function getRootElementsFromComponentInstance(instance) { + if (isFragment(instance)) return getFragmentRootElements(instance.subTree); + if (!instance.subTree) return []; + return [instance.subTree.el]; +} +function getFragmentRootElements(vnode) { + if (!vnode.children) return []; + const list = []; + vnode.children.forEach((childVnode) => { + if (childVnode.component) list.push(...getRootElementsFromComponentInstance(childVnode.component)); + else if (childVnode?.el) list.push(childVnode.el); + }); + return list; +} +var CONTAINER_ELEMENT_ID = "__vue-devtools-component-inspector__"; +var CARD_ELEMENT_ID = "__vue-devtools-component-inspector__card__"; +var COMPONENT_NAME_ELEMENT_ID = "__vue-devtools-component-inspector__name__"; +var INDICATOR_ELEMENT_ID = "__vue-devtools-component-inspector__indicator__"; +var containerStyles = { + display: "block", + zIndex: 2147483640, + position: "fixed", + backgroundColor: "#42b88325", + border: "1px solid #42b88350", + borderRadius: "5px", + transition: "all 0.1s ease-in", + pointerEvents: "none" +}; +var cardStyles = { + fontFamily: "Arial, Helvetica, sans-serif", + padding: "5px 8px", + borderRadius: "4px", + textAlign: "left", + position: "absolute", + left: 0, + color: "#e9e9e9", + fontSize: "14px", + fontWeight: 600, + lineHeight: "24px", + backgroundColor: "#42b883", + boxShadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" +}; +var indicatorStyles = { + display: "inline-block", + fontWeight: 400, + fontStyle: "normal", + fontSize: "12px", + opacity: .7 +}; +function getContainerElement() { + return document.getElementById(CONTAINER_ELEMENT_ID); +} +function getCardElement() { + return document.getElementById(CARD_ELEMENT_ID); +} +function getIndicatorElement() { + return document.getElementById(INDICATOR_ELEMENT_ID); +} +function getNameElement() { + return document.getElementById(COMPONENT_NAME_ELEMENT_ID); +} +function getStyles(bounds) { + return { + left: `${Math.round(bounds.left * 100) / 100}px`, + top: `${Math.round(bounds.top * 100) / 100}px`, + width: `${Math.round(bounds.width * 100) / 100}px`, + height: `${Math.round(bounds.height * 100) / 100}px` + }; +} +function create(options) { + const containerEl = document.createElement("div"); + containerEl.id = options.elementId ?? CONTAINER_ELEMENT_ID; + Object.assign(containerEl.style, { + ...containerStyles, + ...getStyles(options.bounds), + ...options.style + }); + const cardEl = document.createElement("span"); + cardEl.id = CARD_ELEMENT_ID; + Object.assign(cardEl.style, { + ...cardStyles, + top: options.bounds.top < 35 ? 0 : "-35px" + }); + const nameEl = document.createElement("span"); + nameEl.id = COMPONENT_NAME_ELEMENT_ID; + nameEl.innerHTML = `<${options.name}>  `; + const indicatorEl = document.createElement("i"); + indicatorEl.id = INDICATOR_ELEMENT_ID; + indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`; + Object.assign(indicatorEl.style, indicatorStyles); + cardEl.appendChild(nameEl); + cardEl.appendChild(indicatorEl); + containerEl.appendChild(cardEl); + document.body.appendChild(containerEl); + return containerEl; +} +function update(options) { + const containerEl = getContainerElement(); + const cardEl = getCardElement(); + const nameEl = getNameElement(); + const indicatorEl = getIndicatorElement(); + if (containerEl) { + Object.assign(containerEl.style, { + ...containerStyles, + ...getStyles(options.bounds) + }); + Object.assign(cardEl.style, { top: options.bounds.top < 35 ? 0 : "-35px" }); + nameEl.innerHTML = `<${options.name}>  `; + indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`; + } +} +function highlight(instance) { + const bounds = getComponentBoundingRect(instance); + if (!bounds.width && !bounds.height) return; + const name = getInstanceName(instance); + getContainerElement() ? update({ + bounds, + name + }) : create({ + bounds, + name + }); +} +function unhighlight() { + const el = getContainerElement(); + if (el) el.style.display = "none"; +} +var inspectInstance = null; +function inspectFn(e) { + const target = e.target; + if (target) { + const instance = target.__vueParentComponent; + if (instance) { + inspectInstance = instance; + if (instance.vnode.el) { + const bounds = getComponentBoundingRect(instance); + const name = getInstanceName(instance); + getContainerElement() ? update({ + bounds, + name + }) : create({ + bounds, + name + }); + } + } + } +} +function selectComponentFn(e, cb) { + e.preventDefault(); + e.stopPropagation(); + if (inspectInstance) cb(getUniqueComponentId(inspectInstance)); +} +var inspectComponentHighLighterSelectFn = null; +function cancelInspectComponentHighLighter() { + unhighlight(); + window.removeEventListener("mouseover", inspectFn); + window.removeEventListener("click", inspectComponentHighLighterSelectFn, true); + inspectComponentHighLighterSelectFn = null; +} +function inspectComponentHighLighter() { + window.addEventListener("mouseover", inspectFn); + return new Promise((resolve) => { + function onSelect(e) { + e.preventDefault(); + e.stopPropagation(); + selectComponentFn(e, (id) => { + window.removeEventListener("click", onSelect, true); + inspectComponentHighLighterSelectFn = null; + window.removeEventListener("mouseover", inspectFn); + const el = getContainerElement(); + if (el) el.style.display = "none"; + resolve(JSON.stringify({ id })); + }); + } + inspectComponentHighLighterSelectFn = onSelect; + window.addEventListener("click", onSelect, true); + }); +} +function scrollToComponent(options) { + const instance = getComponentInstance(activeAppRecord.value, options.id); + if (instance) { + const [el] = getRootElementsFromComponentInstance(instance); + if (typeof el.scrollIntoView === "function") el.scrollIntoView({ behavior: "smooth" }); + else { + const bounds = getComponentBoundingRect(instance); + const scrollTarget = document.createElement("div"); + const styles = { + ...getStyles(bounds), + position: "absolute" + }; + Object.assign(scrollTarget.style, styles); + document.body.appendChild(scrollTarget); + scrollTarget.scrollIntoView({ behavior: "smooth" }); + setTimeout(() => { + document.body.removeChild(scrollTarget); + }, 2e3); + } + setTimeout(() => { + const bounds = getComponentBoundingRect(instance); + if (bounds.width || bounds.height) { + const name = getInstanceName(instance); + const el = getContainerElement(); + el ? update({ + ...options, + name, + bounds + }) : create({ + ...options, + name, + bounds + }); + setTimeout(() => { + if (el) el.style.display = "none"; + }, 1500); + } + }, 1200); + } +} +target.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ ??= true; +function waitForInspectorInit(cb) { + let total = 0; + const timer = setInterval(() => { + if (target.__VUE_INSPECTOR__) { + clearInterval(timer); + total += 30; + cb(); + } + if (total >= 5e3) clearInterval(timer); + }, 30); +} +function setupInspector() { + const inspector = target.__VUE_INSPECTOR__; + const _openInEditor = inspector.openInEditor; + inspector.openInEditor = async (...params) => { + inspector.disable(); + _openInEditor(...params); + }; +} +function getComponentInspector() { + return new Promise((resolve) => { + function setup() { + setupInspector(); + resolve(target.__VUE_INSPECTOR__); + } + if (!target.__VUE_INSPECTOR__) waitForInspectorInit(() => { + setup(); + }); + else setup(); + }); +} +/** +* To prevent include a **HUGE** vue package in the final bundle of chrome ext / electron +* we stub the necessary vue module. +* This implementation is based on the 1c3327a0fa5983aa9078e3f7bb2330f572435425 commit +*/ +/** +* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/constants.ts#L17-L23) +*/ +var ReactiveFlags = /* @__PURE__ */ function(ReactiveFlags) { + ReactiveFlags["SKIP"] = "__v_skip"; + ReactiveFlags["IS_REACTIVE"] = "__v_isReactive"; + ReactiveFlags["IS_READONLY"] = "__v_isReadonly"; + ReactiveFlags["IS_SHALLOW"] = "__v_isShallow"; + ReactiveFlags["RAW"] = "__v_raw"; + return ReactiveFlags; +}({}); +/** +* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L330-L332) +*/ +function isReadonly(value) { + return !!(value && value[ReactiveFlags.IS_READONLY]); +} +/** +* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L312-L317) +*/ +function isReactive$1(value) { + if (isReadonly(value)) return isReactive$1(value[ReactiveFlags.RAW]); + return !!(value && value[ReactiveFlags.IS_REACTIVE]); +} +function isRef$1(r) { + return !!(r && r.__v_isRef === true); +} +/** +* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L372-L375) +*/ +function toRaw$1(observed) { + const raw = observed && observed[ReactiveFlags.RAW]; + return raw ? toRaw$1(raw) : observed; +} +var StateEditor = class { + constructor() { + this.refEditor = new RefStateEditor(); + } + set(object, path, value, cb) { + const sections = Array.isArray(path) ? path : path.split("."); + while (sections.length > 1) { + const section = sections.shift(); + if (object instanceof Map) object = object.get(section); + else if (object instanceof Set) object = Array.from(object.values())[section]; + else object = object[section]; + if (this.refEditor.isRef(object)) object = this.refEditor.get(object); + } + const field = sections[0]; + const item = this.refEditor.get(object)[field]; + if (cb) cb(object, field, value); + else if (this.refEditor.isRef(item)) this.refEditor.set(item, value); + else object[field] = value; + } + get(object, path) { + const sections = Array.isArray(path) ? path : path.split("."); + for (let i = 0; i < sections.length; i++) { + if (object instanceof Map) object = object.get(sections[i]); + else object = object[sections[i]]; + if (this.refEditor.isRef(object)) object = this.refEditor.get(object); + if (!object) return void 0; + } + return object; + } + has(object, path, parent = false) { + if (typeof object === "undefined") return false; + const sections = Array.isArray(path) ? path.slice() : path.split("."); + const size = !parent ? 1 : 2; + while (object && sections.length > size) { + const section = sections.shift(); + object = object[section]; + if (this.refEditor.isRef(object)) object = this.refEditor.get(object); + } + return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]); + } + createDefaultSetCallback(state) { + return (object, field, value) => { + if (state.remove || state.newKey) if (Array.isArray(object)) object.splice(field, 1); + else if (toRaw$1(object) instanceof Map) object.delete(field); + else if (toRaw$1(object) instanceof Set) object.delete(Array.from(object.values())[field]); + else Reflect.deleteProperty(object, field); + if (!state.remove) { + const target = object[state.newKey || field]; + if (this.refEditor.isRef(target)) this.refEditor.set(target, value); + else if (toRaw$1(object) instanceof Map) object.set(state.newKey || field, value); + else if (toRaw$1(object) instanceof Set) object.add(value); + else object[state.newKey || field] = value; + } + }; + } +}; +var RefStateEditor = class { + set(ref, value) { + if (isRef$1(ref)) ref.value = value; + else { + if (ref instanceof Set && Array.isArray(value)) { + ref.clear(); + value.forEach((v) => ref.add(v)); + return; + } + const currentKeys = Object.keys(value); + if (ref instanceof Map) { + const previousKeysSet = new Set(ref.keys()); + currentKeys.forEach((key) => { + ref.set(key, Reflect.get(value, key)); + previousKeysSet.delete(key); + }); + previousKeysSet.forEach((key) => ref.delete(key)); + return; + } + const previousKeysSet = new Set(Object.keys(ref)); + currentKeys.forEach((key) => { + Reflect.set(ref, key, Reflect.get(value, key)); + previousKeysSet.delete(key); + }); + previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key)); + } + } + get(ref) { + return isRef$1(ref) ? ref.value : ref; + } + isRef(ref) { + return isRef$1(ref) || isReactive$1(ref); + } +}; +new StateEditor(); +var TIMELINE_LAYERS_STATE_STORAGE_ID = "__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__"; +function getTimelineLayersStateFromStorage() { + if (typeof window === "undefined" || !isBrowser || typeof localStorage === "undefined" || localStorage === null) return { + recordingState: false, + mouseEventEnabled: false, + keyboardEventEnabled: false, + componentEventEnabled: false, + performanceEventEnabled: false, + selected: "" + }; + const state = typeof localStorage.getItem !== "undefined" ? localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID) : null; + return state ? JSON.parse(state) : { + recordingState: false, + mouseEventEnabled: false, + keyboardEventEnabled: false, + componentEventEnabled: false, + performanceEventEnabled: false, + selected: "" + }; +} +target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS ??= []; +var devtoolsTimelineLayers = new Proxy(target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, { get(target, prop, receiver) { + return Reflect.get(target, prop, receiver); +} }); +function addTimelineLayer(options, descriptor) { + devtoolsState.timelineLayersState[descriptor.id] = false; + devtoolsTimelineLayers.push({ + ...options, + descriptorId: descriptor.id, + appRecord: getAppRecord(descriptor.app) + }); +} +target.__VUE_DEVTOOLS_KIT_INSPECTOR__ ??= []; +var devtoolsInspector = new Proxy(target.__VUE_DEVTOOLS_KIT_INSPECTOR__, { get(target, prop, receiver) { + return Reflect.get(target, prop, receiver); +} }); +var callInspectorUpdatedHook = debounce(() => { + devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.SEND_INSPECTOR_TO_CLIENT, getActiveInspectors()); +}); +function addInspector(inspector, descriptor) { + devtoolsInspector.push({ + options: inspector, + descriptor, + treeFilterPlaceholder: inspector.treeFilterPlaceholder ?? "Search tree...", + stateFilterPlaceholder: inspector.stateFilterPlaceholder ?? "Search state...", + treeFilter: "", + selectedNodeId: "", + appRecord: getAppRecord(descriptor.app) + }); + callInspectorUpdatedHook(); +} +function getActiveInspectors() { + return devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== "components").map((inspector) => { + const descriptor = inspector.descriptor; + const options = inspector.options; + return { + id: options.id, + label: options.label, + logo: descriptor.logo, + icon: `custom-ic-baseline-${options?.icon?.replace(/_/g, "-")}`, + packageName: descriptor.packageName, + homepage: descriptor.homepage, + pluginId: descriptor.id + }; + }); +} +function getInspector(id, app) { + return devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true)); +} +var DevToolsV6PluginAPIHookKeys = /* @__PURE__ */ function(DevToolsV6PluginAPIHookKeys) { + DevToolsV6PluginAPIHookKeys["VISIT_COMPONENT_TREE"] = "visitComponentTree"; + DevToolsV6PluginAPIHookKeys["INSPECT_COMPONENT"] = "inspectComponent"; + DevToolsV6PluginAPIHookKeys["EDIT_COMPONENT_STATE"] = "editComponentState"; + DevToolsV6PluginAPIHookKeys["GET_INSPECTOR_TREE"] = "getInspectorTree"; + DevToolsV6PluginAPIHookKeys["GET_INSPECTOR_STATE"] = "getInspectorState"; + DevToolsV6PluginAPIHookKeys["EDIT_INSPECTOR_STATE"] = "editInspectorState"; + DevToolsV6PluginAPIHookKeys["INSPECT_TIMELINE_EVENT"] = "inspectTimelineEvent"; + DevToolsV6PluginAPIHookKeys["TIMELINE_CLEARED"] = "timelineCleared"; + DevToolsV6PluginAPIHookKeys["SET_PLUGIN_SETTINGS"] = "setPluginSettings"; + return DevToolsV6PluginAPIHookKeys; +}({}); +var DevToolsContextHookKeys = /* @__PURE__ */ function(DevToolsContextHookKeys) { + DevToolsContextHookKeys["ADD_INSPECTOR"] = "addInspector"; + DevToolsContextHookKeys["SEND_INSPECTOR_TREE"] = "sendInspectorTree"; + DevToolsContextHookKeys["SEND_INSPECTOR_STATE"] = "sendInspectorState"; + DevToolsContextHookKeys["CUSTOM_INSPECTOR_SELECT_NODE"] = "customInspectorSelectNode"; + DevToolsContextHookKeys["TIMELINE_LAYER_ADDED"] = "timelineLayerAdded"; + DevToolsContextHookKeys["TIMELINE_EVENT_ADDED"] = "timelineEventAdded"; + DevToolsContextHookKeys["GET_COMPONENT_INSTANCES"] = "getComponentInstances"; + DevToolsContextHookKeys["GET_COMPONENT_BOUNDS"] = "getComponentBounds"; + DevToolsContextHookKeys["GET_COMPONENT_NAME"] = "getComponentName"; + DevToolsContextHookKeys["COMPONENT_HIGHLIGHT"] = "componentHighlight"; + DevToolsContextHookKeys["COMPONENT_UNHIGHLIGHT"] = "componentUnhighlight"; + return DevToolsContextHookKeys; +}({}); +var DevToolsMessagingHookKeys = /* @__PURE__ */ function(DevToolsMessagingHookKeys) { + DevToolsMessagingHookKeys["SEND_INSPECTOR_TREE_TO_CLIENT"] = "sendInspectorTreeToClient"; + DevToolsMessagingHookKeys["SEND_INSPECTOR_STATE_TO_CLIENT"] = "sendInspectorStateToClient"; + DevToolsMessagingHookKeys["SEND_TIMELINE_EVENT_TO_CLIENT"] = "sendTimelineEventToClient"; + DevToolsMessagingHookKeys["SEND_INSPECTOR_TO_CLIENT"] = "sendInspectorToClient"; + DevToolsMessagingHookKeys["SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT"] = "sendActiveAppUpdatedToClient"; + DevToolsMessagingHookKeys["DEVTOOLS_STATE_UPDATED"] = "devtoolsStateUpdated"; + DevToolsMessagingHookKeys["DEVTOOLS_CONNECTED_UPDATED"] = "devtoolsConnectedUpdated"; + DevToolsMessagingHookKeys["ROUTER_INFO_UPDATED"] = "routerInfoUpdated"; + return DevToolsMessagingHookKeys; +}({}); +function createDevToolsCtxHooks() { + const hooks = createHooks(); + hooks.hook(DevToolsContextHookKeys.ADD_INSPECTOR, ({ inspector, plugin }) => { + addInspector(inspector, plugin.descriptor); + }); + const debounceSendInspectorTree = debounce(async ({ inspectorId, plugin }) => { + if (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return; + const inspector = getInspector(inspectorId, plugin.descriptor.app); + const _payload = { + app: plugin.descriptor.app, + inspectorId, + filter: inspector?.treeFilter || "", + rootNodes: [] + }; + await new Promise((resolve) => { + hooks.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(_payload))); + resolve(); + }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE); + }); + hooks.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb({ + inspectorId, + rootNodes: _payload.rootNodes + }))); + }, DevToolsMessagingHookKeys.SEND_INSPECTOR_TREE_TO_CLIENT); + }, 120); + hooks.hook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, debounceSendInspectorTree); + const debounceSendInspectorState = debounce(async ({ inspectorId, plugin }) => { + if (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return; + const inspector = getInspector(inspectorId, plugin.descriptor.app); + const _payload = { + app: plugin.descriptor.app, + inspectorId, + nodeId: inspector?.selectedNodeId || "", + state: null + }; + const ctx = { currentTab: `custom-inspector:${inspectorId}` }; + if (_payload.nodeId) await new Promise((resolve) => { + hooks.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(_payload, ctx))); + resolve(); + }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE); + }); + hooks.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb({ + inspectorId, + nodeId: _payload.nodeId, + state: _payload.state + }))); + }, DevToolsMessagingHookKeys.SEND_INSPECTOR_STATE_TO_CLIENT); + }, 120); + hooks.hook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, debounceSendInspectorState); + hooks.hook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, ({ inspectorId, nodeId, plugin }) => { + const inspector = getInspector(inspectorId, plugin.descriptor.app); + if (!inspector) return; + inspector.selectedNodeId = nodeId; + }); + hooks.hook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, ({ options, plugin }) => { + addTimelineLayer(options, plugin.descriptor); + }); + hooks.hook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, ({ options, plugin }) => { + if (devtoolsState.highPerfModeEnabled || !devtoolsState.timelineLayersState?.[plugin.descriptor.id] && ![ + "performance", + "component-event", + "keyboard", + "mouse" + ].includes(options.layerId)) return; + hooks.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(options))); + }, DevToolsMessagingHookKeys.SEND_TIMELINE_EVENT_TO_CLIENT); + }); + hooks.hook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, async ({ app }) => { + const appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__; + if (!appRecord) return null; + const appId = appRecord.id.toString(); + return [...appRecord.instanceMap].filter(([key]) => key.split(":")[0] === appId).map(([, instance]) => instance); + }); + hooks.hook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, async ({ instance }) => { + return getComponentBoundingRect(instance); + }); + hooks.hook(DevToolsContextHookKeys.GET_COMPONENT_NAME, ({ instance }) => { + return getInstanceName(instance); + }); + hooks.hook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, ({ uid }) => { + const instance = activeAppRecord.value.instanceMap.get(uid); + if (instance) highlight(instance); + }); + hooks.hook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT, () => { + unhighlight(); + }); + return hooks; +} +target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ ??= []; +target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ ??= {}; +target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ ??= ""; +target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ ??= []; +target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ ??= []; +var STATE_KEY = "__VUE_DEVTOOLS_KIT_GLOBAL_STATE__"; +function initStateFactory() { + return { + connected: false, + clientConnected: false, + vitePluginDetected: true, + appRecords: [], + activeAppRecordId: "", + tabs: [], + commands: [], + highPerfModeEnabled: true, + devtoolsClientDetected: {}, + perfUniqueGroupId: 0, + timelineLayersState: getTimelineLayersStateFromStorage() + }; +} +target[STATE_KEY] ??= initStateFactory(); +var callStateUpdatedHook = debounce((state) => { + devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_STATE_UPDATED, { state }); +}); +debounce((state, oldState) => { + devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, { + state, + oldState + }); +}); +var devtoolsAppRecords = new Proxy(target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, { get(_target, prop, receiver) { + if (prop === "value") return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__; + return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop]; +} }); +var activeAppRecord = new Proxy(target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, { get(_target, prop, receiver) { + if (prop === "value") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__; + else if (prop === "id") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__; + return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop]; +} }); +function updateAllStates() { + callStateUpdatedHook({ + ...target[STATE_KEY], + appRecords: devtoolsAppRecords.value, + activeAppRecordId: activeAppRecord.id, + tabs: target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__, + commands: target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ + }); +} +function setActiveAppRecord(app) { + target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app; + updateAllStates(); +} +function setActiveAppRecordId(id) { + target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id; + updateAllStates(); +} +var devtoolsState = new Proxy(target[STATE_KEY], { + get(target$3, property) { + if (property === "appRecords") return devtoolsAppRecords; + else if (property === "activeAppRecordId") return activeAppRecord.id; + else if (property === "tabs") return target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__; + else if (property === "commands") return target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; + return target[STATE_KEY][property]; + }, + deleteProperty(target, property) { + delete target[property]; + return true; + }, + set(target$4, property, value) { + target$4[property] = value; + target[STATE_KEY][property] = value; + return true; + } +}); +function onDevToolsConnected(fn) { + return new Promise((resolve) => { + if (devtoolsState.connected) { + fn(); + resolve(); + } + devtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => { + if (state.connected) { + fn(); + resolve(); + } + }); + }); +} +var resolveIcon = (icon) => { + if (!icon) return; + if (icon.startsWith("baseline-")) return `custom-ic-${icon}`; + if (icon.startsWith("i-") || isUrlString(icon)) return icon; + return `custom-ic-baseline-${icon}`; +}; +function addCustomTab(tab) { + const tabs = target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__; + if (tabs.some((t) => t.name === tab.name)) return; + tabs.push({ + ...tab, + icon: resolveIcon(tab.icon) + }); + updateAllStates(); +} +function addCustomCommand(action) { + const commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; + if (commands.some((t) => t.id === action.id)) return; + commands.push({ + ...action, + icon: resolveIcon(action.icon), + children: action.children ? action.children.map((child) => ({ + ...child, + icon: resolveIcon(child.icon) + })) : void 0 + }); + updateAllStates(); +} +function removeCustomCommand(actionId) { + const commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; + const index = commands.findIndex((t) => t.id === actionId); + if (index === -1) return; + commands.splice(index, 1); + updateAllStates(); +} +function openInEditor(options = {}) { + const { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options; + if (file) { + if (host === "chrome-extension") { + const fileName = file.replace(/\\/g, "\\\\"); + const _baseUrl = window.VUE_DEVTOOLS_CONFIG?.openInEditorHost ?? "/"; + fetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => { + if (!response.ok) { + const msg = `Opening component ${fileName} failed`; + console.log(`%c${msg}`, "color:red"); + } + }); + } else if (devtoolsState.vitePluginDetected) { + const _baseUrl = target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ ?? baseUrl; + target.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column); + } + } +} +target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ ??= []; +var devtoolsPluginBuffer = new Proxy(target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, { get(target, prop, receiver) { + return Reflect.get(target, prop, receiver); +} }); +function _getSettings(settings) { + const _settings = {}; + Object.keys(settings).forEach((key) => { + _settings[key] = settings[key].defaultValue; + }); + return _settings; +} +function getPluginLocalKey(pluginId) { + return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`; +} +function getPluginSettingsOptions(pluginId) { + return (devtoolsPluginBuffer.find((item) => item[0].id === pluginId && !!item[0]?.settings)?.[0] ?? null)?.settings ?? null; +} +function getPluginSettings(pluginId, fallbackValue) { + const localKey = getPluginLocalKey(pluginId); + if (localKey) { + const localSettings = localStorage.getItem(localKey); + if (localSettings) return JSON.parse(localSettings); + } + if (pluginId) return _getSettings((devtoolsPluginBuffer.find((item) => item[0].id === pluginId)?.[0] ?? null)?.settings ?? {}); + return _getSettings(fallbackValue); +} +function initPluginSettings(pluginId, settings) { + const localKey = getPluginLocalKey(pluginId); + if (!localStorage.getItem(localKey)) localStorage.setItem(localKey, JSON.stringify(_getSettings(settings))); +} +function setPluginSettings(pluginId, key, value) { + const localKey = getPluginLocalKey(pluginId); + const localSettings = localStorage.getItem(localKey); + const parsedLocalSettings = JSON.parse(localSettings || "{}"); + const updated = { + ...parsedLocalSettings, + [key]: value + }; + localStorage.setItem(localKey, JSON.stringify(updated)); + devtoolsContext.hooks.callHookWith((callbacks) => { + callbacks.forEach((cb) => cb({ + pluginId, + key, + oldValue: parsedLocalSettings[key], + newValue: value, + settings: updated + })); + }, DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS); +} +var DevToolsHooks = /* @__PURE__ */ function(DevToolsHooks) { + DevToolsHooks["APP_INIT"] = "app:init"; + DevToolsHooks["APP_UNMOUNT"] = "app:unmount"; + DevToolsHooks["COMPONENT_UPDATED"] = "component:updated"; + DevToolsHooks["COMPONENT_ADDED"] = "component:added"; + DevToolsHooks["COMPONENT_REMOVED"] = "component:removed"; + DevToolsHooks["COMPONENT_EMIT"] = "component:emit"; + DevToolsHooks["PERFORMANCE_START"] = "perf:start"; + DevToolsHooks["PERFORMANCE_END"] = "perf:end"; + DevToolsHooks["ADD_ROUTE"] = "router:add-route"; + DevToolsHooks["REMOVE_ROUTE"] = "router:remove-route"; + DevToolsHooks["RENDER_TRACKED"] = "render:tracked"; + DevToolsHooks["RENDER_TRIGGERED"] = "render:triggered"; + DevToolsHooks["APP_CONNECTED"] = "app:connected"; + DevToolsHooks["SETUP_DEVTOOLS_PLUGIN"] = "devtools-plugin:setup"; + return DevToolsHooks; +}({}); +var devtoolsHooks = target.__VUE_DEVTOOLS_HOOK ??= createHooks(); +var hook = { + on: { + vueAppInit(fn) { + devtoolsHooks.hook(DevToolsHooks.APP_INIT, fn); + }, + vueAppUnmount(fn) { + devtoolsHooks.hook(DevToolsHooks.APP_UNMOUNT, fn); + }, + vueAppConnected(fn) { + devtoolsHooks.hook(DevToolsHooks.APP_CONNECTED, fn); + }, + componentAdded(fn) { + return devtoolsHooks.hook(DevToolsHooks.COMPONENT_ADDED, fn); + }, + componentEmit(fn) { + return devtoolsHooks.hook(DevToolsHooks.COMPONENT_EMIT, fn); + }, + componentUpdated(fn) { + return devtoolsHooks.hook(DevToolsHooks.COMPONENT_UPDATED, fn); + }, + componentRemoved(fn) { + return devtoolsHooks.hook(DevToolsHooks.COMPONENT_REMOVED, fn); + }, + setupDevtoolsPlugin(fn) { + devtoolsHooks.hook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, fn); + }, + perfStart(fn) { + return devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_START, fn); + }, + perfEnd(fn) { + return devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_END, fn); + } + }, + setupDevToolsPlugin(pluginDescriptor, setupFn) { + return devtoolsHooks.callHook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn); + } +}; +var DevToolsV6PluginAPI = class { + constructor({ plugin, ctx }) { + this.hooks = ctx.hooks; + this.plugin = plugin; + } + get on() { + return { + visitComponentTree: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, handler); + }, + inspectComponent: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_COMPONENT, handler); + }, + editComponentState: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_COMPONENT_STATE, handler); + }, + getInspectorTree: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE, handler); + }, + getInspectorState: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE, handler); + }, + editInspectorState: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE, handler); + }, + inspectTimelineEvent: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_TIMELINE_EVENT, handler); + }, + timelineCleared: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.TIMELINE_CLEARED, handler); + }, + setPluginSettings: (handler) => { + this.hooks.hook(DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS, handler); + } + }; + } + notifyComponentUpdate(instance) { + if (devtoolsState.highPerfModeEnabled) return; + const inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName); + if (inspector?.id) { + if (instance) { + const args = [ + instance.appContext.app, + instance.uid, + instance.parent?.uid, + instance + ]; + devtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED, ...args); + } else devtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED); + this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, { + inspectorId: inspector.id, + plugin: this.plugin + }); + } + } + addInspector(options) { + this.hooks.callHook(DevToolsContextHookKeys.ADD_INSPECTOR, { + inspector: options, + plugin: this.plugin + }); + if (this.plugin.descriptor.settings) initPluginSettings(options.id, this.plugin.descriptor.settings); + } + sendInspectorTree(inspectorId) { + if (devtoolsState.highPerfModeEnabled) return; + this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, { + inspectorId, + plugin: this.plugin + }); + } + sendInspectorState(inspectorId) { + if (devtoolsState.highPerfModeEnabled) return; + this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, { + inspectorId, + plugin: this.plugin + }); + } + selectInspectorNode(inspectorId, nodeId) { + this.hooks.callHook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, { + inspectorId, + nodeId, + plugin: this.plugin + }); + } + visitComponentTree(payload) { + return this.hooks.callHook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, payload); + } + now() { + if (devtoolsState.highPerfModeEnabled) return 0; + return Date.now(); + } + addTimelineLayer(options) { + this.hooks.callHook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, { + options, + plugin: this.plugin + }); + } + addTimelineEvent(options) { + if (devtoolsState.highPerfModeEnabled) return; + this.hooks.callHook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, { + options, + plugin: this.plugin + }); + } + getSettings(pluginId) { + return getPluginSettings(pluginId ?? this.plugin.descriptor.id, this.plugin.descriptor.settings); + } + getComponentInstances(app) { + return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, { app }); + } + getComponentBounds(instance) { + return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, { instance }); + } + getComponentName(instance) { + return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_NAME, { instance }); + } + highlightElement(instance) { + const uid = instance.__VUE_DEVTOOLS_NEXT_UID__; + return this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, { uid }); + } + unhighlightElement() { + return this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT); + } +}; +var DevToolsPluginAPI = DevToolsV6PluginAPI; +var UNDEFINED = "__vue_devtool_undefined__"; +var INFINITY = "__vue_devtool_infinity__"; +var NEGATIVE_INFINITY = "__vue_devtool_negative_infinity__"; +var NAN = "__vue_devtool_nan__"; +Object.entries({ + [UNDEFINED]: "undefined", + [NAN]: "NaN", + [INFINITY]: "Infinity", + [NEGATIVE_INFINITY]: "-Infinity" +}).reduce((acc, [key, value]) => { + acc[value] = key; + return acc; +}, {}); +target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ ??= /* @__PURE__ */ new Set(); +function setupDevToolsPlugin(pluginDescriptor, setupFn) { + return hook.setupDevToolsPlugin(pluginDescriptor, setupFn); +} +function callDevToolsPluginSetupFn(plugin, app) { + const [pluginDescriptor, setupFn] = plugin; + if (pluginDescriptor.app !== app) return; + const api = new DevToolsPluginAPI({ + plugin: { + setupFn, + descriptor: pluginDescriptor + }, + ctx: devtoolsContext + }); + if (pluginDescriptor.packageName === "vuex") api.on.editInspectorState((payload) => { + api.sendInspectorState(payload.inspectorId); + }); + setupFn(api); +} +function registerDevToolsPlugin(app, options) { + if (target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) return; + if (devtoolsState.highPerfModeEnabled && !options?.inspectingComponent) return; + target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app); + devtoolsPluginBuffer.forEach((plugin) => { + callDevToolsPluginSetupFn(plugin, app); + }); +} +var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__"; +var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__"; +target[ROUTER_INFO_KEY] ??= { + currentRoute: null, + routes: [] +}; +target[ROUTER_KEY] ??= {}; +new Proxy(target[ROUTER_INFO_KEY], { get(target$1, property) { + return target[ROUTER_INFO_KEY][property]; +} }); +new Proxy(target[ROUTER_KEY], { get(target$2, property) { + if (property === "value") return target[ROUTER_KEY]; +} }); +function getRoutes(router) { + const routesMap = /* @__PURE__ */ new Map(); + return (router?.getRoutes() || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1)); +} +function filterRoutes(routes) { + return routes.map((item) => { + let { path, name, children, meta } = item; + if (children?.length) children = filterRoutes(children); + return { + path, + name, + children, + meta + }; + }); +} +function filterCurrentRoute(route) { + if (route) { + const { fullPath, hash, href, path, name, matched, params, query } = route; + return { + fullPath, + hash, + href, + path, + name, + params, + query, + matched: filterRoutes(matched) + }; + } + return route; +} +function normalizeRouterInfo(appRecord, activeAppRecord) { + function init() { + const router = appRecord.app?.config.globalProperties.$router; + const currentRoute = filterCurrentRoute(router?.currentRoute.value); + const routes = filterRoutes(getRoutes(router)); + const c = console.warn; + console.warn = () => {}; + target[ROUTER_INFO_KEY] = { + currentRoute: currentRoute ? deepClone(currentRoute) : {}, + routes: deepClone(routes) + }; + target[ROUTER_KEY] = router; + console.warn = c; + } + init(); + hook.on.componentUpdated(debounce(() => { + if (activeAppRecord.value?.app !== appRecord.app) return; + init(); + if (devtoolsState.highPerfModeEnabled) return; + devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.ROUTER_INFO_UPDATED, { state: target[ROUTER_INFO_KEY] }); + }, 200)); +} +function createDevToolsApi(hooks) { + return { + async getInspectorTree(payload) { + const _payload = { + ...payload, + app: activeAppRecord.value.app, + rootNodes: [] + }; + await new Promise((resolve) => { + hooks.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(_payload))); + resolve(); + }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE); + }); + return _payload.rootNodes; + }, + async getInspectorState(payload) { + const _payload = { + ...payload, + app: activeAppRecord.value.app, + state: null + }; + const ctx = { currentTab: `custom-inspector:${payload.inspectorId}` }; + await new Promise((resolve) => { + hooks.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(_payload, ctx))); + resolve(); + }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE); + }); + return _payload.state; + }, + editInspectorState(payload) { + const stateEditor = new StateEditor(); + const _payload = { + ...payload, + app: activeAppRecord.value.app, + set: (obj, path = payload.path, value = payload.state.value, cb) => { + stateEditor.set(obj, path, value, cb || stateEditor.createDefaultSetCallback(payload.state)); + } + }; + hooks.callHookWith((callbacks) => { + callbacks.forEach((cb) => cb(_payload)); + }, DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE); + }, + sendInspectorState(inspectorId) { + const inspector = getInspector(inspectorId); + hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, { + inspectorId, + plugin: { + descriptor: inspector.descriptor, + setupFn: () => ({}) + } + }); + }, + inspectComponentInspector() { + return inspectComponentHighLighter(); + }, + cancelInspectComponentInspector() { + return cancelInspectComponentHighLighter(); + }, + getComponentRenderCode(id) { + const instance = getComponentInstance(activeAppRecord.value, id); + if (instance) return !(typeof instance?.type === "function") ? instance.render.toString() : instance.type.toString(); + }, + scrollToComponent(id) { + return scrollToComponent({ id }); + }, + openInEditor, + getVueInspector: getComponentInspector, + toggleApp(id, options) { + const appRecord = devtoolsAppRecords.value.find((record) => record.id === id); + if (appRecord) { + setActiveAppRecordId(id); + setActiveAppRecord(appRecord); + normalizeRouterInfo(appRecord, activeAppRecord); + callInspectorUpdatedHook(); + registerDevToolsPlugin(appRecord.app, options); + } + }, + inspectDOM(instanceId) { + const instance = getComponentInstance(activeAppRecord.value, instanceId); + if (instance) { + const [el] = getRootElementsFromComponentInstance(instance); + if (el) target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el; + } + }, + updatePluginSettings(pluginId, key, value) { + setPluginSettings(pluginId, key, value); + }, + getPluginSettings(pluginId) { + return { + options: getPluginSettingsOptions(pluginId), + values: getPluginSettings(pluginId) + }; + } + }; +} +target.__VUE_DEVTOOLS_ENV__ ??= { vitePluginDetected: false }; +var hooks = createDevToolsCtxHooks(); +target.__VUE_DEVTOOLS_KIT_CONTEXT__ ??= { + hooks, + get state() { + return { + ...devtoolsState, + activeAppRecordId: activeAppRecord.id, + activeAppRecord: activeAppRecord.value, + appRecords: devtoolsAppRecords.value + }; + }, + api: createDevToolsApi(hooks) +}; +var devtoolsContext = target.__VUE_DEVTOOLS_KIT_CONTEXT__; +var require_speakingurl$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => { + (function(root) { + "use strict"; + /** + * charMap + * @type {Object} + */ + var charMap = { + "À": "A", + "Á": "A", + "Â": "A", + "Ã": "A", + "Ä": "Ae", + "Å": "A", + "Æ": "AE", + "Ç": "C", + "È": "E", + "É": "E", + "Ê": "E", + "Ë": "E", + "Ì": "I", + "Í": "I", + "Î": "I", + "Ï": "I", + "Ð": "D", + "Ñ": "N", + "Ò": "O", + "Ó": "O", + "Ô": "O", + "Õ": "O", + "Ö": "Oe", + "Ő": "O", + "Ø": "O", + "Ù": "U", + "Ú": "U", + "Û": "U", + "Ü": "Ue", + "Ű": "U", + "Ý": "Y", + "Þ": "TH", + "ß": "ss", + "à": "a", + "á": "a", + "â": "a", + "ã": "a", + "ä": "ae", + "å": "a", + "æ": "ae", + "ç": "c", + "è": "e", + "é": "e", + "ê": "e", + "ë": "e", + "ì": "i", + "í": "i", + "î": "i", + "ï": "i", + "ð": "d", + "ñ": "n", + "ò": "o", + "ó": "o", + "ô": "o", + "õ": "o", + "ö": "oe", + "ő": "o", + "ø": "o", + "ù": "u", + "ú": "u", + "û": "u", + "ü": "ue", + "ű": "u", + "ý": "y", + "þ": "th", + "ÿ": "y", + "ẞ": "SS", + "ا": "a", + "أ": "a", + "إ": "i", + "آ": "aa", + "ؤ": "u", + "ئ": "e", + "ء": "a", + "ب": "b", + "ت": "t", + "ث": "th", + "ج": "j", + "ح": "h", + "خ": "kh", + "د": "d", + "ذ": "th", + "ر": "r", + "ز": "z", + "س": "s", + "ش": "sh", + "ص": "s", + "ض": "dh", + "ط": "t", + "ظ": "z", + "ع": "a", + "غ": "gh", + "ف": "f", + "ق": "q", + "ك": "k", + "ل": "l", + "م": "m", + "ن": "n", + "ه": "h", + "و": "w", + "ي": "y", + "ى": "a", + "ة": "h", + "ﻻ": "la", + "ﻷ": "laa", + "ﻹ": "lai", + "ﻵ": "laa", + "گ": "g", + "چ": "ch", + "پ": "p", + "ژ": "zh", + "ک": "k", + "ی": "y", + "َ": "a", + "ً": "an", + "ِ": "e", + "ٍ": "en", + "ُ": "u", + "ٌ": "on", + "ْ": "", + "٠": "0", + "١": "1", + "٢": "2", + "٣": "3", + "٤": "4", + "٥": "5", + "٦": "6", + "٧": "7", + "٨": "8", + "٩": "9", + "۰": "0", + "۱": "1", + "۲": "2", + "۳": "3", + "۴": "4", + "۵": "5", + "۶": "6", + "۷": "7", + "۸": "8", + "۹": "9", + "က": "k", + "ခ": "kh", + "ဂ": "g", + "ဃ": "ga", + "င": "ng", + "စ": "s", + "ဆ": "sa", + "ဇ": "z", + "စျ": "za", + "ည": "ny", + "ဋ": "t", + "ဌ": "ta", + "ဍ": "d", + "ဎ": "da", + "ဏ": "na", + "တ": "t", + "ထ": "ta", + "ဒ": "d", + "ဓ": "da", + "န": "n", + "ပ": "p", + "ဖ": "pa", + "ဗ": "b", + "ဘ": "ba", + "မ": "m", + "ယ": "y", + "ရ": "ya", + "လ": "l", + "ဝ": "w", + "သ": "th", + "ဟ": "h", + "ဠ": "la", + "အ": "a", + "ြ": "y", + "ျ": "ya", + "ွ": "w", + "ြွ": "yw", + "ျွ": "ywa", + "ှ": "h", + "ဧ": "e", + "၏": "-e", + "ဣ": "i", + "ဤ": "-i", + "ဉ": "u", + "ဦ": "-u", + "ဩ": "aw", + "သြော": "aw", + "ဪ": "aw", + "၀": "0", + "၁": "1", + "၂": "2", + "၃": "3", + "၄": "4", + "၅": "5", + "၆": "6", + "၇": "7", + "၈": "8", + "၉": "9", + "္": "", + "့": "", + "း": "", + "č": "c", + "ď": "d", + "ě": "e", + "ň": "n", + "ř": "r", + "š": "s", + "ť": "t", + "ů": "u", + "ž": "z", + "Č": "C", + "Ď": "D", + "Ě": "E", + "Ň": "N", + "Ř": "R", + "Š": "S", + "Ť": "T", + "Ů": "U", + "Ž": "Z", + "ހ": "h", + "ށ": "sh", + "ނ": "n", + "ރ": "r", + "ބ": "b", + "ޅ": "lh", + "ކ": "k", + "އ": "a", + "ވ": "v", + "މ": "m", + "ފ": "f", + "ދ": "dh", + "ތ": "th", + "ލ": "l", + "ގ": "g", + "ޏ": "gn", + "ސ": "s", + "ޑ": "d", + "ޒ": "z", + "ޓ": "t", + "ޔ": "y", + "ޕ": "p", + "ޖ": "j", + "ޗ": "ch", + "ޘ": "tt", + "ޙ": "hh", + "ޚ": "kh", + "ޛ": "th", + "ޜ": "z", + "ޝ": "sh", + "ޞ": "s", + "ޟ": "d", + "ޠ": "t", + "ޡ": "z", + "ޢ": "a", + "ޣ": "gh", + "ޤ": "q", + "ޥ": "w", + "ަ": "a", + "ާ": "aa", + "ި": "i", + "ީ": "ee", + "ު": "u", + "ޫ": "oo", + "ެ": "e", + "ޭ": "ey", + "ޮ": "o", + "ޯ": "oa", + "ް": "", + "ა": "a", + "ბ": "b", + "გ": "g", + "დ": "d", + "ე": "e", + "ვ": "v", + "ზ": "z", + "თ": "t", + "ი": "i", + "კ": "k", + "ლ": "l", + "მ": "m", + "ნ": "n", + "ო": "o", + "პ": "p", + "ჟ": "zh", + "რ": "r", + "ს": "s", + "ტ": "t", + "უ": "u", + "ფ": "p", + "ქ": "k", + "ღ": "gh", + "ყ": "q", + "შ": "sh", + "ჩ": "ch", + "ც": "ts", + "ძ": "dz", + "წ": "ts", + "ჭ": "ch", + "ხ": "kh", + "ჯ": "j", + "ჰ": "h", + "α": "a", + "β": "v", + "γ": "g", + "δ": "d", + "ε": "e", + "ζ": "z", + "η": "i", + "θ": "th", + "ι": "i", + "κ": "k", + "λ": "l", + "μ": "m", + "ν": "n", + "ξ": "ks", + "ο": "o", + "π": "p", + "ρ": "r", + "σ": "s", + "τ": "t", + "υ": "y", + "φ": "f", + "χ": "x", + "ψ": "ps", + "ω": "o", + "ά": "a", + "έ": "e", + "ί": "i", + "ό": "o", + "ύ": "y", + "ή": "i", + "ώ": "o", + "ς": "s", + "ϊ": "i", + "ΰ": "y", + "ϋ": "y", + "ΐ": "i", + "Α": "A", + "Β": "B", + "Γ": "G", + "Δ": "D", + "Ε": "E", + "Ζ": "Z", + "Η": "I", + "Θ": "TH", + "Ι": "I", + "Κ": "K", + "Λ": "L", + "Μ": "M", + "Ν": "N", + "Ξ": "KS", + "Ο": "O", + "Π": "P", + "Ρ": "R", + "Σ": "S", + "Τ": "T", + "Υ": "Y", + "Φ": "F", + "Χ": "X", + "Ψ": "PS", + "Ω": "O", + "Ά": "A", + "Έ": "E", + "Ί": "I", + "Ό": "O", + "Ύ": "Y", + "Ή": "I", + "Ώ": "O", + "Ϊ": "I", + "Ϋ": "Y", + "ā": "a", + "ē": "e", + "ģ": "g", + "ī": "i", + "ķ": "k", + "ļ": "l", + "ņ": "n", + "ū": "u", + "Ā": "A", + "Ē": "E", + "Ģ": "G", + "Ī": "I", + "Ķ": "k", + "Ļ": "L", + "Ņ": "N", + "Ū": "U", + "Ќ": "Kj", + "ќ": "kj", + "Љ": "Lj", + "љ": "lj", + "Њ": "Nj", + "њ": "nj", + "Тс": "Ts", + "тс": "ts", + "ą": "a", + "ć": "c", + "ę": "e", + "ł": "l", + "ń": "n", + "ś": "s", + "ź": "z", + "ż": "z", + "Ą": "A", + "Ć": "C", + "Ę": "E", + "Ł": "L", + "Ń": "N", + "Ś": "S", + "Ź": "Z", + "Ż": "Z", + "Є": "Ye", + "І": "I", + "Ї": "Yi", + "Ґ": "G", + "є": "ye", + "і": "i", + "ї": "yi", + "ґ": "g", + "ă": "a", + "Ă": "A", + "ș": "s", + "Ș": "S", + "ț": "t", + "Ț": "T", + "ţ": "t", + "Ţ": "T", + "а": "a", + "б": "b", + "в": "v", + "г": "g", + "д": "d", + "е": "e", + "ё": "yo", + "ж": "zh", + "з": "z", + "и": "i", + "й": "i", + "к": "k", + "л": "l", + "м": "m", + "н": "n", + "о": "o", + "п": "p", + "р": "r", + "с": "s", + "т": "t", + "у": "u", + "ф": "f", + "х": "kh", + "ц": "c", + "ч": "ch", + "ш": "sh", + "щ": "sh", + "ъ": "", + "ы": "y", + "ь": "", + "э": "e", + "ю": "yu", + "я": "ya", + "А": "A", + "Б": "B", + "В": "V", + "Г": "G", + "Д": "D", + "Е": "E", + "Ё": "Yo", + "Ж": "Zh", + "З": "Z", + "И": "I", + "Й": "I", + "К": "K", + "Л": "L", + "М": "M", + "Н": "N", + "О": "O", + "П": "P", + "Р": "R", + "С": "S", + "Т": "T", + "У": "U", + "Ф": "F", + "Х": "Kh", + "Ц": "C", + "Ч": "Ch", + "Ш": "Sh", + "Щ": "Sh", + "Ъ": "", + "Ы": "Y", + "Ь": "", + "Э": "E", + "Ю": "Yu", + "Я": "Ya", + "ђ": "dj", + "ј": "j", + "ћ": "c", + "џ": "dz", + "Ђ": "Dj", + "Ј": "j", + "Ћ": "C", + "Џ": "Dz", + "ľ": "l", + "ĺ": "l", + "ŕ": "r", + "Ľ": "L", + "Ĺ": "L", + "Ŕ": "R", + "ş": "s", + "Ş": "S", + "ı": "i", + "İ": "I", + "ğ": "g", + "Ğ": "G", + "ả": "a", + "Ả": "A", + "ẳ": "a", + "Ẳ": "A", + "ẩ": "a", + "Ẩ": "A", + "đ": "d", + "Đ": "D", + "ẹ": "e", + "Ẹ": "E", + "ẽ": "e", + "Ẽ": "E", + "ẻ": "e", + "Ẻ": "E", + "ế": "e", + "Ế": "E", + "ề": "e", + "Ề": "E", + "ệ": "e", + "Ệ": "E", + "ễ": "e", + "Ễ": "E", + "ể": "e", + "Ể": "E", + "ỏ": "o", + "ọ": "o", + "Ọ": "o", + "ố": "o", + "Ố": "O", + "ồ": "o", + "Ồ": "O", + "ổ": "o", + "Ổ": "O", + "ộ": "o", + "Ộ": "O", + "ỗ": "o", + "Ỗ": "O", + "ơ": "o", + "Ơ": "O", + "ớ": "o", + "Ớ": "O", + "ờ": "o", + "Ờ": "O", + "ợ": "o", + "Ợ": "O", + "ỡ": "o", + "Ỡ": "O", + "Ở": "o", + "ở": "o", + "ị": "i", + "Ị": "I", + "ĩ": "i", + "Ĩ": "I", + "ỉ": "i", + "Ỉ": "i", + "ủ": "u", + "Ủ": "U", + "ụ": "u", + "Ụ": "U", + "ũ": "u", + "Ũ": "U", + "ư": "u", + "Ư": "U", + "ứ": "u", + "Ứ": "U", + "ừ": "u", + "Ừ": "U", + "ự": "u", + "Ự": "U", + "ữ": "u", + "Ữ": "U", + "ử": "u", + "Ử": "ư", + "ỷ": "y", + "Ỷ": "y", + "ỳ": "y", + "Ỳ": "Y", + "ỵ": "y", + "Ỵ": "Y", + "ỹ": "y", + "Ỹ": "Y", + "ạ": "a", + "Ạ": "A", + "ấ": "a", + "Ấ": "A", + "ầ": "a", + "Ầ": "A", + "ậ": "a", + "Ậ": "A", + "ẫ": "a", + "Ẫ": "A", + "ắ": "a", + "Ắ": "A", + "ằ": "a", + "Ằ": "A", + "ặ": "a", + "Ặ": "A", + "ẵ": "a", + "Ẵ": "A", + "⓪": "0", + "①": "1", + "②": "2", + "③": "3", + "④": "4", + "⑤": "5", + "⑥": "6", + "⑦": "7", + "⑧": "8", + "⑨": "9", + "⑩": "10", + "⑪": "11", + "⑫": "12", + "⑬": "13", + "⑭": "14", + "⑮": "15", + "⑯": "16", + "⑰": "17", + "⑱": "18", + "⑲": "18", + "⑳": "18", + "⓵": "1", + "⓶": "2", + "⓷": "3", + "⓸": "4", + "⓹": "5", + "⓺": "6", + "⓻": "7", + "⓼": "8", + "⓽": "9", + "⓾": "10", + "⓿": "0", + "⓫": "11", + "⓬": "12", + "⓭": "13", + "⓮": "14", + "⓯": "15", + "⓰": "16", + "⓱": "17", + "⓲": "18", + "⓳": "19", + "⓴": "20", + "Ⓐ": "A", + "Ⓑ": "B", + "Ⓒ": "C", + "Ⓓ": "D", + "Ⓔ": "E", + "Ⓕ": "F", + "Ⓖ": "G", + "Ⓗ": "H", + "Ⓘ": "I", + "Ⓙ": "J", + "Ⓚ": "K", + "Ⓛ": "L", + "Ⓜ": "M", + "Ⓝ": "N", + "Ⓞ": "O", + "Ⓟ": "P", + "Ⓠ": "Q", + "Ⓡ": "R", + "Ⓢ": "S", + "Ⓣ": "T", + "Ⓤ": "U", + "Ⓥ": "V", + "Ⓦ": "W", + "Ⓧ": "X", + "Ⓨ": "Y", + "Ⓩ": "Z", + "ⓐ": "a", + "ⓑ": "b", + "ⓒ": "c", + "ⓓ": "d", + "ⓔ": "e", + "ⓕ": "f", + "ⓖ": "g", + "ⓗ": "h", + "ⓘ": "i", + "ⓙ": "j", + "ⓚ": "k", + "ⓛ": "l", + "ⓜ": "m", + "ⓝ": "n", + "ⓞ": "o", + "ⓟ": "p", + "ⓠ": "q", + "ⓡ": "r", + "ⓢ": "s", + "ⓣ": "t", + "ⓤ": "u", + "ⓦ": "v", + "ⓥ": "w", + "ⓧ": "x", + "ⓨ": "y", + "ⓩ": "z", + "“": "\"", + "”": "\"", + "‘": "'", + "’": "'", + "∂": "d", + "ƒ": "f", + "™": "(TM)", + "©": "(C)", + "œ": "oe", + "Œ": "OE", + "®": "(R)", + "†": "+", + "℠": "(SM)", + "…": "...", + "˚": "o", + "º": "o", + "ª": "a", + "•": "*", + "၊": ",", + "။": ".", + "$": "USD", + "€": "EUR", + "₢": "BRN", + "₣": "FRF", + "£": "GBP", + "₤": "ITL", + "₦": "NGN", + "₧": "ESP", + "₩": "KRW", + "₪": "ILS", + "₫": "VND", + "₭": "LAK", + "₮": "MNT", + "₯": "GRD", + "₱": "ARS", + "₲": "PYG", + "₳": "ARA", + "₴": "UAH", + "₵": "GHS", + "¢": "cent", + "¥": "CNY", + "元": "CNY", + "円": "YEN", + "﷼": "IRR", + "₠": "EWE", + "฿": "THB", + "₨": "INR", + "₹": "INR", + "₰": "PF", + "₺": "TRY", + "؋": "AFN", + "₼": "AZN", + "лв": "BGN", + "៛": "KHR", + "₡": "CRC", + "₸": "KZT", + "ден": "MKD", + "zł": "PLN", + "₽": "RUB", + "₾": "GEL" + }; + /** + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ + var lookAheadCharArray = ["်", "ް"]; + /** + * diatricMap for languages where transliteration changes entirely as more diatrics are added + * @type {Object} + */ + var diatricMap = { + "ာ": "a", + "ါ": "a", + "ေ": "e", + "ဲ": "e", + "ိ": "i", + "ီ": "i", + "ို": "o", + "ု": "u", + "ူ": "u", + "ေါင်": "aung", + "ော": "aw", + "ော်": "aw", + "ေါ": "aw", + "ေါ်": "aw", + "်": "်", + "က်": "et", + "ိုက်": "aik", + "ောက်": "auk", + "င်": "in", + "ိုင်": "aing", + "ောင်": "aung", + "စ်": "it", + "ည်": "i", + "တ်": "at", + "ိတ်": "eik", + "ုတ်": "ok", + "ွတ်": "ut", + "ေတ်": "it", + "ဒ်": "d", + "ိုဒ်": "ok", + "ုဒ်": "ait", + "န်": "an", + "ာန်": "an", + "ိန်": "ein", + "ုန်": "on", + "ွန်": "un", + "ပ်": "at", + "ိပ်": "eik", + "ုပ်": "ok", + "ွပ်": "ut", + "န်ုပ်": "nub", + "မ်": "an", + "ိမ်": "ein", + "ုမ်": "on", + "ွမ်": "un", + "ယ်": "e", + "ိုလ်": "ol", + "ဉ်": "in", + "ံ": "an", + "ိံ": "ein", + "ုံ": "on", + "ައް": "ah", + "ަށް": "ah" + }; + /** + * langCharMap language specific characters translations + * @type {Object} + */ + var langCharMap = { + "en": {}, + "az": { + "ç": "c", + "ə": "e", + "ğ": "g", + "ı": "i", + "ö": "o", + "ş": "s", + "ü": "u", + "Ç": "C", + "Ə": "E", + "Ğ": "G", + "İ": "I", + "Ö": "O", + "Ş": "S", + "Ü": "U" + }, + "cs": { + "č": "c", + "ď": "d", + "ě": "e", + "ň": "n", + "ř": "r", + "š": "s", + "ť": "t", + "ů": "u", + "ž": "z", + "Č": "C", + "Ď": "D", + "Ě": "E", + "Ň": "N", + "Ř": "R", + "Š": "S", + "Ť": "T", + "Ů": "U", + "Ž": "Z" + }, + "fi": { + "ä": "a", + "Ä": "A", + "ö": "o", + "Ö": "O" + }, + "hu": { + "ä": "a", + "Ä": "A", + "ö": "o", + "Ö": "O", + "ü": "u", + "Ü": "U", + "ű": "u", + "Ű": "U" + }, + "lt": { + "ą": "a", + "č": "c", + "ę": "e", + "ė": "e", + "į": "i", + "š": "s", + "ų": "u", + "ū": "u", + "ž": "z", + "Ą": "A", + "Č": "C", + "Ę": "E", + "Ė": "E", + "Į": "I", + "Š": "S", + "Ų": "U", + "Ū": "U" + }, + "lv": { + "ā": "a", + "č": "c", + "ē": "e", + "ģ": "g", + "ī": "i", + "ķ": "k", + "ļ": "l", + "ņ": "n", + "š": "s", + "ū": "u", + "ž": "z", + "Ā": "A", + "Č": "C", + "Ē": "E", + "Ģ": "G", + "Ī": "i", + "Ķ": "k", + "Ļ": "L", + "Ņ": "N", + "Š": "S", + "Ū": "u", + "Ž": "Z" + }, + "pl": { + "ą": "a", + "ć": "c", + "ę": "e", + "ł": "l", + "ń": "n", + "ó": "o", + "ś": "s", + "ź": "z", + "ż": "z", + "Ą": "A", + "Ć": "C", + "Ę": "e", + "Ł": "L", + "Ń": "N", + "Ó": "O", + "Ś": "S", + "Ź": "Z", + "Ż": "Z" + }, + "sv": { + "ä": "a", + "Ä": "A", + "ö": "o", + "Ö": "O" + }, + "sk": { + "ä": "a", + "Ä": "A" + }, + "sr": { + "љ": "lj", + "њ": "nj", + "Љ": "Lj", + "Њ": "Nj", + "đ": "dj", + "Đ": "Dj" + }, + "tr": { + "Ü": "U", + "Ö": "O", + "ü": "u", + "ö": "o" + } + }; + /** + * symbolMap language specific symbol translations + * translations must be transliterated already + * @type {Object} + */ + var symbolMap = { + "ar": { + "∆": "delta", + "∞": "la-nihaya", + "♥": "hob", + "&": "wa", + "|": "aw", + "<": "aqal-men", + ">": "akbar-men", + "∑": "majmou", + "¤": "omla" + }, + "az": {}, + "ca": { + "∆": "delta", + "∞": "infinit", + "♥": "amor", + "&": "i", + "|": "o", + "<": "menys que", + ">": "mes que", + "∑": "suma dels", + "¤": "moneda" + }, + "cs": { + "∆": "delta", + "∞": "nekonecno", + "♥": "laska", + "&": "a", + "|": "nebo", + "<": "mensi nez", + ">": "vetsi nez", + "∑": "soucet", + "¤": "mena" + }, + "de": { + "∆": "delta", + "∞": "unendlich", + "♥": "Liebe", + "&": "und", + "|": "oder", + "<": "kleiner als", + ">": "groesser als", + "∑": "Summe von", + "¤": "Waehrung" + }, + "dv": { + "∆": "delta", + "∞": "kolunulaa", + "♥": "loabi", + "&": "aai", + "|": "noonee", + "<": "ah vure kuda", + ">": "ah vure bodu", + "∑": "jumula", + "¤": "faisaa" + }, + "en": { + "∆": "delta", + "∞": "infinity", + "♥": "love", + "&": "and", + "|": "or", + "<": "less than", + ">": "greater than", + "∑": "sum", + "¤": "currency" + }, + "es": { + "∆": "delta", + "∞": "infinito", + "♥": "amor", + "&": "y", + "|": "u", + "<": "menos que", + ">": "mas que", + "∑": "suma de los", + "¤": "moneda" + }, + "fa": { + "∆": "delta", + "∞": "bi-nahayat", + "♥": "eshgh", + "&": "va", + "|": "ya", + "<": "kamtar-az", + ">": "bishtar-az", + "∑": "majmooe", + "¤": "vahed" + }, + "fi": { + "∆": "delta", + "∞": "aarettomyys", + "♥": "rakkaus", + "&": "ja", + "|": "tai", + "<": "pienempi kuin", + ">": "suurempi kuin", + "∑": "summa", + "¤": "valuutta" + }, + "fr": { + "∆": "delta", + "∞": "infiniment", + "♥": "Amour", + "&": "et", + "|": "ou", + "<": "moins que", + ">": "superieure a", + "∑": "somme des", + "¤": "monnaie" + }, + "ge": { + "∆": "delta", + "∞": "usasruloba", + "♥": "siqvaruli", + "&": "da", + "|": "an", + "<": "naklebi", + ">": "meti", + "∑": "jami", + "¤": "valuta" + }, + "gr": {}, + "hu": { + "∆": "delta", + "∞": "vegtelen", + "♥": "szerelem", + "&": "es", + "|": "vagy", + "<": "kisebb mint", + ">": "nagyobb mint", + "∑": "szumma", + "¤": "penznem" + }, + "it": { + "∆": "delta", + "∞": "infinito", + "♥": "amore", + "&": "e", + "|": "o", + "<": "minore di", + ">": "maggiore di", + "∑": "somma", + "¤": "moneta" + }, + "lt": { + "∆": "delta", + "∞": "begalybe", + "♥": "meile", + "&": "ir", + "|": "ar", + "<": "maziau nei", + ">": "daugiau nei", + "∑": "suma", + "¤": "valiuta" + }, + "lv": { + "∆": "delta", + "∞": "bezgaliba", + "♥": "milestiba", + "&": "un", + "|": "vai", + "<": "mazak neka", + ">": "lielaks neka", + "∑": "summa", + "¤": "valuta" + }, + "my": { + "∆": "kwahkhyaet", + "∞": "asaonasme", + "♥": "akhyait", + "&": "nhin", + "|": "tho", + "<": "ngethaw", + ">": "kyithaw", + "∑": "paungld", + "¤": "ngwekye" + }, + "mk": {}, + "nl": { + "∆": "delta", + "∞": "oneindig", + "♥": "liefde", + "&": "en", + "|": "of", + "<": "kleiner dan", + ">": "groter dan", + "∑": "som", + "¤": "valuta" + }, + "pl": { + "∆": "delta", + "∞": "nieskonczonosc", + "♥": "milosc", + "&": "i", + "|": "lub", + "<": "mniejsze niz", + ">": "wieksze niz", + "∑": "suma", + "¤": "waluta" + }, + "pt": { + "∆": "delta", + "∞": "infinito", + "♥": "amor", + "&": "e", + "|": "ou", + "<": "menor que", + ">": "maior que", + "∑": "soma", + "¤": "moeda" + }, + "ro": { + "∆": "delta", + "∞": "infinit", + "♥": "dragoste", + "&": "si", + "|": "sau", + "<": "mai mic ca", + ">": "mai mare ca", + "∑": "suma", + "¤": "valuta" + }, + "ru": { + "∆": "delta", + "∞": "beskonechno", + "♥": "lubov", + "&": "i", + "|": "ili", + "<": "menshe", + ">": "bolshe", + "∑": "summa", + "¤": "valjuta" + }, + "sk": { + "∆": "delta", + "∞": "nekonecno", + "♥": "laska", + "&": "a", + "|": "alebo", + "<": "menej ako", + ">": "viac ako", + "∑": "sucet", + "¤": "mena" + }, + "sr": {}, + "tr": { + "∆": "delta", + "∞": "sonsuzluk", + "♥": "ask", + "&": "ve", + "|": "veya", + "<": "kucuktur", + ">": "buyuktur", + "∑": "toplam", + "¤": "para birimi" + }, + "uk": { + "∆": "delta", + "∞": "bezkinechnist", + "♥": "lubov", + "&": "i", + "|": "abo", + "<": "menshe", + ">": "bilshe", + "∑": "suma", + "¤": "valjuta" + }, + "vn": { + "∆": "delta", + "∞": "vo cuc", + "♥": "yeu", + "&": "va", + "|": "hoac", + "<": "nho hon", + ">": "lon hon", + "∑": "tong", + "¤": "tien te" + } + }; + var uricChars = [ + ";", + "?", + ":", + "@", + "&", + "=", + "+", + "$", + ",", + "/" + ].join(""); + var uricNoSlashChars = [ + ";", + "?", + ":", + "@", + "&", + "=", + "+", + "$", + "," + ].join(""); + var markChars = [ + ".", + "!", + "~", + "*", + "'", + "(", + ")" + ].join(""); + /** + * getSlug + * @param {string} input input string + * @param {object|string} opts config object or separator string/char + * @api public + * @return {string} sluggified string + */ + var getSlug = function getSlug(input, opts) { + var separator = "-"; + var result = ""; + var diatricString = ""; + var convertSymbols = true; + var customReplacements = {}; + var maintainCase; + var titleCase; + var truncate; + var uricFlag; + var uricNoSlashFlag; + var markFlag; + var symbol; + var langChar; + var lucky; + var i; + var ch; + var l; + var lastCharWasSymbol; + var lastCharWasDiatric; + var allowedChars = ""; + if (typeof input !== "string") return ""; + if (typeof opts === "string") separator = opts; + symbol = symbolMap.en; + langChar = langCharMap.en; + if (typeof opts === "object") { + maintainCase = opts.maintainCase || false; + customReplacements = opts.custom && typeof opts.custom === "object" ? opts.custom : customReplacements; + truncate = +opts.truncate > 1 && opts.truncate || false; + uricFlag = opts.uric || false; + uricNoSlashFlag = opts.uricNoSlash || false; + markFlag = opts.mark || false; + convertSymbols = opts.symbols === false || opts.lang === false ? false : true; + separator = opts.separator || separator; + if (uricFlag) allowedChars += uricChars; + if (uricNoSlashFlag) allowedChars += uricNoSlashChars; + if (markFlag) allowedChars += markChars; + symbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {}; + langChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en; + if (opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) { + opts.titleCase.forEach(function(v) { + customReplacements[v + ""] = v + ""; + }); + titleCase = true; + } else titleCase = !!opts.titleCase; + if (opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) opts.custom.forEach(function(v) { + customReplacements[v + ""] = v + ""; + }); + Object.keys(customReplacements).forEach(function(v) { + var r; + if (v.length > 1) r = new RegExp("\\b" + escapeChars(v) + "\\b", "gi"); + else r = new RegExp(escapeChars(v), "gi"); + input = input.replace(r, customReplacements[v]); + }); + for (ch in customReplacements) allowedChars += ch; + } + allowedChars += separator; + allowedChars = escapeChars(allowedChars); + input = input.replace(/(^\s+|\s+$)/g, ""); + lastCharWasSymbol = false; + lastCharWasDiatric = false; + for (i = 0, l = input.length; i < l; i++) { + ch = input[i]; + if (isReplacedCustomChar(ch, customReplacements)) lastCharWasSymbol = false; + else if (langChar[ch]) { + ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? " " + langChar[ch] : langChar[ch]; + lastCharWasSymbol = false; + } else if (ch in charMap) { + if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) { + diatricString += ch; + ch = ""; + } else if (lastCharWasDiatric === true) { + ch = diatricMap[diatricString] + charMap[ch]; + diatricString = ""; + } else ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? " " + charMap[ch] : charMap[ch]; + lastCharWasSymbol = false; + lastCharWasDiatric = false; + } else if (ch in diatricMap) { + diatricString += ch; + ch = ""; + if (i === l - 1) ch = diatricMap[diatricString]; + lastCharWasDiatric = true; + } else if (symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1)) { + ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; + ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ""; + lastCharWasSymbol = true; + } else { + if (lastCharWasDiatric === true) { + ch = diatricMap[diatricString] + ch; + diatricString = ""; + lastCharWasDiatric = false; + } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) ch = " " + ch; + lastCharWasSymbol = false; + } + result += ch.replace(new RegExp("[^\\w\\s" + allowedChars + "_-]", "g"), separator); + } + if (titleCase) result = result.replace(/(\w)(\S*)/g, function(_, i, r) { + var j = i.toUpperCase() + (r !== null ? r : ""); + return Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase(); + }); + result = result.replace(/\s+/g, separator).replace(new RegExp("\\" + separator + "+", "g"), separator).replace(new RegExp("(^\\" + separator + "+|\\" + separator + "+$)", "g"), ""); + if (truncate && result.length > truncate) { + lucky = result.charAt(truncate) === separator; + result = result.slice(0, truncate); + if (!lucky) result = result.slice(0, result.lastIndexOf(separator)); + } + if (!maintainCase && !titleCase) result = result.toLowerCase(); + return result; + }; + /** + * createSlug curried(opts)(input) + * @param {object|string} opts config object or input string + * @return {Function} function getSlugWithConfig() + **/ + var createSlug = function createSlug(opts) { + /** + * getSlugWithConfig + * @param {string} input string + * @return {string} slug string + */ + return function getSlugWithConfig(input) { + return getSlug(input, opts); + }; + }; + /** + * escape Chars + * @param {string} input string + */ + var escapeChars = function escapeChars(input) { + return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, "\\$&"); + }; + /** + * check if the char is an already converted char from custom list + * @param {char} ch character to check + * @param {object} customReplacements custom translation map + */ + var isReplacedCustomChar = function(ch, customReplacements) { + for (var c in customReplacements) if (customReplacements[c] === ch) return true; + }; + if (typeof module !== "undefined" && module.exports) { + module.exports = getSlug; + module.exports.createSlug = createSlug; + } else if (typeof define !== "undefined" && define.amd) define([], function() { + return getSlug; + }); + else try { + if (root.getSlug || root.createSlug) throw "speakingurl: globals exists /(getSlug|createSlug)/"; + else { + root.getSlug = getSlug; + root.createSlug = createSlug; + } + } catch (e) {} + })(exports); +})); +(/* @__PURE__ */ __commonJSMin(((exports, module) => { + module.exports = require_speakingurl$1(); +})))(); +target.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ ??= { + id: 0, + appIds: /* @__PURE__ */ new Set() +}; +function onDevToolsClientConnected(fn) { + return new Promise((resolve) => { + if (devtoolsState.connected && devtoolsState.clientConnected) { + fn(); + resolve(); + return; + } + devtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => { + if (state.connected && state.clientConnected) { + fn(); + resolve(); + } + }); + }); +} +function toggleHighPerfMode(state) { + devtoolsState.highPerfModeEnabled = state ?? !devtoolsState.highPerfModeEnabled; + if (!state && activeAppRecord.value) registerDevToolsPlugin(activeAppRecord.value.app); +} +function updateDevToolsClientDetected(params) { + devtoolsState.devtoolsClientDetected = { + ...devtoolsState.devtoolsClientDetected, + ...params + }; + toggleHighPerfMode(!Object.values(devtoolsState.devtoolsClientDetected).some(Boolean)); +} +target.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ ??= updateDevToolsClientDetected; +var DoubleIndexedKV = class { + constructor() { + this.keyToValue = /* @__PURE__ */ new Map(); + this.valueToKey = /* @__PURE__ */ new Map(); + } + set(key, value) { + this.keyToValue.set(key, value); + this.valueToKey.set(value, key); + } + getByKey(key) { + return this.keyToValue.get(key); + } + getByValue(value) { + return this.valueToKey.get(value); + } + clear() { + this.keyToValue.clear(); + this.valueToKey.clear(); + } +}; +var Registry = class { + constructor(generateIdentifier) { + this.generateIdentifier = generateIdentifier; + this.kv = new DoubleIndexedKV(); + } + register(value, identifier) { + if (this.kv.getByValue(value)) return; + if (!identifier) identifier = this.generateIdentifier(value); + this.kv.set(identifier, value); + } + clear() { + this.kv.clear(); + } + getIdentifier(value) { + return this.kv.getByValue(value); + } + getValue(identifier) { + return this.kv.getByKey(identifier); + } +}; +var ClassRegistry = class extends Registry { + constructor() { + super((c) => c.name); + this.classToAllowedProps = /* @__PURE__ */ new Map(); + } + register(value, options) { + if (typeof options === "object") { + if (options.allowProps) this.classToAllowedProps.set(value, options.allowProps); + super.register(value, options.identifier); + } else super.register(value, options); + } + getAllowedProps(value) { + return this.classToAllowedProps.get(value); + } +}; +function valuesOfObj(record) { + if ("values" in Object) return Object.values(record); + const values = []; + for (const key in record) if (record.hasOwnProperty(key)) values.push(record[key]); + return values; +} +function find(record, predicate) { + const values = valuesOfObj(record); + if ("find" in values) return values.find(predicate); + const valuesNotNever = values; + for (let i = 0; i < valuesNotNever.length; i++) { + const value = valuesNotNever[i]; + if (predicate(value)) return value; + } +} +function forEach(record, run) { + Object.entries(record).forEach(([key, value]) => run(value, key)); +} +function includes(arr, value) { + return arr.indexOf(value) !== -1; +} +function findArr(record, predicate) { + for (let i = 0; i < record.length; i++) { + const value = record[i]; + if (predicate(value)) return value; + } +} +var CustomTransformerRegistry = class { + constructor() { + this.transfomers = {}; + } + register(transformer) { + this.transfomers[transformer.name] = transformer; + } + findApplicable(v) { + return find(this.transfomers, (transformer) => transformer.isApplicable(v)); + } + findByName(name) { + return this.transfomers[name]; + } +}; +var getType$1 = (payload) => Object.prototype.toString.call(payload).slice(8, -1); +var isUndefined$1 = (payload) => typeof payload === "undefined"; +var isNull$1 = (payload) => payload === null; +var isPlainObject$2 = (payload) => { + if (typeof payload !== "object" || payload === null) return false; + if (payload === Object.prototype) return false; + if (Object.getPrototypeOf(payload) === null) return true; + return Object.getPrototypeOf(payload) === Object.prototype; +}; +var isEmptyObject = (payload) => isPlainObject$2(payload) && Object.keys(payload).length === 0; +var isArray$2 = (payload) => Array.isArray(payload); +var isString = (payload) => typeof payload === "string"; +var isNumber = (payload) => typeof payload === "number" && !isNaN(payload); +var isBoolean = (payload) => typeof payload === "boolean"; +var isRegExp = (payload) => payload instanceof RegExp; +var isMap = (payload) => payload instanceof Map; +var isSet = (payload) => payload instanceof Set; +var isSymbol = (payload) => getType$1(payload) === "Symbol"; +var isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf()); +var isError = (payload) => payload instanceof Error; +var isNaNValue = (payload) => typeof payload === "number" && isNaN(payload); +var isPrimitive = (payload) => isBoolean(payload) || isNull$1(payload) || isUndefined$1(payload) || isNumber(payload) || isString(payload) || isSymbol(payload); +var isBigint = (payload) => typeof payload === "bigint"; +var isInfinite = (payload) => payload === Infinity || payload === -Infinity; +var isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView); +var isURL = (payload) => payload instanceof URL; +var escapeKey = (key) => key.replace(/\./g, "\\."); +var stringifyPath = (path) => path.map(String).map(escapeKey).join("."); +var parsePath = (string) => { + const result = []; + let segment = ""; + for (let i = 0; i < string.length; i++) { + let char = string.charAt(i); + if (char === "\\" && string.charAt(i + 1) === ".") { + segment += "."; + i++; + continue; + } + if (char === ".") { + result.push(segment); + segment = ""; + continue; + } + segment += char; + } + const lastSegment = segment; + result.push(lastSegment); + return result; +}; +function simpleTransformation(isApplicable, annotation, transform, untransform) { + return { + isApplicable, + annotation, + transform, + untransform + }; +} +var simpleRules = [ + simpleTransformation(isUndefined$1, "undefined", () => null, () => void 0), + simpleTransformation(isBigint, "bigint", (v) => v.toString(), (v) => { + if (typeof BigInt !== "undefined") return BigInt(v); + console.error("Please add a BigInt polyfill."); + return v; + }), + simpleTransformation(isDate, "Date", (v) => v.toISOString(), (v) => new Date(v)), + simpleTransformation(isError, "Error", (v, superJson) => { + const baseError = { + name: v.name, + message: v.message + }; + superJson.allowedErrorProps.forEach((prop) => { + baseError[prop] = v[prop]; + }); + return baseError; + }, (v, superJson) => { + const e = new Error(v.message); + e.name = v.name; + e.stack = v.stack; + superJson.allowedErrorProps.forEach((prop) => { + e[prop] = v[prop]; + }); + return e; + }), + simpleTransformation(isRegExp, "regexp", (v) => "" + v, (regex) => { + const body = regex.slice(1, regex.lastIndexOf("/")); + const flags = regex.slice(regex.lastIndexOf("/") + 1); + return new RegExp(body, flags); + }), + simpleTransformation(isSet, "set", (v) => [...v.values()], (v) => new Set(v)), + simpleTransformation(isMap, "map", (v) => [...v.entries()], (v) => new Map(v)), + simpleTransformation((v) => isNaNValue(v) || isInfinite(v), "number", (v) => { + if (isNaNValue(v)) return "NaN"; + if (v > 0) return "Infinity"; + else return "-Infinity"; + }, Number), + simpleTransformation((v) => v === 0 && 1 / v === -Infinity, "number", () => { + return "-0"; + }, Number), + simpleTransformation(isURL, "URL", (v) => v.toString(), (v) => new URL(v)) +]; +function compositeTransformation(isApplicable, annotation, transform, untransform) { + return { + isApplicable, + annotation, + transform, + untransform + }; +} +var symbolRule = compositeTransformation((s, superJson) => { + if (isSymbol(s)) return !!superJson.symbolRegistry.getIdentifier(s); + return false; +}, (s, superJson) => { + return ["symbol", superJson.symbolRegistry.getIdentifier(s)]; +}, (v) => v.description, (_, a, superJson) => { + const value = superJson.symbolRegistry.getValue(a[1]); + if (!value) throw new Error("Trying to deserialize unknown symbol"); + return value; +}); +var constructorToName = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + Uint8ClampedArray +].reduce((obj, ctor) => { + obj[ctor.name] = ctor; + return obj; +}, {}); +var typedArrayRule = compositeTransformation(isTypedArray, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a) => { + const ctor = constructorToName[a[1]]; + if (!ctor) throw new Error("Trying to deserialize unknown typed array"); + return new ctor(v); +}); +function isInstanceOfRegisteredClass(potentialClass, superJson) { + if (potentialClass?.constructor) return !!superJson.classRegistry.getIdentifier(potentialClass.constructor); + return false; +} +var classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => { + return ["class", superJson.classRegistry.getIdentifier(clazz.constructor)]; +}, (clazz, superJson) => { + const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor); + if (!allowedProps) return { ...clazz }; + const result = {}; + allowedProps.forEach((prop) => { + result[prop] = clazz[prop]; + }); + return result; +}, (v, a, superJson) => { + const clazz = superJson.classRegistry.getValue(a[1]); + if (!clazz) throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`); + return Object.assign(Object.create(clazz.prototype), v); +}); +var customRule = compositeTransformation((value, superJson) => { + return !!superJson.customTransformerRegistry.findApplicable(value); +}, (value, superJson) => { + return ["custom", superJson.customTransformerRegistry.findApplicable(value).name]; +}, (value, superJson) => { + return superJson.customTransformerRegistry.findApplicable(value).serialize(value); +}, (v, a, superJson) => { + const transformer = superJson.customTransformerRegistry.findByName(a[1]); + if (!transformer) throw new Error("Trying to deserialize unknown custom value"); + return transformer.deserialize(v); +}); +var compositeRules = [ + classRule, + symbolRule, + customRule, + typedArrayRule +]; +var transformValue = (value, superJson) => { + const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson)); + if (applicableCompositeRule) return { + value: applicableCompositeRule.transform(value, superJson), + type: applicableCompositeRule.annotation(value, superJson) + }; + const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson)); + if (applicableSimpleRule) return { + value: applicableSimpleRule.transform(value, superJson), + type: applicableSimpleRule.annotation + }; +}; +var simpleRulesByAnnotation = {}; +simpleRules.forEach((rule) => { + simpleRulesByAnnotation[rule.annotation] = rule; +}); +var untransformValue = (json, type, superJson) => { + if (isArray$2(type)) switch (type[0]) { + case "symbol": return symbolRule.untransform(json, type, superJson); + case "class": return classRule.untransform(json, type, superJson); + case "custom": return customRule.untransform(json, type, superJson); + case "typed-array": return typedArrayRule.untransform(json, type, superJson); + default: throw new Error("Unknown transformation: " + type); + } + else { + const transformation = simpleRulesByAnnotation[type]; + if (!transformation) throw new Error("Unknown transformation: " + type); + return transformation.untransform(json, superJson); + } +}; +var getNthKey = (value, n) => { + if (n > value.size) throw new Error("index out of bounds"); + const keys = value.keys(); + while (n > 0) { + keys.next(); + n--; + } + return keys.next().value; +}; +function validatePath(path) { + if (includes(path, "__proto__")) throw new Error("__proto__ is not allowed as a property"); + if (includes(path, "prototype")) throw new Error("prototype is not allowed as a property"); + if (includes(path, "constructor")) throw new Error("constructor is not allowed as a property"); +} +var getDeep = (object, path) => { + validatePath(path); + for (let i = 0; i < path.length; i++) { + const key = path[i]; + if (isSet(object)) object = getNthKey(object, +key); + else if (isMap(object)) { + const row = +key; + const type = +path[++i] === 0 ? "key" : "value"; + const keyOfRow = getNthKey(object, row); + switch (type) { + case "key": + object = keyOfRow; + break; + case "value": + object = object.get(keyOfRow); + break; + } + } else object = object[key]; + } + return object; +}; +var setDeep = (object, path, mapper) => { + validatePath(path); + if (path.length === 0) return mapper(object); + let parent = object; + for (let i = 0; i < path.length - 1; i++) { + const key = path[i]; + if (isArray$2(parent)) { + const index = +key; + parent = parent[index]; + } else if (isPlainObject$2(parent)) parent = parent[key]; + else if (isSet(parent)) { + const row = +key; + parent = getNthKey(parent, row); + } else if (isMap(parent)) { + if (i === path.length - 2) break; + const row = +key; + const type = +path[++i] === 0 ? "key" : "value"; + const keyOfRow = getNthKey(parent, row); + switch (type) { + case "key": + parent = keyOfRow; + break; + case "value": + parent = parent.get(keyOfRow); + break; + } + } + } + const lastKey = path[path.length - 1]; + if (isArray$2(parent)) parent[+lastKey] = mapper(parent[+lastKey]); + else if (isPlainObject$2(parent)) parent[lastKey] = mapper(parent[lastKey]); + if (isSet(parent)) { + const oldValue = getNthKey(parent, +lastKey); + const newValue = mapper(oldValue); + if (oldValue !== newValue) { + parent.delete(oldValue); + parent.add(newValue); + } + } + if (isMap(parent)) { + const row = +path[path.length - 2]; + const keyToRow = getNthKey(parent, row); + switch (+lastKey === 0 ? "key" : "value") { + case "key": { + const newKey = mapper(keyToRow); + parent.set(newKey, parent.get(keyToRow)); + if (newKey !== keyToRow) parent.delete(keyToRow); + break; + } + case "value": + parent.set(keyToRow, mapper(parent.get(keyToRow))); + break; + } + } + return object; +}; +function traverse(tree, walker, origin = []) { + if (!tree) return; + if (!isArray$2(tree)) { + forEach(tree, (subtree, key) => traverse(subtree, walker, [...origin, ...parsePath(key)])); + return; + } + const [nodeValue, children] = tree; + if (children) forEach(children, (child, key) => { + traverse(child, walker, [...origin, ...parsePath(key)]); + }); + walker(nodeValue, origin); +} +function applyValueAnnotations(plain, annotations, superJson) { + traverse(annotations, (type, path) => { + plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson)); + }); + return plain; +} +function applyReferentialEqualityAnnotations(plain, annotations) { + function apply(identicalPaths, path) { + const object = getDeep(plain, parsePath(path)); + identicalPaths.map(parsePath).forEach((identicalObjectPath) => { + plain = setDeep(plain, identicalObjectPath, () => object); + }); + } + if (isArray$2(annotations)) { + const [root, other] = annotations; + root.forEach((identicalPath) => { + plain = setDeep(plain, parsePath(identicalPath), () => plain); + }); + if (other) forEach(other, apply); + } else forEach(annotations, apply); + return plain; +} +var isDeep = (object, superJson) => isPlainObject$2(object) || isArray$2(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson); +function addIdentity(object, path, identities) { + const existingSet = identities.get(object); + if (existingSet) existingSet.push(path); + else identities.set(object, [path]); +} +function generateReferentialEqualityAnnotations(identitites, dedupe) { + const result = {}; + let rootEqualityPaths = void 0; + identitites.forEach((paths) => { + if (paths.length <= 1) return; + if (!dedupe) paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length); + const [representativePath, ...identicalPaths] = paths; + if (representativePath.length === 0) rootEqualityPaths = identicalPaths.map(stringifyPath); + else result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath); + }); + if (rootEqualityPaths) if (isEmptyObject(result)) return [rootEqualityPaths]; + else return [rootEqualityPaths, result]; + else return isEmptyObject(result) ? void 0 : result; +} +var walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => { + const primitive = isPrimitive(object); + if (!primitive) { + addIdentity(object, path, identities); + const seen = seenObjects.get(object); + if (seen) return dedupe ? { transformedValue: null } : seen; + } + if (!isDeep(object, superJson)) { + const transformed = transformValue(object, superJson); + const result = transformed ? { + transformedValue: transformed.value, + annotations: [transformed.type] + } : { transformedValue: object }; + if (!primitive) seenObjects.set(object, result); + return result; + } + if (includes(objectsInThisPath, object)) return { transformedValue: null }; + const transformationResult = transformValue(object, superJson); + const transformed = transformationResult?.value ?? object; + const transformedValue = isArray$2(transformed) ? [] : {}; + const innerAnnotations = {}; + forEach(transformed, (value, index) => { + if (index === "__proto__" || index === "constructor" || index === "prototype") throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`); + const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects); + transformedValue[index] = recursiveResult.transformedValue; + if (isArray$2(recursiveResult.annotations)) innerAnnotations[index] = recursiveResult.annotations; + else if (isPlainObject$2(recursiveResult.annotations)) forEach(recursiveResult.annotations, (tree, key) => { + innerAnnotations[escapeKey(index) + "." + key] = tree; + }); + }); + const result = isEmptyObject(innerAnnotations) ? { + transformedValue, + annotations: !!transformationResult ? [transformationResult.type] : void 0 + } : { + transformedValue, + annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations + }; + if (!primitive) seenObjects.set(object, result); + return result; +}; +function getType(payload) { + return Object.prototype.toString.call(payload).slice(8, -1); +} +function isArray$1(payload) { + return getType(payload) === "Array"; +} +function isPlainObject$1(payload) { + if (getType(payload) !== "Object") return false; + const prototype = Object.getPrototypeOf(payload); + return !!prototype && prototype.constructor === Object && prototype === Object.prototype; +} +function isNull(payload) { + return getType(payload) === "Null"; +} +function isOneOf(a, b, c, d, e) { + return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value); +} +function isUndefined(payload) { + return getType(payload) === "Undefined"; +} +isOneOf(isNull, isUndefined); +function assignProp(carry, key, newVal, originalObject, includeNonenumerable) { + const propType = {}.propertyIsEnumerable.call(originalObject, key) ? "enumerable" : "nonenumerable"; + if (propType === "enumerable") carry[key] = newVal; + if (includeNonenumerable && propType === "nonenumerable") Object.defineProperty(carry, key, { + value: newVal, + enumerable: false, + writable: true, + configurable: true + }); +} +function copy(target, options = {}) { + if (isArray$1(target)) return target.map((item) => copy(item, options)); + if (!isPlainObject$1(target)) return target; + const props = Object.getOwnPropertyNames(target); + const symbols = Object.getOwnPropertySymbols(target); + return [...props, ...symbols].reduce((carry, key) => { + if (isArray$1(options.props) && !options.props.includes(key)) return carry; + const val = target[key]; + assignProp(carry, key, copy(val, options), target, options.nonenumerable); + return carry; + }, {}); +} +var SuperJSON = class { + /** + * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`. + */ + constructor({ dedupe = false } = {}) { + this.classRegistry = new ClassRegistry(); + this.symbolRegistry = new Registry((s) => s.description ?? ""); + this.customTransformerRegistry = new CustomTransformerRegistry(); + this.allowedErrorProps = []; + this.dedupe = dedupe; + } + serialize(object) { + const identities = /* @__PURE__ */ new Map(); + const output = walker(object, identities, this, this.dedupe); + const res = { json: output.transformedValue }; + if (output.annotations) res.meta = { + ...res.meta, + values: output.annotations + }; + const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe); + if (equalityAnnotations) res.meta = { + ...res.meta, + referentialEqualities: equalityAnnotations + }; + return res; + } + deserialize(payload) { + const { json, meta } = payload; + let result = copy(json); + if (meta?.values) result = applyValueAnnotations(result, meta.values, this); + if (meta?.referentialEqualities) result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities); + return result; + } + stringify(object) { + return JSON.stringify(this.serialize(object)); + } + parse(string) { + return this.deserialize(JSON.parse(string)); + } + registerClass(v, options) { + this.classRegistry.register(v, options); + } + registerSymbol(v, identifier) { + this.symbolRegistry.register(v, identifier); + } + registerCustom(transformer, name) { + this.customTransformerRegistry.register({ + name, + ...transformer + }); + } + allowErrorProps(...props) { + this.allowedErrorProps.push(...props); + } +}; +SuperJSON.defaultInstance = new SuperJSON(); +SuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance); +SuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance); +SuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance); +SuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance); +SuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance); +SuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance); +SuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance); +SuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance); +SuperJSON.serialize; +SuperJSON.deserialize; +SuperJSON.stringify; +SuperJSON.parse; +SuperJSON.registerClass; +SuperJSON.registerCustom; +SuperJSON.registerSymbol; +SuperJSON.allowErrorProps; +target.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ ??= []; +target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ ??= null; +target.__VUE_DEVTOOLS_KIT_RPC_SERVER__ ??= null; +target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ ??= null; +target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ ??= null; +target.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ ??= null; +//#endregion +export { removeCustomCommand as a, onDevToolsConnected as i, addCustomTab as n, setupDevToolsPlugin as o, onDevToolsClientConnected as r, addCustomCommand as t }; + +//# sourceMappingURL=dist-jlnTmUNc.js.map \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/dist-jlnTmUNc.js.map b/src/.vuepress/.cache/deps/dist-jlnTmUNc.js.map new file mode 100644 index 000000000..b345a5792 --- /dev/null +++ b/src/.vuepress/.cache/deps/dist-jlnTmUNc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dist-jlnTmUNc.js","names":["__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","__commonJSMin","__copyProps","__toESM"],"sources":["../../../../node_modules/@vue/devtools-shared/dist/index.js","../../../../node_modules/perfect-debounce/dist/index.mjs","../../../../node_modules/hookable/dist/index.mjs","../../../../node_modules/birpc/dist/index.mjs","../../../../node_modules/@vue/devtools-kit/dist/index.js"],"sourcesContent":["//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n//#endregion\n//#region src/constants.ts\nconst VIEW_MODE_STORAGE_KEY = \"__vue-devtools-view-mode__\";\nconst VITE_PLUGIN_DETECTED_STORAGE_KEY = \"__vue-devtools-vite-plugin-detected__\";\nconst VITE_PLUGIN_CLIENT_URL_STORAGE_KEY = \"__vue-devtools-vite-plugin-client-url__\";\nconst BROADCAST_CHANNEL_NAME = \"__vue-devtools-broadcast-channel__\";\n//#endregion\n//#region src/env.ts\nconst isBrowser = typeof navigator !== \"undefined\";\nconst target = typeof window !== \"undefined\" ? window : typeof globalThis !== \"undefined\" ? globalThis : typeof global !== \"undefined\" ? global : {};\nconst isInChromePanel = typeof target.chrome !== \"undefined\" && !!target.chrome.devtools;\nconst isInIframe = isBrowser && target.self !== target.top;\nconst isInElectron = typeof navigator !== \"undefined\" && navigator.userAgent?.toLowerCase().includes(\"electron\");\nconst isNuxtApp = typeof window !== \"undefined\" && !!window.__NUXT__;\nconst isInSeparateWindow = !isInIframe && !isInChromePanel && !isInElectron;\n//#endregion\n//#region src/general.ts\nvar import_rfdc = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = rfdc;\n\tfunction copyBuffer(cur) {\n\t\tif (cur instanceof Buffer) return Buffer.from(cur);\n\t\treturn new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length);\n\t}\n\tfunction rfdc(opts) {\n\t\topts = opts || {};\n\t\tif (opts.circles) return rfdcCircles(opts);\n\t\tconst constructorHandlers = /* @__PURE__ */ new Map();\n\t\tconstructorHandlers.set(Date, (o) => new Date(o));\n\t\tconstructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));\n\t\tconstructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));\n\t\tif (opts.constructorHandlers) for (const handler of opts.constructorHandlers) constructorHandlers.set(handler[0], handler[1]);\n\t\tlet handler = null;\n\t\treturn opts.proto ? cloneProto : clone;\n\t\tfunction cloneArray(a, fn) {\n\t\t\tconst keys = Object.keys(a);\n\t\t\tconst a2 = new Array(keys.length);\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst k = keys[i];\n\t\t\t\tconst cur = a[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) a2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur);\n\t\t\t\telse a2[k] = fn(cur);\n\t\t\t}\n\t\t\treturn a2;\n\t\t}\n\t\tfunction clone(o) {\n\t\t\tif (typeof o !== \"object\" || o === null) return o;\n\t\t\tif (Array.isArray(o)) return cloneArray(o, clone);\n\t\t\tif (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone);\n\t\t\tconst o2 = {};\n\t\t\tfor (const k in o) {\n\t\t\t\tif (Object.hasOwnProperty.call(o, k) === false) continue;\n\t\t\t\tconst cur = o[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) o2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);\n\t\t\t\telse o2[k] = clone(cur);\n\t\t\t}\n\t\t\treturn o2;\n\t\t}\n\t\tfunction cloneProto(o) {\n\t\t\tif (typeof o !== \"object\" || o === null) return o;\n\t\t\tif (Array.isArray(o)) return cloneArray(o, cloneProto);\n\t\t\tif (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto);\n\t\t\tconst o2 = {};\n\t\t\tfor (const k in o) {\n\t\t\t\tconst cur = o[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) o2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);\n\t\t\t\telse o2[k] = cloneProto(cur);\n\t\t\t}\n\t\t\treturn o2;\n\t\t}\n\t}\n\tfunction rfdcCircles(opts) {\n\t\tconst refs = [];\n\t\tconst refsNew = [];\n\t\tconst constructorHandlers = /* @__PURE__ */ new Map();\n\t\tconstructorHandlers.set(Date, (o) => new Date(o));\n\t\tconstructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));\n\t\tconstructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));\n\t\tif (opts.constructorHandlers) for (const handler of opts.constructorHandlers) constructorHandlers.set(handler[0], handler[1]);\n\t\tlet handler = null;\n\t\treturn opts.proto ? cloneProto : clone;\n\t\tfunction cloneArray(a, fn) {\n\t\t\tconst keys = Object.keys(a);\n\t\t\tconst a2 = new Array(keys.length);\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst k = keys[i];\n\t\t\t\tconst cur = a[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) a2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur);\n\t\t\t\telse {\n\t\t\t\t\tconst index = refs.indexOf(cur);\n\t\t\t\t\tif (index !== -1) a2[k] = refsNew[index];\n\t\t\t\t\telse a2[k] = fn(cur);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn a2;\n\t\t}\n\t\tfunction clone(o) {\n\t\t\tif (typeof o !== \"object\" || o === null) return o;\n\t\t\tif (Array.isArray(o)) return cloneArray(o, clone);\n\t\t\tif (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone);\n\t\t\tconst o2 = {};\n\t\t\trefs.push(o);\n\t\t\trefsNew.push(o2);\n\t\t\tfor (const k in o) {\n\t\t\t\tif (Object.hasOwnProperty.call(o, k) === false) continue;\n\t\t\t\tconst cur = o[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) o2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);\n\t\t\t\telse {\n\t\t\t\t\tconst i = refs.indexOf(cur);\n\t\t\t\t\tif (i !== -1) o2[k] = refsNew[i];\n\t\t\t\t\telse o2[k] = clone(cur);\n\t\t\t\t}\n\t\t\t}\n\t\t\trefs.pop();\n\t\t\trefsNew.pop();\n\t\t\treturn o2;\n\t\t}\n\t\tfunction cloneProto(o) {\n\t\t\tif (typeof o !== \"object\" || o === null) return o;\n\t\t\tif (Array.isArray(o)) return cloneArray(o, cloneProto);\n\t\t\tif (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto);\n\t\t\tconst o2 = {};\n\t\t\trefs.push(o);\n\t\t\trefsNew.push(o2);\n\t\t\tfor (const k in o) {\n\t\t\t\tconst cur = o[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) o2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);\n\t\t\t\telse {\n\t\t\t\t\tconst i = refs.indexOf(cur);\n\t\t\t\t\tif (i !== -1) o2[k] = refsNew[i];\n\t\t\t\t\telse o2[k] = cloneProto(cur);\n\t\t\t\t}\n\t\t\t}\n\t\t\trefs.pop();\n\t\t\trefsNew.pop();\n\t\t\treturn o2;\n\t\t}\n\t}\n})))(), 1);\nfunction NOOP() {}\nconst isNumeric = (str) => `${+str}` === str;\nconst isMacOS = () => navigator?.platform ? navigator?.platform.toLowerCase().includes(\"mac\") : /Macintosh/.test(navigator.userAgent);\nconst classifyRE = /(?:^|[-_/])(\\w)/g;\nconst camelizeRE = /-(\\w)/g;\nconst kebabizeRE = /([a-z0-9])([A-Z])/g;\nfunction toUpper(_, c) {\n\treturn c ? c.toUpperCase() : \"\";\n}\nfunction classify(str) {\n\treturn str && `${str}`.replace(classifyRE, toUpper);\n}\nfunction camelize(str) {\n\treturn str && str.replace(camelizeRE, toUpper);\n}\nfunction kebabize(str) {\n\treturn str && str.replace(kebabizeRE, (_, lowerCaseCharacter, upperCaseLetter) => {\n\t\treturn `${lowerCaseCharacter}-${upperCaseLetter}`;\n\t}).toLowerCase();\n}\nfunction basename(filename, ext) {\n\tlet normalizedFilename = filename.replace(/^[a-z]:/i, \"\").replace(/\\\\/g, \"/\");\n\tif (normalizedFilename.endsWith(`index${ext}`)) normalizedFilename = normalizedFilename.replace(`/index${ext}`, ext);\n\tconst lastSlashIndex = normalizedFilename.lastIndexOf(\"/\");\n\tconst baseNameWithExt = normalizedFilename.substring(lastSlashIndex + 1);\n\tif (ext) {\n\t\tconst extIndex = baseNameWithExt.lastIndexOf(ext);\n\t\treturn baseNameWithExt.substring(0, extIndex);\n\t}\n\treturn \"\";\n}\nfunction sortByKey(state) {\n\treturn state && state.slice().sort((a, b) => {\n\t\tif (a.key < b.key) return -1;\n\t\tif (a.key > b.key) return 1;\n\t\treturn 0;\n\t});\n}\nconst HTTP_URL_RE = /^https?:\\/\\//;\n/**\n* Check a string is start with `/` or a valid http url\n*/\nfunction isUrlString(str) {\n\treturn str.startsWith(\"/\") || HTTP_URL_RE.test(str);\n}\n/**\n* @copyright [rfdc](https://github.com/davidmarkclements/rfdc)\n* @description A really fast deep clone alternative\n*/\nconst deepClone = (0, import_rfdc.default)({ circles: true });\nfunction randomStr() {\n\treturn Math.random().toString(36).slice(2);\n}\nfunction isObject(value) {\n\treturn typeof value === \"object\" && !Array.isArray(value) && value !== null;\n}\nfunction isArray(value) {\n\treturn Array.isArray(value);\n}\nfunction isSet(value) {\n\treturn value instanceof Set;\n}\nfunction isMap(value) {\n\treturn value instanceof Map;\n}\n//#endregion\nexport { BROADCAST_CHANNEL_NAME, NOOP, VIEW_MODE_STORAGE_KEY, VITE_PLUGIN_CLIENT_URL_STORAGE_KEY, VITE_PLUGIN_DETECTED_STORAGE_KEY, basename, camelize, classify, deepClone, isArray, isBrowser, isInChromePanel, isInElectron, isInIframe, isInSeparateWindow, isMacOS, isMap, isNumeric, isNuxtApp, isObject, isSet, isUrlString, kebabize, randomStr, sortByKey, target };\n","//#region src/index.ts\nconst DEBOUNCE_DEFAULTS = { trailing: true };\n/**\nDebounce functions\n@param fn - Promise-returning/async function to debounce.\n@param wait - Milliseconds to wait before calling `fn`. Default value is 25ms\n@returns A function that delays calling `fn` until after `wait` milliseconds have elapsed since the last time it was called.\n@example\n```\nimport { debounce } from 'perfect-debounce';\nconst expensiveCall = async input => input;\nconst debouncedFn = debounce(expensiveCall, 200);\nfor (const number of [1, 2, 3]) {\nconsole.log(await debouncedFn(number));\n}\n//=> 1\n//=> 2\n//=> 3\n```\n*/\nfunction debounce(fn, wait = 25, options = {}) {\n\toptions = {\n\t\t...DEBOUNCE_DEFAULTS,\n\t\t...options\n\t};\n\tif (!Number.isFinite(wait)) throw new TypeError(\"Expected `wait` to be a finite number\");\n\tlet leadingValue;\n\tlet timeout;\n\tlet resolveList = [];\n\tlet currentPromise;\n\tlet trailingArgs;\n\tconst applyFn = (_this, args) => {\n\t\tcurrentPromise = _applyPromised(fn, _this, args);\n\t\tcurrentPromise.finally(() => {\n\t\t\tcurrentPromise = null;\n\t\t\tif (options.trailing && trailingArgs && !timeout) {\n\t\t\t\tconst promise = applyFn(_this, trailingArgs);\n\t\t\t\ttrailingArgs = null;\n\t\t\t\treturn promise;\n\t\t\t}\n\t\t});\n\t\treturn currentPromise;\n\t};\n\tconst debounced = function(...args) {\n\t\tif (options.trailing) trailingArgs = args;\n\t\tif (currentPromise) return currentPromise;\n\t\treturn new Promise((resolve) => {\n\t\t\tconst shouldCallNow = !timeout && options.leading;\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\ttimeout = null;\n\t\t\t\tconst promise = options.leading ? leadingValue : applyFn(this, args);\n\t\t\t\ttrailingArgs = null;\n\t\t\t\tfor (const _resolve of resolveList) _resolve(promise);\n\t\t\t\tresolveList = [];\n\t\t\t}, wait);\n\t\t\tif (shouldCallNow) {\n\t\t\t\tleadingValue = applyFn(this, args);\n\t\t\t\tresolve(leadingValue);\n\t\t\t} else resolveList.push(resolve);\n\t\t});\n\t};\n\tconst _clearTimeout = (timer) => {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimeout = null;\n\t\t}\n\t};\n\tdebounced.isPending = () => !!timeout;\n\tdebounced.cancel = () => {\n\t\t_clearTimeout(timeout);\n\t\tresolveList = [];\n\t\ttrailingArgs = null;\n\t};\n\tdebounced.flush = () => {\n\t\t_clearTimeout(timeout);\n\t\tif (!trailingArgs || currentPromise) return;\n\t\tconst args = trailingArgs;\n\t\ttrailingArgs = null;\n\t\treturn applyFn(this, args);\n\t};\n\treturn debounced;\n}\nasync function _applyPromised(fn, _this, args) {\n\treturn await fn.apply(_this, args);\n}\n\n//#endregion\nexport { debounce };","function flatHooks(configHooks, hooks = {}, parentName) {\n for (const key in configHooks) {\n const subHook = configHooks[key];\n const name = parentName ? `${parentName}:${key}` : key;\n if (typeof subHook === \"object\" && subHook !== null) {\n flatHooks(subHook, hooks, name);\n } else if (typeof subHook === \"function\") {\n hooks[name] = subHook;\n }\n }\n return hooks;\n}\nfunction mergeHooks(...hooks) {\n const finalHooks = {};\n for (const hook of hooks) {\n const flatenHook = flatHooks(hook);\n for (const key in flatenHook) {\n if (finalHooks[key]) {\n finalHooks[key].push(flatenHook[key]);\n } else {\n finalHooks[key] = [flatenHook[key]];\n }\n }\n }\n for (const key in finalHooks) {\n if (finalHooks[key].length > 1) {\n const array = finalHooks[key];\n finalHooks[key] = (...arguments_) => serial(array, (function_) => function_(...arguments_));\n } else {\n finalHooks[key] = finalHooks[key][0];\n }\n }\n return finalHooks;\n}\nfunction serial(tasks, function_) {\n return tasks.reduce(\n (promise, task) => promise.then(() => function_(task)),\n Promise.resolve()\n );\n}\nconst defaultTask = { run: (function_) => function_() };\nconst _createTask = () => defaultTask;\nconst createTask = typeof console.createTask !== \"undefined\" ? console.createTask : _createTask;\nfunction serialTaskCaller(hooks, args) {\n const name = args.shift();\n const task = createTask(name);\n return hooks.reduce(\n (promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))),\n Promise.resolve()\n );\n}\nfunction parallelTaskCaller(hooks, args) {\n const name = args.shift();\n const task = createTask(name);\n return Promise.all(hooks.map((hook) => task.run(() => hook(...args))));\n}\nfunction serialCaller(hooks, arguments_) {\n return hooks.reduce(\n (promise, hookFunction) => promise.then(() => hookFunction(...arguments_ || [])),\n Promise.resolve()\n );\n}\nfunction parallelCaller(hooks, args) {\n return Promise.all(hooks.map((hook) => hook(...args || [])));\n}\nfunction callEachWith(callbacks, arg0) {\n for (const callback of [...callbacks]) {\n callback(arg0);\n }\n}\n\nclass Hookable {\n constructor() {\n this._hooks = {};\n this._before = void 0;\n this._after = void 0;\n this._deprecatedMessages = void 0;\n this._deprecatedHooks = {};\n this.hook = this.hook.bind(this);\n this.callHook = this.callHook.bind(this);\n this.callHookWith = this.callHookWith.bind(this);\n }\n hook(name, function_, options = {}) {\n if (!name || typeof function_ !== \"function\") {\n return () => {\n };\n }\n const originalName = name;\n let dep;\n while (this._deprecatedHooks[name]) {\n dep = this._deprecatedHooks[name];\n name = dep.to;\n }\n if (dep && !options.allowDeprecated) {\n let message = dep.message;\n if (!message) {\n message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : \"\");\n }\n if (!this._deprecatedMessages) {\n this._deprecatedMessages = /* @__PURE__ */ new Set();\n }\n if (!this._deprecatedMessages.has(message)) {\n console.warn(message);\n this._deprecatedMessages.add(message);\n }\n }\n if (!function_.name) {\n try {\n Object.defineProperty(function_, \"name\", {\n get: () => \"_\" + name.replace(/\\W+/g, \"_\") + \"_hook_cb\",\n configurable: true\n });\n } catch {\n }\n }\n this._hooks[name] = this._hooks[name] || [];\n this._hooks[name].push(function_);\n return () => {\n if (function_) {\n this.removeHook(name, function_);\n function_ = void 0;\n }\n };\n }\n hookOnce(name, function_) {\n let _unreg;\n let _function = (...arguments_) => {\n if (typeof _unreg === \"function\") {\n _unreg();\n }\n _unreg = void 0;\n _function = void 0;\n return function_(...arguments_);\n };\n _unreg = this.hook(name, _function);\n return _unreg;\n }\n removeHook(name, function_) {\n if (this._hooks[name]) {\n const index = this._hooks[name].indexOf(function_);\n if (index !== -1) {\n this._hooks[name].splice(index, 1);\n }\n if (this._hooks[name].length === 0) {\n delete this._hooks[name];\n }\n }\n }\n deprecateHook(name, deprecated) {\n this._deprecatedHooks[name] = typeof deprecated === \"string\" ? { to: deprecated } : deprecated;\n const _hooks = this._hooks[name] || [];\n delete this._hooks[name];\n for (const hook of _hooks) {\n this.hook(name, hook);\n }\n }\n deprecateHooks(deprecatedHooks) {\n Object.assign(this._deprecatedHooks, deprecatedHooks);\n for (const name in deprecatedHooks) {\n this.deprecateHook(name, deprecatedHooks[name]);\n }\n }\n addHooks(configHooks) {\n const hooks = flatHooks(configHooks);\n const removeFns = Object.keys(hooks).map(\n (key) => this.hook(key, hooks[key])\n );\n return () => {\n for (const unreg of removeFns.splice(0, removeFns.length)) {\n unreg();\n }\n };\n }\n removeHooks(configHooks) {\n const hooks = flatHooks(configHooks);\n for (const key in hooks) {\n this.removeHook(key, hooks[key]);\n }\n }\n removeAllHooks() {\n for (const key in this._hooks) {\n delete this._hooks[key];\n }\n }\n callHook(name, ...arguments_) {\n arguments_.unshift(name);\n return this.callHookWith(serialTaskCaller, name, ...arguments_);\n }\n callHookParallel(name, ...arguments_) {\n arguments_.unshift(name);\n return this.callHookWith(parallelTaskCaller, name, ...arguments_);\n }\n callHookWith(caller, name, ...arguments_) {\n const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0;\n if (this._before) {\n callEachWith(this._before, event);\n }\n const result = caller(\n name in this._hooks ? [...this._hooks[name]] : [],\n arguments_\n );\n if (result instanceof Promise) {\n return result.finally(() => {\n if (this._after && event) {\n callEachWith(this._after, event);\n }\n });\n }\n if (this._after && event) {\n callEachWith(this._after, event);\n }\n return result;\n }\n beforeEach(function_) {\n this._before = this._before || [];\n this._before.push(function_);\n return () => {\n if (this._before !== void 0) {\n const index = this._before.indexOf(function_);\n if (index !== -1) {\n this._before.splice(index, 1);\n }\n }\n };\n }\n afterEach(function_) {\n this._after = this._after || [];\n this._after.push(function_);\n return () => {\n if (this._after !== void 0) {\n const index = this._after.indexOf(function_);\n if (index !== -1) {\n this._after.splice(index, 1);\n }\n }\n };\n }\n}\nfunction createHooks() {\n return new Hookable();\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nfunction createDebugger(hooks, _options = {}) {\n const options = {\n inspect: isBrowser,\n group: isBrowser,\n filter: () => true,\n ..._options\n };\n const _filter = options.filter;\n const filter = typeof _filter === \"string\" ? (name) => name.startsWith(_filter) : _filter;\n const _tag = options.tag ? `[${options.tag}] ` : \"\";\n const logPrefix = (event) => _tag + event.name + \"\".padEnd(event._id, \"\\0\");\n const _idCtr = {};\n const unsubscribeBefore = hooks.beforeEach((event) => {\n if (filter !== void 0 && !filter(event.name)) {\n return;\n }\n _idCtr[event.name] = _idCtr[event.name] || 0;\n event._id = _idCtr[event.name]++;\n console.time(logPrefix(event));\n });\n const unsubscribeAfter = hooks.afterEach((event) => {\n if (filter !== void 0 && !filter(event.name)) {\n return;\n }\n if (options.group) {\n console.groupCollapsed(event.name);\n }\n if (options.inspect) {\n console.timeLog(logPrefix(event), event.args);\n } else {\n console.timeEnd(logPrefix(event));\n }\n if (options.group) {\n console.groupEnd();\n }\n _idCtr[event.name]--;\n });\n return {\n /** Stop debugging and remove listeners */\n close: () => {\n unsubscribeBefore();\n unsubscribeAfter();\n }\n };\n}\n\nexport { Hookable, createDebugger, createHooks, flatHooks, mergeHooks, parallelCaller, serial, serialCaller };\n","const TYPE_REQUEST = \"q\";\nconst TYPE_RESPONSE = \"s\";\nconst DEFAULT_TIMEOUT = 6e4;\nfunction defaultSerialize(i) {\n return i;\n}\nconst defaultDeserialize = defaultSerialize;\nconst { clearTimeout, setTimeout } = globalThis;\nconst random = Math.random.bind(Math);\nfunction createBirpc($functions, options) {\n const {\n post,\n on,\n off = () => {\n },\n eventNames = [],\n serialize = defaultSerialize,\n deserialize = defaultDeserialize,\n resolver,\n bind = \"rpc\",\n timeout = DEFAULT_TIMEOUT\n } = options;\n let $closed = false;\n const _rpcPromiseMap = /* @__PURE__ */ new Map();\n let _promiseInit;\n let rpc;\n async function _call(method, args, event, optional) {\n if ($closed)\n throw new Error(`[birpc] rpc is closed, cannot call \"${method}\"`);\n const req = { m: method, a: args, t: TYPE_REQUEST };\n if (optional)\n req.o = true;\n const send = async (_req) => post(serialize(_req));\n if (event) {\n await send(req);\n return;\n }\n if (_promiseInit) {\n try {\n await _promiseInit;\n } finally {\n _promiseInit = void 0;\n }\n }\n let { promise, resolve, reject } = createPromiseWithResolvers();\n const id = nanoid();\n req.i = id;\n let timeoutId;\n async function handler(newReq = req) {\n if (timeout >= 0) {\n timeoutId = setTimeout(() => {\n try {\n const handleResult = options.onTimeoutError?.call(rpc, method, args);\n if (handleResult !== true)\n throw new Error(`[birpc] timeout on calling \"${method}\"`);\n } catch (e) {\n reject(e);\n }\n _rpcPromiseMap.delete(id);\n }, timeout);\n if (typeof timeoutId === \"object\")\n timeoutId = timeoutId.unref?.();\n }\n _rpcPromiseMap.set(id, { resolve, reject, timeoutId, method });\n await send(newReq);\n return promise;\n }\n try {\n if (options.onRequest)\n await options.onRequest.call(rpc, req, handler, resolve);\n else\n await handler();\n } catch (e) {\n if (options.onGeneralError?.call(rpc, e) !== true)\n throw e;\n return;\n } finally {\n clearTimeout(timeoutId);\n _rpcPromiseMap.delete(id);\n }\n return promise;\n }\n const $call = (method, ...args) => _call(method, args, false);\n const $callOptional = (method, ...args) => _call(method, args, false, true);\n const $callEvent = (method, ...args) => _call(method, args, true);\n const $callRaw = (options2) => _call(options2.method, options2.args, options2.event, options2.optional);\n const builtinMethods = {\n $call,\n $callOptional,\n $callEvent,\n $callRaw,\n $rejectPendingCalls,\n get $closed() {\n return $closed;\n },\n get $meta() {\n return options.meta;\n },\n $close,\n $functions\n };\n rpc = new Proxy({}, {\n get(_, method) {\n if (Object.prototype.hasOwnProperty.call(builtinMethods, method))\n return builtinMethods[method];\n if (method === \"then\" && !eventNames.includes(\"then\") && !(\"then\" in $functions))\n return void 0;\n const sendEvent = (...args) => _call(method, args, true);\n if (eventNames.includes(method)) {\n sendEvent.asEvent = sendEvent;\n return sendEvent;\n }\n const sendCall = (...args) => _call(method, args, false);\n sendCall.asEvent = sendEvent;\n return sendCall;\n }\n });\n function $close(customError) {\n $closed = true;\n _rpcPromiseMap.forEach(({ reject, method }) => {\n const error = new Error(`[birpc] rpc is closed, cannot call \"${method}\"`);\n if (customError) {\n customError.cause ??= error;\n return reject(customError);\n }\n reject(error);\n });\n _rpcPromiseMap.clear();\n off(onMessage);\n }\n function $rejectPendingCalls(handler) {\n const entries = Array.from(_rpcPromiseMap.values());\n const handlerResults = entries.map(({ method, reject }) => {\n if (!handler) {\n return reject(new Error(`[birpc]: rejected pending call \"${method}\".`));\n }\n return handler({ method, reject });\n });\n _rpcPromiseMap.clear();\n return handlerResults;\n }\n async function onMessage(data, ...extra) {\n let msg;\n try {\n msg = deserialize(data);\n } catch (e) {\n if (options.onGeneralError?.call(rpc, e) !== true)\n throw e;\n return;\n }\n if (msg.t === TYPE_REQUEST) {\n const { m: method, a: args, o: optional } = msg;\n let result, error;\n let fn = await (resolver ? resolver.call(rpc, method, $functions[method]) : $functions[method]);\n if (optional)\n fn ||= () => void 0;\n if (!fn) {\n error = new Error(`[birpc] function \"${method}\" not found`);\n } else {\n try {\n result = await fn.apply(bind === \"rpc\" ? rpc : $functions, args);\n } catch (e) {\n error = e;\n }\n }\n if (msg.i) {\n if (error && options.onError)\n options.onError.call(rpc, error, method, args);\n if (error && options.onFunctionError) {\n if (options.onFunctionError.call(rpc, error, method, args) === true)\n return;\n }\n if (!error) {\n try {\n await post(serialize({ t: TYPE_RESPONSE, i: msg.i, r: result }), ...extra);\n return;\n } catch (e) {\n error = e;\n if (options.onGeneralError?.call(rpc, e, method, args) !== true)\n throw e;\n }\n }\n try {\n await post(serialize({ t: TYPE_RESPONSE, i: msg.i, e: error }), ...extra);\n } catch (e) {\n if (options.onGeneralError?.call(rpc, e, method, args) !== true)\n throw e;\n }\n }\n } else {\n const { i: ack, r: result, e: error } = msg;\n const promise = _rpcPromiseMap.get(ack);\n if (promise) {\n clearTimeout(promise.timeoutId);\n if (error)\n promise.reject(error);\n else\n promise.resolve(result);\n }\n _rpcPromiseMap.delete(ack);\n }\n }\n _promiseInit = on(onMessage);\n return rpc;\n}\nconst cacheMap = /* @__PURE__ */ new WeakMap();\nfunction cachedMap(items, fn) {\n return items.map((i) => {\n let r = cacheMap.get(i);\n if (!r) {\n r = fn(i);\n cacheMap.set(i, r);\n }\n return r;\n });\n}\nfunction createBirpcGroup(functions, channels, options = {}) {\n const getChannels = () => typeof channels === \"function\" ? channels() : channels;\n const getClients = (channels2 = getChannels()) => cachedMap(channels2, (s) => createBirpc(functions, { ...options, ...s }));\n function _boardcast(method, args, event, optional) {\n const clients = getClients();\n return Promise.all(clients.map((c) => c.$callRaw({ method, args, event, optional })));\n }\n function $call(method, ...args) {\n return _boardcast(method, args, false);\n }\n function $callOptional(method, ...args) {\n return _boardcast(method, args, false, true);\n }\n function $callEvent(method, ...args) {\n return _boardcast(method, args, true);\n }\n const broadcastBuiltin = {\n $call,\n $callOptional,\n $callEvent\n };\n const broadcastProxy = new Proxy({}, {\n get(_, method) {\n if (Object.prototype.hasOwnProperty.call(broadcastBuiltin, method))\n return broadcastBuiltin[method];\n const client = getClients();\n const callbacks = client.map((c) => c[method]);\n const sendCall = (...args) => {\n return Promise.all(callbacks.map((i) => i(...args)));\n };\n sendCall.asEvent = async (...args) => {\n await Promise.all(callbacks.map((i) => i.asEvent(...args)));\n };\n return sendCall;\n }\n });\n function updateChannels(fn) {\n const channels2 = getChannels();\n fn?.(channels2);\n return getClients(channels2);\n }\n getClients();\n return {\n get clients() {\n return getClients();\n },\n functions,\n updateChannels,\n broadcast: broadcastProxy,\n /**\n * @deprecated use `broadcast`\n */\n // @ts-expect-error deprecated\n boardcast: broadcastProxy\n };\n}\nfunction createPromiseWithResolvers() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n}\nconst urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nfunction nanoid(size = 21) {\n let id = \"\";\n let i = size;\n while (i--)\n id += urlAlphabet[random() * 64 | 0];\n return id;\n}\n\nexport { DEFAULT_TIMEOUT, cachedMap, createBirpc, createBirpcGroup };\n","import { basename, camelize, classify, deepClone, isBrowser, isNuxtApp, isUrlString, kebabize, target } from \"@vue/devtools-shared\";\nimport { debounce } from \"perfect-debounce\";\nimport { createHooks } from \"hookable\";\nimport { createBirpc, createBirpcGroup } from \"birpc\";\n//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n//#endregion\n//#region src/compat/index.ts\nfunction onLegacyDevToolsPluginApiAvailable(cb) {\n\tif (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__) {\n\t\tcb();\n\t\treturn;\n\t}\n\tObject.defineProperty(target, \"__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__\", {\n\t\tset(value) {\n\t\t\tif (value) cb();\n\t\t},\n\t\tconfigurable: true\n\t});\n}\n//#endregion\n//#region src/core/component/utils/index.ts\nfunction getComponentTypeName(options) {\n\tif (typeof options === \"function\") return options.displayName || options.name || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || \"\";\n\tconst name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name;\n\tif (name === \"index\" && options.__file?.endsWith(\"index.vue\")) return \"\";\n\treturn name;\n}\nfunction getComponentFileName(options) {\n\tconst file = options.__file;\n\tif (file) return classify(basename(file, \".vue\"));\n}\nfunction getComponentName(options) {\n\tconst name = options.displayName || options.name || options._componentTag;\n\tif (name) return name;\n\treturn getComponentFileName(options);\n}\nfunction saveComponentGussedName(instance, name) {\n\tinstance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name;\n\treturn name;\n}\nfunction getAppRecord(instance) {\n\tif (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__) return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n\telse if (instance.root) return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n}\nasync function getComponentId(options) {\n\tconst { app, uid, instance } = options;\n\ttry {\n\t\tif (instance.__VUE_DEVTOOLS_NEXT_UID__) return instance.__VUE_DEVTOOLS_NEXT_UID__;\n\t\tconst appRecord = await getAppRecord(app);\n\t\tif (!appRecord) return null;\n\t\tconst isRoot = appRecord.rootInstance === instance;\n\t\treturn `${appRecord.id}:${isRoot ? \"root\" : uid}`;\n\t} catch (e) {}\n}\nfunction isFragment(instance) {\n\tconst subTreeType = instance.subTree?.type;\n\tconst appRecord = getAppRecord(instance);\n\tif (appRecord) return appRecord?.types?.Fragment === subTreeType;\n\treturn false;\n}\nfunction isBeingDestroyed(instance) {\n\treturn instance._isBeingDestroyed || instance.isUnmounted;\n}\n/**\n* Get the appropriate display name for an instance.\n*\n* @param {Vue} instance\n* @return {string}\n*/\nfunction getInstanceName(instance) {\n\tconst name = getComponentTypeName(instance?.type || {});\n\tif (name) return name;\n\tif (instance?.root === instance) return \"Root\";\n\tfor (const key in instance.parent?.type?.components) if (instance.parent.type.components[key] === instance?.type) return saveComponentGussedName(instance, key);\n\tfor (const key in instance.appContext?.components) if (instance.appContext.components[key] === instance?.type) return saveComponentGussedName(instance, key);\n\tconst fileName = getComponentFileName(instance?.type || {});\n\tif (fileName) return fileName;\n\treturn \"Anonymous Component\";\n}\n/**\n* Returns a devtools unique id for instance.\n* @param {Vue} instance\n*/\nfunction getUniqueComponentId(instance) {\n\treturn `${instance?.appContext?.app?.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ ?? 0}:${instance === instance?.root ? \"root\" : instance.uid}`;\n}\nfunction getRenderKey(value) {\n\tif (value == null) return \"\";\n\tif (typeof value === \"number\") return value;\n\telse if (typeof value === \"string\") return `'${value}'`;\n\telse if (Array.isArray(value)) return \"Array\";\n\telse return \"Object\";\n}\nfunction returnError(cb) {\n\ttry {\n\t\treturn cb();\n\t} catch (e) {\n\t\treturn e;\n\t}\n}\nfunction getComponentInstance(appRecord, instanceId) {\n\tinstanceId = instanceId || `${appRecord.id}:root`;\n\treturn appRecord.instanceMap.get(instanceId) || appRecord.instanceMap.get(\":root\");\n}\nfunction ensurePropertyExists(obj, key, skipObjCheck = false) {\n\treturn skipObjCheck ? key in obj : typeof obj === \"object\" && obj !== null ? key in obj : false;\n}\n//#endregion\n//#region src/core/component/state/bounding-rect.ts\nfunction createRect() {\n\tconst rect = {\n\t\ttop: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tget width() {\n\t\t\treturn rect.right - rect.left;\n\t\t},\n\t\tget height() {\n\t\t\treturn rect.bottom - rect.top;\n\t\t}\n\t};\n\treturn rect;\n}\nlet range;\nfunction getTextRect(node) {\n\tif (!range) range = document.createRange();\n\trange.selectNode(node);\n\treturn range.getBoundingClientRect();\n}\nfunction getFragmentRect(vnode) {\n\tconst rect = createRect();\n\tif (!vnode.children) return rect;\n\tfor (let i = 0, l = vnode.children.length; i < l; i++) {\n\t\tconst childVnode = vnode.children[i];\n\t\tlet childRect;\n\t\tif (childVnode.component) childRect = getComponentBoundingRect(childVnode.component);\n\t\telse if (childVnode.el) {\n\t\t\tconst el = childVnode.el;\n\t\t\tif (el.nodeType === 1 || el.getBoundingClientRect) childRect = el.getBoundingClientRect();\n\t\t\telse if (el.nodeType === 3 && el.data.trim()) childRect = getTextRect(el);\n\t\t}\n\t\tif (childRect) mergeRects(rect, childRect);\n\t}\n\treturn rect;\n}\nfunction mergeRects(a, b) {\n\tif (!a.top || b.top < a.top) a.top = b.top;\n\tif (!a.bottom || b.bottom > a.bottom) a.bottom = b.bottom;\n\tif (!a.left || b.left < a.left) a.left = b.left;\n\tif (!a.right || b.right > a.right) a.right = b.right;\n\treturn a;\n}\nconst DEFAULT_RECT = {\n\ttop: 0,\n\tleft: 0,\n\tright: 0,\n\tbottom: 0,\n\twidth: 0,\n\theight: 0\n};\nfunction getComponentBoundingRect(instance) {\n\tconst el = instance.subTree.el;\n\tif (typeof window === \"undefined\") return DEFAULT_RECT;\n\tif (isFragment(instance)) return getFragmentRect(instance.subTree);\n\telse if (el?.nodeType === 1) return el?.getBoundingClientRect();\n\telse if (instance.subTree.component) return getComponentBoundingRect(instance.subTree.component);\n\telse return DEFAULT_RECT;\n}\n//#endregion\n//#region src/core/component/tree/el.ts\nfunction getRootElementsFromComponentInstance(instance) {\n\tif (isFragment(instance)) return getFragmentRootElements(instance.subTree);\n\tif (!instance.subTree) return [];\n\treturn [instance.subTree.el];\n}\nfunction getFragmentRootElements(vnode) {\n\tif (!vnode.children) return [];\n\tconst list = [];\n\tvnode.children.forEach((childVnode) => {\n\t\tif (childVnode.component) list.push(...getRootElementsFromComponentInstance(childVnode.component));\n\t\telse if (childVnode?.el) list.push(childVnode.el);\n\t});\n\treturn list;\n}\n//#endregion\n//#region src/core/component-highlighter/index.ts\nconst CONTAINER_ELEMENT_ID = \"__vue-devtools-component-inspector__\";\nconst CARD_ELEMENT_ID = \"__vue-devtools-component-inspector__card__\";\nconst COMPONENT_NAME_ELEMENT_ID = \"__vue-devtools-component-inspector__name__\";\nconst INDICATOR_ELEMENT_ID = \"__vue-devtools-component-inspector__indicator__\";\nconst containerStyles = {\n\tdisplay: \"block\",\n\tzIndex: 2147483640,\n\tposition: \"fixed\",\n\tbackgroundColor: \"#42b88325\",\n\tborder: \"1px solid #42b88350\",\n\tborderRadius: \"5px\",\n\ttransition: \"all 0.1s ease-in\",\n\tpointerEvents: \"none\"\n};\nconst cardStyles = {\n\tfontFamily: \"Arial, Helvetica, sans-serif\",\n\tpadding: \"5px 8px\",\n\tborderRadius: \"4px\",\n\ttextAlign: \"left\",\n\tposition: \"absolute\",\n\tleft: 0,\n\tcolor: \"#e9e9e9\",\n\tfontSize: \"14px\",\n\tfontWeight: 600,\n\tlineHeight: \"24px\",\n\tbackgroundColor: \"#42b883\",\n\tboxShadow: \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\"\n};\nconst indicatorStyles = {\n\tdisplay: \"inline-block\",\n\tfontWeight: 400,\n\tfontStyle: \"normal\",\n\tfontSize: \"12px\",\n\topacity: .7\n};\nfunction getContainerElement() {\n\treturn document.getElementById(CONTAINER_ELEMENT_ID);\n}\nfunction getCardElement() {\n\treturn document.getElementById(CARD_ELEMENT_ID);\n}\nfunction getIndicatorElement() {\n\treturn document.getElementById(INDICATOR_ELEMENT_ID);\n}\nfunction getNameElement() {\n\treturn document.getElementById(COMPONENT_NAME_ELEMENT_ID);\n}\nfunction getStyles(bounds) {\n\treturn {\n\t\tleft: `${Math.round(bounds.left * 100) / 100}px`,\n\t\ttop: `${Math.round(bounds.top * 100) / 100}px`,\n\t\twidth: `${Math.round(bounds.width * 100) / 100}px`,\n\t\theight: `${Math.round(bounds.height * 100) / 100}px`\n\t};\n}\nfunction create(options) {\n\tconst containerEl = document.createElement(\"div\");\n\tcontainerEl.id = options.elementId ?? CONTAINER_ELEMENT_ID;\n\tObject.assign(containerEl.style, {\n\t\t...containerStyles,\n\t\t...getStyles(options.bounds),\n\t\t...options.style\n\t});\n\tconst cardEl = document.createElement(\"span\");\n\tcardEl.id = CARD_ELEMENT_ID;\n\tObject.assign(cardEl.style, {\n\t\t...cardStyles,\n\t\ttop: options.bounds.top < 35 ? 0 : \"-35px\"\n\t});\n\tconst nameEl = document.createElement(\"span\");\n\tnameEl.id = COMPONENT_NAME_ELEMENT_ID;\n\tnameEl.innerHTML = `<${options.name}>  `;\n\tconst indicatorEl = document.createElement(\"i\");\n\tindicatorEl.id = INDICATOR_ELEMENT_ID;\n\tindicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;\n\tObject.assign(indicatorEl.style, indicatorStyles);\n\tcardEl.appendChild(nameEl);\n\tcardEl.appendChild(indicatorEl);\n\tcontainerEl.appendChild(cardEl);\n\tdocument.body.appendChild(containerEl);\n\treturn containerEl;\n}\nfunction update(options) {\n\tconst containerEl = getContainerElement();\n\tconst cardEl = getCardElement();\n\tconst nameEl = getNameElement();\n\tconst indicatorEl = getIndicatorElement();\n\tif (containerEl) {\n\t\tObject.assign(containerEl.style, {\n\t\t\t...containerStyles,\n\t\t\t...getStyles(options.bounds)\n\t\t});\n\t\tObject.assign(cardEl.style, { top: options.bounds.top < 35 ? 0 : \"-35px\" });\n\t\tnameEl.innerHTML = `<${options.name}>  `;\n\t\tindicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;\n\t}\n}\nfunction highlight(instance) {\n\tconst bounds = getComponentBoundingRect(instance);\n\tif (!bounds.width && !bounds.height) return;\n\tconst name = getInstanceName(instance);\n\tgetContainerElement() ? update({\n\t\tbounds,\n\t\tname\n\t}) : create({\n\t\tbounds,\n\t\tname\n\t});\n}\nfunction unhighlight() {\n\tconst el = getContainerElement();\n\tif (el) el.style.display = \"none\";\n}\nlet inspectInstance = null;\nfunction inspectFn(e) {\n\tconst target = e.target;\n\tif (target) {\n\t\tconst instance = target.__vueParentComponent;\n\t\tif (instance) {\n\t\t\tinspectInstance = instance;\n\t\t\tif (instance.vnode.el) {\n\t\t\t\tconst bounds = getComponentBoundingRect(instance);\n\t\t\t\tconst name = getInstanceName(instance);\n\t\t\t\tgetContainerElement() ? update({\n\t\t\t\t\tbounds,\n\t\t\t\t\tname\n\t\t\t\t}) : create({\n\t\t\t\t\tbounds,\n\t\t\t\t\tname\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\nfunction selectComponentFn(e, cb) {\n\te.preventDefault();\n\te.stopPropagation();\n\tif (inspectInstance) cb(getUniqueComponentId(inspectInstance));\n}\nlet inspectComponentHighLighterSelectFn = null;\nfunction cancelInspectComponentHighLighter() {\n\tunhighlight();\n\twindow.removeEventListener(\"mouseover\", inspectFn);\n\twindow.removeEventListener(\"click\", inspectComponentHighLighterSelectFn, true);\n\tinspectComponentHighLighterSelectFn = null;\n}\nfunction inspectComponentHighLighter() {\n\twindow.addEventListener(\"mouseover\", inspectFn);\n\treturn new Promise((resolve) => {\n\t\tfunction onSelect(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tselectComponentFn(e, (id) => {\n\t\t\t\twindow.removeEventListener(\"click\", onSelect, true);\n\t\t\t\tinspectComponentHighLighterSelectFn = null;\n\t\t\t\twindow.removeEventListener(\"mouseover\", inspectFn);\n\t\t\t\tconst el = getContainerElement();\n\t\t\t\tif (el) el.style.display = \"none\";\n\t\t\t\tresolve(JSON.stringify({ id }));\n\t\t\t});\n\t\t}\n\t\tinspectComponentHighLighterSelectFn = onSelect;\n\t\twindow.addEventListener(\"click\", onSelect, true);\n\t});\n}\nfunction scrollToComponent(options) {\n\tconst instance = getComponentInstance(activeAppRecord.value, options.id);\n\tif (instance) {\n\t\tconst [el] = getRootElementsFromComponentInstance(instance);\n\t\tif (typeof el.scrollIntoView === \"function\") el.scrollIntoView({ behavior: \"smooth\" });\n\t\telse {\n\t\t\tconst bounds = getComponentBoundingRect(instance);\n\t\t\tconst scrollTarget = document.createElement(\"div\");\n\t\t\tconst styles = {\n\t\t\t\t...getStyles(bounds),\n\t\t\t\tposition: \"absolute\"\n\t\t\t};\n\t\t\tObject.assign(scrollTarget.style, styles);\n\t\t\tdocument.body.appendChild(scrollTarget);\n\t\t\tscrollTarget.scrollIntoView({ behavior: \"smooth\" });\n\t\t\tsetTimeout(() => {\n\t\t\t\tdocument.body.removeChild(scrollTarget);\n\t\t\t}, 2e3);\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tconst bounds = getComponentBoundingRect(instance);\n\t\t\tif (bounds.width || bounds.height) {\n\t\t\t\tconst name = getInstanceName(instance);\n\t\t\t\tconst el = getContainerElement();\n\t\t\t\tel ? update({\n\t\t\t\t\t...options,\n\t\t\t\t\tname,\n\t\t\t\t\tbounds\n\t\t\t\t}) : create({\n\t\t\t\t\t...options,\n\t\t\t\t\tname,\n\t\t\t\t\tbounds\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (el) el.style.display = \"none\";\n\t\t\t\t}, 1500);\n\t\t\t}\n\t\t}, 1200);\n\t}\n}\n//#endregion\n//#region src/core/component-inspector/index.ts\ntarget.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ ??= true;\nfunction toggleComponentInspectorEnabled(enabled) {\n\ttarget.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = enabled;\n}\nfunction waitForInspectorInit(cb) {\n\tlet total = 0;\n\tconst timer = setInterval(() => {\n\t\tif (target.__VUE_INSPECTOR__) {\n\t\t\tclearInterval(timer);\n\t\t\ttotal += 30;\n\t\t\tcb();\n\t\t}\n\t\tif (total >= 5e3) clearInterval(timer);\n\t}, 30);\n}\nfunction setupInspector() {\n\tconst inspector = target.__VUE_INSPECTOR__;\n\tconst _openInEditor = inspector.openInEditor;\n\tinspector.openInEditor = async (...params) => {\n\t\tinspector.disable();\n\t\t_openInEditor(...params);\n\t};\n}\nfunction getComponentInspector() {\n\treturn new Promise((resolve) => {\n\t\tfunction setup() {\n\t\t\tsetupInspector();\n\t\t\tresolve(target.__VUE_INSPECTOR__);\n\t\t}\n\t\tif (!target.__VUE_INSPECTOR__) waitForInspectorInit(() => {\n\t\t\tsetup();\n\t\t});\n\t\telse setup();\n\t});\n}\n//#endregion\n//#region src/shared/stub-vue.ts\n/**\n* To prevent include a **HUGE** vue package in the final bundle of chrome ext / electron\n* we stub the necessary vue module.\n* This implementation is based on the 1c3327a0fa5983aa9078e3f7bb2330f572435425 commit\n*/\n/**\n* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/constants.ts#L17-L23)\n*/\nlet ReactiveFlags = /* @__PURE__ */ function(ReactiveFlags) {\n\tReactiveFlags[\"SKIP\"] = \"__v_skip\";\n\tReactiveFlags[\"IS_REACTIVE\"] = \"__v_isReactive\";\n\tReactiveFlags[\"IS_READONLY\"] = \"__v_isReadonly\";\n\tReactiveFlags[\"IS_SHALLOW\"] = \"__v_isShallow\";\n\tReactiveFlags[\"RAW\"] = \"__v_raw\";\n\treturn ReactiveFlags;\n}({});\n/**\n* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L330-L332)\n*/\nfunction isReadonly(value) {\n\treturn !!(value && value[ReactiveFlags.IS_READONLY]);\n}\n/**\n* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L312-L317)\n*/\nfunction isReactive$1(value) {\n\tif (isReadonly(value)) return isReactive$1(value[ReactiveFlags.RAW]);\n\treturn !!(value && value[ReactiveFlags.IS_REACTIVE]);\n}\nfunction isRef$1(r) {\n\treturn !!(r && r.__v_isRef === true);\n}\n/**\n* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L372-L375)\n*/\nfunction toRaw$1(observed) {\n\tconst raw = observed && observed[ReactiveFlags.RAW];\n\treturn raw ? toRaw$1(raw) : observed;\n}\n//#endregion\n//#region src/core/component/state/editor.ts\nvar StateEditor = class {\n\tconstructor() {\n\t\tthis.refEditor = new RefStateEditor();\n\t}\n\tset(object, path, value, cb) {\n\t\tconst sections = Array.isArray(path) ? path : path.split(\".\");\n\t\twhile (sections.length > 1) {\n\t\t\tconst section = sections.shift();\n\t\t\tif (object instanceof Map) object = object.get(section);\n\t\t\telse if (object instanceof Set) object = Array.from(object.values())[section];\n\t\t\telse object = object[section];\n\t\t\tif (this.refEditor.isRef(object)) object = this.refEditor.get(object);\n\t\t}\n\t\tconst field = sections[0];\n\t\tconst item = this.refEditor.get(object)[field];\n\t\tif (cb) cb(object, field, value);\n\t\telse if (this.refEditor.isRef(item)) this.refEditor.set(item, value);\n\t\telse object[field] = value;\n\t}\n\tget(object, path) {\n\t\tconst sections = Array.isArray(path) ? path : path.split(\".\");\n\t\tfor (let i = 0; i < sections.length; i++) {\n\t\t\tif (object instanceof Map) object = object.get(sections[i]);\n\t\t\telse object = object[sections[i]];\n\t\t\tif (this.refEditor.isRef(object)) object = this.refEditor.get(object);\n\t\t\tif (!object) return void 0;\n\t\t}\n\t\treturn object;\n\t}\n\thas(object, path, parent = false) {\n\t\tif (typeof object === \"undefined\") return false;\n\t\tconst sections = Array.isArray(path) ? path.slice() : path.split(\".\");\n\t\tconst size = !parent ? 1 : 2;\n\t\twhile (object && sections.length > size) {\n\t\t\tconst section = sections.shift();\n\t\t\tobject = object[section];\n\t\t\tif (this.refEditor.isRef(object)) object = this.refEditor.get(object);\n\t\t}\n\t\treturn object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);\n\t}\n\tcreateDefaultSetCallback(state) {\n\t\treturn (object, field, value) => {\n\t\t\tif (state.remove || state.newKey) if (Array.isArray(object)) object.splice(field, 1);\n\t\t\telse if (toRaw$1(object) instanceof Map) object.delete(field);\n\t\t\telse if (toRaw$1(object) instanceof Set) object.delete(Array.from(object.values())[field]);\n\t\t\telse Reflect.deleteProperty(object, field);\n\t\t\tif (!state.remove) {\n\t\t\t\tconst target = object[state.newKey || field];\n\t\t\t\tif (this.refEditor.isRef(target)) this.refEditor.set(target, value);\n\t\t\t\telse if (toRaw$1(object) instanceof Map) object.set(state.newKey || field, value);\n\t\t\t\telse if (toRaw$1(object) instanceof Set) object.add(value);\n\t\t\t\telse object[state.newKey || field] = value;\n\t\t\t}\n\t\t};\n\t}\n};\nvar RefStateEditor = class {\n\tset(ref, value) {\n\t\tif (isRef$1(ref)) ref.value = value;\n\t\telse {\n\t\t\tif (ref instanceof Set && Array.isArray(value)) {\n\t\t\t\tref.clear();\n\t\t\t\tvalue.forEach((v) => ref.add(v));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst currentKeys = Object.keys(value);\n\t\t\tif (ref instanceof Map) {\n\t\t\t\tconst previousKeysSet = new Set(ref.keys());\n\t\t\t\tcurrentKeys.forEach((key) => {\n\t\t\t\t\tref.set(key, Reflect.get(value, key));\n\t\t\t\t\tpreviousKeysSet.delete(key);\n\t\t\t\t});\n\t\t\t\tpreviousKeysSet.forEach((key) => ref.delete(key));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst previousKeysSet = new Set(Object.keys(ref));\n\t\t\tcurrentKeys.forEach((key) => {\n\t\t\t\tReflect.set(ref, key, Reflect.get(value, key));\n\t\t\t\tpreviousKeysSet.delete(key);\n\t\t\t});\n\t\t\tpreviousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key));\n\t\t}\n\t}\n\tget(ref) {\n\t\treturn isRef$1(ref) ? ref.value : ref;\n\t}\n\tisRef(ref) {\n\t\treturn isRef$1(ref) || isReactive$1(ref);\n\t}\n};\nasync function editComponentState(payload, stateEditor) {\n\tconst { path, nodeId, state, type } = payload;\n\tconst instance = getComponentInstance(activeAppRecord.value, nodeId);\n\tif (!instance) return;\n\tconst targetPath = path.slice();\n\tlet target;\n\tif (Object.keys(instance.props).includes(path[0])) target = instance.props;\n\telse if (instance.devtoolsRawSetupState && Object.keys(instance.devtoolsRawSetupState).includes(path[0])) target = instance.devtoolsRawSetupState;\n\telse if (instance.data && Object.keys(instance.data).includes(path[0])) target = instance.data;\n\telse target = instance.proxy;\n\tif (target && targetPath) {\n\t\tif (state.type === \"object\" && type === \"reactive\") {}\n\t\tstateEditor.set(target, targetPath, state.value, stateEditor.createDefaultSetCallback(state));\n\t}\n}\nconst stateEditor = new StateEditor();\nasync function editState(payload) {\n\teditComponentState(payload, stateEditor);\n}\n//#endregion\n//#region src/core/timeline/storage.ts\nconst TIMELINE_LAYERS_STATE_STORAGE_ID = \"__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__\";\nfunction addTimelineLayersStateToStorage(state) {\n\tif (!isBrowser || typeof localStorage === \"undefined\" || localStorage === null) return;\n\tlocalStorage.setItem(TIMELINE_LAYERS_STATE_STORAGE_ID, JSON.stringify(state));\n}\nfunction getTimelineLayersStateFromStorage() {\n\tif (typeof window === \"undefined\" || !isBrowser || typeof localStorage === \"undefined\" || localStorage === null) return {\n\t\trecordingState: false,\n\t\tmouseEventEnabled: false,\n\t\tkeyboardEventEnabled: false,\n\t\tcomponentEventEnabled: false,\n\t\tperformanceEventEnabled: false,\n\t\tselected: \"\"\n\t};\n\tconst state = typeof localStorage.getItem !== \"undefined\" ? localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID) : null;\n\treturn state ? JSON.parse(state) : {\n\t\trecordingState: false,\n\t\tmouseEventEnabled: false,\n\t\tkeyboardEventEnabled: false,\n\t\tcomponentEventEnabled: false,\n\t\tperformanceEventEnabled: false,\n\t\tselected: \"\"\n\t};\n}\n//#endregion\n//#region src/ctx/timeline.ts\ntarget.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS ??= [];\nconst devtoolsTimelineLayers = new Proxy(target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, { get(target, prop, receiver) {\n\treturn Reflect.get(target, prop, receiver);\n} });\nfunction addTimelineLayer(options, descriptor) {\n\tdevtoolsState.timelineLayersState[descriptor.id] = false;\n\tdevtoolsTimelineLayers.push({\n\t\t...options,\n\t\tdescriptorId: descriptor.id,\n\t\tappRecord: getAppRecord(descriptor.app)\n\t});\n}\nfunction updateTimelineLayersState(state) {\n\tconst updatedState = {\n\t\t...devtoolsState.timelineLayersState,\n\t\t...state\n\t};\n\taddTimelineLayersStateToStorage(updatedState);\n\tupdateDevToolsState({ timelineLayersState: updatedState });\n}\n//#endregion\n//#region src/ctx/inspector.ts\ntarget.__VUE_DEVTOOLS_KIT_INSPECTOR__ ??= [];\nconst devtoolsInspector = new Proxy(target.__VUE_DEVTOOLS_KIT_INSPECTOR__, { get(target, prop, receiver) {\n\treturn Reflect.get(target, prop, receiver);\n} });\nconst callInspectorUpdatedHook = debounce(() => {\n\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.SEND_INSPECTOR_TO_CLIENT, getActiveInspectors());\n});\nfunction addInspector(inspector, descriptor) {\n\tdevtoolsInspector.push({\n\t\toptions: inspector,\n\t\tdescriptor,\n\t\ttreeFilterPlaceholder: inspector.treeFilterPlaceholder ?? \"Search tree...\",\n\t\tstateFilterPlaceholder: inspector.stateFilterPlaceholder ?? \"Search state...\",\n\t\ttreeFilter: \"\",\n\t\tselectedNodeId: \"\",\n\t\tappRecord: getAppRecord(descriptor.app)\n\t});\n\tcallInspectorUpdatedHook();\n}\nfunction getActiveInspectors() {\n\treturn devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== \"components\").map((inspector) => {\n\t\tconst descriptor = inspector.descriptor;\n\t\tconst options = inspector.options;\n\t\treturn {\n\t\t\tid: options.id,\n\t\t\tlabel: options.label,\n\t\t\tlogo: descriptor.logo,\n\t\t\ticon: `custom-ic-baseline-${options?.icon?.replace(/_/g, \"-\")}`,\n\t\t\tpackageName: descriptor.packageName,\n\t\t\thomepage: descriptor.homepage,\n\t\t\tpluginId: descriptor.id\n\t\t};\n\t});\n}\nfunction getInspectorInfo(id) {\n\tconst inspector = getInspector(id, activeAppRecord.value.app);\n\tif (!inspector) return;\n\tconst descriptor = inspector.descriptor;\n\tconst options = inspector.options;\n\tconst timelineLayers = devtoolsTimelineLayers.filter((layer) => layer.descriptorId === descriptor.id).map((item) => ({\n\t\tid: item.id,\n\t\tlabel: item.label,\n\t\tcolor: item.color\n\t}));\n\treturn {\n\t\tid: options.id,\n\t\tlabel: options.label,\n\t\tlogo: descriptor.logo,\n\t\tpackageName: descriptor.packageName,\n\t\thomepage: descriptor.homepage,\n\t\ttimelineLayers,\n\t\ttreeFilterPlaceholder: inspector.treeFilterPlaceholder,\n\t\tstateFilterPlaceholder: inspector.stateFilterPlaceholder\n\t};\n}\nfunction getInspector(id, app) {\n\treturn devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true));\n}\nfunction getInspectorActions(id) {\n\treturn getInspector(id)?.options.actions;\n}\nfunction getInspectorNodeActions(id) {\n\treturn getInspector(id)?.options.nodeActions;\n}\n//#endregion\n//#region src/ctx/hook.ts\nlet DevToolsV6PluginAPIHookKeys = /* @__PURE__ */ function(DevToolsV6PluginAPIHookKeys) {\n\tDevToolsV6PluginAPIHookKeys[\"VISIT_COMPONENT_TREE\"] = \"visitComponentTree\";\n\tDevToolsV6PluginAPIHookKeys[\"INSPECT_COMPONENT\"] = \"inspectComponent\";\n\tDevToolsV6PluginAPIHookKeys[\"EDIT_COMPONENT_STATE\"] = \"editComponentState\";\n\tDevToolsV6PluginAPIHookKeys[\"GET_INSPECTOR_TREE\"] = \"getInspectorTree\";\n\tDevToolsV6PluginAPIHookKeys[\"GET_INSPECTOR_STATE\"] = \"getInspectorState\";\n\tDevToolsV6PluginAPIHookKeys[\"EDIT_INSPECTOR_STATE\"] = \"editInspectorState\";\n\tDevToolsV6PluginAPIHookKeys[\"INSPECT_TIMELINE_EVENT\"] = \"inspectTimelineEvent\";\n\tDevToolsV6PluginAPIHookKeys[\"TIMELINE_CLEARED\"] = \"timelineCleared\";\n\tDevToolsV6PluginAPIHookKeys[\"SET_PLUGIN_SETTINGS\"] = \"setPluginSettings\";\n\treturn DevToolsV6PluginAPIHookKeys;\n}({});\nlet DevToolsContextHookKeys = /* @__PURE__ */ function(DevToolsContextHookKeys) {\n\tDevToolsContextHookKeys[\"ADD_INSPECTOR\"] = \"addInspector\";\n\tDevToolsContextHookKeys[\"SEND_INSPECTOR_TREE\"] = \"sendInspectorTree\";\n\tDevToolsContextHookKeys[\"SEND_INSPECTOR_STATE\"] = \"sendInspectorState\";\n\tDevToolsContextHookKeys[\"CUSTOM_INSPECTOR_SELECT_NODE\"] = \"customInspectorSelectNode\";\n\tDevToolsContextHookKeys[\"TIMELINE_LAYER_ADDED\"] = \"timelineLayerAdded\";\n\tDevToolsContextHookKeys[\"TIMELINE_EVENT_ADDED\"] = \"timelineEventAdded\";\n\tDevToolsContextHookKeys[\"GET_COMPONENT_INSTANCES\"] = \"getComponentInstances\";\n\tDevToolsContextHookKeys[\"GET_COMPONENT_BOUNDS\"] = \"getComponentBounds\";\n\tDevToolsContextHookKeys[\"GET_COMPONENT_NAME\"] = \"getComponentName\";\n\tDevToolsContextHookKeys[\"COMPONENT_HIGHLIGHT\"] = \"componentHighlight\";\n\tDevToolsContextHookKeys[\"COMPONENT_UNHIGHLIGHT\"] = \"componentUnhighlight\";\n\treturn DevToolsContextHookKeys;\n}({});\nlet DevToolsMessagingHookKeys = /* @__PURE__ */ function(DevToolsMessagingHookKeys) {\n\tDevToolsMessagingHookKeys[\"SEND_INSPECTOR_TREE_TO_CLIENT\"] = \"sendInspectorTreeToClient\";\n\tDevToolsMessagingHookKeys[\"SEND_INSPECTOR_STATE_TO_CLIENT\"] = \"sendInspectorStateToClient\";\n\tDevToolsMessagingHookKeys[\"SEND_TIMELINE_EVENT_TO_CLIENT\"] = \"sendTimelineEventToClient\";\n\tDevToolsMessagingHookKeys[\"SEND_INSPECTOR_TO_CLIENT\"] = \"sendInspectorToClient\";\n\tDevToolsMessagingHookKeys[\"SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT\"] = \"sendActiveAppUpdatedToClient\";\n\tDevToolsMessagingHookKeys[\"DEVTOOLS_STATE_UPDATED\"] = \"devtoolsStateUpdated\";\n\tDevToolsMessagingHookKeys[\"DEVTOOLS_CONNECTED_UPDATED\"] = \"devtoolsConnectedUpdated\";\n\tDevToolsMessagingHookKeys[\"ROUTER_INFO_UPDATED\"] = \"routerInfoUpdated\";\n\treturn DevToolsMessagingHookKeys;\n}({});\nfunction createDevToolsCtxHooks() {\n\tconst hooks = createHooks();\n\thooks.hook(DevToolsContextHookKeys.ADD_INSPECTOR, ({ inspector, plugin }) => {\n\t\taddInspector(inspector, plugin.descriptor);\n\t});\n\tconst debounceSendInspectorTree = debounce(async ({ inspectorId, plugin }) => {\n\t\tif (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return;\n\t\tconst inspector = getInspector(inspectorId, plugin.descriptor.app);\n\t\tconst _payload = {\n\t\t\tapp: plugin.descriptor.app,\n\t\t\tinspectorId,\n\t\t\tfilter: inspector?.treeFilter || \"\",\n\t\t\trootNodes: []\n\t\t};\n\t\tawait new Promise((resolve) => {\n\t\t\thooks.callHookWith(async (callbacks) => {\n\t\t\t\tawait Promise.all(callbacks.map((cb) => cb(_payload)));\n\t\t\t\tresolve();\n\t\t\t}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE);\n\t\t});\n\t\thooks.callHookWith(async (callbacks) => {\n\t\t\tawait Promise.all(callbacks.map((cb) => cb({\n\t\t\t\tinspectorId,\n\t\t\t\trootNodes: _payload.rootNodes\n\t\t\t})));\n\t\t}, DevToolsMessagingHookKeys.SEND_INSPECTOR_TREE_TO_CLIENT);\n\t}, 120);\n\thooks.hook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, debounceSendInspectorTree);\n\tconst debounceSendInspectorState = debounce(async ({ inspectorId, plugin }) => {\n\t\tif (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return;\n\t\tconst inspector = getInspector(inspectorId, plugin.descriptor.app);\n\t\tconst _payload = {\n\t\t\tapp: plugin.descriptor.app,\n\t\t\tinspectorId,\n\t\t\tnodeId: inspector?.selectedNodeId || \"\",\n\t\t\tstate: null\n\t\t};\n\t\tconst ctx = { currentTab: `custom-inspector:${inspectorId}` };\n\t\tif (_payload.nodeId) await new Promise((resolve) => {\n\t\t\thooks.callHookWith(async (callbacks) => {\n\t\t\t\tawait Promise.all(callbacks.map((cb) => cb(_payload, ctx)));\n\t\t\t\tresolve();\n\t\t\t}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE);\n\t\t});\n\t\thooks.callHookWith(async (callbacks) => {\n\t\t\tawait Promise.all(callbacks.map((cb) => cb({\n\t\t\t\tinspectorId,\n\t\t\t\tnodeId: _payload.nodeId,\n\t\t\t\tstate: _payload.state\n\t\t\t})));\n\t\t}, DevToolsMessagingHookKeys.SEND_INSPECTOR_STATE_TO_CLIENT);\n\t}, 120);\n\thooks.hook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, debounceSendInspectorState);\n\thooks.hook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, ({ inspectorId, nodeId, plugin }) => {\n\t\tconst inspector = getInspector(inspectorId, plugin.descriptor.app);\n\t\tif (!inspector) return;\n\t\tinspector.selectedNodeId = nodeId;\n\t});\n\thooks.hook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, ({ options, plugin }) => {\n\t\taddTimelineLayer(options, plugin.descriptor);\n\t});\n\thooks.hook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, ({ options, plugin }) => {\n\t\tif (devtoolsState.highPerfModeEnabled || !devtoolsState.timelineLayersState?.[plugin.descriptor.id] && ![\n\t\t\t\"performance\",\n\t\t\t\"component-event\",\n\t\t\t\"keyboard\",\n\t\t\t\"mouse\"\n\t\t].includes(options.layerId)) return;\n\t\thooks.callHookWith(async (callbacks) => {\n\t\t\tawait Promise.all(callbacks.map((cb) => cb(options)));\n\t\t}, DevToolsMessagingHookKeys.SEND_TIMELINE_EVENT_TO_CLIENT);\n\t});\n\thooks.hook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, async ({ app }) => {\n\t\tconst appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n\t\tif (!appRecord) return null;\n\t\tconst appId = appRecord.id.toString();\n\t\treturn [...appRecord.instanceMap].filter(([key]) => key.split(\":\")[0] === appId).map(([, instance]) => instance);\n\t});\n\thooks.hook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, async ({ instance }) => {\n\t\treturn getComponentBoundingRect(instance);\n\t});\n\thooks.hook(DevToolsContextHookKeys.GET_COMPONENT_NAME, ({ instance }) => {\n\t\treturn getInstanceName(instance);\n\t});\n\thooks.hook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, ({ uid }) => {\n\t\tconst instance = activeAppRecord.value.instanceMap.get(uid);\n\t\tif (instance) highlight(instance);\n\t});\n\thooks.hook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT, () => {\n\t\tunhighlight();\n\t});\n\treturn hooks;\n}\n//#endregion\n//#region src/ctx/state.ts\ntarget.__VUE_DEVTOOLS_KIT_APP_RECORDS__ ??= [];\ntarget.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ ??= {};\ntarget.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ ??= \"\";\ntarget.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ ??= [];\ntarget.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ ??= [];\nconst STATE_KEY = \"__VUE_DEVTOOLS_KIT_GLOBAL_STATE__\";\nfunction initStateFactory() {\n\treturn {\n\t\tconnected: false,\n\t\tclientConnected: false,\n\t\tvitePluginDetected: true,\n\t\tappRecords: [],\n\t\tactiveAppRecordId: \"\",\n\t\ttabs: [],\n\t\tcommands: [],\n\t\thighPerfModeEnabled: true,\n\t\tdevtoolsClientDetected: {},\n\t\tperfUniqueGroupId: 0,\n\t\ttimelineLayersState: getTimelineLayersStateFromStorage()\n\t};\n}\ntarget[STATE_KEY] ??= initStateFactory();\nconst callStateUpdatedHook = debounce((state) => {\n\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_STATE_UPDATED, { state });\n});\nconst callConnectedUpdatedHook = debounce((state, oldState) => {\n\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, {\n\t\tstate,\n\t\toldState\n\t});\n});\nconst devtoolsAppRecords = new Proxy(target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, { get(_target, prop, receiver) {\n\tif (prop === \"value\") return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__;\n\treturn target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop];\n} });\nconst addDevToolsAppRecord = (app) => {\n\ttarget.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [...target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, app];\n};\nconst removeDevToolsAppRecord = (app) => {\n\ttarget.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = devtoolsAppRecords.value.filter((record) => record.app !== app);\n};\nconst activeAppRecord = new Proxy(target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, { get(_target, prop, receiver) {\n\tif (prop === \"value\") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__;\n\telse if (prop === \"id\") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__;\n\treturn target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop];\n} });\nfunction updateAllStates() {\n\tcallStateUpdatedHook({\n\t\t...target[STATE_KEY],\n\t\tappRecords: devtoolsAppRecords.value,\n\t\tactiveAppRecordId: activeAppRecord.id,\n\t\ttabs: target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,\n\t\tcommands: target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__\n\t});\n}\nfunction setActiveAppRecord(app) {\n\ttarget.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app;\n\tupdateAllStates();\n}\nfunction setActiveAppRecordId(id) {\n\ttarget.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id;\n\tupdateAllStates();\n}\nconst devtoolsState = new Proxy(target[STATE_KEY], {\n\tget(target$3, property) {\n\t\tif (property === \"appRecords\") return devtoolsAppRecords;\n\t\telse if (property === \"activeAppRecordId\") return activeAppRecord.id;\n\t\telse if (property === \"tabs\") return target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;\n\t\telse if (property === \"commands\") return target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;\n\t\treturn target[STATE_KEY][property];\n\t},\n\tdeleteProperty(target, property) {\n\t\tdelete target[property];\n\t\treturn true;\n\t},\n\tset(target$4, property, value) {\n\t\ttarget$4[property] = value;\n\t\ttarget[STATE_KEY][property] = value;\n\t\treturn true;\n\t}\n});\nfunction resetDevToolsState() {\n\tObject.assign(target[STATE_KEY], initStateFactory());\n}\nfunction updateDevToolsState(state) {\n\tconst oldState = {\n\t\t...target[STATE_KEY],\n\t\tappRecords: devtoolsAppRecords.value,\n\t\tactiveAppRecordId: activeAppRecord.id\n\t};\n\tif (oldState.connected !== state.connected && state.connected || oldState.clientConnected !== state.clientConnected && state.clientConnected) callConnectedUpdatedHook(target[STATE_KEY], oldState);\n\tObject.assign(target[STATE_KEY], state);\n\tupdateAllStates();\n}\nfunction onDevToolsConnected(fn) {\n\treturn new Promise((resolve) => {\n\t\tif (devtoolsState.connected) {\n\t\t\tfn();\n\t\t\tresolve();\n\t\t}\n\t\tdevtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => {\n\t\t\tif (state.connected) {\n\t\t\t\tfn();\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n}\nconst resolveIcon = (icon) => {\n\tif (!icon) return;\n\tif (icon.startsWith(\"baseline-\")) return `custom-ic-${icon}`;\n\tif (icon.startsWith(\"i-\") || isUrlString(icon)) return icon;\n\treturn `custom-ic-baseline-${icon}`;\n};\nfunction addCustomTab(tab) {\n\tconst tabs = target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;\n\tif (tabs.some((t) => t.name === tab.name)) return;\n\ttabs.push({\n\t\t...tab,\n\t\ticon: resolveIcon(tab.icon)\n\t});\n\tupdateAllStates();\n}\nfunction addCustomCommand(action) {\n\tconst commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;\n\tif (commands.some((t) => t.id === action.id)) return;\n\tcommands.push({\n\t\t...action,\n\t\ticon: resolveIcon(action.icon),\n\t\tchildren: action.children ? action.children.map((child) => ({\n\t\t\t...child,\n\t\t\ticon: resolveIcon(child.icon)\n\t\t})) : void 0\n\t});\n\tupdateAllStates();\n}\nfunction removeCustomCommand(actionId) {\n\tconst commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;\n\tconst index = commands.findIndex((t) => t.id === actionId);\n\tif (index === -1) return;\n\tcommands.splice(index, 1);\n\tupdateAllStates();\n}\nfunction toggleClientConnected(state) {\n\tupdateDevToolsState({ clientConnected: state });\n}\n//#endregion\n//#region src/core/open-in-editor/index.ts\nfunction setOpenInEditorBaseUrl(url) {\n\ttarget.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ = url;\n}\nfunction openInEditor(options = {}) {\n\tconst { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options;\n\tif (file) {\n\t\tif (host === \"chrome-extension\") {\n\t\t\tconst fileName = file.replace(/\\\\/g, \"\\\\\\\\\");\n\t\t\tconst _baseUrl = window.VUE_DEVTOOLS_CONFIG?.openInEditorHost ?? \"/\";\n\t\t\tfetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => {\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tconst msg = `Opening component ${fileName} failed`;\n\t\t\t\t\tconsole.log(`%c${msg}`, \"color:red\");\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (devtoolsState.vitePluginDetected) {\n\t\t\tconst _baseUrl = target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ ?? baseUrl;\n\t\t\ttarget.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column);\n\t\t}\n\t}\n}\n//#endregion\n//#region src/ctx/plugin.ts\ntarget.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ ??= [];\nconst devtoolsPluginBuffer = new Proxy(target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, { get(target, prop, receiver) {\n\treturn Reflect.get(target, prop, receiver);\n} });\nfunction addDevToolsPluginToBuffer(pluginDescriptor, setupFn) {\n\tdevtoolsPluginBuffer.push([pluginDescriptor, setupFn]);\n}\n//#endregion\n//#region src/core/plugin/plugin-settings.ts\nfunction _getSettings(settings) {\n\tconst _settings = {};\n\tObject.keys(settings).forEach((key) => {\n\t\t_settings[key] = settings[key].defaultValue;\n\t});\n\treturn _settings;\n}\nfunction getPluginLocalKey(pluginId) {\n\treturn `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`;\n}\nfunction getPluginSettingsOptions(pluginId) {\n\treturn (devtoolsPluginBuffer.find((item) => item[0].id === pluginId && !!item[0]?.settings)?.[0] ?? null)?.settings ?? null;\n}\nfunction getPluginSettings(pluginId, fallbackValue) {\n\tconst localKey = getPluginLocalKey(pluginId);\n\tif (localKey) {\n\t\tconst localSettings = localStorage.getItem(localKey);\n\t\tif (localSettings) return JSON.parse(localSettings);\n\t}\n\tif (pluginId) return _getSettings((devtoolsPluginBuffer.find((item) => item[0].id === pluginId)?.[0] ?? null)?.settings ?? {});\n\treturn _getSettings(fallbackValue);\n}\nfunction initPluginSettings(pluginId, settings) {\n\tconst localKey = getPluginLocalKey(pluginId);\n\tif (!localStorage.getItem(localKey)) localStorage.setItem(localKey, JSON.stringify(_getSettings(settings)));\n}\nfunction setPluginSettings(pluginId, key, value) {\n\tconst localKey = getPluginLocalKey(pluginId);\n\tconst localSettings = localStorage.getItem(localKey);\n\tconst parsedLocalSettings = JSON.parse(localSettings || \"{}\");\n\tconst updated = {\n\t\t...parsedLocalSettings,\n\t\t[key]: value\n\t};\n\tlocalStorage.setItem(localKey, JSON.stringify(updated));\n\tdevtoolsContext.hooks.callHookWith((callbacks) => {\n\t\tcallbacks.forEach((cb) => cb({\n\t\t\tpluginId,\n\t\t\tkey,\n\t\t\toldValue: parsedLocalSettings[key],\n\t\t\tnewValue: value,\n\t\t\tsettings: updated\n\t\t}));\n\t}, DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS);\n}\n//#endregion\n//#region src/types/hook.ts\nlet DevToolsHooks = /* @__PURE__ */ function(DevToolsHooks) {\n\tDevToolsHooks[\"APP_INIT\"] = \"app:init\";\n\tDevToolsHooks[\"APP_UNMOUNT\"] = \"app:unmount\";\n\tDevToolsHooks[\"COMPONENT_UPDATED\"] = \"component:updated\";\n\tDevToolsHooks[\"COMPONENT_ADDED\"] = \"component:added\";\n\tDevToolsHooks[\"COMPONENT_REMOVED\"] = \"component:removed\";\n\tDevToolsHooks[\"COMPONENT_EMIT\"] = \"component:emit\";\n\tDevToolsHooks[\"PERFORMANCE_START\"] = \"perf:start\";\n\tDevToolsHooks[\"PERFORMANCE_END\"] = \"perf:end\";\n\tDevToolsHooks[\"ADD_ROUTE\"] = \"router:add-route\";\n\tDevToolsHooks[\"REMOVE_ROUTE\"] = \"router:remove-route\";\n\tDevToolsHooks[\"RENDER_TRACKED\"] = \"render:tracked\";\n\tDevToolsHooks[\"RENDER_TRIGGERED\"] = \"render:triggered\";\n\tDevToolsHooks[\"APP_CONNECTED\"] = \"app:connected\";\n\tDevToolsHooks[\"SETUP_DEVTOOLS_PLUGIN\"] = \"devtools-plugin:setup\";\n\treturn DevToolsHooks;\n}({});\n//#endregion\n//#region src/hook/index.ts\nconst devtoolsHooks = target.__VUE_DEVTOOLS_HOOK ??= createHooks();\nconst on = {\n\tvueAppInit(fn) {\n\t\tdevtoolsHooks.hook(DevToolsHooks.APP_INIT, fn);\n\t},\n\tvueAppUnmount(fn) {\n\t\tdevtoolsHooks.hook(DevToolsHooks.APP_UNMOUNT, fn);\n\t},\n\tvueAppConnected(fn) {\n\t\tdevtoolsHooks.hook(DevToolsHooks.APP_CONNECTED, fn);\n\t},\n\tcomponentAdded(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.COMPONENT_ADDED, fn);\n\t},\n\tcomponentEmit(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.COMPONENT_EMIT, fn);\n\t},\n\tcomponentUpdated(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.COMPONENT_UPDATED, fn);\n\t},\n\tcomponentRemoved(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.COMPONENT_REMOVED, fn);\n\t},\n\tsetupDevtoolsPlugin(fn) {\n\t\tdevtoolsHooks.hook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, fn);\n\t},\n\tperfStart(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_START, fn);\n\t},\n\tperfEnd(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_END, fn);\n\t}\n};\nfunction createDevToolsHook() {\n\treturn {\n\t\tid: \"vue-devtools-next\",\n\t\tdevtoolsVersion: \"7.0\",\n\t\tenabled: false,\n\t\tappRecords: [],\n\t\tapps: [],\n\t\tevents: /* @__PURE__ */ new Map(),\n\t\ton(event, fn) {\n\t\t\tif (!this.events.has(event)) this.events.set(event, []);\n\t\t\tthis.events.get(event)?.push(fn);\n\t\t\treturn () => this.off(event, fn);\n\t\t},\n\t\tonce(event, fn) {\n\t\t\tconst onceFn = (...args) => {\n\t\t\t\tthis.off(event, onceFn);\n\t\t\t\tfn(...args);\n\t\t\t};\n\t\t\tthis.on(event, onceFn);\n\t\t\treturn [event, onceFn];\n\t\t},\n\t\toff(event, fn) {\n\t\t\tif (this.events.has(event)) {\n\t\t\t\tconst eventCallbacks = this.events.get(event);\n\t\t\t\tconst index = eventCallbacks.indexOf(fn);\n\t\t\t\tif (index !== -1) eventCallbacks.splice(index, 1);\n\t\t\t}\n\t\t},\n\t\temit(event, ...payload) {\n\t\t\tif (this.events.has(event)) this.events.get(event).forEach((fn) => fn(...payload));\n\t\t}\n\t};\n}\nfunction subscribeDevToolsHook(hook) {\n\thook.on(DevToolsHooks.APP_INIT, (app, version, types) => {\n\t\tif (app?._instance?.type?.devtools?.hide) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.APP_INIT, app, version, types);\n\t});\n\thook.on(DevToolsHooks.APP_UNMOUNT, (app) => {\n\t\tdevtoolsHooks.callHook(DevToolsHooks.APP_UNMOUNT, app);\n\t});\n\thook.on(DevToolsHooks.COMPONENT_ADDED, async (app, uid, parentUid, component) => {\n\t\tif (app?._instance?.type?.devtools?.hide || devtoolsState.highPerfModeEnabled) return;\n\t\tif (!app || typeof uid !== \"number\" && !uid || !component) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_ADDED, app, uid, parentUid, component);\n\t});\n\thook.on(DevToolsHooks.COMPONENT_UPDATED, (app, uid, parentUid, component) => {\n\t\tif (!app || typeof uid !== \"number\" && !uid || !component || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED, app, uid, parentUid, component);\n\t});\n\thook.on(DevToolsHooks.COMPONENT_REMOVED, async (app, uid, parentUid, component) => {\n\t\tif (!app || typeof uid !== \"number\" && !uid || !component || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_REMOVED, app, uid, parentUid, component);\n\t});\n\thook.on(DevToolsHooks.COMPONENT_EMIT, async (app, instance, event, params) => {\n\t\tif (!app || !instance || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_EMIT, app, instance, event, params);\n\t});\n\thook.on(DevToolsHooks.PERFORMANCE_START, (app, uid, vm, type, time) => {\n\t\tif (!app || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.PERFORMANCE_START, app, uid, vm, type, time);\n\t});\n\thook.on(DevToolsHooks.PERFORMANCE_END, (app, uid, vm, type, time) => {\n\t\tif (!app || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.PERFORMANCE_END, app, uid, vm, type, time);\n\t});\n\thook.on(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, (pluginDescriptor, setupFn, options) => {\n\t\tif (options?.target === \"legacy\") return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn);\n\t});\n}\nconst hook = {\n\ton,\n\tsetupDevToolsPlugin(pluginDescriptor, setupFn) {\n\t\treturn devtoolsHooks.callHook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn);\n\t}\n};\n//#endregion\n//#region src/api/v6/index.ts\nvar DevToolsV6PluginAPI = class {\n\tconstructor({ plugin, ctx }) {\n\t\tthis.hooks = ctx.hooks;\n\t\tthis.plugin = plugin;\n\t}\n\tget on() {\n\t\treturn {\n\t\t\tvisitComponentTree: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, handler);\n\t\t\t},\n\t\t\tinspectComponent: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_COMPONENT, handler);\n\t\t\t},\n\t\t\teditComponentState: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_COMPONENT_STATE, handler);\n\t\t\t},\n\t\t\tgetInspectorTree: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE, handler);\n\t\t\t},\n\t\t\tgetInspectorState: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE, handler);\n\t\t\t},\n\t\t\teditInspectorState: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE, handler);\n\t\t\t},\n\t\t\tinspectTimelineEvent: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_TIMELINE_EVENT, handler);\n\t\t\t},\n\t\t\ttimelineCleared: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.TIMELINE_CLEARED, handler);\n\t\t\t},\n\t\t\tsetPluginSettings: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS, handler);\n\t\t\t}\n\t\t};\n\t}\n\tnotifyComponentUpdate(instance) {\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tconst inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName);\n\t\tif (inspector?.id) {\n\t\t\tif (instance) {\n\t\t\t\tconst args = [\n\t\t\t\t\tinstance.appContext.app,\n\t\t\t\t\tinstance.uid,\n\t\t\t\t\tinstance.parent?.uid,\n\t\t\t\t\tinstance\n\t\t\t\t];\n\t\t\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED, ...args);\n\t\t\t} else devtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED);\n\t\t\tthis.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {\n\t\t\t\tinspectorId: inspector.id,\n\t\t\t\tplugin: this.plugin\n\t\t\t});\n\t\t}\n\t}\n\taddInspector(options) {\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.ADD_INSPECTOR, {\n\t\t\tinspector: options,\n\t\t\tplugin: this.plugin\n\t\t});\n\t\tif (this.plugin.descriptor.settings) initPluginSettings(options.id, this.plugin.descriptor.settings);\n\t}\n\tsendInspectorTree(inspectorId) {\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, {\n\t\t\tinspectorId,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\tsendInspectorState(inspectorId) {\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {\n\t\t\tinspectorId,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\tselectInspectorNode(inspectorId, nodeId) {\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, {\n\t\t\tinspectorId,\n\t\t\tnodeId,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\tvisitComponentTree(payload) {\n\t\treturn this.hooks.callHook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, payload);\n\t}\n\tnow() {\n\t\tif (devtoolsState.highPerfModeEnabled) return 0;\n\t\treturn Date.now();\n\t}\n\taddTimelineLayer(options) {\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, {\n\t\t\toptions,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\taddTimelineEvent(options) {\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, {\n\t\t\toptions,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\tgetSettings(pluginId) {\n\t\treturn getPluginSettings(pluginId ?? this.plugin.descriptor.id, this.plugin.descriptor.settings);\n\t}\n\tgetComponentInstances(app) {\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, { app });\n\t}\n\tgetComponentBounds(instance) {\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, { instance });\n\t}\n\tgetComponentName(instance) {\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_NAME, { instance });\n\t}\n\thighlightElement(instance) {\n\t\tconst uid = instance.__VUE_DEVTOOLS_NEXT_UID__;\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, { uid });\n\t}\n\tunhighlightElement() {\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT);\n\t}\n};\n//#endregion\n//#region src/api/index.ts\nconst DevToolsPluginAPI = DevToolsV6PluginAPI;\n//#endregion\n//#region src/core/component/state/constants.ts\nconst vueBuiltins = new Set([\n\t\"nextTick\",\n\t\"defineComponent\",\n\t\"defineAsyncComponent\",\n\t\"defineCustomElement\",\n\t\"ref\",\n\t\"computed\",\n\t\"reactive\",\n\t\"readonly\",\n\t\"watchEffect\",\n\t\"watchPostEffect\",\n\t\"watchSyncEffect\",\n\t\"watch\",\n\t\"isRef\",\n\t\"unref\",\n\t\"toRef\",\n\t\"toRefs\",\n\t\"isProxy\",\n\t\"isReactive\",\n\t\"isReadonly\",\n\t\"shallowRef\",\n\t\"triggerRef\",\n\t\"customRef\",\n\t\"shallowReactive\",\n\t\"shallowReadonly\",\n\t\"toRaw\",\n\t\"markRaw\",\n\t\"effectScope\",\n\t\"getCurrentScope\",\n\t\"onScopeDispose\",\n\t\"onMounted\",\n\t\"onUpdated\",\n\t\"onUnmounted\",\n\t\"onBeforeMount\",\n\t\"onBeforeUpdate\",\n\t\"onBeforeUnmount\",\n\t\"onErrorCaptured\",\n\t\"onRenderTracked\",\n\t\"onRenderTriggered\",\n\t\"onActivated\",\n\t\"onDeactivated\",\n\t\"onServerPrefetch\",\n\t\"provide\",\n\t\"inject\",\n\t\"h\",\n\t\"mergeProps\",\n\t\"cloneVNode\",\n\t\"isVNode\",\n\t\"resolveComponent\",\n\t\"resolveDirective\",\n\t\"withDirectives\",\n\t\"withModifiers\"\n]);\nconst symbolRE = /^\\[native Symbol Symbol\\((.*)\\)\\]$/;\nconst rawTypeRE = /^\\[object (\\w+)\\]$/;\nconst specialTypeRE = /^\\[native (\\w+) (.*?)(<>(([\\s\\S])*))?\\]$/;\nconst fnTypeRE = /^(?:function|class) (\\w+)/;\nconst MAX_STRING_SIZE = 1e4;\nconst MAX_ARRAY_SIZE = 5e3;\nconst UNDEFINED = \"__vue_devtool_undefined__\";\nconst INFINITY = \"__vue_devtool_infinity__\";\nconst NEGATIVE_INFINITY = \"__vue_devtool_negative_infinity__\";\nconst NAN = \"__vue_devtool_nan__\";\nconst ESC = {\n\t\"<\": \"<\",\n\t\">\": \">\",\n\t\"\\\"\": \""\",\n\t\"&\": \"&\"\n};\n//#endregion\n//#region src/core/component/state/is.ts\nfunction isVueInstance(value) {\n\tif (!ensurePropertyExists(value, \"_\")) return false;\n\tif (!isPlainObject(value._)) return false;\n\treturn Object.keys(value._).includes(\"vnode\");\n}\nfunction isPlainObject(obj) {\n\treturn Object.prototype.toString.call(obj) === \"[object Object]\";\n}\nfunction isPrimitive$1(data) {\n\tif (data == null) return true;\n\tconst type = typeof data;\n\treturn type === \"string\" || type === \"number\" || type === \"boolean\";\n}\nfunction isRef(raw) {\n\treturn !!raw.__v_isRef;\n}\nfunction isComputed(raw) {\n\treturn isRef(raw) && !!raw.effect;\n}\nfunction isReactive(raw) {\n\treturn !!raw.__v_isReactive;\n}\nfunction isReadOnly(raw) {\n\treturn !!raw.__v_isReadonly;\n}\n//#endregion\n//#region src/core/component/state/util.ts\nconst tokenMap = {\n\t[UNDEFINED]: \"undefined\",\n\t[NAN]: \"NaN\",\n\t[INFINITY]: \"Infinity\",\n\t[NEGATIVE_INFINITY]: \"-Infinity\"\n};\nconst reversedTokenMap = Object.entries(tokenMap).reduce((acc, [key, value]) => {\n\tacc[value] = key;\n\treturn acc;\n}, {});\nfunction internalStateTokenToString(value) {\n\tif (value === null) return \"null\";\n\treturn typeof value === \"string\" && tokenMap[value] || false;\n}\nfunction replaceTokenToString(value) {\n\tconst replaceRegex = new RegExp(`\"(${Object.keys(tokenMap).join(\"|\")})\"`, \"g\");\n\treturn value.replace(replaceRegex, (_, g1) => tokenMap[g1]);\n}\nfunction replaceStringToToken(value) {\n\tconst literalValue = reversedTokenMap[value.trim()];\n\tif (literalValue) return `\"${literalValue}\"`;\n\tconst replaceRegex = new RegExp(`:\\\\s*(${Object.keys(reversedTokenMap).join(\"|\")})`, \"g\");\n\treturn value.replace(replaceRegex, (_, g1) => `:\"${reversedTokenMap[g1]}\"`);\n}\n/**\n* Convert prop type constructor to string.\n*/\nfunction getPropType(type) {\n\tif (Array.isArray(type)) return type.map((t) => getPropType(t)).join(\" or \");\n\tif (type == null) return \"null\";\n\tconst match = type.toString().match(fnTypeRE);\n\treturn typeof type === \"function\" ? match && match[1] || \"any\" : \"any\";\n}\n/**\n* Sanitize data to be posted to the other side.\n* Since the message posted is sent with structured clone,\n* we need to filter out any types that might cause an error.\n*/\nfunction sanitize(data) {\n\tif (!isPrimitive$1(data) && !Array.isArray(data) && !isPlainObject(data)) return Object.prototype.toString.call(data);\n\telse return data;\n}\nfunction getSetupStateType(raw) {\n\ttry {\n\t\treturn {\n\t\t\tref: isRef(raw),\n\t\t\tcomputed: isComputed(raw),\n\t\t\treactive: isReactive(raw),\n\t\t\treadonly: isReadOnly(raw)\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tref: false,\n\t\t\tcomputed: false,\n\t\t\treactive: false,\n\t\t\treadonly: false\n\t\t};\n\t}\n}\nfunction toRaw(value) {\n\tif (value?.__v_raw) return value.__v_raw;\n\treturn value;\n}\nfunction escape(s) {\n\treturn s.replace(/[<>\"&]/g, (s) => {\n\t\treturn ESC[s] || s;\n\t});\n}\n//#endregion\n//#region src/core/component/state/process.ts\nfunction mergeOptions(to, from, instance) {\n\tif (typeof from === \"function\") from = from.options;\n\tif (!from) return to;\n\tconst { mixins, extends: extendsOptions } = from;\n\textendsOptions && mergeOptions(to, extendsOptions, instance);\n\tmixins && mixins.forEach((m) => mergeOptions(to, m, instance));\n\tfor (const key of [\"computed\", \"inject\"]) if (Object.prototype.hasOwnProperty.call(from, key)) {\n\t\tto[key] ??= {};\n\t\tObject.assign(to[key], from[key]);\n\t}\n\treturn to;\n}\nfunction resolveMergedOptions(instance) {\n\tconst raw = instance?.type;\n\tif (!raw) return {};\n\tconst { mixins, extends: extendsOptions } = raw;\n\tconst globalMixins = instance.appContext.mixins;\n\tif (!globalMixins.length && !mixins && !extendsOptions) return raw;\n\tconst options = {};\n\tglobalMixins.forEach((m) => mergeOptions(options, m, instance));\n\tmergeOptions(options, raw, instance);\n\treturn options;\n}\n/**\n* Process the props of an instance.\n* Make sure return a plain object because window.postMessage()\n* will throw an Error if the passed object contains Functions.\n*\n*/\nfunction processProps(instance) {\n\tconst props = [];\n\tconst propDefinitions = instance?.type?.props;\n\tfor (const key in instance?.props) {\n\t\tconst propDefinition = propDefinitions ? propDefinitions[key] : null;\n\t\tconst camelizeKey = camelize(key);\n\t\tprops.push({\n\t\t\ttype: \"props\",\n\t\t\tkey: camelizeKey,\n\t\t\tvalue: returnError(() => instance.props[key]),\n\t\t\teditable: true,\n\t\t\tmeta: propDefinition ? {\n\t\t\t\ttype: propDefinition.type ? getPropType(propDefinition.type) : \"any\",\n\t\t\t\trequired: !!propDefinition.required,\n\t\t\t\t...propDefinition.default ? { default: propDefinition.default.toString() } : {}\n\t\t\t} : { type: \"invalid\" }\n\t\t});\n\t}\n\treturn props;\n}\n/**\n* Process state, filtering out props and \"clean\" the result\n* with a JSON dance. This removes functions which can cause\n* errors during structured clone used by window.postMessage.\n*\n*/\nfunction processState(instance) {\n\tconst type = instance.type;\n\tconst props = type?.props;\n\tconst getters = type.vuex && type.vuex.getters;\n\tconst computedDefs = type.computed;\n\tconst data = {\n\t\t...instance.data,\n\t\t...instance.renderContext\n\t};\n\treturn Object.keys(data).filter((key) => !(props && key in props) && !(getters && key in getters) && !(computedDefs && key in computedDefs)).map((key) => ({\n\t\tkey,\n\t\ttype: \"data\",\n\t\tvalue: returnError(() => data[key]),\n\t\teditable: true\n\t}));\n}\nfunction getStateTypeAndName(info) {\n\tconst stateType = info.computed ? \"computed\" : info.ref ? \"ref\" : info.reactive ? \"reactive\" : null;\n\treturn {\n\t\tstateType,\n\t\tstateTypeName: stateType ? `${stateType.charAt(0).toUpperCase()}${stateType.slice(1)}` : null\n\t};\n}\nfunction processSetupState(instance) {\n\tconst raw = instance.devtoolsRawSetupState || {};\n\treturn Object.keys(instance.setupState).filter((key) => !vueBuiltins.has(key) && key.split(/(?=[A-Z])/)[0] !== \"use\").map((key) => {\n\t\tconst value = returnError(() => toRaw(instance.setupState[key]));\n\t\tconst accessError = value instanceof Error;\n\t\tconst rawData = raw[key];\n\t\tlet result;\n\t\tlet isOtherType = accessError || typeof value === \"function\" || ensurePropertyExists(value, \"render\") && typeof value.render === \"function\" || ensurePropertyExists(value, \"__asyncLoader\") && typeof value.__asyncLoader === \"function\" || typeof value === \"object\" && value && (\"setup\" in value || \"props\" in value) || /^v[A-Z]/.test(key);\n\t\tif (rawData && !accessError) {\n\t\t\tconst info = getSetupStateType(rawData);\n\t\t\tconst { stateType, stateTypeName } = getStateTypeAndName(info);\n\t\t\tconst isState = info.ref || info.computed || info.reactive;\n\t\t\tconst raw = ensurePropertyExists(rawData, \"effect\") ? rawData.effect?.raw?.toString() || rawData.effect?.fn?.toString() : null;\n\t\t\tif (stateType) isOtherType = false;\n\t\t\tresult = {\n\t\t\t\t...stateType ? {\n\t\t\t\t\tstateType,\n\t\t\t\t\tstateTypeName\n\t\t\t\t} : {},\n\t\t\t\t...raw ? { raw } : {},\n\t\t\t\teditable: isState && !info.readonly\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tkey,\n\t\t\tvalue,\n\t\t\ttype: isOtherType ? \"setup (other)\" : \"setup\",\n\t\t\t...result\n\t\t};\n\t});\n}\n/**\n* Process the computed properties of an instance.\n*/\nfunction processComputed(instance, mergedType) {\n\tconst type = mergedType;\n\tconst computed = [];\n\tconst defs = type.computed || {};\n\tfor (const key in defs) {\n\t\tconst def = defs[key];\n\t\tconst type = typeof def === \"function\" && def.vuex ? \"vuex bindings\" : \"computed\";\n\t\tcomputed.push({\n\t\t\ttype,\n\t\t\tkey,\n\t\t\tvalue: returnError(() => instance?.proxy?.[key]),\n\t\t\teditable: typeof def.set === \"function\"\n\t\t});\n\t}\n\treturn computed;\n}\nfunction processAttrs(instance) {\n\treturn Object.keys(instance.attrs).map((key) => ({\n\t\ttype: \"attrs\",\n\t\tkey,\n\t\tvalue: returnError(() => instance.attrs[key])\n\t}));\n}\nfunction processProvide(instance) {\n\treturn Reflect.ownKeys(instance.provides).map((key) => ({\n\t\ttype: \"provided\",\n\t\tkey: key.toString(),\n\t\tvalue: returnError(() => instance.provides[key])\n\t}));\n}\nfunction processInject(instance, mergedType) {\n\tif (!mergedType?.inject) return [];\n\tlet keys = [];\n\tlet defaultValue;\n\tif (Array.isArray(mergedType.inject)) keys = mergedType.inject.map((key) => ({\n\t\tkey,\n\t\toriginalKey: key\n\t}));\n\telse keys = Reflect.ownKeys(mergedType.inject).map((key) => {\n\t\tconst value = mergedType.inject[key];\n\t\tlet originalKey;\n\t\tif (typeof value === \"string\" || typeof value === \"symbol\") originalKey = value;\n\t\telse {\n\t\t\toriginalKey = value.from;\n\t\t\tdefaultValue = value.default;\n\t\t}\n\t\treturn {\n\t\t\tkey,\n\t\t\toriginalKey\n\t\t};\n\t});\n\treturn keys.map(({ key, originalKey }) => ({\n\t\ttype: \"injected\",\n\t\tkey: originalKey && key !== originalKey ? `${originalKey.toString()} ➞ ${key.toString()}` : key.toString(),\n\t\tvalue: returnError(() => instance.ctx.hasOwnProperty(key) ? instance.ctx[key] : instance.provides.hasOwnProperty(originalKey) ? instance.provides[originalKey] : defaultValue)\n\t}));\n}\nfunction processRefs(instance) {\n\treturn Object.keys(instance.refs).map((key) => ({\n\t\ttype: \"template refs\",\n\t\tkey,\n\t\tvalue: returnError(() => instance.refs[key])\n\t}));\n}\nconst vnodeEvents = new Set([\n\t\"vnode-before-mount\",\n\t\"vnode-mounted\",\n\t\"vnode-before-update\",\n\t\"vnode-updated\",\n\t\"vnode-before-unmount\",\n\t\"vnode-unmounted\"\n]);\nfunction processEventListeners(instance) {\n\tconst emitsDefinition = instance.type.emits;\n\tconst declaredEmits = Array.isArray(emitsDefinition) ? emitsDefinition : Object.keys(emitsDefinition ?? {});\n\tconst keys = Object.keys(instance?.vnode?.props ?? {});\n\tconst result = [];\n\tfor (const key of keys) {\n\t\tconst [prefix, ...eventNameParts] = key.split(/(?=[A-Z])/);\n\t\tif (prefix === \"on\") {\n\t\t\tconst eventName = eventNameParts.join(\"-\").toLowerCase();\n\t\t\tconst isBuiltIn = vnodeEvents.has(eventName);\n\t\t\tconst isDeclared = declaredEmits.includes(eventName) || declaredEmits.includes(camelize(eventName));\n\t\t\tconst text = isBuiltIn ? \"✅ Built-in\" : isDeclared ? \"✅ Declared\" : \"⚠️ Not declared\";\n\t\t\tresult.push({\n\t\t\t\ttype: \"event listeners\",\n\t\t\t\tkey: eventName,\n\t\t\t\tvalue: { _custom: {\n\t\t\t\t\tdisplayText: text,\n\t\t\t\t\tkey: text,\n\t\t\t\t\tvalue: text,\n\t\t\t\t\ttooltipText: isBuiltIn ? `The event ${escape(eventName)} is part of Vue and doesn't need to be declared by the component` : !isDeclared ? `The event ${escape(eventName)} is not declared in the emits option. It will leak into the component's attributes ($attrs).` : null\n\t\t\t\t} }\n\t\t\t});\n\t\t}\n\t}\n\treturn result;\n}\nfunction processInstanceState(instance) {\n\tconst mergedType = resolveMergedOptions(instance);\n\treturn processProps(instance).concat(processState(instance), processSetupState(instance), processComputed(instance, mergedType), processAttrs(instance), processProvide(instance), processInject(instance, mergedType), processRefs(instance), processEventListeners(instance));\n}\n//#endregion\n//#region src/core/component/state/index.ts\nfunction getInstanceState(params) {\n\tconst instance = getComponentInstance(activeAppRecord.value, params.instanceId);\n\treturn {\n\t\tid: getUniqueComponentId(instance),\n\t\tname: getInstanceName(instance),\n\t\tfile: instance?.type?.__file,\n\t\tstate: processInstanceState(instance),\n\t\tinstance\n\t};\n}\n//#endregion\n//#region src/core/component/tree/filter.ts\nvar ComponentFilter = class {\n\tconstructor(filter) {\n\t\tthis.filter = filter || \"\";\n\t}\n\t/**\n\t* Check if an instance is qualified.\n\t*\n\t* @param {Vue|Vnode} instance\n\t* @return {boolean}\n\t*/\n\tisQualified(instance) {\n\t\tconst name = getInstanceName(instance);\n\t\treturn classify(name).toLowerCase().includes(this.filter) || kebabize(name).toLowerCase().includes(this.filter);\n\t}\n};\nfunction createComponentFilter(filterText) {\n\treturn new ComponentFilter(filterText);\n}\n//#endregion\n//#region src/core/component/tree/walker.ts\nvar ComponentWalker = class {\n\tconstructor(options) {\n\t\tthis.captureIds = /* @__PURE__ */ new Map();\n\t\tconst { filterText = \"\", maxDepth, recursively, api } = options;\n\t\tthis.componentFilter = createComponentFilter(filterText);\n\t\tthis.maxDepth = maxDepth;\n\t\tthis.recursively = recursively;\n\t\tthis.api = api;\n\t}\n\tgetComponentTree(instance) {\n\t\tthis.captureIds = /* @__PURE__ */ new Map();\n\t\treturn this.findQualifiedChildren(instance, 0);\n\t}\n\tgetComponentParents(instance) {\n\t\tthis.captureIds = /* @__PURE__ */ new Map();\n\t\tconst parents = [];\n\t\tthis.captureId(instance);\n\t\tlet parent = instance;\n\t\twhile (parent = parent.parent) {\n\t\t\tthis.captureId(parent);\n\t\t\tparents.push(parent);\n\t\t}\n\t\treturn parents;\n\t}\n\tcaptureId(instance) {\n\t\tif (!instance) return null;\n\t\tconst id = instance.__VUE_DEVTOOLS_NEXT_UID__ != null ? instance.__VUE_DEVTOOLS_NEXT_UID__ : getUniqueComponentId(instance);\n\t\tinstance.__VUE_DEVTOOLS_NEXT_UID__ = id;\n\t\tif (this.captureIds.has(id)) return null;\n\t\telse this.captureIds.set(id, void 0);\n\t\tthis.mark(instance);\n\t\treturn id;\n\t}\n\t/**\n\t* Capture the meta information of an instance. (recursive)\n\t*\n\t* @param {Vue} instance\n\t* @return {object}\n\t*/\n\tasync capture(instance, depth) {\n\t\tif (!instance) return null;\n\t\tconst id = this.captureId(instance);\n\t\tconst name = getInstanceName(instance);\n\t\tconst children = this.getInternalInstanceChildren(instance.subTree).filter((child) => !isBeingDestroyed(child));\n\t\tconst parents = this.getComponentParents(instance) || [];\n\t\tconst inactive = !!instance.isDeactivated || parents.some((parent) => parent.isDeactivated);\n\t\tconst treeNode = {\n\t\t\tuid: instance.uid,\n\t\t\tid,\n\t\t\tname,\n\t\t\trenderKey: getRenderKey(instance.vnode ? instance.vnode.key : null),\n\t\t\tinactive,\n\t\t\tchildren: [],\n\t\t\thasChildren: !!children.length,\n\t\t\tisFragment: isFragment(instance),\n\t\t\ttags: typeof instance.type !== \"function\" ? [] : [{\n\t\t\t\tlabel: \"functional\",\n\t\t\t\ttextColor: 5592405,\n\t\t\t\tbackgroundColor: 15658734\n\t\t\t}],\n\t\t\tautoOpen: this.recursively,\n\t\t\tfile: instance.type.__file || \"\"\n\t\t};\n\t\tif (depth < this.maxDepth || instance.type.__isKeepAlive || parents.some((parent) => parent.type.__isKeepAlive)) treeNode.children = await Promise.all(children.map((child) => this.capture(child, depth + 1)).filter(Boolean));\n\t\tif (this.isKeepAlive(instance)) {\n\t\t\tconst cachedComponents = this.getKeepAliveCachedInstances(instance);\n\t\t\tconst childrenIds = children.map((child) => child.__VUE_DEVTOOLS_NEXT_UID__);\n\t\t\tfor (const cachedChild of cachedComponents) if (!childrenIds.includes(cachedChild.__VUE_DEVTOOLS_NEXT_UID__)) {\n\t\t\t\tconst node = await this.capture({\n\t\t\t\t\t...cachedChild,\n\t\t\t\t\tisDeactivated: true\n\t\t\t\t}, depth + 1);\n\t\t\t\tif (node) treeNode.children.push(node);\n\t\t\t}\n\t\t}\n\t\tconst firstElement = getRootElementsFromComponentInstance(instance)[0];\n\t\tif (firstElement?.parentElement) {\n\t\t\tconst parentInstance = instance.parent;\n\t\t\tconst parentRootElements = parentInstance ? getRootElementsFromComponentInstance(parentInstance) : [];\n\t\t\tlet el = firstElement;\n\t\t\tconst indexList = [];\n\t\t\tdo {\n\t\t\t\tindexList.push(Array.from(el.parentElement.childNodes).indexOf(el));\n\t\t\t\tel = el.parentElement;\n\t\t\t} while (el.parentElement && parentRootElements.length && !parentRootElements.includes(el));\n\t\t\ttreeNode.domOrder = indexList.reverse();\n\t\t} else treeNode.domOrder = [-1];\n\t\tif (instance.suspense?.suspenseKey) {\n\t\t\ttreeNode.tags.push({\n\t\t\t\tlabel: instance.suspense.suspenseKey,\n\t\t\t\tbackgroundColor: 14979812,\n\t\t\t\ttextColor: 16777215\n\t\t\t});\n\t\t\tthis.mark(instance, true);\n\t\t}\n\t\tthis.api.visitComponentTree({\n\t\t\ttreeNode,\n\t\t\tcomponentInstance: instance,\n\t\t\tapp: instance.appContext.app,\n\t\t\tfilter: this.componentFilter.filter\n\t\t});\n\t\treturn treeNode;\n\t}\n\t/**\n\t* Find qualified children from a single instance.\n\t* If the instance itself is qualified, just return itself.\n\t* This is ok because [].concat works in both cases.\n\t*\n\t* @param {Vue|Vnode} instance\n\t* @return {Vue|Array}\n\t*/\n\tasync findQualifiedChildren(instance, depth) {\n\t\tif (this.componentFilter.isQualified(instance) && !instance.type.devtools?.hide) return [await this.capture(instance, depth)];\n\t\telse if (instance.subTree) {\n\t\t\tconst list = this.isKeepAlive(instance) ? this.getKeepAliveCachedInstances(instance) : this.getInternalInstanceChildren(instance.subTree);\n\t\t\treturn this.findQualifiedChildrenFromList(list, depth);\n\t\t} else return [];\n\t}\n\t/**\n\t* Iterate through an array of instances and flatten it into\n\t* an array of qualified instances. This is a depth-first\n\t* traversal - e.g. if an instance is not matched, we will\n\t* recursively go deeper until a qualified child is found.\n\t*\n\t* @param {Array} instances\n\t* @return {Array}\n\t*/\n\tasync findQualifiedChildrenFromList(instances, depth) {\n\t\tinstances = instances.filter((child) => !isBeingDestroyed(child) && !child.type.devtools?.hide);\n\t\tif (!this.componentFilter.filter) return Promise.all(instances.map((child) => this.capture(child, depth)));\n\t\telse return Array.prototype.concat.apply([], await Promise.all(instances.map((i) => this.findQualifiedChildren(i, depth))));\n\t}\n\t/**\n\t* Get children from a component instance.\n\t*/\n\tgetInternalInstanceChildren(subTree, suspense = null) {\n\t\tconst list = [];\n\t\tif (subTree) {\n\t\t\tif (subTree.component) !suspense ? list.push(subTree.component) : list.push({\n\t\t\t\t...subTree.component,\n\t\t\t\tsuspense\n\t\t\t});\n\t\t\telse if (subTree.suspense) {\n\t\t\t\tconst suspenseKey = !subTree.suspense.isInFallback ? \"suspense default\" : \"suspense fallback\";\n\t\t\t\tlist.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, {\n\t\t\t\t\t...subTree.suspense,\n\t\t\t\t\tsuspenseKey\n\t\t\t\t}));\n\t\t\t} else if (Array.isArray(subTree.children)) subTree.children.forEach((childSubTree) => {\n\t\t\t\tif (childSubTree.component) !suspense ? list.push(childSubTree.component) : list.push({\n\t\t\t\t\t...childSubTree.component,\n\t\t\t\t\tsuspense\n\t\t\t\t});\n\t\t\t\telse list.push(...this.getInternalInstanceChildren(childSubTree, suspense));\n\t\t\t});\n\t\t}\n\t\treturn list.filter((child) => !isBeingDestroyed(child) && !child.type.devtools?.hide);\n\t}\n\t/**\n\t* Mark an instance as captured and store it in the instance map.\n\t*\n\t* @param {Vue} instance\n\t*/\n\tmark(instance, force = false) {\n\t\tconst instanceMap = getAppRecord(instance).instanceMap;\n\t\tif (force || !instanceMap.has(instance.__VUE_DEVTOOLS_NEXT_UID__)) {\n\t\t\tinstanceMap.set(instance.__VUE_DEVTOOLS_NEXT_UID__, instance);\n\t\t\tactiveAppRecord.value.instanceMap = instanceMap;\n\t\t}\n\t}\n\tisKeepAlive(instance) {\n\t\treturn instance.type.__isKeepAlive && instance.__v_cache;\n\t}\n\tgetKeepAliveCachedInstances(instance) {\n\t\treturn Array.from(instance.__v_cache.values()).map((vnode) => vnode.component).filter(Boolean);\n\t}\n};\n//#endregion\n//#region src/core/timeline/perf.ts\nconst markEndQueue = /* @__PURE__ */ new Map();\nconst PERFORMANCE_EVENT_LAYER_ID = \"performance\";\nasync function performanceMarkStart(api, app, uid, vm, type, time) {\n\tconst appRecord = await getAppRecord(app);\n\tif (!appRecord) return;\n\tconst componentName = getInstanceName(vm) || \"Unknown Component\";\n\tconst groupId = devtoolsState.perfUniqueGroupId++;\n\tconst groupKey = `${uid}-${type}`;\n\tappRecord.perfGroupIds.set(groupKey, {\n\t\tgroupId,\n\t\ttime\n\t});\n\tawait api.addTimelineEvent({\n\t\tlayerId: PERFORMANCE_EVENT_LAYER_ID,\n\t\tevent: {\n\t\t\ttime: Date.now(),\n\t\t\tdata: {\n\t\t\t\tcomponent: componentName,\n\t\t\t\ttype,\n\t\t\t\tmeasure: \"start\"\n\t\t\t},\n\t\t\ttitle: componentName,\n\t\t\tsubtitle: type,\n\t\t\tgroupId\n\t\t}\n\t});\n\tif (markEndQueue.has(groupKey)) {\n\t\tconst { app, uid, instance, type, time } = markEndQueue.get(groupKey);\n\t\tmarkEndQueue.delete(groupKey);\n\t\tawait performanceMarkEnd(api, app, uid, instance, type, time);\n\t}\n}\nfunction performanceMarkEnd(api, app, uid, vm, type, time) {\n\tconst appRecord = getAppRecord(app);\n\tif (!appRecord) return;\n\tconst componentName = getInstanceName(vm) || \"Unknown Component\";\n\tconst groupKey = `${uid}-${type}`;\n\tconst groupInfo = appRecord.perfGroupIds.get(groupKey);\n\tif (groupInfo) {\n\t\tconst groupId = groupInfo.groupId;\n\t\tconst duration = time - groupInfo.time;\n\t\tapi.addTimelineEvent({\n\t\t\tlayerId: PERFORMANCE_EVENT_LAYER_ID,\n\t\t\tevent: {\n\t\t\t\ttime: Date.now(),\n\t\t\t\tdata: {\n\t\t\t\t\tcomponent: componentName,\n\t\t\t\t\ttype,\n\t\t\t\t\tmeasure: \"end\",\n\t\t\t\t\tduration: { _custom: {\n\t\t\t\t\t\ttype: \"Duration\",\n\t\t\t\t\t\tvalue: duration,\n\t\t\t\t\t\tdisplay: `${duration} ms`\n\t\t\t\t\t} }\n\t\t\t\t},\n\t\t\t\ttitle: componentName,\n\t\t\t\tsubtitle: type,\n\t\t\t\tgroupId\n\t\t\t}\n\t\t});\n\t} else markEndQueue.set(groupKey, {\n\t\tapp,\n\t\tuid,\n\t\tinstance: vm,\n\t\ttype,\n\t\ttime\n\t});\n}\n//#endregion\n//#region src/core/timeline/index.ts\nconst COMPONENT_EVENT_LAYER_ID = \"component-event\";\nfunction setupBuiltinTimelineLayers(api) {\n\tif (!isBrowser) return;\n\tapi.addTimelineLayer({\n\t\tid: \"mouse\",\n\t\tlabel: \"Mouse\",\n\t\tcolor: 10768815\n\t});\n\t[\n\t\t\"mousedown\",\n\t\t\"mouseup\",\n\t\t\"click\",\n\t\t\"dblclick\"\n\t].forEach((eventType) => {\n\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.mouseEventEnabled) return;\n\t\twindow.addEventListener(eventType, async (event) => {\n\t\t\tawait api.addTimelineEvent({\n\t\t\t\tlayerId: \"mouse\",\n\t\t\t\tevent: {\n\t\t\t\t\ttime: Date.now(),\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttype: eventType,\n\t\t\t\t\t\tx: event.clientX,\n\t\t\t\t\t\ty: event.clientY\n\t\t\t\t\t},\n\t\t\t\t\ttitle: eventType\n\t\t\t\t}\n\t\t\t});\n\t\t}, {\n\t\t\tcapture: true,\n\t\t\tpassive: true\n\t\t});\n\t});\n\tapi.addTimelineLayer({\n\t\tid: \"keyboard\",\n\t\tlabel: \"Keyboard\",\n\t\tcolor: 8475055\n\t});\n\t[\n\t\t\"keyup\",\n\t\t\"keydown\",\n\t\t\"keypress\"\n\t].forEach((eventType) => {\n\t\twindow.addEventListener(eventType, async (event) => {\n\t\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.keyboardEventEnabled) return;\n\t\t\tawait api.addTimelineEvent({\n\t\t\t\tlayerId: \"keyboard\",\n\t\t\t\tevent: {\n\t\t\t\t\ttime: Date.now(),\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttype: eventType,\n\t\t\t\t\t\tkey: event.key,\n\t\t\t\t\t\tctrlKey: event.ctrlKey,\n\t\t\t\t\t\tshiftKey: event.shiftKey,\n\t\t\t\t\t\taltKey: event.altKey,\n\t\t\t\t\t\tmetaKey: event.metaKey\n\t\t\t\t\t},\n\t\t\t\t\ttitle: event.key\n\t\t\t\t}\n\t\t\t});\n\t\t}, {\n\t\t\tcapture: true,\n\t\t\tpassive: true\n\t\t});\n\t});\n\tapi.addTimelineLayer({\n\t\tid: COMPONENT_EVENT_LAYER_ID,\n\t\tlabel: \"Component events\",\n\t\tcolor: 5226637\n\t});\n\thook.on.componentEmit(async (app, instance, event, params) => {\n\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.componentEventEnabled) return;\n\t\tconst appRecord = await getAppRecord(app);\n\t\tif (!appRecord) return;\n\t\tconst componentId = `${appRecord.id}:${instance.uid}`;\n\t\tconst componentName = getInstanceName(instance) || \"Unknown Component\";\n\t\tapi.addTimelineEvent({\n\t\t\tlayerId: COMPONENT_EVENT_LAYER_ID,\n\t\t\tevent: {\n\t\t\t\ttime: Date.now(),\n\t\t\t\tdata: {\n\t\t\t\t\tcomponent: { _custom: {\n\t\t\t\t\t\ttype: \"component-definition\",\n\t\t\t\t\t\tdisplay: componentName\n\t\t\t\t\t} },\n\t\t\t\t\tevent,\n\t\t\t\t\tparams\n\t\t\t\t},\n\t\t\t\ttitle: event,\n\t\t\t\tsubtitle: `by ${componentName}`,\n\t\t\t\tmeta: { componentId }\n\t\t\t}\n\t\t});\n\t});\n\tapi.addTimelineLayer({\n\t\tid: \"performance\",\n\t\tlabel: PERFORMANCE_EVENT_LAYER_ID,\n\t\tcolor: 4307050\n\t});\n\thook.on.perfStart((app, uid, vm, type, time) => {\n\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled) return;\n\t\tperformanceMarkStart(api, app, uid, vm, type, time);\n\t});\n\thook.on.perfEnd((app, uid, vm, type, time) => {\n\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled) return;\n\t\tperformanceMarkEnd(api, app, uid, vm, type, time);\n\t});\n}\n//#endregion\n//#region src/core/vm/index.ts\nconst MAX_$VM = 10;\nconst $vmQueue = [];\nfunction exposeInstanceToWindow(componentInstance) {\n\tif (typeof window === \"undefined\") return;\n\tconst win = window;\n\tif (!componentInstance) return;\n\twin.$vm = componentInstance;\n\tif ($vmQueue[0] !== componentInstance) {\n\t\tif ($vmQueue.length >= MAX_$VM) $vmQueue.pop();\n\t\tfor (let i = $vmQueue.length; i > 0; i--) win[`$vm${i}`] = $vmQueue[i] = $vmQueue[i - 1];\n\t\twin.$vm0 = $vmQueue[0] = componentInstance;\n\t}\n}\n//#endregion\n//#region src/core/plugin/components.ts\nconst INSPECTOR_ID = \"components\";\nfunction createComponentsDevToolsPlugin(app) {\n\tconst descriptor = {\n\t\tid: INSPECTOR_ID,\n\t\tlabel: \"Components\",\n\t\tapp\n\t};\n\tconst setupFn = (api) => {\n\t\tapi.addInspector({\n\t\t\tid: INSPECTOR_ID,\n\t\t\tlabel: \"Components\",\n\t\t\ttreeFilterPlaceholder: \"Search components\"\n\t\t});\n\t\tsetupBuiltinTimelineLayers(api);\n\t\tapi.on.getInspectorTree(async (payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tconst instance = getComponentInstance(activeAppRecord.value, payload.instanceId);\n\t\t\t\tif (instance) payload.rootNodes = await new ComponentWalker({\n\t\t\t\t\tfilterText: payload.filter,\n\t\t\t\t\tmaxDepth: 100,\n\t\t\t\t\trecursively: false,\n\t\t\t\t\tapi\n\t\t\t\t}).getComponentTree(instance);\n\t\t\t}\n\t\t});\n\t\tapi.on.getInspectorState(async (payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tconst result = getInstanceState({ instanceId: payload.nodeId });\n\t\t\t\tconst componentInstance = result.instance;\n\t\t\t\tconst _payload = {\n\t\t\t\t\tcomponentInstance,\n\t\t\t\t\tapp: result.instance?.appContext.app,\n\t\t\t\t\tinstanceData: result\n\t\t\t\t};\n\t\t\t\tdevtoolsContext.hooks.callHookWith((callbacks) => {\n\t\t\t\t\tcallbacks.forEach((cb) => cb(_payload));\n\t\t\t\t}, DevToolsV6PluginAPIHookKeys.INSPECT_COMPONENT);\n\t\t\t\tpayload.state = result;\n\t\t\t\texposeInstanceToWindow(componentInstance);\n\t\t\t}\n\t\t});\n\t\tapi.on.editInspectorState(async (payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\teditState(payload);\n\t\t\t\tawait api.sendInspectorState(\"components\");\n\t\t\t}\n\t\t});\n\t\tconst debounceSendInspectorTree = debounce(() => {\n\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t}, 120);\n\t\tconst debounceSendInspectorState = debounce(() => {\n\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t}, 120);\n\t\thook.on.componentAdded(async (app, uid, parentUid, component) => {\n\t\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\t\tif (app?._instance?.type?.devtools?.hide) return;\n\t\t\tif (!app || typeof uid !== \"number\" && !uid || !component) return;\n\t\t\tconst id = await getComponentId({\n\t\t\t\tapp,\n\t\t\t\tuid,\n\t\t\t\tinstance: component\n\t\t\t});\n\t\t\tconst appRecord = await getAppRecord(app);\n\t\t\tif (component) {\n\t\t\t\tif (component.__VUE_DEVTOOLS_NEXT_UID__ == null) component.__VUE_DEVTOOLS_NEXT_UID__ = id;\n\t\t\t\tif (!appRecord?.instanceMap.has(id)) {\n\t\t\t\t\tappRecord?.instanceMap.set(id, component);\n\t\t\t\t\tif (activeAppRecord.value.id === appRecord?.id) activeAppRecord.value.instanceMap = appRecord.instanceMap;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!appRecord) return;\n\t\t\tdebounceSendInspectorTree();\n\t\t});\n\t\thook.on.componentUpdated(async (app, uid, parentUid, component) => {\n\t\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\t\tif (app?._instance?.type?.devtools?.hide) return;\n\t\t\tif (!app || typeof uid !== \"number\" && !uid || !component) return;\n\t\t\tconst id = await getComponentId({\n\t\t\t\tapp,\n\t\t\t\tuid,\n\t\t\t\tinstance: component\n\t\t\t});\n\t\t\tconst appRecord = await getAppRecord(app);\n\t\t\tif (component) {\n\t\t\t\tif (component.__VUE_DEVTOOLS_NEXT_UID__ == null) component.__VUE_DEVTOOLS_NEXT_UID__ = id;\n\t\t\t\tif (!appRecord?.instanceMap.has(id)) {\n\t\t\t\t\tappRecord?.instanceMap.set(id, component);\n\t\t\t\t\tif (activeAppRecord.value.id === appRecord?.id) activeAppRecord.value.instanceMap = appRecord.instanceMap;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!appRecord) return;\n\t\t\tdebounceSendInspectorTree();\n\t\t\tdebounceSendInspectorState();\n\t\t});\n\t\thook.on.componentRemoved(async (app, uid, parentUid, component) => {\n\t\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\t\tif (app?._instance?.type?.devtools?.hide) return;\n\t\t\tif (!app || typeof uid !== \"number\" && !uid || !component) return;\n\t\t\tconst appRecord = await getAppRecord(app);\n\t\t\tif (!appRecord) return;\n\t\t\tconst id = await getComponentId({\n\t\t\t\tapp,\n\t\t\t\tuid,\n\t\t\t\tinstance: component\n\t\t\t});\n\t\t\tappRecord?.instanceMap.delete(id);\n\t\t\tif (activeAppRecord.value.id === appRecord?.id) activeAppRecord.value.instanceMap = appRecord.instanceMap;\n\t\t\tdebounceSendInspectorTree();\n\t\t});\n\t};\n\treturn [descriptor, setupFn];\n}\n//#endregion\n//#region src/core/plugin/index.ts\ntarget.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ ??= /* @__PURE__ */ new Set();\nfunction setupDevToolsPlugin(pluginDescriptor, setupFn) {\n\treturn hook.setupDevToolsPlugin(pluginDescriptor, setupFn);\n}\nfunction callDevToolsPluginSetupFn(plugin, app) {\n\tconst [pluginDescriptor, setupFn] = plugin;\n\tif (pluginDescriptor.app !== app) return;\n\tconst api = new DevToolsPluginAPI({\n\t\tplugin: {\n\t\t\tsetupFn,\n\t\t\tdescriptor: pluginDescriptor\n\t\t},\n\t\tctx: devtoolsContext\n\t});\n\tif (pluginDescriptor.packageName === \"vuex\") api.on.editInspectorState((payload) => {\n\t\tapi.sendInspectorState(payload.inspectorId);\n\t});\n\tsetupFn(api);\n}\nfunction removeRegisteredPluginApp(app) {\n\ttarget.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.delete(app);\n}\nfunction registerDevToolsPlugin(app, options) {\n\tif (target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) return;\n\tif (devtoolsState.highPerfModeEnabled && !options?.inspectingComponent) return;\n\ttarget.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app);\n\tdevtoolsPluginBuffer.forEach((plugin) => {\n\t\tcallDevToolsPluginSetupFn(plugin, app);\n\t});\n}\n//#endregion\n//#region src/ctx/router.ts\nconst ROUTER_KEY = \"__VUE_DEVTOOLS_ROUTER__\";\nconst ROUTER_INFO_KEY = \"__VUE_DEVTOOLS_ROUTER_INFO__\";\ntarget[ROUTER_INFO_KEY] ??= {\n\tcurrentRoute: null,\n\troutes: []\n};\ntarget[ROUTER_KEY] ??= {};\nconst devtoolsRouterInfo = new Proxy(target[ROUTER_INFO_KEY], { get(target$1, property) {\n\treturn target[ROUTER_INFO_KEY][property];\n} });\nconst devtoolsRouter = new Proxy(target[ROUTER_KEY], { get(target$2, property) {\n\tif (property === \"value\") return target[ROUTER_KEY];\n} });\n//#endregion\n//#region src/core/router/index.ts\nfunction getRoutes(router) {\n\tconst routesMap = /* @__PURE__ */ new Map();\n\treturn (router?.getRoutes() || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));\n}\nfunction filterRoutes(routes) {\n\treturn routes.map((item) => {\n\t\tlet { path, name, children, meta } = item;\n\t\tif (children?.length) children = filterRoutes(children);\n\t\treturn {\n\t\t\tpath,\n\t\t\tname,\n\t\t\tchildren,\n\t\t\tmeta\n\t\t};\n\t});\n}\nfunction filterCurrentRoute(route) {\n\tif (route) {\n\t\tconst { fullPath, hash, href, path, name, matched, params, query } = route;\n\t\treturn {\n\t\t\tfullPath,\n\t\t\thash,\n\t\t\thref,\n\t\t\tpath,\n\t\t\tname,\n\t\t\tparams,\n\t\t\tquery,\n\t\t\tmatched: filterRoutes(matched)\n\t\t};\n\t}\n\treturn route;\n}\nfunction normalizeRouterInfo(appRecord, activeAppRecord) {\n\tfunction init() {\n\t\tconst router = appRecord.app?.config.globalProperties.$router;\n\t\tconst currentRoute = filterCurrentRoute(router?.currentRoute.value);\n\t\tconst routes = filterRoutes(getRoutes(router));\n\t\tconst c = console.warn;\n\t\tconsole.warn = () => {};\n\t\ttarget[ROUTER_INFO_KEY] = {\n\t\t\tcurrentRoute: currentRoute ? deepClone(currentRoute) : {},\n\t\t\troutes: deepClone(routes)\n\t\t};\n\t\ttarget[ROUTER_KEY] = router;\n\t\tconsole.warn = c;\n\t}\n\tinit();\n\thook.on.componentUpdated(debounce(() => {\n\t\tif (activeAppRecord.value?.app !== appRecord.app) return;\n\t\tinit();\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.ROUTER_INFO_UPDATED, { state: target[ROUTER_INFO_KEY] });\n\t}, 200));\n}\n//#endregion\n//#region src/ctx/api.ts\nfunction createDevToolsApi(hooks) {\n\treturn {\n\t\tasync getInspectorTree(payload) {\n\t\t\tconst _payload = {\n\t\t\t\t...payload,\n\t\t\t\tapp: activeAppRecord.value.app,\n\t\t\t\trootNodes: []\n\t\t\t};\n\t\t\tawait new Promise((resolve) => {\n\t\t\t\thooks.callHookWith(async (callbacks) => {\n\t\t\t\t\tawait Promise.all(callbacks.map((cb) => cb(_payload)));\n\t\t\t\t\tresolve();\n\t\t\t\t}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE);\n\t\t\t});\n\t\t\treturn _payload.rootNodes;\n\t\t},\n\t\tasync getInspectorState(payload) {\n\t\t\tconst _payload = {\n\t\t\t\t...payload,\n\t\t\t\tapp: activeAppRecord.value.app,\n\t\t\t\tstate: null\n\t\t\t};\n\t\t\tconst ctx = { currentTab: `custom-inspector:${payload.inspectorId}` };\n\t\t\tawait new Promise((resolve) => {\n\t\t\t\thooks.callHookWith(async (callbacks) => {\n\t\t\t\t\tawait Promise.all(callbacks.map((cb) => cb(_payload, ctx)));\n\t\t\t\t\tresolve();\n\t\t\t\t}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE);\n\t\t\t});\n\t\t\treturn _payload.state;\n\t\t},\n\t\teditInspectorState(payload) {\n\t\t\tconst stateEditor = new StateEditor();\n\t\t\tconst _payload = {\n\t\t\t\t...payload,\n\t\t\t\tapp: activeAppRecord.value.app,\n\t\t\t\tset: (obj, path = payload.path, value = payload.state.value, cb) => {\n\t\t\t\t\tstateEditor.set(obj, path, value, cb || stateEditor.createDefaultSetCallback(payload.state));\n\t\t\t\t}\n\t\t\t};\n\t\t\thooks.callHookWith((callbacks) => {\n\t\t\t\tcallbacks.forEach((cb) => cb(_payload));\n\t\t\t}, DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE);\n\t\t},\n\t\tsendInspectorState(inspectorId) {\n\t\t\tconst inspector = getInspector(inspectorId);\n\t\t\thooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {\n\t\t\t\tinspectorId,\n\t\t\t\tplugin: {\n\t\t\t\t\tdescriptor: inspector.descriptor,\n\t\t\t\t\tsetupFn: () => ({})\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tinspectComponentInspector() {\n\t\t\treturn inspectComponentHighLighter();\n\t\t},\n\t\tcancelInspectComponentInspector() {\n\t\t\treturn cancelInspectComponentHighLighter();\n\t\t},\n\t\tgetComponentRenderCode(id) {\n\t\t\tconst instance = getComponentInstance(activeAppRecord.value, id);\n\t\t\tif (instance) return !(typeof instance?.type === \"function\") ? instance.render.toString() : instance.type.toString();\n\t\t},\n\t\tscrollToComponent(id) {\n\t\t\treturn scrollToComponent({ id });\n\t\t},\n\t\topenInEditor,\n\t\tgetVueInspector: getComponentInspector,\n\t\ttoggleApp(id, options) {\n\t\t\tconst appRecord = devtoolsAppRecords.value.find((record) => record.id === id);\n\t\t\tif (appRecord) {\n\t\t\t\tsetActiveAppRecordId(id);\n\t\t\t\tsetActiveAppRecord(appRecord);\n\t\t\t\tnormalizeRouterInfo(appRecord, activeAppRecord);\n\t\t\t\tcallInspectorUpdatedHook();\n\t\t\t\tregisterDevToolsPlugin(appRecord.app, options);\n\t\t\t}\n\t\t},\n\t\tinspectDOM(instanceId) {\n\t\t\tconst instance = getComponentInstance(activeAppRecord.value, instanceId);\n\t\t\tif (instance) {\n\t\t\t\tconst [el] = getRootElementsFromComponentInstance(instance);\n\t\t\t\tif (el) target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el;\n\t\t\t}\n\t\t},\n\t\tupdatePluginSettings(pluginId, key, value) {\n\t\t\tsetPluginSettings(pluginId, key, value);\n\t\t},\n\t\tgetPluginSettings(pluginId) {\n\t\t\treturn {\n\t\t\t\toptions: getPluginSettingsOptions(pluginId),\n\t\t\t\tvalues: getPluginSettings(pluginId)\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/ctx/env.ts\ntarget.__VUE_DEVTOOLS_ENV__ ??= { vitePluginDetected: false };\nfunction getDevToolsEnv() {\n\treturn target.__VUE_DEVTOOLS_ENV__;\n}\nfunction setDevToolsEnv(env) {\n\ttarget.__VUE_DEVTOOLS_ENV__ = {\n\t\t...target.__VUE_DEVTOOLS_ENV__,\n\t\t...env\n\t};\n}\n//#endregion\n//#region src/ctx/index.ts\nconst hooks = createDevToolsCtxHooks();\ntarget.__VUE_DEVTOOLS_KIT_CONTEXT__ ??= {\n\thooks,\n\tget state() {\n\t\treturn {\n\t\t\t...devtoolsState,\n\t\t\tactiveAppRecordId: activeAppRecord.id,\n\t\t\tactiveAppRecord: activeAppRecord.value,\n\t\t\tappRecords: devtoolsAppRecords.value\n\t\t};\n\t},\n\tapi: createDevToolsApi(hooks)\n};\nconst devtoolsContext = target.__VUE_DEVTOOLS_KIT_CONTEXT__;\n//#endregion\n//#region ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js\nvar require_speakingurl$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\t(function(root) {\n\t\t\"use strict\";\n\t\t/**\n\t\t* charMap\n\t\t* @type {Object}\n\t\t*/\n\t\tvar charMap = {\n\t\t\t\"À\": \"A\",\n\t\t\t\"Á\": \"A\",\n\t\t\t\"Â\": \"A\",\n\t\t\t\"Ã\": \"A\",\n\t\t\t\"Ä\": \"Ae\",\n\t\t\t\"Å\": \"A\",\n\t\t\t\"Æ\": \"AE\",\n\t\t\t\"Ç\": \"C\",\n\t\t\t\"È\": \"E\",\n\t\t\t\"É\": \"E\",\n\t\t\t\"Ê\": \"E\",\n\t\t\t\"Ë\": \"E\",\n\t\t\t\"Ì\": \"I\",\n\t\t\t\"Í\": \"I\",\n\t\t\t\"Î\": \"I\",\n\t\t\t\"Ï\": \"I\",\n\t\t\t\"Ð\": \"D\",\n\t\t\t\"Ñ\": \"N\",\n\t\t\t\"Ò\": \"O\",\n\t\t\t\"Ó\": \"O\",\n\t\t\t\"Ô\": \"O\",\n\t\t\t\"Õ\": \"O\",\n\t\t\t\"Ö\": \"Oe\",\n\t\t\t\"Ő\": \"O\",\n\t\t\t\"Ø\": \"O\",\n\t\t\t\"Ù\": \"U\",\n\t\t\t\"Ú\": \"U\",\n\t\t\t\"Û\": \"U\",\n\t\t\t\"Ü\": \"Ue\",\n\t\t\t\"Ű\": \"U\",\n\t\t\t\"Ý\": \"Y\",\n\t\t\t\"Þ\": \"TH\",\n\t\t\t\"ß\": \"ss\",\n\t\t\t\"à\": \"a\",\n\t\t\t\"á\": \"a\",\n\t\t\t\"â\": \"a\",\n\t\t\t\"ã\": \"a\",\n\t\t\t\"ä\": \"ae\",\n\t\t\t\"å\": \"a\",\n\t\t\t\"æ\": \"ae\",\n\t\t\t\"ç\": \"c\",\n\t\t\t\"è\": \"e\",\n\t\t\t\"é\": \"e\",\n\t\t\t\"ê\": \"e\",\n\t\t\t\"ë\": \"e\",\n\t\t\t\"ì\": \"i\",\n\t\t\t\"í\": \"i\",\n\t\t\t\"î\": \"i\",\n\t\t\t\"ï\": \"i\",\n\t\t\t\"ð\": \"d\",\n\t\t\t\"ñ\": \"n\",\n\t\t\t\"ò\": \"o\",\n\t\t\t\"ó\": \"o\",\n\t\t\t\"ô\": \"o\",\n\t\t\t\"õ\": \"o\",\n\t\t\t\"ö\": \"oe\",\n\t\t\t\"ő\": \"o\",\n\t\t\t\"ø\": \"o\",\n\t\t\t\"ù\": \"u\",\n\t\t\t\"ú\": \"u\",\n\t\t\t\"û\": \"u\",\n\t\t\t\"ü\": \"ue\",\n\t\t\t\"ű\": \"u\",\n\t\t\t\"ý\": \"y\",\n\t\t\t\"þ\": \"th\",\n\t\t\t\"ÿ\": \"y\",\n\t\t\t\"ẞ\": \"SS\",\n\t\t\t\"ا\": \"a\",\n\t\t\t\"أ\": \"a\",\n\t\t\t\"إ\": \"i\",\n\t\t\t\"آ\": \"aa\",\n\t\t\t\"ؤ\": \"u\",\n\t\t\t\"ئ\": \"e\",\n\t\t\t\"ء\": \"a\",\n\t\t\t\"ب\": \"b\",\n\t\t\t\"ت\": \"t\",\n\t\t\t\"ث\": \"th\",\n\t\t\t\"ج\": \"j\",\n\t\t\t\"ح\": \"h\",\n\t\t\t\"خ\": \"kh\",\n\t\t\t\"د\": \"d\",\n\t\t\t\"ذ\": \"th\",\n\t\t\t\"ر\": \"r\",\n\t\t\t\"ز\": \"z\",\n\t\t\t\"س\": \"s\",\n\t\t\t\"ش\": \"sh\",\n\t\t\t\"ص\": \"s\",\n\t\t\t\"ض\": \"dh\",\n\t\t\t\"ط\": \"t\",\n\t\t\t\"ظ\": \"z\",\n\t\t\t\"ع\": \"a\",\n\t\t\t\"غ\": \"gh\",\n\t\t\t\"ف\": \"f\",\n\t\t\t\"ق\": \"q\",\n\t\t\t\"ك\": \"k\",\n\t\t\t\"ل\": \"l\",\n\t\t\t\"م\": \"m\",\n\t\t\t\"ن\": \"n\",\n\t\t\t\"ه\": \"h\",\n\t\t\t\"و\": \"w\",\n\t\t\t\"ي\": \"y\",\n\t\t\t\"ى\": \"a\",\n\t\t\t\"ة\": \"h\",\n\t\t\t\"ﻻ\": \"la\",\n\t\t\t\"ﻷ\": \"laa\",\n\t\t\t\"ﻹ\": \"lai\",\n\t\t\t\"ﻵ\": \"laa\",\n\t\t\t\"گ\": \"g\",\n\t\t\t\"چ\": \"ch\",\n\t\t\t\"پ\": \"p\",\n\t\t\t\"ژ\": \"zh\",\n\t\t\t\"ک\": \"k\",\n\t\t\t\"ی\": \"y\",\n\t\t\t\"َ\": \"a\",\n\t\t\t\"ً\": \"an\",\n\t\t\t\"ِ\": \"e\",\n\t\t\t\"ٍ\": \"en\",\n\t\t\t\"ُ\": \"u\",\n\t\t\t\"ٌ\": \"on\",\n\t\t\t\"ْ\": \"\",\n\t\t\t\"٠\": \"0\",\n\t\t\t\"١\": \"1\",\n\t\t\t\"٢\": \"2\",\n\t\t\t\"٣\": \"3\",\n\t\t\t\"٤\": \"4\",\n\t\t\t\"٥\": \"5\",\n\t\t\t\"٦\": \"6\",\n\t\t\t\"٧\": \"7\",\n\t\t\t\"٨\": \"8\",\n\t\t\t\"٩\": \"9\",\n\t\t\t\"۰\": \"0\",\n\t\t\t\"۱\": \"1\",\n\t\t\t\"۲\": \"2\",\n\t\t\t\"۳\": \"3\",\n\t\t\t\"۴\": \"4\",\n\t\t\t\"۵\": \"5\",\n\t\t\t\"۶\": \"6\",\n\t\t\t\"۷\": \"7\",\n\t\t\t\"۸\": \"8\",\n\t\t\t\"۹\": \"9\",\n\t\t\t\"က\": \"k\",\n\t\t\t\"ခ\": \"kh\",\n\t\t\t\"ဂ\": \"g\",\n\t\t\t\"ဃ\": \"ga\",\n\t\t\t\"င\": \"ng\",\n\t\t\t\"စ\": \"s\",\n\t\t\t\"ဆ\": \"sa\",\n\t\t\t\"ဇ\": \"z\",\n\t\t\t\"စျ\": \"za\",\n\t\t\t\"ည\": \"ny\",\n\t\t\t\"ဋ\": \"t\",\n\t\t\t\"ဌ\": \"ta\",\n\t\t\t\"ဍ\": \"d\",\n\t\t\t\"ဎ\": \"da\",\n\t\t\t\"ဏ\": \"na\",\n\t\t\t\"တ\": \"t\",\n\t\t\t\"ထ\": \"ta\",\n\t\t\t\"ဒ\": \"d\",\n\t\t\t\"ဓ\": \"da\",\n\t\t\t\"န\": \"n\",\n\t\t\t\"ပ\": \"p\",\n\t\t\t\"ဖ\": \"pa\",\n\t\t\t\"ဗ\": \"b\",\n\t\t\t\"ဘ\": \"ba\",\n\t\t\t\"မ\": \"m\",\n\t\t\t\"ယ\": \"y\",\n\t\t\t\"ရ\": \"ya\",\n\t\t\t\"လ\": \"l\",\n\t\t\t\"ဝ\": \"w\",\n\t\t\t\"သ\": \"th\",\n\t\t\t\"ဟ\": \"h\",\n\t\t\t\"ဠ\": \"la\",\n\t\t\t\"အ\": \"a\",\n\t\t\t\"ြ\": \"y\",\n\t\t\t\"ျ\": \"ya\",\n\t\t\t\"ွ\": \"w\",\n\t\t\t\"ြွ\": \"yw\",\n\t\t\t\"ျွ\": \"ywa\",\n\t\t\t\"ှ\": \"h\",\n\t\t\t\"ဧ\": \"e\",\n\t\t\t\"၏\": \"-e\",\n\t\t\t\"ဣ\": \"i\",\n\t\t\t\"ဤ\": \"-i\",\n\t\t\t\"ဉ\": \"u\",\n\t\t\t\"ဦ\": \"-u\",\n\t\t\t\"ဩ\": \"aw\",\n\t\t\t\"သြော\": \"aw\",\n\t\t\t\"ဪ\": \"aw\",\n\t\t\t\"၀\": \"0\",\n\t\t\t\"၁\": \"1\",\n\t\t\t\"၂\": \"2\",\n\t\t\t\"၃\": \"3\",\n\t\t\t\"၄\": \"4\",\n\t\t\t\"၅\": \"5\",\n\t\t\t\"၆\": \"6\",\n\t\t\t\"၇\": \"7\",\n\t\t\t\"၈\": \"8\",\n\t\t\t\"၉\": \"9\",\n\t\t\t\"္\": \"\",\n\t\t\t\"့\": \"\",\n\t\t\t\"း\": \"\",\n\t\t\t\"č\": \"c\",\n\t\t\t\"ď\": \"d\",\n\t\t\t\"ě\": \"e\",\n\t\t\t\"ň\": \"n\",\n\t\t\t\"ř\": \"r\",\n\t\t\t\"š\": \"s\",\n\t\t\t\"ť\": \"t\",\n\t\t\t\"ů\": \"u\",\n\t\t\t\"ž\": \"z\",\n\t\t\t\"Č\": \"C\",\n\t\t\t\"Ď\": \"D\",\n\t\t\t\"Ě\": \"E\",\n\t\t\t\"Ň\": \"N\",\n\t\t\t\"Ř\": \"R\",\n\t\t\t\"Š\": \"S\",\n\t\t\t\"Ť\": \"T\",\n\t\t\t\"Ů\": \"U\",\n\t\t\t\"Ž\": \"Z\",\n\t\t\t\"ހ\": \"h\",\n\t\t\t\"ށ\": \"sh\",\n\t\t\t\"ނ\": \"n\",\n\t\t\t\"ރ\": \"r\",\n\t\t\t\"ބ\": \"b\",\n\t\t\t\"ޅ\": \"lh\",\n\t\t\t\"ކ\": \"k\",\n\t\t\t\"އ\": \"a\",\n\t\t\t\"ވ\": \"v\",\n\t\t\t\"މ\": \"m\",\n\t\t\t\"ފ\": \"f\",\n\t\t\t\"ދ\": \"dh\",\n\t\t\t\"ތ\": \"th\",\n\t\t\t\"ލ\": \"l\",\n\t\t\t\"ގ\": \"g\",\n\t\t\t\"ޏ\": \"gn\",\n\t\t\t\"ސ\": \"s\",\n\t\t\t\"ޑ\": \"d\",\n\t\t\t\"ޒ\": \"z\",\n\t\t\t\"ޓ\": \"t\",\n\t\t\t\"ޔ\": \"y\",\n\t\t\t\"ޕ\": \"p\",\n\t\t\t\"ޖ\": \"j\",\n\t\t\t\"ޗ\": \"ch\",\n\t\t\t\"ޘ\": \"tt\",\n\t\t\t\"ޙ\": \"hh\",\n\t\t\t\"ޚ\": \"kh\",\n\t\t\t\"ޛ\": \"th\",\n\t\t\t\"ޜ\": \"z\",\n\t\t\t\"ޝ\": \"sh\",\n\t\t\t\"ޞ\": \"s\",\n\t\t\t\"ޟ\": \"d\",\n\t\t\t\"ޠ\": \"t\",\n\t\t\t\"ޡ\": \"z\",\n\t\t\t\"ޢ\": \"a\",\n\t\t\t\"ޣ\": \"gh\",\n\t\t\t\"ޤ\": \"q\",\n\t\t\t\"ޥ\": \"w\",\n\t\t\t\"ަ\": \"a\",\n\t\t\t\"ާ\": \"aa\",\n\t\t\t\"ި\": \"i\",\n\t\t\t\"ީ\": \"ee\",\n\t\t\t\"ު\": \"u\",\n\t\t\t\"ޫ\": \"oo\",\n\t\t\t\"ެ\": \"e\",\n\t\t\t\"ޭ\": \"ey\",\n\t\t\t\"ޮ\": \"o\",\n\t\t\t\"ޯ\": \"oa\",\n\t\t\t\"ް\": \"\",\n\t\t\t\"ა\": \"a\",\n\t\t\t\"ბ\": \"b\",\n\t\t\t\"გ\": \"g\",\n\t\t\t\"დ\": \"d\",\n\t\t\t\"ე\": \"e\",\n\t\t\t\"ვ\": \"v\",\n\t\t\t\"ზ\": \"z\",\n\t\t\t\"თ\": \"t\",\n\t\t\t\"ი\": \"i\",\n\t\t\t\"კ\": \"k\",\n\t\t\t\"ლ\": \"l\",\n\t\t\t\"მ\": \"m\",\n\t\t\t\"ნ\": \"n\",\n\t\t\t\"ო\": \"o\",\n\t\t\t\"პ\": \"p\",\n\t\t\t\"ჟ\": \"zh\",\n\t\t\t\"რ\": \"r\",\n\t\t\t\"ს\": \"s\",\n\t\t\t\"ტ\": \"t\",\n\t\t\t\"უ\": \"u\",\n\t\t\t\"ფ\": \"p\",\n\t\t\t\"ქ\": \"k\",\n\t\t\t\"ღ\": \"gh\",\n\t\t\t\"ყ\": \"q\",\n\t\t\t\"შ\": \"sh\",\n\t\t\t\"ჩ\": \"ch\",\n\t\t\t\"ც\": \"ts\",\n\t\t\t\"ძ\": \"dz\",\n\t\t\t\"წ\": \"ts\",\n\t\t\t\"ჭ\": \"ch\",\n\t\t\t\"ხ\": \"kh\",\n\t\t\t\"ჯ\": \"j\",\n\t\t\t\"ჰ\": \"h\",\n\t\t\t\"α\": \"a\",\n\t\t\t\"β\": \"v\",\n\t\t\t\"γ\": \"g\",\n\t\t\t\"δ\": \"d\",\n\t\t\t\"ε\": \"e\",\n\t\t\t\"ζ\": \"z\",\n\t\t\t\"η\": \"i\",\n\t\t\t\"θ\": \"th\",\n\t\t\t\"ι\": \"i\",\n\t\t\t\"κ\": \"k\",\n\t\t\t\"λ\": \"l\",\n\t\t\t\"μ\": \"m\",\n\t\t\t\"ν\": \"n\",\n\t\t\t\"ξ\": \"ks\",\n\t\t\t\"ο\": \"o\",\n\t\t\t\"π\": \"p\",\n\t\t\t\"ρ\": \"r\",\n\t\t\t\"σ\": \"s\",\n\t\t\t\"τ\": \"t\",\n\t\t\t\"υ\": \"y\",\n\t\t\t\"φ\": \"f\",\n\t\t\t\"χ\": \"x\",\n\t\t\t\"ψ\": \"ps\",\n\t\t\t\"ω\": \"o\",\n\t\t\t\"ά\": \"a\",\n\t\t\t\"έ\": \"e\",\n\t\t\t\"ί\": \"i\",\n\t\t\t\"ό\": \"o\",\n\t\t\t\"ύ\": \"y\",\n\t\t\t\"ή\": \"i\",\n\t\t\t\"ώ\": \"o\",\n\t\t\t\"ς\": \"s\",\n\t\t\t\"ϊ\": \"i\",\n\t\t\t\"ΰ\": \"y\",\n\t\t\t\"ϋ\": \"y\",\n\t\t\t\"ΐ\": \"i\",\n\t\t\t\"Α\": \"A\",\n\t\t\t\"Β\": \"B\",\n\t\t\t\"Γ\": \"G\",\n\t\t\t\"Δ\": \"D\",\n\t\t\t\"Ε\": \"E\",\n\t\t\t\"Ζ\": \"Z\",\n\t\t\t\"Η\": \"I\",\n\t\t\t\"Θ\": \"TH\",\n\t\t\t\"Ι\": \"I\",\n\t\t\t\"Κ\": \"K\",\n\t\t\t\"Λ\": \"L\",\n\t\t\t\"Μ\": \"M\",\n\t\t\t\"Ν\": \"N\",\n\t\t\t\"Ξ\": \"KS\",\n\t\t\t\"Ο\": \"O\",\n\t\t\t\"Π\": \"P\",\n\t\t\t\"Ρ\": \"R\",\n\t\t\t\"Σ\": \"S\",\n\t\t\t\"Τ\": \"T\",\n\t\t\t\"Υ\": \"Y\",\n\t\t\t\"Φ\": \"F\",\n\t\t\t\"Χ\": \"X\",\n\t\t\t\"Ψ\": \"PS\",\n\t\t\t\"Ω\": \"O\",\n\t\t\t\"Ά\": \"A\",\n\t\t\t\"Έ\": \"E\",\n\t\t\t\"Ί\": \"I\",\n\t\t\t\"Ό\": \"O\",\n\t\t\t\"Ύ\": \"Y\",\n\t\t\t\"Ή\": \"I\",\n\t\t\t\"Ώ\": \"O\",\n\t\t\t\"Ϊ\": \"I\",\n\t\t\t\"Ϋ\": \"Y\",\n\t\t\t\"ā\": \"a\",\n\t\t\t\"ē\": \"e\",\n\t\t\t\"ģ\": \"g\",\n\t\t\t\"ī\": \"i\",\n\t\t\t\"ķ\": \"k\",\n\t\t\t\"ļ\": \"l\",\n\t\t\t\"ņ\": \"n\",\n\t\t\t\"ū\": \"u\",\n\t\t\t\"Ā\": \"A\",\n\t\t\t\"Ē\": \"E\",\n\t\t\t\"Ģ\": \"G\",\n\t\t\t\"Ī\": \"I\",\n\t\t\t\"Ķ\": \"k\",\n\t\t\t\"Ļ\": \"L\",\n\t\t\t\"Ņ\": \"N\",\n\t\t\t\"Ū\": \"U\",\n\t\t\t\"Ќ\": \"Kj\",\n\t\t\t\"ќ\": \"kj\",\n\t\t\t\"Љ\": \"Lj\",\n\t\t\t\"љ\": \"lj\",\n\t\t\t\"Њ\": \"Nj\",\n\t\t\t\"њ\": \"nj\",\n\t\t\t\"Тс\": \"Ts\",\n\t\t\t\"тс\": \"ts\",\n\t\t\t\"ą\": \"a\",\n\t\t\t\"ć\": \"c\",\n\t\t\t\"ę\": \"e\",\n\t\t\t\"ł\": \"l\",\n\t\t\t\"ń\": \"n\",\n\t\t\t\"ś\": \"s\",\n\t\t\t\"ź\": \"z\",\n\t\t\t\"ż\": \"z\",\n\t\t\t\"Ą\": \"A\",\n\t\t\t\"Ć\": \"C\",\n\t\t\t\"Ę\": \"E\",\n\t\t\t\"Ł\": \"L\",\n\t\t\t\"Ń\": \"N\",\n\t\t\t\"Ś\": \"S\",\n\t\t\t\"Ź\": \"Z\",\n\t\t\t\"Ż\": \"Z\",\n\t\t\t\"Є\": \"Ye\",\n\t\t\t\"І\": \"I\",\n\t\t\t\"Ї\": \"Yi\",\n\t\t\t\"Ґ\": \"G\",\n\t\t\t\"є\": \"ye\",\n\t\t\t\"і\": \"i\",\n\t\t\t\"ї\": \"yi\",\n\t\t\t\"ґ\": \"g\",\n\t\t\t\"ă\": \"a\",\n\t\t\t\"Ă\": \"A\",\n\t\t\t\"ș\": \"s\",\n\t\t\t\"Ș\": \"S\",\n\t\t\t\"ț\": \"t\",\n\t\t\t\"Ț\": \"T\",\n\t\t\t\"ţ\": \"t\",\n\t\t\t\"Ţ\": \"T\",\n\t\t\t\"а\": \"a\",\n\t\t\t\"б\": \"b\",\n\t\t\t\"в\": \"v\",\n\t\t\t\"г\": \"g\",\n\t\t\t\"д\": \"d\",\n\t\t\t\"е\": \"e\",\n\t\t\t\"ё\": \"yo\",\n\t\t\t\"ж\": \"zh\",\n\t\t\t\"з\": \"z\",\n\t\t\t\"и\": \"i\",\n\t\t\t\"й\": \"i\",\n\t\t\t\"к\": \"k\",\n\t\t\t\"л\": \"l\",\n\t\t\t\"м\": \"m\",\n\t\t\t\"н\": \"n\",\n\t\t\t\"о\": \"o\",\n\t\t\t\"п\": \"p\",\n\t\t\t\"р\": \"r\",\n\t\t\t\"с\": \"s\",\n\t\t\t\"т\": \"t\",\n\t\t\t\"у\": \"u\",\n\t\t\t\"ф\": \"f\",\n\t\t\t\"х\": \"kh\",\n\t\t\t\"ц\": \"c\",\n\t\t\t\"ч\": \"ch\",\n\t\t\t\"ш\": \"sh\",\n\t\t\t\"щ\": \"sh\",\n\t\t\t\"ъ\": \"\",\n\t\t\t\"ы\": \"y\",\n\t\t\t\"ь\": \"\",\n\t\t\t\"э\": \"e\",\n\t\t\t\"ю\": \"yu\",\n\t\t\t\"я\": \"ya\",\n\t\t\t\"А\": \"A\",\n\t\t\t\"Б\": \"B\",\n\t\t\t\"В\": \"V\",\n\t\t\t\"Г\": \"G\",\n\t\t\t\"Д\": \"D\",\n\t\t\t\"Е\": \"E\",\n\t\t\t\"Ё\": \"Yo\",\n\t\t\t\"Ж\": \"Zh\",\n\t\t\t\"З\": \"Z\",\n\t\t\t\"И\": \"I\",\n\t\t\t\"Й\": \"I\",\n\t\t\t\"К\": \"K\",\n\t\t\t\"Л\": \"L\",\n\t\t\t\"М\": \"M\",\n\t\t\t\"Н\": \"N\",\n\t\t\t\"О\": \"O\",\n\t\t\t\"П\": \"P\",\n\t\t\t\"Р\": \"R\",\n\t\t\t\"С\": \"S\",\n\t\t\t\"Т\": \"T\",\n\t\t\t\"У\": \"U\",\n\t\t\t\"Ф\": \"F\",\n\t\t\t\"Х\": \"Kh\",\n\t\t\t\"Ц\": \"C\",\n\t\t\t\"Ч\": \"Ch\",\n\t\t\t\"Ш\": \"Sh\",\n\t\t\t\"Щ\": \"Sh\",\n\t\t\t\"Ъ\": \"\",\n\t\t\t\"Ы\": \"Y\",\n\t\t\t\"Ь\": \"\",\n\t\t\t\"Э\": \"E\",\n\t\t\t\"Ю\": \"Yu\",\n\t\t\t\"Я\": \"Ya\",\n\t\t\t\"ђ\": \"dj\",\n\t\t\t\"ј\": \"j\",\n\t\t\t\"ћ\": \"c\",\n\t\t\t\"џ\": \"dz\",\n\t\t\t\"Ђ\": \"Dj\",\n\t\t\t\"Ј\": \"j\",\n\t\t\t\"Ћ\": \"C\",\n\t\t\t\"Џ\": \"Dz\",\n\t\t\t\"ľ\": \"l\",\n\t\t\t\"ĺ\": \"l\",\n\t\t\t\"ŕ\": \"r\",\n\t\t\t\"Ľ\": \"L\",\n\t\t\t\"Ĺ\": \"L\",\n\t\t\t\"Ŕ\": \"R\",\n\t\t\t\"ş\": \"s\",\n\t\t\t\"Ş\": \"S\",\n\t\t\t\"ı\": \"i\",\n\t\t\t\"İ\": \"I\",\n\t\t\t\"ğ\": \"g\",\n\t\t\t\"Ğ\": \"G\",\n\t\t\t\"ả\": \"a\",\n\t\t\t\"Ả\": \"A\",\n\t\t\t\"ẳ\": \"a\",\n\t\t\t\"Ẳ\": \"A\",\n\t\t\t\"ẩ\": \"a\",\n\t\t\t\"Ẩ\": \"A\",\n\t\t\t\"đ\": \"d\",\n\t\t\t\"Đ\": \"D\",\n\t\t\t\"ẹ\": \"e\",\n\t\t\t\"Ẹ\": \"E\",\n\t\t\t\"ẽ\": \"e\",\n\t\t\t\"Ẽ\": \"E\",\n\t\t\t\"ẻ\": \"e\",\n\t\t\t\"Ẻ\": \"E\",\n\t\t\t\"ế\": \"e\",\n\t\t\t\"Ế\": \"E\",\n\t\t\t\"ề\": \"e\",\n\t\t\t\"Ề\": \"E\",\n\t\t\t\"ệ\": \"e\",\n\t\t\t\"Ệ\": \"E\",\n\t\t\t\"ễ\": \"e\",\n\t\t\t\"Ễ\": \"E\",\n\t\t\t\"ể\": \"e\",\n\t\t\t\"Ể\": \"E\",\n\t\t\t\"ỏ\": \"o\",\n\t\t\t\"ọ\": \"o\",\n\t\t\t\"Ọ\": \"o\",\n\t\t\t\"ố\": \"o\",\n\t\t\t\"Ố\": \"O\",\n\t\t\t\"ồ\": \"o\",\n\t\t\t\"Ồ\": \"O\",\n\t\t\t\"ổ\": \"o\",\n\t\t\t\"Ổ\": \"O\",\n\t\t\t\"ộ\": \"o\",\n\t\t\t\"Ộ\": \"O\",\n\t\t\t\"ỗ\": \"o\",\n\t\t\t\"Ỗ\": \"O\",\n\t\t\t\"ơ\": \"o\",\n\t\t\t\"Ơ\": \"O\",\n\t\t\t\"ớ\": \"o\",\n\t\t\t\"Ớ\": \"O\",\n\t\t\t\"ờ\": \"o\",\n\t\t\t\"Ờ\": \"O\",\n\t\t\t\"ợ\": \"o\",\n\t\t\t\"Ợ\": \"O\",\n\t\t\t\"ỡ\": \"o\",\n\t\t\t\"Ỡ\": \"O\",\n\t\t\t\"Ở\": \"o\",\n\t\t\t\"ở\": \"o\",\n\t\t\t\"ị\": \"i\",\n\t\t\t\"Ị\": \"I\",\n\t\t\t\"ĩ\": \"i\",\n\t\t\t\"Ĩ\": \"I\",\n\t\t\t\"ỉ\": \"i\",\n\t\t\t\"Ỉ\": \"i\",\n\t\t\t\"ủ\": \"u\",\n\t\t\t\"Ủ\": \"U\",\n\t\t\t\"ụ\": \"u\",\n\t\t\t\"Ụ\": \"U\",\n\t\t\t\"ũ\": \"u\",\n\t\t\t\"Ũ\": \"U\",\n\t\t\t\"ư\": \"u\",\n\t\t\t\"Ư\": \"U\",\n\t\t\t\"ứ\": \"u\",\n\t\t\t\"Ứ\": \"U\",\n\t\t\t\"ừ\": \"u\",\n\t\t\t\"Ừ\": \"U\",\n\t\t\t\"ự\": \"u\",\n\t\t\t\"Ự\": \"U\",\n\t\t\t\"ữ\": \"u\",\n\t\t\t\"Ữ\": \"U\",\n\t\t\t\"ử\": \"u\",\n\t\t\t\"Ử\": \"ư\",\n\t\t\t\"ỷ\": \"y\",\n\t\t\t\"Ỷ\": \"y\",\n\t\t\t\"ỳ\": \"y\",\n\t\t\t\"Ỳ\": \"Y\",\n\t\t\t\"ỵ\": \"y\",\n\t\t\t\"Ỵ\": \"Y\",\n\t\t\t\"ỹ\": \"y\",\n\t\t\t\"Ỹ\": \"Y\",\n\t\t\t\"ạ\": \"a\",\n\t\t\t\"Ạ\": \"A\",\n\t\t\t\"ấ\": \"a\",\n\t\t\t\"Ấ\": \"A\",\n\t\t\t\"ầ\": \"a\",\n\t\t\t\"Ầ\": \"A\",\n\t\t\t\"ậ\": \"a\",\n\t\t\t\"Ậ\": \"A\",\n\t\t\t\"ẫ\": \"a\",\n\t\t\t\"Ẫ\": \"A\",\n\t\t\t\"ắ\": \"a\",\n\t\t\t\"Ắ\": \"A\",\n\t\t\t\"ằ\": \"a\",\n\t\t\t\"Ằ\": \"A\",\n\t\t\t\"ặ\": \"a\",\n\t\t\t\"Ặ\": \"A\",\n\t\t\t\"ẵ\": \"a\",\n\t\t\t\"Ẵ\": \"A\",\n\t\t\t\"⓪\": \"0\",\n\t\t\t\"①\": \"1\",\n\t\t\t\"②\": \"2\",\n\t\t\t\"③\": \"3\",\n\t\t\t\"④\": \"4\",\n\t\t\t\"⑤\": \"5\",\n\t\t\t\"⑥\": \"6\",\n\t\t\t\"⑦\": \"7\",\n\t\t\t\"⑧\": \"8\",\n\t\t\t\"⑨\": \"9\",\n\t\t\t\"⑩\": \"10\",\n\t\t\t\"⑪\": \"11\",\n\t\t\t\"⑫\": \"12\",\n\t\t\t\"⑬\": \"13\",\n\t\t\t\"⑭\": \"14\",\n\t\t\t\"⑮\": \"15\",\n\t\t\t\"⑯\": \"16\",\n\t\t\t\"⑰\": \"17\",\n\t\t\t\"⑱\": \"18\",\n\t\t\t\"⑲\": \"18\",\n\t\t\t\"⑳\": \"18\",\n\t\t\t\"⓵\": \"1\",\n\t\t\t\"⓶\": \"2\",\n\t\t\t\"⓷\": \"3\",\n\t\t\t\"⓸\": \"4\",\n\t\t\t\"⓹\": \"5\",\n\t\t\t\"⓺\": \"6\",\n\t\t\t\"⓻\": \"7\",\n\t\t\t\"⓼\": \"8\",\n\t\t\t\"⓽\": \"9\",\n\t\t\t\"⓾\": \"10\",\n\t\t\t\"⓿\": \"0\",\n\t\t\t\"⓫\": \"11\",\n\t\t\t\"⓬\": \"12\",\n\t\t\t\"⓭\": \"13\",\n\t\t\t\"⓮\": \"14\",\n\t\t\t\"⓯\": \"15\",\n\t\t\t\"⓰\": \"16\",\n\t\t\t\"⓱\": \"17\",\n\t\t\t\"⓲\": \"18\",\n\t\t\t\"⓳\": \"19\",\n\t\t\t\"⓴\": \"20\",\n\t\t\t\"Ⓐ\": \"A\",\n\t\t\t\"Ⓑ\": \"B\",\n\t\t\t\"Ⓒ\": \"C\",\n\t\t\t\"Ⓓ\": \"D\",\n\t\t\t\"Ⓔ\": \"E\",\n\t\t\t\"Ⓕ\": \"F\",\n\t\t\t\"Ⓖ\": \"G\",\n\t\t\t\"Ⓗ\": \"H\",\n\t\t\t\"Ⓘ\": \"I\",\n\t\t\t\"Ⓙ\": \"J\",\n\t\t\t\"Ⓚ\": \"K\",\n\t\t\t\"Ⓛ\": \"L\",\n\t\t\t\"Ⓜ\": \"M\",\n\t\t\t\"Ⓝ\": \"N\",\n\t\t\t\"Ⓞ\": \"O\",\n\t\t\t\"Ⓟ\": \"P\",\n\t\t\t\"Ⓠ\": \"Q\",\n\t\t\t\"Ⓡ\": \"R\",\n\t\t\t\"Ⓢ\": \"S\",\n\t\t\t\"Ⓣ\": \"T\",\n\t\t\t\"Ⓤ\": \"U\",\n\t\t\t\"Ⓥ\": \"V\",\n\t\t\t\"Ⓦ\": \"W\",\n\t\t\t\"Ⓧ\": \"X\",\n\t\t\t\"Ⓨ\": \"Y\",\n\t\t\t\"Ⓩ\": \"Z\",\n\t\t\t\"ⓐ\": \"a\",\n\t\t\t\"ⓑ\": \"b\",\n\t\t\t\"ⓒ\": \"c\",\n\t\t\t\"ⓓ\": \"d\",\n\t\t\t\"ⓔ\": \"e\",\n\t\t\t\"ⓕ\": \"f\",\n\t\t\t\"ⓖ\": \"g\",\n\t\t\t\"ⓗ\": \"h\",\n\t\t\t\"ⓘ\": \"i\",\n\t\t\t\"ⓙ\": \"j\",\n\t\t\t\"ⓚ\": \"k\",\n\t\t\t\"ⓛ\": \"l\",\n\t\t\t\"ⓜ\": \"m\",\n\t\t\t\"ⓝ\": \"n\",\n\t\t\t\"ⓞ\": \"o\",\n\t\t\t\"ⓟ\": \"p\",\n\t\t\t\"ⓠ\": \"q\",\n\t\t\t\"ⓡ\": \"r\",\n\t\t\t\"ⓢ\": \"s\",\n\t\t\t\"ⓣ\": \"t\",\n\t\t\t\"ⓤ\": \"u\",\n\t\t\t\"ⓦ\": \"v\",\n\t\t\t\"ⓥ\": \"w\",\n\t\t\t\"ⓧ\": \"x\",\n\t\t\t\"ⓨ\": \"y\",\n\t\t\t\"ⓩ\": \"z\",\n\t\t\t\"“\": \"\\\"\",\n\t\t\t\"”\": \"\\\"\",\n\t\t\t\"‘\": \"'\",\n\t\t\t\"’\": \"'\",\n\t\t\t\"∂\": \"d\",\n\t\t\t\"ƒ\": \"f\",\n\t\t\t\"™\": \"(TM)\",\n\t\t\t\"©\": \"(C)\",\n\t\t\t\"œ\": \"oe\",\n\t\t\t\"Œ\": \"OE\",\n\t\t\t\"®\": \"(R)\",\n\t\t\t\"†\": \"+\",\n\t\t\t\"℠\": \"(SM)\",\n\t\t\t\"…\": \"...\",\n\t\t\t\"˚\": \"o\",\n\t\t\t\"º\": \"o\",\n\t\t\t\"ª\": \"a\",\n\t\t\t\"•\": \"*\",\n\t\t\t\"၊\": \",\",\n\t\t\t\"။\": \".\",\n\t\t\t\"$\": \"USD\",\n\t\t\t\"€\": \"EUR\",\n\t\t\t\"₢\": \"BRN\",\n\t\t\t\"₣\": \"FRF\",\n\t\t\t\"£\": \"GBP\",\n\t\t\t\"₤\": \"ITL\",\n\t\t\t\"₦\": \"NGN\",\n\t\t\t\"₧\": \"ESP\",\n\t\t\t\"₩\": \"KRW\",\n\t\t\t\"₪\": \"ILS\",\n\t\t\t\"₫\": \"VND\",\n\t\t\t\"₭\": \"LAK\",\n\t\t\t\"₮\": \"MNT\",\n\t\t\t\"₯\": \"GRD\",\n\t\t\t\"₱\": \"ARS\",\n\t\t\t\"₲\": \"PYG\",\n\t\t\t\"₳\": \"ARA\",\n\t\t\t\"₴\": \"UAH\",\n\t\t\t\"₵\": \"GHS\",\n\t\t\t\"¢\": \"cent\",\n\t\t\t\"¥\": \"CNY\",\n\t\t\t\"元\": \"CNY\",\n\t\t\t\"円\": \"YEN\",\n\t\t\t\"﷼\": \"IRR\",\n\t\t\t\"₠\": \"EWE\",\n\t\t\t\"฿\": \"THB\",\n\t\t\t\"₨\": \"INR\",\n\t\t\t\"₹\": \"INR\",\n\t\t\t\"₰\": \"PF\",\n\t\t\t\"₺\": \"TRY\",\n\t\t\t\"؋\": \"AFN\",\n\t\t\t\"₼\": \"AZN\",\n\t\t\t\"лв\": \"BGN\",\n\t\t\t\"៛\": \"KHR\",\n\t\t\t\"₡\": \"CRC\",\n\t\t\t\"₸\": \"KZT\",\n\t\t\t\"ден\": \"MKD\",\n\t\t\t\"zł\": \"PLN\",\n\t\t\t\"₽\": \"RUB\",\n\t\t\t\"₾\": \"GEL\"\n\t\t};\n\t\t/**\n\t\t* special look ahead character array\n\t\t* These characters form with consonants to become 'single'/consonant combo\n\t\t* @type [Array]\n\t\t*/\n\t\tvar lookAheadCharArray = [\"်\", \"ް\"];\n\t\t/**\n\t\t* diatricMap for languages where transliteration changes entirely as more diatrics are added\n\t\t* @type {Object}\n\t\t*/\n\t\tvar diatricMap = {\n\t\t\t\"ာ\": \"a\",\n\t\t\t\"ါ\": \"a\",\n\t\t\t\"ေ\": \"e\",\n\t\t\t\"ဲ\": \"e\",\n\t\t\t\"ိ\": \"i\",\n\t\t\t\"ီ\": \"i\",\n\t\t\t\"ို\": \"o\",\n\t\t\t\"ု\": \"u\",\n\t\t\t\"ူ\": \"u\",\n\t\t\t\"ေါင်\": \"aung\",\n\t\t\t\"ော\": \"aw\",\n\t\t\t\"ော်\": \"aw\",\n\t\t\t\"ေါ\": \"aw\",\n\t\t\t\"ေါ်\": \"aw\",\n\t\t\t\"်\": \"်\",\n\t\t\t\"က်\": \"et\",\n\t\t\t\"ိုက်\": \"aik\",\n\t\t\t\"ောက်\": \"auk\",\n\t\t\t\"င်\": \"in\",\n\t\t\t\"ိုင်\": \"aing\",\n\t\t\t\"ောင်\": \"aung\",\n\t\t\t\"စ်\": \"it\",\n\t\t\t\"ည်\": \"i\",\n\t\t\t\"တ်\": \"at\",\n\t\t\t\"ိတ်\": \"eik\",\n\t\t\t\"ုတ်\": \"ok\",\n\t\t\t\"ွတ်\": \"ut\",\n\t\t\t\"ေတ်\": \"it\",\n\t\t\t\"ဒ်\": \"d\",\n\t\t\t\"ိုဒ်\": \"ok\",\n\t\t\t\"ုဒ်\": \"ait\",\n\t\t\t\"န်\": \"an\",\n\t\t\t\"ာန်\": \"an\",\n\t\t\t\"ိန်\": \"ein\",\n\t\t\t\"ုန်\": \"on\",\n\t\t\t\"ွန်\": \"un\",\n\t\t\t\"ပ်\": \"at\",\n\t\t\t\"ိပ်\": \"eik\",\n\t\t\t\"ုပ်\": \"ok\",\n\t\t\t\"ွပ်\": \"ut\",\n\t\t\t\"န်ုပ်\": \"nub\",\n\t\t\t\"မ်\": \"an\",\n\t\t\t\"ိမ်\": \"ein\",\n\t\t\t\"ုမ်\": \"on\",\n\t\t\t\"ွမ်\": \"un\",\n\t\t\t\"ယ်\": \"e\",\n\t\t\t\"ိုလ်\": \"ol\",\n\t\t\t\"ဉ်\": \"in\",\n\t\t\t\"ံ\": \"an\",\n\t\t\t\"ိံ\": \"ein\",\n\t\t\t\"ုံ\": \"on\",\n\t\t\t\"ައް\": \"ah\",\n\t\t\t\"ަށް\": \"ah\"\n\t\t};\n\t\t/**\n\t\t* langCharMap language specific characters translations\n\t\t* @type {Object}\n\t\t*/\n\t\tvar langCharMap = {\n\t\t\t\"en\": {},\n\t\t\t\"az\": {\n\t\t\t\t\"ç\": \"c\",\n\t\t\t\t\"ə\": \"e\",\n\t\t\t\t\"ğ\": \"g\",\n\t\t\t\t\"ı\": \"i\",\n\t\t\t\t\"ö\": \"o\",\n\t\t\t\t\"ş\": \"s\",\n\t\t\t\t\"ü\": \"u\",\n\t\t\t\t\"Ç\": \"C\",\n\t\t\t\t\"Ə\": \"E\",\n\t\t\t\t\"Ğ\": \"G\",\n\t\t\t\t\"İ\": \"I\",\n\t\t\t\t\"Ö\": \"O\",\n\t\t\t\t\"Ş\": \"S\",\n\t\t\t\t\"Ü\": \"U\"\n\t\t\t},\n\t\t\t\"cs\": {\n\t\t\t\t\"č\": \"c\",\n\t\t\t\t\"ď\": \"d\",\n\t\t\t\t\"ě\": \"e\",\n\t\t\t\t\"ň\": \"n\",\n\t\t\t\t\"ř\": \"r\",\n\t\t\t\t\"š\": \"s\",\n\t\t\t\t\"ť\": \"t\",\n\t\t\t\t\"ů\": \"u\",\n\t\t\t\t\"ž\": \"z\",\n\t\t\t\t\"Č\": \"C\",\n\t\t\t\t\"Ď\": \"D\",\n\t\t\t\t\"Ě\": \"E\",\n\t\t\t\t\"Ň\": \"N\",\n\t\t\t\t\"Ř\": \"R\",\n\t\t\t\t\"Š\": \"S\",\n\t\t\t\t\"Ť\": \"T\",\n\t\t\t\t\"Ů\": \"U\",\n\t\t\t\t\"Ž\": \"Z\"\n\t\t\t},\n\t\t\t\"fi\": {\n\t\t\t\t\"ä\": \"a\",\n\t\t\t\t\"Ä\": \"A\",\n\t\t\t\t\"ö\": \"o\",\n\t\t\t\t\"Ö\": \"O\"\n\t\t\t},\n\t\t\t\"hu\": {\n\t\t\t\t\"ä\": \"a\",\n\t\t\t\t\"Ä\": \"A\",\n\t\t\t\t\"ö\": \"o\",\n\t\t\t\t\"Ö\": \"O\",\n\t\t\t\t\"ü\": \"u\",\n\t\t\t\t\"Ü\": \"U\",\n\t\t\t\t\"ű\": \"u\",\n\t\t\t\t\"Ű\": \"U\"\n\t\t\t},\n\t\t\t\"lt\": {\n\t\t\t\t\"ą\": \"a\",\n\t\t\t\t\"č\": \"c\",\n\t\t\t\t\"ę\": \"e\",\n\t\t\t\t\"ė\": \"e\",\n\t\t\t\t\"į\": \"i\",\n\t\t\t\t\"š\": \"s\",\n\t\t\t\t\"ų\": \"u\",\n\t\t\t\t\"ū\": \"u\",\n\t\t\t\t\"ž\": \"z\",\n\t\t\t\t\"Ą\": \"A\",\n\t\t\t\t\"Č\": \"C\",\n\t\t\t\t\"Ę\": \"E\",\n\t\t\t\t\"Ė\": \"E\",\n\t\t\t\t\"Į\": \"I\",\n\t\t\t\t\"Š\": \"S\",\n\t\t\t\t\"Ų\": \"U\",\n\t\t\t\t\"Ū\": \"U\"\n\t\t\t},\n\t\t\t\"lv\": {\n\t\t\t\t\"ā\": \"a\",\n\t\t\t\t\"č\": \"c\",\n\t\t\t\t\"ē\": \"e\",\n\t\t\t\t\"ģ\": \"g\",\n\t\t\t\t\"ī\": \"i\",\n\t\t\t\t\"ķ\": \"k\",\n\t\t\t\t\"ļ\": \"l\",\n\t\t\t\t\"ņ\": \"n\",\n\t\t\t\t\"š\": \"s\",\n\t\t\t\t\"ū\": \"u\",\n\t\t\t\t\"ž\": \"z\",\n\t\t\t\t\"Ā\": \"A\",\n\t\t\t\t\"Č\": \"C\",\n\t\t\t\t\"Ē\": \"E\",\n\t\t\t\t\"Ģ\": \"G\",\n\t\t\t\t\"Ī\": \"i\",\n\t\t\t\t\"Ķ\": \"k\",\n\t\t\t\t\"Ļ\": \"L\",\n\t\t\t\t\"Ņ\": \"N\",\n\t\t\t\t\"Š\": \"S\",\n\t\t\t\t\"Ū\": \"u\",\n\t\t\t\t\"Ž\": \"Z\"\n\t\t\t},\n\t\t\t\"pl\": {\n\t\t\t\t\"ą\": \"a\",\n\t\t\t\t\"ć\": \"c\",\n\t\t\t\t\"ę\": \"e\",\n\t\t\t\t\"ł\": \"l\",\n\t\t\t\t\"ń\": \"n\",\n\t\t\t\t\"ó\": \"o\",\n\t\t\t\t\"ś\": \"s\",\n\t\t\t\t\"ź\": \"z\",\n\t\t\t\t\"ż\": \"z\",\n\t\t\t\t\"Ą\": \"A\",\n\t\t\t\t\"Ć\": \"C\",\n\t\t\t\t\"Ę\": \"e\",\n\t\t\t\t\"Ł\": \"L\",\n\t\t\t\t\"Ń\": \"N\",\n\t\t\t\t\"Ó\": \"O\",\n\t\t\t\t\"Ś\": \"S\",\n\t\t\t\t\"Ź\": \"Z\",\n\t\t\t\t\"Ż\": \"Z\"\n\t\t\t},\n\t\t\t\"sv\": {\n\t\t\t\t\"ä\": \"a\",\n\t\t\t\t\"Ä\": \"A\",\n\t\t\t\t\"ö\": \"o\",\n\t\t\t\t\"Ö\": \"O\"\n\t\t\t},\n\t\t\t\"sk\": {\n\t\t\t\t\"ä\": \"a\",\n\t\t\t\t\"Ä\": \"A\"\n\t\t\t},\n\t\t\t\"sr\": {\n\t\t\t\t\"љ\": \"lj\",\n\t\t\t\t\"њ\": \"nj\",\n\t\t\t\t\"Љ\": \"Lj\",\n\t\t\t\t\"Њ\": \"Nj\",\n\t\t\t\t\"đ\": \"dj\",\n\t\t\t\t\"Đ\": \"Dj\"\n\t\t\t},\n\t\t\t\"tr\": {\n\t\t\t\t\"Ü\": \"U\",\n\t\t\t\t\"Ö\": \"O\",\n\t\t\t\t\"ü\": \"u\",\n\t\t\t\t\"ö\": \"o\"\n\t\t\t}\n\t\t};\n\t\t/**\n\t\t* symbolMap language specific symbol translations\n\t\t* translations must be transliterated already\n\t\t* @type {Object}\n\t\t*/\n\t\tvar symbolMap = {\n\t\t\t\"ar\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"la-nihaya\",\n\t\t\t\t\"♥\": \"hob\",\n\t\t\t\t\"&\": \"wa\",\n\t\t\t\t\"|\": \"aw\",\n\t\t\t\t\"<\": \"aqal-men\",\n\t\t\t\t\">\": \"akbar-men\",\n\t\t\t\t\"∑\": \"majmou\",\n\t\t\t\t\"¤\": \"omla\"\n\t\t\t},\n\t\t\t\"az\": {},\n\t\t\t\"ca\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinit\",\n\t\t\t\t\"♥\": \"amor\",\n\t\t\t\t\"&\": \"i\",\n\t\t\t\t\"|\": \"o\",\n\t\t\t\t\"<\": \"menys que\",\n\t\t\t\t\">\": \"mes que\",\n\t\t\t\t\"∑\": \"suma dels\",\n\t\t\t\t\"¤\": \"moneda\"\n\t\t\t},\n\t\t\t\"cs\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"nekonecno\",\n\t\t\t\t\"♥\": \"laska\",\n\t\t\t\t\"&\": \"a\",\n\t\t\t\t\"|\": \"nebo\",\n\t\t\t\t\"<\": \"mensi nez\",\n\t\t\t\t\">\": \"vetsi nez\",\n\t\t\t\t\"∑\": \"soucet\",\n\t\t\t\t\"¤\": \"mena\"\n\t\t\t},\n\t\t\t\"de\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"unendlich\",\n\t\t\t\t\"♥\": \"Liebe\",\n\t\t\t\t\"&\": \"und\",\n\t\t\t\t\"|\": \"oder\",\n\t\t\t\t\"<\": \"kleiner als\",\n\t\t\t\t\">\": \"groesser als\",\n\t\t\t\t\"∑\": \"Summe von\",\n\t\t\t\t\"¤\": \"Waehrung\"\n\t\t\t},\n\t\t\t\"dv\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"kolunulaa\",\n\t\t\t\t\"♥\": \"loabi\",\n\t\t\t\t\"&\": \"aai\",\n\t\t\t\t\"|\": \"noonee\",\n\t\t\t\t\"<\": \"ah vure kuda\",\n\t\t\t\t\">\": \"ah vure bodu\",\n\t\t\t\t\"∑\": \"jumula\",\n\t\t\t\t\"¤\": \"faisaa\"\n\t\t\t},\n\t\t\t\"en\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinity\",\n\t\t\t\t\"♥\": \"love\",\n\t\t\t\t\"&\": \"and\",\n\t\t\t\t\"|\": \"or\",\n\t\t\t\t\"<\": \"less than\",\n\t\t\t\t\">\": \"greater than\",\n\t\t\t\t\"∑\": \"sum\",\n\t\t\t\t\"¤\": \"currency\"\n\t\t\t},\n\t\t\t\"es\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinito\",\n\t\t\t\t\"♥\": \"amor\",\n\t\t\t\t\"&\": \"y\",\n\t\t\t\t\"|\": \"u\",\n\t\t\t\t\"<\": \"menos que\",\n\t\t\t\t\">\": \"mas que\",\n\t\t\t\t\"∑\": \"suma de los\",\n\t\t\t\t\"¤\": \"moneda\"\n\t\t\t},\n\t\t\t\"fa\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"bi-nahayat\",\n\t\t\t\t\"♥\": \"eshgh\",\n\t\t\t\t\"&\": \"va\",\n\t\t\t\t\"|\": \"ya\",\n\t\t\t\t\"<\": \"kamtar-az\",\n\t\t\t\t\">\": \"bishtar-az\",\n\t\t\t\t\"∑\": \"majmooe\",\n\t\t\t\t\"¤\": \"vahed\"\n\t\t\t},\n\t\t\t\"fi\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"aarettomyys\",\n\t\t\t\t\"♥\": \"rakkaus\",\n\t\t\t\t\"&\": \"ja\",\n\t\t\t\t\"|\": \"tai\",\n\t\t\t\t\"<\": \"pienempi kuin\",\n\t\t\t\t\">\": \"suurempi kuin\",\n\t\t\t\t\"∑\": \"summa\",\n\t\t\t\t\"¤\": \"valuutta\"\n\t\t\t},\n\t\t\t\"fr\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infiniment\",\n\t\t\t\t\"♥\": \"Amour\",\n\t\t\t\t\"&\": \"et\",\n\t\t\t\t\"|\": \"ou\",\n\t\t\t\t\"<\": \"moins que\",\n\t\t\t\t\">\": \"superieure a\",\n\t\t\t\t\"∑\": \"somme des\",\n\t\t\t\t\"¤\": \"monnaie\"\n\t\t\t},\n\t\t\t\"ge\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"usasruloba\",\n\t\t\t\t\"♥\": \"siqvaruli\",\n\t\t\t\t\"&\": \"da\",\n\t\t\t\t\"|\": \"an\",\n\t\t\t\t\"<\": \"naklebi\",\n\t\t\t\t\">\": \"meti\",\n\t\t\t\t\"∑\": \"jami\",\n\t\t\t\t\"¤\": \"valuta\"\n\t\t\t},\n\t\t\t\"gr\": {},\n\t\t\t\"hu\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"vegtelen\",\n\t\t\t\t\"♥\": \"szerelem\",\n\t\t\t\t\"&\": \"es\",\n\t\t\t\t\"|\": \"vagy\",\n\t\t\t\t\"<\": \"kisebb mint\",\n\t\t\t\t\">\": \"nagyobb mint\",\n\t\t\t\t\"∑\": \"szumma\",\n\t\t\t\t\"¤\": \"penznem\"\n\t\t\t},\n\t\t\t\"it\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinito\",\n\t\t\t\t\"♥\": \"amore\",\n\t\t\t\t\"&\": \"e\",\n\t\t\t\t\"|\": \"o\",\n\t\t\t\t\"<\": \"minore di\",\n\t\t\t\t\">\": \"maggiore di\",\n\t\t\t\t\"∑\": \"somma\",\n\t\t\t\t\"¤\": \"moneta\"\n\t\t\t},\n\t\t\t\"lt\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"begalybe\",\n\t\t\t\t\"♥\": \"meile\",\n\t\t\t\t\"&\": \"ir\",\n\t\t\t\t\"|\": \"ar\",\n\t\t\t\t\"<\": \"maziau nei\",\n\t\t\t\t\">\": \"daugiau nei\",\n\t\t\t\t\"∑\": \"suma\",\n\t\t\t\t\"¤\": \"valiuta\"\n\t\t\t},\n\t\t\t\"lv\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"bezgaliba\",\n\t\t\t\t\"♥\": \"milestiba\",\n\t\t\t\t\"&\": \"un\",\n\t\t\t\t\"|\": \"vai\",\n\t\t\t\t\"<\": \"mazak neka\",\n\t\t\t\t\">\": \"lielaks neka\",\n\t\t\t\t\"∑\": \"summa\",\n\t\t\t\t\"¤\": \"valuta\"\n\t\t\t},\n\t\t\t\"my\": {\n\t\t\t\t\"∆\": \"kwahkhyaet\",\n\t\t\t\t\"∞\": \"asaonasme\",\n\t\t\t\t\"♥\": \"akhyait\",\n\t\t\t\t\"&\": \"nhin\",\n\t\t\t\t\"|\": \"tho\",\n\t\t\t\t\"<\": \"ngethaw\",\n\t\t\t\t\">\": \"kyithaw\",\n\t\t\t\t\"∑\": \"paungld\",\n\t\t\t\t\"¤\": \"ngwekye\"\n\t\t\t},\n\t\t\t\"mk\": {},\n\t\t\t\"nl\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"oneindig\",\n\t\t\t\t\"♥\": \"liefde\",\n\t\t\t\t\"&\": \"en\",\n\t\t\t\t\"|\": \"of\",\n\t\t\t\t\"<\": \"kleiner dan\",\n\t\t\t\t\">\": \"groter dan\",\n\t\t\t\t\"∑\": \"som\",\n\t\t\t\t\"¤\": \"valuta\"\n\t\t\t},\n\t\t\t\"pl\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"nieskonczonosc\",\n\t\t\t\t\"♥\": \"milosc\",\n\t\t\t\t\"&\": \"i\",\n\t\t\t\t\"|\": \"lub\",\n\t\t\t\t\"<\": \"mniejsze niz\",\n\t\t\t\t\">\": \"wieksze niz\",\n\t\t\t\t\"∑\": \"suma\",\n\t\t\t\t\"¤\": \"waluta\"\n\t\t\t},\n\t\t\t\"pt\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinito\",\n\t\t\t\t\"♥\": \"amor\",\n\t\t\t\t\"&\": \"e\",\n\t\t\t\t\"|\": \"ou\",\n\t\t\t\t\"<\": \"menor que\",\n\t\t\t\t\">\": \"maior que\",\n\t\t\t\t\"∑\": \"soma\",\n\t\t\t\t\"¤\": \"moeda\"\n\t\t\t},\n\t\t\t\"ro\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinit\",\n\t\t\t\t\"♥\": \"dragoste\",\n\t\t\t\t\"&\": \"si\",\n\t\t\t\t\"|\": \"sau\",\n\t\t\t\t\"<\": \"mai mic ca\",\n\t\t\t\t\">\": \"mai mare ca\",\n\t\t\t\t\"∑\": \"suma\",\n\t\t\t\t\"¤\": \"valuta\"\n\t\t\t},\n\t\t\t\"ru\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"beskonechno\",\n\t\t\t\t\"♥\": \"lubov\",\n\t\t\t\t\"&\": \"i\",\n\t\t\t\t\"|\": \"ili\",\n\t\t\t\t\"<\": \"menshe\",\n\t\t\t\t\">\": \"bolshe\",\n\t\t\t\t\"∑\": \"summa\",\n\t\t\t\t\"¤\": \"valjuta\"\n\t\t\t},\n\t\t\t\"sk\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"nekonecno\",\n\t\t\t\t\"♥\": \"laska\",\n\t\t\t\t\"&\": \"a\",\n\t\t\t\t\"|\": \"alebo\",\n\t\t\t\t\"<\": \"menej ako\",\n\t\t\t\t\">\": \"viac ako\",\n\t\t\t\t\"∑\": \"sucet\",\n\t\t\t\t\"¤\": \"mena\"\n\t\t\t},\n\t\t\t\"sr\": {},\n\t\t\t\"tr\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"sonsuzluk\",\n\t\t\t\t\"♥\": \"ask\",\n\t\t\t\t\"&\": \"ve\",\n\t\t\t\t\"|\": \"veya\",\n\t\t\t\t\"<\": \"kucuktur\",\n\t\t\t\t\">\": \"buyuktur\",\n\t\t\t\t\"∑\": \"toplam\",\n\t\t\t\t\"¤\": \"para birimi\"\n\t\t\t},\n\t\t\t\"uk\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"bezkinechnist\",\n\t\t\t\t\"♥\": \"lubov\",\n\t\t\t\t\"&\": \"i\",\n\t\t\t\t\"|\": \"abo\",\n\t\t\t\t\"<\": \"menshe\",\n\t\t\t\t\">\": \"bilshe\",\n\t\t\t\t\"∑\": \"suma\",\n\t\t\t\t\"¤\": \"valjuta\"\n\t\t\t},\n\t\t\t\"vn\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"vo cuc\",\n\t\t\t\t\"♥\": \"yeu\",\n\t\t\t\t\"&\": \"va\",\n\t\t\t\t\"|\": \"hoac\",\n\t\t\t\t\"<\": \"nho hon\",\n\t\t\t\t\">\": \"lon hon\",\n\t\t\t\t\"∑\": \"tong\",\n\t\t\t\t\"¤\": \"tien te\"\n\t\t\t}\n\t\t};\n\t\tvar uricChars = [\n\t\t\t\";\",\n\t\t\t\"?\",\n\t\t\t\":\",\n\t\t\t\"@\",\n\t\t\t\"&\",\n\t\t\t\"=\",\n\t\t\t\"+\",\n\t\t\t\"$\",\n\t\t\t\",\",\n\t\t\t\"/\"\n\t\t].join(\"\");\n\t\tvar uricNoSlashChars = [\n\t\t\t\";\",\n\t\t\t\"?\",\n\t\t\t\":\",\n\t\t\t\"@\",\n\t\t\t\"&\",\n\t\t\t\"=\",\n\t\t\t\"+\",\n\t\t\t\"$\",\n\t\t\t\",\"\n\t\t].join(\"\");\n\t\tvar markChars = [\n\t\t\t\".\",\n\t\t\t\"!\",\n\t\t\t\"~\",\n\t\t\t\"*\",\n\t\t\t\"'\",\n\t\t\t\"(\",\n\t\t\t\")\"\n\t\t].join(\"\");\n\t\t/**\n\t\t* getSlug\n\t\t* @param {string} input input string\n\t\t* @param {object|string} opts config object or separator string/char\n\t\t* @api public\n\t\t* @return {string} sluggified string\n\t\t*/\n\t\tvar getSlug = function getSlug(input, opts) {\n\t\t\tvar separator = \"-\";\n\t\t\tvar result = \"\";\n\t\t\tvar diatricString = \"\";\n\t\t\tvar convertSymbols = true;\n\t\t\tvar customReplacements = {};\n\t\t\tvar maintainCase;\n\t\t\tvar titleCase;\n\t\t\tvar truncate;\n\t\t\tvar uricFlag;\n\t\t\tvar uricNoSlashFlag;\n\t\t\tvar markFlag;\n\t\t\tvar symbol;\n\t\t\tvar langChar;\n\t\t\tvar lucky;\n\t\t\tvar i;\n\t\t\tvar ch;\n\t\t\tvar l;\n\t\t\tvar lastCharWasSymbol;\n\t\t\tvar lastCharWasDiatric;\n\t\t\tvar allowedChars = \"\";\n\t\t\tif (typeof input !== \"string\") return \"\";\n\t\t\tif (typeof opts === \"string\") separator = opts;\n\t\t\tsymbol = symbolMap.en;\n\t\t\tlangChar = langCharMap.en;\n\t\t\tif (typeof opts === \"object\") {\n\t\t\t\tmaintainCase = opts.maintainCase || false;\n\t\t\t\tcustomReplacements = opts.custom && typeof opts.custom === \"object\" ? opts.custom : customReplacements;\n\t\t\t\ttruncate = +opts.truncate > 1 && opts.truncate || false;\n\t\t\t\turicFlag = opts.uric || false;\n\t\t\t\turicNoSlashFlag = opts.uricNoSlash || false;\n\t\t\t\tmarkFlag = opts.mark || false;\n\t\t\t\tconvertSymbols = opts.symbols === false || opts.lang === false ? false : true;\n\t\t\t\tseparator = opts.separator || separator;\n\t\t\t\tif (uricFlag) allowedChars += uricChars;\n\t\t\t\tif (uricNoSlashFlag) allowedChars += uricNoSlashChars;\n\t\t\t\tif (markFlag) allowedChars += markChars;\n\t\t\t\tsymbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {};\n\t\t\t\tlangChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en;\n\t\t\t\tif (opts.titleCase && typeof opts.titleCase.length === \"number\" && Array.prototype.toString.call(opts.titleCase)) {\n\t\t\t\t\topts.titleCase.forEach(function(v) {\n\t\t\t\t\t\tcustomReplacements[v + \"\"] = v + \"\";\n\t\t\t\t\t});\n\t\t\t\t\ttitleCase = true;\n\t\t\t\t} else titleCase = !!opts.titleCase;\n\t\t\t\tif (opts.custom && typeof opts.custom.length === \"number\" && Array.prototype.toString.call(opts.custom)) opts.custom.forEach(function(v) {\n\t\t\t\t\tcustomReplacements[v + \"\"] = v + \"\";\n\t\t\t\t});\n\t\t\t\tObject.keys(customReplacements).forEach(function(v) {\n\t\t\t\t\tvar r;\n\t\t\t\t\tif (v.length > 1) r = new RegExp(\"\\\\b\" + escapeChars(v) + \"\\\\b\", \"gi\");\n\t\t\t\t\telse r = new RegExp(escapeChars(v), \"gi\");\n\t\t\t\t\tinput = input.replace(r, customReplacements[v]);\n\t\t\t\t});\n\t\t\t\tfor (ch in customReplacements) allowedChars += ch;\n\t\t\t}\n\t\t\tallowedChars += separator;\n\t\t\tallowedChars = escapeChars(allowedChars);\n\t\t\tinput = input.replace(/(^\\s+|\\s+$)/g, \"\");\n\t\t\tlastCharWasSymbol = false;\n\t\t\tlastCharWasDiatric = false;\n\t\t\tfor (i = 0, l = input.length; i < l; i++) {\n\t\t\t\tch = input[i];\n\t\t\t\tif (isReplacedCustomChar(ch, customReplacements)) lastCharWasSymbol = false;\n\t\t\t\telse if (langChar[ch]) {\n\t\t\t\t\tch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? \" \" + langChar[ch] : langChar[ch];\n\t\t\t\t\tlastCharWasSymbol = false;\n\t\t\t\t} else if (ch in charMap) {\n\t\t\t\t\tif (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) {\n\t\t\t\t\t\tdiatricString += ch;\n\t\t\t\t\t\tch = \"\";\n\t\t\t\t\t} else if (lastCharWasDiatric === true) {\n\t\t\t\t\t\tch = diatricMap[diatricString] + charMap[ch];\n\t\t\t\t\t\tdiatricString = \"\";\n\t\t\t\t\t} else ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? \" \" + charMap[ch] : charMap[ch];\n\t\t\t\t\tlastCharWasSymbol = false;\n\t\t\t\t\tlastCharWasDiatric = false;\n\t\t\t\t} else if (ch in diatricMap) {\n\t\t\t\t\tdiatricString += ch;\n\t\t\t\t\tch = \"\";\n\t\t\t\t\tif (i === l - 1) ch = diatricMap[diatricString];\n\t\t\t\t\tlastCharWasDiatric = true;\n\t\t\t\t} else if (symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1)) {\n\t\t\t\t\tch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch];\n\t\t\t\t\tch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : \"\";\n\t\t\t\t\tlastCharWasSymbol = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (lastCharWasDiatric === true) {\n\t\t\t\t\t\tch = diatricMap[diatricString] + ch;\n\t\t\t\t\t\tdiatricString = \"\";\n\t\t\t\t\t\tlastCharWasDiatric = false;\n\t\t\t\t\t} else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) ch = \" \" + ch;\n\t\t\t\t\tlastCharWasSymbol = false;\n\t\t\t\t}\n\t\t\t\tresult += ch.replace(new RegExp(\"[^\\\\w\\\\s\" + allowedChars + \"_-]\", \"g\"), separator);\n\t\t\t}\n\t\t\tif (titleCase) result = result.replace(/(\\w)(\\S*)/g, function(_, i, r) {\n\t\t\t\tvar j = i.toUpperCase() + (r !== null ? r : \"\");\n\t\t\t\treturn Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase();\n\t\t\t});\n\t\t\tresult = result.replace(/\\s+/g, separator).replace(new RegExp(\"\\\\\" + separator + \"+\", \"g\"), separator).replace(new RegExp(\"(^\\\\\" + separator + \"+|\\\\\" + separator + \"+$)\", \"g\"), \"\");\n\t\t\tif (truncate && result.length > truncate) {\n\t\t\t\tlucky = result.charAt(truncate) === separator;\n\t\t\t\tresult = result.slice(0, truncate);\n\t\t\t\tif (!lucky) result = result.slice(0, result.lastIndexOf(separator));\n\t\t\t}\n\t\t\tif (!maintainCase && !titleCase) result = result.toLowerCase();\n\t\t\treturn result;\n\t\t};\n\t\t/**\n\t\t* createSlug curried(opts)(input)\n\t\t* @param {object|string} opts config object or input string\n\t\t* @return {Function} function getSlugWithConfig()\n\t\t**/\n\t\tvar createSlug = function createSlug(opts) {\n\t\t\t/**\n\t\t\t* getSlugWithConfig\n\t\t\t* @param {string} input string\n\t\t\t* @return {string} slug string\n\t\t\t*/\n\t\t\treturn function getSlugWithConfig(input) {\n\t\t\t\treturn getSlug(input, opts);\n\t\t\t};\n\t\t};\n\t\t/**\n\t\t* escape Chars\n\t\t* @param {string} input string\n\t\t*/\n\t\tvar escapeChars = function escapeChars(input) {\n\t\t\treturn input.replace(/[-\\\\^$*+?.()|[\\]{}\\/]/g, \"\\\\$&\");\n\t\t};\n\t\t/**\n\t\t* check if the char is an already converted char from custom list\n\t\t* @param {char} ch character to check\n\t\t* @param {object} customReplacements custom translation map\n\t\t*/\n\t\tvar isReplacedCustomChar = function(ch, customReplacements) {\n\t\t\tfor (var c in customReplacements) if (customReplacements[c] === ch) return true;\n\t\t};\n\t\tif (typeof module !== \"undefined\" && module.exports) {\n\t\t\tmodule.exports = getSlug;\n\t\t\tmodule.exports.createSlug = createSlug;\n\t\t} else if (typeof define !== \"undefined\" && define.amd) define([], function() {\n\t\t\treturn getSlug;\n\t\t});\n\t\telse try {\n\t\t\tif (root.getSlug || root.createSlug) throw \"speakingurl: globals exists /(getSlug|createSlug)/\";\n\t\t\telse {\n\t\t\t\troot.getSlug = getSlug;\n\t\t\t\troot.createSlug = createSlug;\n\t\t\t}\n\t\t} catch (e) {}\n\t})(exports);\n}));\n//#endregion\n//#region src/core/app/index.ts\nvar import_speakingurl = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = require_speakingurl$1();\n})))(), 1);\nconst appRecordInfo = target.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ ??= {\n\tid: 0,\n\tappIds: /* @__PURE__ */ new Set()\n};\nfunction getAppRecordName(app, fallbackName) {\n\treturn app?._component?.name || `App ${fallbackName}`;\n}\nfunction getAppRootInstance(app) {\n\tif (app._instance) return app._instance;\n\telse if (app._container?._vnode?.component) return app._container?._vnode?.component;\n}\nfunction removeAppRecordId(app) {\n\tconst id = app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__;\n\tif (id != null) {\n\t\tappRecordInfo.appIds.delete(id);\n\t\tappRecordInfo.id--;\n\t}\n}\nfunction getAppRecordId(app, defaultId) {\n\tif (app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ != null) return app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__;\n\tlet id = defaultId ?? (appRecordInfo.id++).toString();\n\tif (defaultId && appRecordInfo.appIds.has(id)) {\n\t\tlet count = 1;\n\t\twhile (appRecordInfo.appIds.has(`${defaultId}_${count}`)) count++;\n\t\tid = `${defaultId}_${count}`;\n\t}\n\tappRecordInfo.appIds.add(id);\n\tapp.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ = id;\n\treturn id;\n}\nfunction createAppRecord(app, types) {\n\tconst rootInstance = getAppRootInstance(app);\n\tif (rootInstance) {\n\t\tappRecordInfo.id++;\n\t\tconst name = getAppRecordName(app, appRecordInfo.id.toString());\n\t\tconst id = getAppRecordId(app, (0, import_speakingurl.default)(name));\n\t\tconst [el] = getRootElementsFromComponentInstance(rootInstance);\n\t\tconst record = {\n\t\t\tid,\n\t\t\tname,\n\t\t\ttypes,\n\t\t\tinstanceMap: /* @__PURE__ */ new Map(),\n\t\t\tperfGroupIds: /* @__PURE__ */ new Map(),\n\t\t\trootInstance,\n\t\t\tiframe: isBrowser && document !== el?.ownerDocument ? el?.ownerDocument?.location?.pathname : void 0\n\t\t};\n\t\tapp.__VUE_DEVTOOLS_NEXT_APP_RECORD__ = record;\n\t\tconst rootId = `${record.id}:root`;\n\t\trecord.instanceMap.set(rootId, record.rootInstance);\n\t\trecord.rootInstance.__VUE_DEVTOOLS_NEXT_UID__ = rootId;\n\t\treturn record;\n\t} else return {};\n}\n//#endregion\n//#region src/core/iframe/index.ts\nfunction detectIframeApp(target, inIframe = false) {\n\tif (inIframe) {\n\t\tfunction sendEventToParent(cb) {\n\t\t\ttry {\n\t\t\t\tconst hook = window.parent.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\t\t\t\tif (hook) cb(hook);\n\t\t\t} catch (e) {}\n\t\t}\n\t\tconst hook = {\n\t\t\tid: \"vue-devtools-next\",\n\t\t\tdevtoolsVersion: \"7.0\",\n\t\t\ton: (event, cb) => {\n\t\t\t\tsendEventToParent((hook) => {\n\t\t\t\t\thook.on(event, cb);\n\t\t\t\t});\n\t\t\t},\n\t\t\tonce: (event, cb) => {\n\t\t\t\tsendEventToParent((hook) => {\n\t\t\t\t\thook.once(event, cb);\n\t\t\t\t});\n\t\t\t},\n\t\t\toff: (event, cb) => {\n\t\t\t\tsendEventToParent((hook) => {\n\t\t\t\t\thook.off(event, cb);\n\t\t\t\t});\n\t\t\t},\n\t\t\temit: (event, ...payload) => {\n\t\t\t\tsendEventToParent((hook) => {\n\t\t\t\t\thook.emit(event, ...payload);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tObject.defineProperty(target, \"__VUE_DEVTOOLS_GLOBAL_HOOK__\", {\n\t\t\tget() {\n\t\t\t\treturn hook;\n\t\t\t},\n\t\t\tconfigurable: true\n\t\t});\n\t}\n\tfunction injectVueHookToIframe(iframe) {\n\t\tif (iframe.__vdevtools__injected) return;\n\t\ttry {\n\t\t\tiframe.__vdevtools__injected = true;\n\t\t\tconst inject = () => {\n\t\t\t\ttry {\n\t\t\t\t\tiframe.contentWindow.__VUE_DEVTOOLS_IFRAME__ = iframe;\n\t\t\t\t\tconst script = iframe.contentDocument.createElement(\"script\");\n\t\t\t\t\tscript.textContent = `;(${detectIframeApp.toString()})(window, true)`;\n\t\t\t\t\tiframe.contentDocument.documentElement.appendChild(script);\n\t\t\t\t\tscript.parentNode.removeChild(script);\n\t\t\t\t} catch (e) {}\n\t\t\t};\n\t\t\tinject();\n\t\t\tiframe.addEventListener(\"load\", () => inject());\n\t\t} catch (e) {}\n\t}\n\tfunction injectVueHookToIframes() {\n\t\tif (typeof window === \"undefined\") return;\n\t\tconst iframes = Array.from(document.querySelectorAll(\"iframe:not([data-vue-devtools-ignore])\"));\n\t\tfor (const iframe of iframes) injectVueHookToIframe(iframe);\n\t}\n\tinjectVueHookToIframes();\n\tlet iframeAppChecks = 0;\n\tconst iframeAppCheckTimer = setInterval(() => {\n\t\tinjectVueHookToIframes();\n\t\tiframeAppChecks++;\n\t\tif (iframeAppChecks >= 5) clearInterval(iframeAppCheckTimer);\n\t}, 1e3);\n}\n//#endregion\n//#region src/core/index.ts\nfunction initDevTools() {\n\tdetectIframeApp(target);\n\tupdateDevToolsState({ vitePluginDetected: getDevToolsEnv().vitePluginDetected });\n\tconst isDevToolsNext = target.__VUE_DEVTOOLS_GLOBAL_HOOK__?.id === \"vue-devtools-next\";\n\tif (target.__VUE_DEVTOOLS_GLOBAL_HOOK__ && isDevToolsNext) return;\n\tconst _devtoolsHook = createDevToolsHook();\n\tif (target.__VUE_DEVTOOLS_HOOK_REPLAY__) try {\n\t\ttarget.__VUE_DEVTOOLS_HOOK_REPLAY__.forEach((cb) => cb(_devtoolsHook));\n\t\ttarget.__VUE_DEVTOOLS_HOOK_REPLAY__ = [];\n\t} catch (e) {\n\t\tconsole.error(\"[vue-devtools] Error during hook replay\", e);\n\t}\n\t_devtoolsHook.once(\"init\", (Vue) => {\n\t\ttarget.__VUE_DEVTOOLS_VUE2_APP_DETECTED__ = true;\n\t\tconsole.log(\"%c[_____Vue DevTools v7 log_____]\", \"color: red; font-bold: 600; font-size: 16px;\");\n\t\tconsole.log(\"%cVue DevTools v7 detected in your Vue2 project. v7 only supports Vue3 and will not work.\", \"font-bold: 500; font-size: 14px;\");\n\t\tconst legacyChromeUrl = \"https://chromewebstore.google.com/detail/vuejs-devtools/iaajmlceplecbljialhhkmedjlpdblhp\";\n\t\tconst legacyFirefoxUrl = \"https://addons.mozilla.org/firefox/addon/vue-js-devtools-v6-legacy\";\n\t\tconsole.log(`%cThe legacy version of chrome extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyChromeUrl}`, \"font-size: 14px;\", \"text-decoration: underline; cursor: pointer;font-size: 14px;\");\n\t\tconsole.log(`%cThe legacy version of firefox extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyFirefoxUrl}`, \"font-size: 14px;\", \"text-decoration: underline; cursor: pointer;font-size: 14px;\");\n\t\tconsole.log(\"%cPlease install and enable only the legacy version for your Vue2 app.\", \"font-bold: 500; font-size: 14px;\");\n\t\tconsole.log(\"%c[_____Vue DevTools v7 log_____]\", \"color: red; font-bold: 600; font-size: 16px;\");\n\t});\n\thook.on.setupDevtoolsPlugin((pluginDescriptor, setupFn) => {\n\t\taddDevToolsPluginToBuffer(pluginDescriptor, setupFn);\n\t\tconst { app } = activeAppRecord ?? {};\n\t\tif (pluginDescriptor.settings) initPluginSettings(pluginDescriptor.id, pluginDescriptor.settings);\n\t\tif (!app) return;\n\t\tcallDevToolsPluginSetupFn([pluginDescriptor, setupFn], app);\n\t});\n\tonLegacyDevToolsPluginApiAvailable(() => {\n\t\tdevtoolsPluginBuffer.filter(([item]) => item.id !== \"components\").forEach(([pluginDescriptor, setupFn]) => {\n\t\t\t_devtoolsHook.emit(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn, { target: \"legacy\" });\n\t\t});\n\t});\n\thook.on.vueAppInit(async (app, version, types) => {\n\t\tconst normalizedAppRecord = {\n\t\t\t...createAppRecord(app, types),\n\t\t\tapp,\n\t\t\tversion\n\t\t};\n\t\taddDevToolsAppRecord(normalizedAppRecord);\n\t\tif (devtoolsAppRecords.value.length === 1) {\n\t\t\tsetActiveAppRecord(normalizedAppRecord);\n\t\t\tsetActiveAppRecordId(normalizedAppRecord.id);\n\t\t\tnormalizeRouterInfo(normalizedAppRecord, activeAppRecord);\n\t\t\tregisterDevToolsPlugin(normalizedAppRecord.app);\n\t\t}\n\t\tsetupDevToolsPlugin(...createComponentsDevToolsPlugin(normalizedAppRecord.app));\n\t\tupdateDevToolsState({ connected: true });\n\t\t_devtoolsHook.apps.push(app);\n\t});\n\thook.on.vueAppUnmount(async (app) => {\n\t\tconst activeRecords = devtoolsAppRecords.value.filter((appRecord) => appRecord.app !== app);\n\t\tif (activeRecords.length === 0) updateDevToolsState({ connected: false });\n\t\tremoveDevToolsAppRecord(app);\n\t\tremoveAppRecordId(app);\n\t\tif (activeAppRecord.value.app === app) {\n\t\t\tsetActiveAppRecord(activeRecords[0]);\n\t\t\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT);\n\t\t}\n\t\ttarget.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.splice(target.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.indexOf(app), 1);\n\t\tremoveRegisteredPluginApp(app);\n\t});\n\tsubscribeDevToolsHook(_devtoolsHook);\n\tif (!target.__VUE_DEVTOOLS_GLOBAL_HOOK__) Object.defineProperty(target, \"__VUE_DEVTOOLS_GLOBAL_HOOK__\", {\n\t\tget() {\n\t\t\treturn _devtoolsHook;\n\t\t},\n\t\tconfigurable: true\n\t});\n\telse if (!isNuxtApp) Object.assign(__VUE_DEVTOOLS_GLOBAL_HOOK__, _devtoolsHook);\n}\nfunction onDevToolsClientConnected(fn) {\n\treturn new Promise((resolve) => {\n\t\tif (devtoolsState.connected && devtoolsState.clientConnected) {\n\t\t\tfn();\n\t\t\tresolve();\n\t\t\treturn;\n\t\t}\n\t\tdevtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => {\n\t\t\tif (state.connected && state.clientConnected) {\n\t\t\t\tfn();\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n}\n//#endregion\n//#region src/core/high-perf-mode/index.ts\nfunction toggleHighPerfMode(state) {\n\tdevtoolsState.highPerfModeEnabled = state ?? !devtoolsState.highPerfModeEnabled;\n\tif (!state && activeAppRecord.value) registerDevToolsPlugin(activeAppRecord.value.app);\n}\n//#endregion\n//#region src/core/component/state/reviver.ts\nfunction reviveSet(val) {\n\tconst result = /* @__PURE__ */ new Set();\n\tconst list = val._custom.value;\n\tfor (let i = 0; i < list.length; i++) {\n\t\tconst value = list[i];\n\t\tresult.add(revive(value));\n\t}\n\treturn result;\n}\nfunction reviveMap(val) {\n\tconst result = /* @__PURE__ */ new Map();\n\tconst list = val._custom.value;\n\tfor (let i = 0; i < list.length; i++) {\n\t\tconst { key, value } = list[i];\n\t\tresult.set(key, revive(value));\n\t}\n\treturn result;\n}\nfunction revive(val) {\n\tif (val === \"__vue_devtool_undefined__\") return;\n\telse if (val === \"__vue_devtool_infinity__\") return Number.POSITIVE_INFINITY;\n\telse if (val === \"__vue_devtool_negative_infinity__\") return Number.NEGATIVE_INFINITY;\n\telse if (val === \"__vue_devtool_nan__\") return NaN;\n\telse if (val && val._custom) {\n\t\tconst { _custom: custom } = val;\n\t\tif (custom.type === \"component\") return activeAppRecord.value.instanceMap.get(custom.id);\n\t\telse if (custom.type === \"map\") return reviveMap(val);\n\t\telse if (custom.type === \"set\") return reviveSet(val);\n\t\telse if (custom.type === \"bigint\") return BigInt(custom.value);\n\t\telse return revive(custom.value);\n\t} else if (symbolRE.test(val)) {\n\t\tconst [, string] = symbolRE.exec(val);\n\t\treturn Symbol.for(string);\n\t} else if (specialTypeRE.test(val)) {\n\t\tconst [, type, string, , details] = specialTypeRE.exec(val);\n\t\tconst result = new target[type](string);\n\t\tif (type === \"Error\" && details) result.stack = details;\n\t\treturn result;\n\t} else return val;\n}\nfunction reviver(key, value) {\n\treturn revive(value);\n}\n//#endregion\n//#region src/core/component/state/format.ts\nfunction getInspectorStateValueType(value, raw = true) {\n\tconst type = typeof value;\n\tif (value == null || value === \"__vue_devtool_undefined__\" || value === \"undefined\") return \"null\";\n\telse if (type === \"boolean\" || type === \"number\" || value === \"__vue_devtool_infinity__\" || value === \"__vue_devtool_negative_infinity__\" || value === \"__vue_devtool_nan__\") return \"literal\";\n\telse if (value?._custom) if (raw || value._custom.display != null || value._custom.displayText != null) return \"custom\";\n\telse return getInspectorStateValueType(value._custom.value);\n\telse if (typeof value === \"string\") {\n\t\tconst typeMatch = specialTypeRE.exec(value);\n\t\tif (typeMatch) {\n\t\t\tconst [, type] = typeMatch;\n\t\t\treturn `native ${type}`;\n\t\t} else return \"string\";\n\t} else if (Array.isArray(value) || value?._isArray) return \"array\";\n\telse if (isPlainObject(value)) return \"plain-object\";\n\telse return \"unknown\";\n}\nfunction formatInspectorStateValue(value, quotes = false, options) {\n\tconst { customClass } = options ?? {};\n\tlet result;\n\tconst type = getInspectorStateValueType(value, false);\n\tif (type !== \"custom\" && value?._custom) value = value._custom.value;\n\tif (result = internalStateTokenToString(value)) return result;\n\telse if (type === \"custom\") return value._custom.value?._custom && formatInspectorStateValue(value._custom.value, quotes, options) || value._custom.displayText || value._custom.display;\n\telse if (type === \"array\") return `Array[${value.length}]`;\n\telse if (type === \"plain-object\") return `Object${Object.keys(value).length ? \"\" : \" (empty)\"}`;\n\telse if (type?.includes(\"native\")) return escape(specialTypeRE.exec(value)?.[2]);\n\telse if (typeof value === \"string\") {\n\t\tconst typeMatch = value.match(rawTypeRE);\n\t\tif (typeMatch) value = escapeString(typeMatch[1]);\n\t\telse if (quotes) value = `\"${customClass?.string ? `${escapeString(value)}` : escapeString(value)}\"`;\n\t\telse value = customClass?.string ? `${escapeString(value)}` : escapeString(value);\n\t}\n\treturn value;\n}\nfunction escapeString(value) {\n\treturn escape(value).replace(/ /g, \" \").replace(/\\n/g, \"\\\\n\");\n}\nfunction getRaw(value) {\n\tlet customType;\n\tconst isCustom = getInspectorStateValueType(value) === \"custom\";\n\tlet inherit = {};\n\tif (isCustom) {\n\t\tconst data = value;\n\t\tconst customValue = data._custom?.value;\n\t\tconst currentCustomType = data._custom?.type;\n\t\tconst nestedCustom = typeof customValue === \"object\" && customValue !== null && \"_custom\" in customValue ? getRaw(customValue) : {\n\t\t\tinherit: void 0,\n\t\t\tvalue: void 0,\n\t\t\tcustomType: void 0\n\t\t};\n\t\tinherit = nestedCustom.inherit || data._custom?.fields || {};\n\t\tvalue = nestedCustom.value || customValue;\n\t\tcustomType = nestedCustom.customType || currentCustomType;\n\t}\n\tif (value && value._isArray) value = value.items;\n\treturn {\n\t\tvalue,\n\t\tinherit,\n\t\tcustomType\n\t};\n}\nfunction toEdit(value, customType) {\n\tif (customType === \"bigint\") return value;\n\tif (customType === \"date\") return value;\n\treturn replaceTokenToString(JSON.stringify(value));\n}\nfunction toSubmit(value, customType) {\n\tif (customType === \"bigint\") return BigInt(value);\n\tif (customType === \"date\") return new Date(value);\n\treturn JSON.parse(replaceStringToToken(value), reviver);\n}\n//#endregion\n//#region src/core/devtools-client/detected.ts\nfunction updateDevToolsClientDetected(params) {\n\tdevtoolsState.devtoolsClientDetected = {\n\t\t...devtoolsState.devtoolsClientDetected,\n\t\t...params\n\t};\n\ttoggleHighPerfMode(!Object.values(devtoolsState.devtoolsClientDetected).some(Boolean));\n}\ntarget.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ ??= updateDevToolsClientDetected;\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js\nvar DoubleIndexedKV = class {\n\tconstructor() {\n\t\tthis.keyToValue = /* @__PURE__ */ new Map();\n\t\tthis.valueToKey = /* @__PURE__ */ new Map();\n\t}\n\tset(key, value) {\n\t\tthis.keyToValue.set(key, value);\n\t\tthis.valueToKey.set(value, key);\n\t}\n\tgetByKey(key) {\n\t\treturn this.keyToValue.get(key);\n\t}\n\tgetByValue(value) {\n\t\treturn this.valueToKey.get(value);\n\t}\n\tclear() {\n\t\tthis.keyToValue.clear();\n\t\tthis.valueToKey.clear();\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js\nvar Registry = class {\n\tconstructor(generateIdentifier) {\n\t\tthis.generateIdentifier = generateIdentifier;\n\t\tthis.kv = new DoubleIndexedKV();\n\t}\n\tregister(value, identifier) {\n\t\tif (this.kv.getByValue(value)) return;\n\t\tif (!identifier) identifier = this.generateIdentifier(value);\n\t\tthis.kv.set(identifier, value);\n\t}\n\tclear() {\n\t\tthis.kv.clear();\n\t}\n\tgetIdentifier(value) {\n\t\treturn this.kv.getByValue(value);\n\t}\n\tgetValue(identifier) {\n\t\treturn this.kv.getByKey(identifier);\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js\nvar ClassRegistry = class extends Registry {\n\tconstructor() {\n\t\tsuper((c) => c.name);\n\t\tthis.classToAllowedProps = /* @__PURE__ */ new Map();\n\t}\n\tregister(value, options) {\n\t\tif (typeof options === \"object\") {\n\t\t\tif (options.allowProps) this.classToAllowedProps.set(value, options.allowProps);\n\t\t\tsuper.register(value, options.identifier);\n\t\t} else super.register(value, options);\n\t}\n\tgetAllowedProps(value) {\n\t\treturn this.classToAllowedProps.get(value);\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js\nfunction valuesOfObj(record) {\n\tif (\"values\" in Object) return Object.values(record);\n\tconst values = [];\n\tfor (const key in record) if (record.hasOwnProperty(key)) values.push(record[key]);\n\treturn values;\n}\nfunction find(record, predicate) {\n\tconst values = valuesOfObj(record);\n\tif (\"find\" in values) return values.find(predicate);\n\tconst valuesNotNever = values;\n\tfor (let i = 0; i < valuesNotNever.length; i++) {\n\t\tconst value = valuesNotNever[i];\n\t\tif (predicate(value)) return value;\n\t}\n}\nfunction forEach(record, run) {\n\tObject.entries(record).forEach(([key, value]) => run(value, key));\n}\nfunction includes(arr, value) {\n\treturn arr.indexOf(value) !== -1;\n}\nfunction findArr(record, predicate) {\n\tfor (let i = 0; i < record.length; i++) {\n\t\tconst value = record[i];\n\t\tif (predicate(value)) return value;\n\t}\n}\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js\nvar CustomTransformerRegistry = class {\n\tconstructor() {\n\t\tthis.transfomers = {};\n\t}\n\tregister(transformer) {\n\t\tthis.transfomers[transformer.name] = transformer;\n\t}\n\tfindApplicable(v) {\n\t\treturn find(this.transfomers, (transformer) => transformer.isApplicable(v));\n\t}\n\tfindByName(name) {\n\t\treturn this.transfomers[name];\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js\nconst getType$1 = (payload) => Object.prototype.toString.call(payload).slice(8, -1);\nconst isUndefined$1 = (payload) => typeof payload === \"undefined\";\nconst isNull$1 = (payload) => payload === null;\nconst isPlainObject$2 = (payload) => {\n\tif (typeof payload !== \"object\" || payload === null) return false;\n\tif (payload === Object.prototype) return false;\n\tif (Object.getPrototypeOf(payload) === null) return true;\n\treturn Object.getPrototypeOf(payload) === Object.prototype;\n};\nconst isEmptyObject = (payload) => isPlainObject$2(payload) && Object.keys(payload).length === 0;\nconst isArray$2 = (payload) => Array.isArray(payload);\nconst isString = (payload) => typeof payload === \"string\";\nconst isNumber = (payload) => typeof payload === \"number\" && !isNaN(payload);\nconst isBoolean = (payload) => typeof payload === \"boolean\";\nconst isRegExp = (payload) => payload instanceof RegExp;\nconst isMap = (payload) => payload instanceof Map;\nconst isSet = (payload) => payload instanceof Set;\nconst isSymbol = (payload) => getType$1(payload) === \"Symbol\";\nconst isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());\nconst isError = (payload) => payload instanceof Error;\nconst isNaNValue = (payload) => typeof payload === \"number\" && isNaN(payload);\nconst isPrimitive = (payload) => isBoolean(payload) || isNull$1(payload) || isUndefined$1(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);\nconst isBigint = (payload) => typeof payload === \"bigint\";\nconst isInfinite = (payload) => payload === Infinity || payload === -Infinity;\nconst isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);\nconst isURL = (payload) => payload instanceof URL;\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js\nconst escapeKey = (key) => key.replace(/\\./g, \"\\\\.\");\nconst stringifyPath = (path) => path.map(String).map(escapeKey).join(\".\");\nconst parsePath = (string) => {\n\tconst result = [];\n\tlet segment = \"\";\n\tfor (let i = 0; i < string.length; i++) {\n\t\tlet char = string.charAt(i);\n\t\tif (char === \"\\\\\" && string.charAt(i + 1) === \".\") {\n\t\t\tsegment += \".\";\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \".\") {\n\t\t\tresult.push(segment);\n\t\t\tsegment = \"\";\n\t\t\tcontinue;\n\t\t}\n\t\tsegment += char;\n\t}\n\tconst lastSegment = segment;\n\tresult.push(lastSegment);\n\treturn result;\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js\nfunction simpleTransformation(isApplicable, annotation, transform, untransform) {\n\treturn {\n\t\tisApplicable,\n\t\tannotation,\n\t\ttransform,\n\t\tuntransform\n\t};\n}\nconst simpleRules = [\n\tsimpleTransformation(isUndefined$1, \"undefined\", () => null, () => void 0),\n\tsimpleTransformation(isBigint, \"bigint\", (v) => v.toString(), (v) => {\n\t\tif (typeof BigInt !== \"undefined\") return BigInt(v);\n\t\tconsole.error(\"Please add a BigInt polyfill.\");\n\t\treturn v;\n\t}),\n\tsimpleTransformation(isDate, \"Date\", (v) => v.toISOString(), (v) => new Date(v)),\n\tsimpleTransformation(isError, \"Error\", (v, superJson) => {\n\t\tconst baseError = {\n\t\t\tname: v.name,\n\t\t\tmessage: v.message\n\t\t};\n\t\tsuperJson.allowedErrorProps.forEach((prop) => {\n\t\t\tbaseError[prop] = v[prop];\n\t\t});\n\t\treturn baseError;\n\t}, (v, superJson) => {\n\t\tconst e = new Error(v.message);\n\t\te.name = v.name;\n\t\te.stack = v.stack;\n\t\tsuperJson.allowedErrorProps.forEach((prop) => {\n\t\t\te[prop] = v[prop];\n\t\t});\n\t\treturn e;\n\t}),\n\tsimpleTransformation(isRegExp, \"regexp\", (v) => \"\" + v, (regex) => {\n\t\tconst body = regex.slice(1, regex.lastIndexOf(\"/\"));\n\t\tconst flags = regex.slice(regex.lastIndexOf(\"/\") + 1);\n\t\treturn new RegExp(body, flags);\n\t}),\n\tsimpleTransformation(isSet, \"set\", (v) => [...v.values()], (v) => new Set(v)),\n\tsimpleTransformation(isMap, \"map\", (v) => [...v.entries()], (v) => new Map(v)),\n\tsimpleTransformation((v) => isNaNValue(v) || isInfinite(v), \"number\", (v) => {\n\t\tif (isNaNValue(v)) return \"NaN\";\n\t\tif (v > 0) return \"Infinity\";\n\t\telse return \"-Infinity\";\n\t}, Number),\n\tsimpleTransformation((v) => v === 0 && 1 / v === -Infinity, \"number\", () => {\n\t\treturn \"-0\";\n\t}, Number),\n\tsimpleTransformation(isURL, \"URL\", (v) => v.toString(), (v) => new URL(v))\n];\nfunction compositeTransformation(isApplicable, annotation, transform, untransform) {\n\treturn {\n\t\tisApplicable,\n\t\tannotation,\n\t\ttransform,\n\t\tuntransform\n\t};\n}\nconst symbolRule = compositeTransformation((s, superJson) => {\n\tif (isSymbol(s)) return !!superJson.symbolRegistry.getIdentifier(s);\n\treturn false;\n}, (s, superJson) => {\n\treturn [\"symbol\", superJson.symbolRegistry.getIdentifier(s)];\n}, (v) => v.description, (_, a, superJson) => {\n\tconst value = superJson.symbolRegistry.getValue(a[1]);\n\tif (!value) throw new Error(\"Trying to deserialize unknown symbol\");\n\treturn value;\n});\nconst constructorToName = [\n\tInt8Array,\n\tUint8Array,\n\tInt16Array,\n\tUint16Array,\n\tInt32Array,\n\tUint32Array,\n\tFloat32Array,\n\tFloat64Array,\n\tUint8ClampedArray\n].reduce((obj, ctor) => {\n\tobj[ctor.name] = ctor;\n\treturn obj;\n}, {});\nconst typedArrayRule = compositeTransformation(isTypedArray, (v) => [\"typed-array\", v.constructor.name], (v) => [...v], (v, a) => {\n\tconst ctor = constructorToName[a[1]];\n\tif (!ctor) throw new Error(\"Trying to deserialize unknown typed array\");\n\treturn new ctor(v);\n});\nfunction isInstanceOfRegisteredClass(potentialClass, superJson) {\n\tif (potentialClass?.constructor) return !!superJson.classRegistry.getIdentifier(potentialClass.constructor);\n\treturn false;\n}\nconst classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {\n\treturn [\"class\", superJson.classRegistry.getIdentifier(clazz.constructor)];\n}, (clazz, superJson) => {\n\tconst allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);\n\tif (!allowedProps) return { ...clazz };\n\tconst result = {};\n\tallowedProps.forEach((prop) => {\n\t\tresult[prop] = clazz[prop];\n\t});\n\treturn result;\n}, (v, a, superJson) => {\n\tconst clazz = superJson.classRegistry.getValue(a[1]);\n\tif (!clazz) throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);\n\treturn Object.assign(Object.create(clazz.prototype), v);\n});\nconst customRule = compositeTransformation((value, superJson) => {\n\treturn !!superJson.customTransformerRegistry.findApplicable(value);\n}, (value, superJson) => {\n\treturn [\"custom\", superJson.customTransformerRegistry.findApplicable(value).name];\n}, (value, superJson) => {\n\treturn superJson.customTransformerRegistry.findApplicable(value).serialize(value);\n}, (v, a, superJson) => {\n\tconst transformer = superJson.customTransformerRegistry.findByName(a[1]);\n\tif (!transformer) throw new Error(\"Trying to deserialize unknown custom value\");\n\treturn transformer.deserialize(v);\n});\nconst compositeRules = [\n\tclassRule,\n\tsymbolRule,\n\tcustomRule,\n\ttypedArrayRule\n];\nconst transformValue = (value, superJson) => {\n\tconst applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson));\n\tif (applicableCompositeRule) return {\n\t\tvalue: applicableCompositeRule.transform(value, superJson),\n\t\ttype: applicableCompositeRule.annotation(value, superJson)\n\t};\n\tconst applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson));\n\tif (applicableSimpleRule) return {\n\t\tvalue: applicableSimpleRule.transform(value, superJson),\n\t\ttype: applicableSimpleRule.annotation\n\t};\n};\nconst simpleRulesByAnnotation = {};\nsimpleRules.forEach((rule) => {\n\tsimpleRulesByAnnotation[rule.annotation] = rule;\n});\nconst untransformValue = (json, type, superJson) => {\n\tif (isArray$2(type)) switch (type[0]) {\n\t\tcase \"symbol\": return symbolRule.untransform(json, type, superJson);\n\t\tcase \"class\": return classRule.untransform(json, type, superJson);\n\t\tcase \"custom\": return customRule.untransform(json, type, superJson);\n\t\tcase \"typed-array\": return typedArrayRule.untransform(json, type, superJson);\n\t\tdefault: throw new Error(\"Unknown transformation: \" + type);\n\t}\n\telse {\n\t\tconst transformation = simpleRulesByAnnotation[type];\n\t\tif (!transformation) throw new Error(\"Unknown transformation: \" + type);\n\t\treturn transformation.untransform(json, superJson);\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js\nconst getNthKey = (value, n) => {\n\tif (n > value.size) throw new Error(\"index out of bounds\");\n\tconst keys = value.keys();\n\twhile (n > 0) {\n\t\tkeys.next();\n\t\tn--;\n\t}\n\treturn keys.next().value;\n};\nfunction validatePath(path) {\n\tif (includes(path, \"__proto__\")) throw new Error(\"__proto__ is not allowed as a property\");\n\tif (includes(path, \"prototype\")) throw new Error(\"prototype is not allowed as a property\");\n\tif (includes(path, \"constructor\")) throw new Error(\"constructor is not allowed as a property\");\n}\nconst getDeep = (object, path) => {\n\tvalidatePath(path);\n\tfor (let i = 0; i < path.length; i++) {\n\t\tconst key = path[i];\n\t\tif (isSet(object)) object = getNthKey(object, +key);\n\t\telse if (isMap(object)) {\n\t\t\tconst row = +key;\n\t\t\tconst type = +path[++i] === 0 ? \"key\" : \"value\";\n\t\t\tconst keyOfRow = getNthKey(object, row);\n\t\t\tswitch (type) {\n\t\t\t\tcase \"key\":\n\t\t\t\t\tobject = keyOfRow;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"value\":\n\t\t\t\t\tobject = object.get(keyOfRow);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else object = object[key];\n\t}\n\treturn object;\n};\nconst setDeep = (object, path, mapper) => {\n\tvalidatePath(path);\n\tif (path.length === 0) return mapper(object);\n\tlet parent = object;\n\tfor (let i = 0; i < path.length - 1; i++) {\n\t\tconst key = path[i];\n\t\tif (isArray$2(parent)) {\n\t\t\tconst index = +key;\n\t\t\tparent = parent[index];\n\t\t} else if (isPlainObject$2(parent)) parent = parent[key];\n\t\telse if (isSet(parent)) {\n\t\t\tconst row = +key;\n\t\t\tparent = getNthKey(parent, row);\n\t\t} else if (isMap(parent)) {\n\t\t\tif (i === path.length - 2) break;\n\t\t\tconst row = +key;\n\t\t\tconst type = +path[++i] === 0 ? \"key\" : \"value\";\n\t\t\tconst keyOfRow = getNthKey(parent, row);\n\t\t\tswitch (type) {\n\t\t\t\tcase \"key\":\n\t\t\t\t\tparent = keyOfRow;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"value\":\n\t\t\t\t\tparent = parent.get(keyOfRow);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tconst lastKey = path[path.length - 1];\n\tif (isArray$2(parent)) parent[+lastKey] = mapper(parent[+lastKey]);\n\telse if (isPlainObject$2(parent)) parent[lastKey] = mapper(parent[lastKey]);\n\tif (isSet(parent)) {\n\t\tconst oldValue = getNthKey(parent, +lastKey);\n\t\tconst newValue = mapper(oldValue);\n\t\tif (oldValue !== newValue) {\n\t\t\tparent.delete(oldValue);\n\t\t\tparent.add(newValue);\n\t\t}\n\t}\n\tif (isMap(parent)) {\n\t\tconst row = +path[path.length - 2];\n\t\tconst keyToRow = getNthKey(parent, row);\n\t\tswitch (+lastKey === 0 ? \"key\" : \"value\") {\n\t\t\tcase \"key\": {\n\t\t\t\tconst newKey = mapper(keyToRow);\n\t\t\t\tparent.set(newKey, parent.get(keyToRow));\n\t\t\t\tif (newKey !== keyToRow) parent.delete(keyToRow);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"value\":\n\t\t\t\tparent.set(keyToRow, mapper(parent.get(keyToRow)));\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn object;\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js\nfunction traverse(tree, walker, origin = []) {\n\tif (!tree) return;\n\tif (!isArray$2(tree)) {\n\t\tforEach(tree, (subtree, key) => traverse(subtree, walker, [...origin, ...parsePath(key)]));\n\t\treturn;\n\t}\n\tconst [nodeValue, children] = tree;\n\tif (children) forEach(children, (child, key) => {\n\t\ttraverse(child, walker, [...origin, ...parsePath(key)]);\n\t});\n\twalker(nodeValue, origin);\n}\nfunction applyValueAnnotations(plain, annotations, superJson) {\n\ttraverse(annotations, (type, path) => {\n\t\tplain = setDeep(plain, path, (v) => untransformValue(v, type, superJson));\n\t});\n\treturn plain;\n}\nfunction applyReferentialEqualityAnnotations(plain, annotations) {\n\tfunction apply(identicalPaths, path) {\n\t\tconst object = getDeep(plain, parsePath(path));\n\t\tidenticalPaths.map(parsePath).forEach((identicalObjectPath) => {\n\t\t\tplain = setDeep(plain, identicalObjectPath, () => object);\n\t\t});\n\t}\n\tif (isArray$2(annotations)) {\n\t\tconst [root, other] = annotations;\n\t\troot.forEach((identicalPath) => {\n\t\t\tplain = setDeep(plain, parsePath(identicalPath), () => plain);\n\t\t});\n\t\tif (other) forEach(other, apply);\n\t} else forEach(annotations, apply);\n\treturn plain;\n}\nconst isDeep = (object, superJson) => isPlainObject$2(object) || isArray$2(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);\nfunction addIdentity(object, path, identities) {\n\tconst existingSet = identities.get(object);\n\tif (existingSet) existingSet.push(path);\n\telse identities.set(object, [path]);\n}\nfunction generateReferentialEqualityAnnotations(identitites, dedupe) {\n\tconst result = {};\n\tlet rootEqualityPaths = void 0;\n\tidentitites.forEach((paths) => {\n\t\tif (paths.length <= 1) return;\n\t\tif (!dedupe) paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length);\n\t\tconst [representativePath, ...identicalPaths] = paths;\n\t\tif (representativePath.length === 0) rootEqualityPaths = identicalPaths.map(stringifyPath);\n\t\telse result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);\n\t});\n\tif (rootEqualityPaths) if (isEmptyObject(result)) return [rootEqualityPaths];\n\telse return [rootEqualityPaths, result];\n\telse return isEmptyObject(result) ? void 0 : result;\n}\nconst walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => {\n\tconst primitive = isPrimitive(object);\n\tif (!primitive) {\n\t\taddIdentity(object, path, identities);\n\t\tconst seen = seenObjects.get(object);\n\t\tif (seen) return dedupe ? { transformedValue: null } : seen;\n\t}\n\tif (!isDeep(object, superJson)) {\n\t\tconst transformed = transformValue(object, superJson);\n\t\tconst result = transformed ? {\n\t\t\ttransformedValue: transformed.value,\n\t\t\tannotations: [transformed.type]\n\t\t} : { transformedValue: object };\n\t\tif (!primitive) seenObjects.set(object, result);\n\t\treturn result;\n\t}\n\tif (includes(objectsInThisPath, object)) return { transformedValue: null };\n\tconst transformationResult = transformValue(object, superJson);\n\tconst transformed = transformationResult?.value ?? object;\n\tconst transformedValue = isArray$2(transformed) ? [] : {};\n\tconst innerAnnotations = {};\n\tforEach(transformed, (value, index) => {\n\t\tif (index === \"__proto__\" || index === \"constructor\" || index === \"prototype\") throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);\n\t\tconst recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);\n\t\ttransformedValue[index] = recursiveResult.transformedValue;\n\t\tif (isArray$2(recursiveResult.annotations)) innerAnnotations[index] = recursiveResult.annotations;\n\t\telse if (isPlainObject$2(recursiveResult.annotations)) forEach(recursiveResult.annotations, (tree, key) => {\n\t\t\tinnerAnnotations[escapeKey(index) + \".\" + key] = tree;\n\t\t});\n\t});\n\tconst result = isEmptyObject(innerAnnotations) ? {\n\t\ttransformedValue,\n\t\tannotations: !!transformationResult ? [transformationResult.type] : void 0\n\t} : {\n\t\ttransformedValue,\n\t\tannotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations\n\t};\n\tif (!primitive) seenObjects.set(object, result);\n\treturn result;\n};\n//#endregion\n//#region ../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js\nfunction getType(payload) {\n\treturn Object.prototype.toString.call(payload).slice(8, -1);\n}\nfunction isArray$1(payload) {\n\treturn getType(payload) === \"Array\";\n}\nfunction isPlainObject$1(payload) {\n\tif (getType(payload) !== \"Object\") return false;\n\tconst prototype = Object.getPrototypeOf(payload);\n\treturn !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\nfunction isNull(payload) {\n\treturn getType(payload) === \"Null\";\n}\nfunction isOneOf(a, b, c, d, e) {\n\treturn (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);\n}\nfunction isUndefined(payload) {\n\treturn getType(payload) === \"Undefined\";\n}\nisOneOf(isNull, isUndefined);\n//#endregion\n//#region ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js\nfunction assignProp(carry, key, newVal, originalObject, includeNonenumerable) {\n\tconst propType = {}.propertyIsEnumerable.call(originalObject, key) ? \"enumerable\" : \"nonenumerable\";\n\tif (propType === \"enumerable\") carry[key] = newVal;\n\tif (includeNonenumerable && propType === \"nonenumerable\") Object.defineProperty(carry, key, {\n\t\tvalue: newVal,\n\t\tenumerable: false,\n\t\twritable: true,\n\t\tconfigurable: true\n\t});\n}\nfunction copy(target, options = {}) {\n\tif (isArray$1(target)) return target.map((item) => copy(item, options));\n\tif (!isPlainObject$1(target)) return target;\n\tconst props = Object.getOwnPropertyNames(target);\n\tconst symbols = Object.getOwnPropertySymbols(target);\n\treturn [...props, ...symbols].reduce((carry, key) => {\n\t\tif (isArray$1(options.props) && !options.props.includes(key)) return carry;\n\t\tconst val = target[key];\n\t\tassignProp(carry, key, copy(val, options), target, options.nonenumerable);\n\t\treturn carry;\n\t}, {});\n}\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js\nvar SuperJSON = class {\n\t/**\n\t* @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.\n\t*/\n\tconstructor({ dedupe = false } = {}) {\n\t\tthis.classRegistry = new ClassRegistry();\n\t\tthis.symbolRegistry = new Registry((s) => s.description ?? \"\");\n\t\tthis.customTransformerRegistry = new CustomTransformerRegistry();\n\t\tthis.allowedErrorProps = [];\n\t\tthis.dedupe = dedupe;\n\t}\n\tserialize(object) {\n\t\tconst identities = /* @__PURE__ */ new Map();\n\t\tconst output = walker(object, identities, this, this.dedupe);\n\t\tconst res = { json: output.transformedValue };\n\t\tif (output.annotations) res.meta = {\n\t\t\t...res.meta,\n\t\t\tvalues: output.annotations\n\t\t};\n\t\tconst equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);\n\t\tif (equalityAnnotations) res.meta = {\n\t\t\t...res.meta,\n\t\t\treferentialEqualities: equalityAnnotations\n\t\t};\n\t\treturn res;\n\t}\n\tdeserialize(payload) {\n\t\tconst { json, meta } = payload;\n\t\tlet result = copy(json);\n\t\tif (meta?.values) result = applyValueAnnotations(result, meta.values, this);\n\t\tif (meta?.referentialEqualities) result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities);\n\t\treturn result;\n\t}\n\tstringify(object) {\n\t\treturn JSON.stringify(this.serialize(object));\n\t}\n\tparse(string) {\n\t\treturn this.deserialize(JSON.parse(string));\n\t}\n\tregisterClass(v, options) {\n\t\tthis.classRegistry.register(v, options);\n\t}\n\tregisterSymbol(v, identifier) {\n\t\tthis.symbolRegistry.register(v, identifier);\n\t}\n\tregisterCustom(transformer, name) {\n\t\tthis.customTransformerRegistry.register({\n\t\t\tname,\n\t\t\t...transformer\n\t\t});\n\t}\n\tallowErrorProps(...props) {\n\t\tthis.allowedErrorProps.push(...props);\n\t}\n};\nSuperJSON.defaultInstance = new SuperJSON();\nSuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);\nSuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);\nSuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);\nSuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);\nSuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);\nSuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);\nSuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);\nSuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);\nSuperJSON.serialize;\nSuperJSON.deserialize;\nSuperJSON.stringify;\nSuperJSON.parse;\nSuperJSON.registerClass;\nSuperJSON.registerCustom;\nSuperJSON.registerSymbol;\nSuperJSON.allowErrorProps;\n//#endregion\n//#region src/messaging/presets/broadcast-channel/context.ts\nconst __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY = \"__devtools-kit-broadcast-messaging-event-key__\";\n//#endregion\n//#region src/messaging/presets/broadcast-channel/index.ts\nconst BROADCAST_CHANNEL_NAME = \"__devtools-kit:broadcast-channel__\";\nfunction createBroadcastChannel() {\n\tconst channel = new BroadcastChannel(BROADCAST_CHANNEL_NAME);\n\treturn {\n\t\tpost: (data) => {\n\t\t\tchannel.postMessage(SuperJSON.stringify({\n\t\t\t\tevent: __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY,\n\t\t\t\tdata\n\t\t\t}));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tchannel.onmessage = (event) => {\n\t\t\t\tconst parsed = SuperJSON.parse(event.data);\n\t\t\t\tif (parsed.event === \"__devtools-kit-broadcast-messaging-event-key__\") handler(parsed.data);\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/electron/context.ts\nconst __ELECTRON_CLIENT_CONTEXT__ = \"electron:client-context\";\nconst __ELECTRON_RPOXY_CONTEXT__ = \"electron:proxy-context\";\nconst __ELECTRON_SERVER_CONTEXT__ = \"electron:server-context\";\nconst __DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__ = {\n\tCLIENT_TO_PROXY: \"client->proxy\",\n\tPROXY_TO_CLIENT: \"proxy->client\",\n\tPROXY_TO_SERVER: \"proxy->server\",\n\tSERVER_TO_PROXY: \"server->proxy\"\n};\nfunction getElectronClientContext() {\n\treturn target[__ELECTRON_CLIENT_CONTEXT__];\n}\nfunction setElectronClientContext(context) {\n\ttarget[__ELECTRON_CLIENT_CONTEXT__] = context;\n}\nfunction getElectronProxyContext() {\n\treturn target[__ELECTRON_RPOXY_CONTEXT__];\n}\nfunction setElectronProxyContext(context) {\n\ttarget[__ELECTRON_RPOXY_CONTEXT__] = context;\n}\nfunction getElectronServerContext() {\n\treturn target[__ELECTRON_SERVER_CONTEXT__];\n}\nfunction setElectronServerContext(context) {\n\ttarget[__ELECTRON_SERVER_CONTEXT__] = context;\n}\n//#endregion\n//#region src/messaging/presets/electron/client.ts\nfunction createElectronClientChannel() {\n\tconst socket = getElectronClientContext();\n\treturn {\n\t\tpost: (data) => {\n\t\t\tsocket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, SuperJSON.stringify(data));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tsocket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, (e) => {\n\t\t\t\thandler(SuperJSON.parse(e));\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/electron/proxy.ts\nfunction createElectronProxyChannel() {\n\tconst socket = getElectronProxyContext();\n\treturn {\n\t\tpost: (data) => {},\n\t\ton: (handler) => {\n\t\t\tsocket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, (data) => {\n\t\t\t\tsocket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, data);\n\t\t\t});\n\t\t\tsocket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, (data) => {\n\t\t\t\tsocket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, data);\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/electron/server.ts\nfunction createElectronServerChannel() {\n\tconst socket = getElectronServerContext();\n\treturn {\n\t\tpost: (data) => {\n\t\t\tsocket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, SuperJSON.stringify(data));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tsocket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, (data) => {\n\t\t\t\thandler(SuperJSON.parse(data));\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/extension/context.ts\nconst __EXTENSION_CLIENT_CONTEXT__ = \"electron:client-context\";\nconst __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__ = {\n\tCLIENT_TO_PROXY: \"client->proxy\",\n\tPROXY_TO_CLIENT: \"proxy->client\",\n\tPROXY_TO_SERVER: \"proxy->server\",\n\tSERVER_TO_PROXY: \"server->proxy\"\n};\nfunction getExtensionClientContext() {\n\treturn target[__EXTENSION_CLIENT_CONTEXT__];\n}\nfunction setExtensionClientContext(context) {\n\ttarget[__EXTENSION_CLIENT_CONTEXT__] = context;\n}\n//#endregion\n//#region src/messaging/presets/extension/client.ts\nfunction createExtensionClientChannel() {\n\tlet disconnected = false;\n\tlet port = null;\n\tlet reconnectTimer = null;\n\tlet onMessageHandler = null;\n\tfunction connect() {\n\t\ttry {\n\t\t\tclearTimeout(reconnectTimer);\n\t\t\tport = chrome.runtime.connect({ name: `${chrome.devtools.inspectedWindow.tabId}` });\n\t\t\tsetExtensionClientContext(port);\n\t\t\tdisconnected = false;\n\t\t\tport?.onMessage.addListener(onMessageHandler);\n\t\t\tport.onDisconnect.addListener(() => {\n\t\t\t\tdisconnected = true;\n\t\t\t\tport?.onMessage.removeListener(onMessageHandler);\n\t\t\t\treconnectTimer = setTimeout(connect, 1e3);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tdisconnected = true;\n\t\t}\n\t}\n\tconnect();\n\treturn {\n\t\tpost: (data) => {\n\t\t\tif (disconnected) return;\n\t\t\tport?.postMessage(SuperJSON.stringify(data));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tonMessageHandler = (data) => {\n\t\t\t\tif (disconnected) return;\n\t\t\t\thandler(SuperJSON.parse(data));\n\t\t\t};\n\t\t\tport?.onMessage.addListener(onMessageHandler);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/extension/proxy.ts\nfunction createExtensionProxyChannel() {\n\tconst port = chrome.runtime.connect({ name: \"content-script\" });\n\tfunction sendMessageToUserApp(payload) {\n\t\twindow.postMessage({\n\t\t\tsource: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER,\n\t\t\tpayload\n\t\t}, \"*\");\n\t}\n\tfunction sendMessageToDevToolsClient(e) {\n\t\tif (e.data && e.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY) try {\n\t\t\tport.postMessage(e.data.payload);\n\t\t} catch (e) {}\n\t}\n\tport.onMessage.addListener(sendMessageToUserApp);\n\twindow.addEventListener(\"message\", sendMessageToDevToolsClient);\n\tport.onDisconnect.addListener(() => {\n\t\twindow.removeEventListener(\"message\", sendMessageToDevToolsClient);\n\t\tsendMessageToUserApp(SuperJSON.stringify({ event: \"shutdown\" }));\n\t});\n\tsendMessageToUserApp(SuperJSON.stringify({ event: \"init\" }));\n\treturn {\n\t\tpost: (data) => {},\n\t\ton: (handler) => {}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/extension/server.ts\nfunction createExtensionServerChannel() {\n\treturn {\n\t\tpost: (data) => {\n\t\t\twindow.postMessage({\n\t\t\t\tsource: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY,\n\t\t\t\tpayload: SuperJSON.stringify(data)\n\t\t\t}, \"*\");\n\t\t},\n\t\ton: (handler) => {\n\t\t\tconst listener = (event) => {\n\t\t\t\tif (event.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER && event.data.payload) handler(SuperJSON.parse(event.data.payload));\n\t\t\t};\n\t\t\twindow.addEventListener(\"message\", listener);\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener(\"message\", listener);\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/iframe/context.ts\nconst __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY = \"__devtools-kit-iframe-messaging-event-key__\";\nconst __IFRAME_SERVER_CONTEXT__ = \"iframe:server-context\";\nfunction getIframeServerContext() {\n\treturn target[__IFRAME_SERVER_CONTEXT__];\n}\nfunction setIframeServerContext(context) {\n\ttarget[__IFRAME_SERVER_CONTEXT__] = context;\n}\n//#endregion\n//#region src/messaging/presets/iframe/client.ts\nfunction createIframeClientChannel() {\n\tif (!isBrowser) return {\n\t\tpost: (data) => {},\n\t\ton: (handler) => {}\n\t};\n\treturn {\n\t\tpost: (data) => window.parent.postMessage(SuperJSON.stringify({\n\t\t\tevent: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,\n\t\t\tdata\n\t\t}), \"*\"),\n\t\ton: (handler) => window.addEventListener(\"message\", (event) => {\n\t\t\ttry {\n\t\t\t\tconst parsed = SuperJSON.parse(event.data);\n\t\t\t\tif (event.source === window.parent && parsed.event === \"__devtools-kit-iframe-messaging-event-key__\") handler(parsed.data);\n\t\t\t} catch (e) {}\n\t\t})\n\t};\n}\n//#endregion\n//#region src/messaging/presets/iframe/server.ts\nfunction createIframeServerChannel() {\n\tif (!isBrowser) return {\n\t\tpost: (data) => {},\n\t\ton: (handler) => {}\n\t};\n\treturn {\n\t\tpost: (data) => {\n\t\t\tgetIframeServerContext()?.contentWindow?.postMessage(SuperJSON.stringify({\n\t\t\t\tevent: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,\n\t\t\t\tdata\n\t\t\t}), \"*\");\n\t\t},\n\t\ton: (handler) => {\n\t\t\twindow.addEventListener(\"message\", (event) => {\n\t\t\t\tconst iframe = getIframeServerContext();\n\t\t\t\ttry {\n\t\t\t\t\tconst parsed = SuperJSON.parse(event.data);\n\t\t\t\t\tif (event.source === iframe?.contentWindow && parsed.event === \"__devtools-kit-iframe-messaging-event-key__\") handler(parsed.data);\n\t\t\t\t} catch (e) {}\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/vite/context.ts\nconst __DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY = \"__devtools-kit-vite-messaging-event-key__\";\nconst __VITE_CLIENT_CONTEXT__ = \"vite:client-context\";\nconst __VITE_SERVER_CONTEXT__ = \"vite:server-context\";\nfunction getViteClientContext() {\n\treturn target[__VITE_CLIENT_CONTEXT__];\n}\nfunction setViteClientContext(context) {\n\ttarget[__VITE_CLIENT_CONTEXT__] = context;\n}\nfunction getViteServerContext() {\n\treturn target[__VITE_SERVER_CONTEXT__];\n}\nfunction setViteServerContext(context) {\n\ttarget[__VITE_SERVER_CONTEXT__] = context;\n}\n//#endregion\n//#region src/messaging/presets/vite/client.ts\nfunction createViteClientChannel() {\n\tconst client = getViteClientContext();\n\treturn {\n\t\tpost: (data) => {\n\t\t\tclient?.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tclient?.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {\n\t\t\t\thandler(SuperJSON.parse(event));\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/vite/server.ts\nfunction createViteServerChannel() {\n\tconst viteServer = getViteServerContext();\n\tconst ws = viteServer.hot ?? viteServer.ws;\n\treturn {\n\t\tpost: (data) => ws?.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data)),\n\t\ton: (handler) => ws?.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {\n\t\t\thandler(SuperJSON.parse(event));\n\t\t})\n\t};\n}\n//#endregion\n//#region src/messaging/index.ts\ntarget.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ ??= [];\ntarget.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ ??= null;\ntarget.__VUE_DEVTOOLS_KIT_RPC_SERVER__ ??= null;\ntarget.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ ??= null;\ntarget.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ ??= null;\ntarget.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ ??= null;\nfunction setRpcClientToGlobal(rpc) {\n\ttarget.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = rpc;\n}\nfunction setRpcServerToGlobal(rpc) {\n\ttarget.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = rpc;\n}\nfunction getRpcClient() {\n\treturn target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__;\n}\nfunction getRpcServer() {\n\treturn target.__VUE_DEVTOOLS_KIT_RPC_SERVER__;\n}\nfunction setViteRpcClientToGlobal(rpc) {\n\ttarget.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = rpc;\n}\nfunction setViteRpcServerToGlobal(rpc) {\n\ttarget.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = rpc;\n}\nfunction getViteRpcClient() {\n\treturn target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__;\n}\nfunction getViteRpcServer() {\n\treturn target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__;\n}\nfunction getChannel(preset, host = \"client\") {\n\tconst channel = {\n\t\tiframe: {\n\t\t\tclient: createIframeClientChannel,\n\t\t\tserver: createIframeServerChannel\n\t\t}[host],\n\t\telectron: {\n\t\t\tclient: createElectronClientChannel,\n\t\t\tproxy: createElectronProxyChannel,\n\t\t\tserver: createElectronServerChannel\n\t\t}[host],\n\t\tvite: {\n\t\t\tclient: createViteClientChannel,\n\t\t\tserver: createViteServerChannel\n\t\t}[host],\n\t\tbroadcast: {\n\t\t\tclient: createBroadcastChannel,\n\t\t\tserver: createBroadcastChannel\n\t\t}[host],\n\t\textension: {\n\t\t\tclient: createExtensionClientChannel,\n\t\t\tproxy: createExtensionProxyChannel,\n\t\t\tserver: createExtensionServerChannel\n\t\t}[host]\n\t}[preset];\n\treturn channel();\n}\nfunction createRpcClient(functions, options = {}) {\n\tconst { channel: _channel, options: _options, preset } = options;\n\tconst channel = preset ? getChannel(preset) : _channel;\n\tconst rpc = createBirpc(functions, {\n\t\t..._options,\n\t\t...channel,\n\t\ttimeout: -1\n\t});\n\tif (preset === \"vite\") {\n\t\tsetViteRpcClientToGlobal(rpc);\n\t\treturn;\n\t}\n\tsetRpcClientToGlobal(rpc);\n\treturn rpc;\n}\nfunction createRpcServer(functions, options = {}) {\n\tconst { channel: _channel, options: _options, preset } = options;\n\tconst channel = preset ? getChannel(preset, \"server\") : _channel;\n\tconst rpcServer = getRpcServer();\n\tif (!rpcServer) {\n\t\tconst group = createBirpcGroup(functions, [channel], {\n\t\t\t..._options,\n\t\t\ttimeout: -1\n\t\t});\n\t\tif (preset === \"vite\") {\n\t\t\tsetViteRpcServerToGlobal(group);\n\t\t\treturn;\n\t\t}\n\t\tsetRpcServerToGlobal(group);\n\t} else rpcServer.updateChannels((channels) => {\n\t\tchannels.push(channel);\n\t});\n}\nfunction createRpcProxy(options = {}) {\n\tconst { channel: _channel, options: _options, preset } = options;\n\tconst channel = preset ? getChannel(preset, \"proxy\") : _channel;\n\treturn createBirpc({}, {\n\t\t..._options,\n\t\t...channel,\n\t\ttimeout: -1\n\t});\n}\n//#endregion\n//#region src/core/component/state/custom.ts\nfunction getFunctionDetails(func) {\n\tlet string = \"\";\n\tlet matches = null;\n\ttry {\n\t\tstring = Function.prototype.toString.call(func);\n\t\tmatches = String.prototype.match.call(string, /\\([\\s\\S]*?\\)/);\n\t} catch (e) {}\n\tconst match = matches && matches[0];\n\tconst args = typeof match === \"string\" ? match : \"(?)\";\n\treturn { _custom: {\n\t\ttype: \"function\",\n\t\tdisplayText: `function ${escape(typeof func.name === \"string\" ? func.name : \"\")}${args}`,\n\t\ttooltipText: string.trim() ? `
${escape(string)}
` : null\n\t} };\n}\nfunction getBigIntDetails(val) {\n\tconst stringifiedBigInt = BigInt.prototype.toString.call(val);\n\treturn { _custom: {\n\t\ttype: \"bigint\",\n\t\tdisplayText: `BigInt(${stringifiedBigInt})`,\n\t\tvalue: stringifiedBigInt\n\t} };\n}\nfunction getDateDetails(val) {\n\tconst date = new Date(val.getTime());\n\tdate.setMinutes(date.getMinutes() - date.getTimezoneOffset());\n\treturn { _custom: {\n\t\ttype: \"date\",\n\t\tdisplayText: Date.prototype.toString.call(val),\n\t\tvalue: date.toISOString().slice(0, -1)\n\t} };\n}\nfunction getMapDetails(val) {\n\treturn { _custom: {\n\t\ttype: \"map\",\n\t\tdisplayText: \"Map\",\n\t\tvalue: Object.fromEntries(val),\n\t\treadOnly: true,\n\t\tfields: { abstract: true }\n\t} };\n}\nfunction getSetDetails(val) {\n\tconst list = Array.from(val);\n\treturn { _custom: {\n\t\ttype: \"set\",\n\t\tdisplayText: `Set[${list.length}]`,\n\t\tvalue: list,\n\t\treadOnly: true\n\t} };\n}\nfunction getCaughtGetters(store) {\n\tconst getters = {};\n\tconst origGetters = store.getters || {};\n\tconst keys = Object.keys(origGetters);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key = keys[i];\n\t\tObject.defineProperty(getters, key, {\n\t\t\tenumerable: true,\n\t\t\tget: () => {\n\t\t\t\ttry {\n\t\t\t\t\treturn origGetters[key];\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn e;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn getters;\n}\nfunction reduceStateList(list) {\n\tif (!list.length) return void 0;\n\treturn list.reduce((map, item) => {\n\t\tconst key = item.type || \"data\";\n\t\tconst obj = map[key] = map[key] || {};\n\t\tobj[item.key] = item.value;\n\t\treturn map;\n\t}, {});\n}\nfunction namedNodeMapToObject(map) {\n\tconst result = {};\n\tconst l = map.length;\n\tfor (let i = 0; i < l; i++) {\n\t\tconst node = map.item(i);\n\t\tresult[node.name] = node.value;\n\t}\n\treturn result;\n}\nfunction getStoreDetails(store) {\n\treturn { _custom: {\n\t\ttype: \"store\",\n\t\tdisplayText: \"Store\",\n\t\tvalue: {\n\t\t\tstate: store.state,\n\t\t\tgetters: getCaughtGetters(store)\n\t\t},\n\t\tfields: { abstract: true }\n\t} };\n}\nfunction getRouterDetails(router) {\n\treturn { _custom: {\n\t\ttype: \"router\",\n\t\tdisplayText: \"VueRouter\",\n\t\tvalue: {\n\t\t\toptions: router.options,\n\t\t\tcurrentRoute: router.currentRoute\n\t\t},\n\t\tfields: { abstract: true }\n\t} };\n}\nfunction getInstanceDetails(instance) {\n\tif (instance._) instance = instance._;\n\tconst state = processInstanceState(instance);\n\treturn { _custom: {\n\t\ttype: \"component\",\n\t\tid: instance.__VUE_DEVTOOLS_NEXT_UID__,\n\t\tdisplayText: getInstanceName(instance),\n\t\ttooltipText: \"Component instance\",\n\t\tvalue: reduceStateList(state),\n\t\tfields: { abstract: true }\n\t} };\n}\nfunction getComponentDefinitionDetails(definition) {\n\tlet display = getComponentName(definition);\n\tif (display) {\n\t\tif (definition.name && definition.__file) display += ` (${definition.__file})`;\n\t} else display = \"Unknown Component\";\n\treturn { _custom: {\n\t\ttype: \"component-definition\",\n\t\tdisplayText: display,\n\t\ttooltipText: \"Component definition\",\n\t\t...definition.__file ? { file: definition.__file } : {}\n\t} };\n}\nfunction getHTMLElementDetails(value) {\n\ttry {\n\t\treturn { _custom: {\n\t\t\ttype: \"HTMLElement\",\n\t\t\tdisplayText: `<${value.tagName.toLowerCase()}>`,\n\t\t\tvalue: namedNodeMapToObject(value.attributes)\n\t\t} };\n\t} catch (e) {\n\t\treturn { _custom: {\n\t\t\ttype: \"HTMLElement\",\n\t\t\tdisplayText: `${String(value)}`\n\t\t} };\n\t}\n}\n/**\n* - ObjectRefImpl, toRef({ foo: 'foo' }, 'foo'), `_value` is the actual value, (since 3.5.0)\n* - GetterRefImpl, toRef(() => state.foo), `_value` is the actual value, (since 3.5.0)\n* - RefImpl, ref('foo') / computed(() => 'foo'), `_value` is the actual value\n*/\nfunction tryGetRefValue(ref) {\n\tif (ensurePropertyExists(ref, \"_value\", true)) return ref._value;\n\tif (ensurePropertyExists(ref, \"value\", true)) return ref.value;\n}\nfunction getObjectDetails(object) {\n\tconst info = getSetupStateType(object);\n\tif (info.ref || info.computed || info.reactive) {\n\t\tconst stateTypeName = info.computed ? \"Computed\" : info.ref ? \"Ref\" : info.reactive ? \"Reactive\" : null;\n\t\tconst value = toRaw(info.reactive ? object : tryGetRefValue(object));\n\t\tconst raw = ensurePropertyExists(object, \"effect\") ? object.effect?.raw?.toString() || object.effect?.fn?.toString() : null;\n\t\treturn { _custom: {\n\t\t\ttype: stateTypeName?.toLowerCase(),\n\t\t\tstateTypeName,\n\t\t\tvalue,\n\t\t\t...raw ? { tooltipText: `
${escape(raw)}
` } : {}\n\t\t} };\n\t}\n\tif (ensurePropertyExists(object, \"__asyncLoader\") && typeof object.__asyncLoader === \"function\") return { _custom: {\n\t\ttype: \"component-definition\",\n\t\tdisplay: \"Async component definition\"\n\t} };\n}\n//#endregion\n//#region src/core/component/state/replacer.ts\nfunction stringifyReplacer(key, _value, depth, seenInstance) {\n\tif (key === \"compilerOptions\") return;\n\tconst val = this[key];\n\tconst type = typeof val;\n\tif (Array.isArray(val)) {\n\t\tconst l = val.length;\n\t\tif (l > 5e3) return {\n\t\t\t_isArray: true,\n\t\t\tlength: l,\n\t\t\titems: val.slice(0, MAX_ARRAY_SIZE)\n\t\t};\n\t\treturn val;\n\t} else if (typeof val === \"string\") if (val.length > 1e4) return `${val.substring(0, MAX_STRING_SIZE)}... (${val.length} total length)`;\n\telse return val;\n\telse if (type === \"undefined\") return UNDEFINED;\n\telse if (val === Number.POSITIVE_INFINITY) return INFINITY;\n\telse if (val === Number.NEGATIVE_INFINITY) return NEGATIVE_INFINITY;\n\telse if (typeof val === \"function\") return getFunctionDetails(val);\n\telse if (type === \"symbol\") return `[native Symbol ${Symbol.prototype.toString.call(val)}]`;\n\telse if (typeof val === \"bigint\") return getBigIntDetails(val);\n\telse if (val !== null && typeof val === \"object\") {\n\t\tconst proto = Object.prototype.toString.call(val);\n\t\tif (proto === \"[object Map]\") return getMapDetails(val);\n\t\telse if (proto === \"[object Set]\") return getSetDetails(val);\n\t\telse if (proto === \"[object RegExp]\") return `[native RegExp ${RegExp.prototype.toString.call(val)}]`;\n\t\telse if (proto === \"[object Date]\") return getDateDetails(val);\n\t\telse if (proto === \"[object Error]\") return `[native Error ${val.message}<>${val.stack}]`;\n\t\telse if (ensurePropertyExists(val, \"state\", true) && ensurePropertyExists(val, \"_vm\", true)) return getStoreDetails(val);\n\t\telse if (val.constructor && val.constructor.name === \"VueRouter\") return getRouterDetails(val);\n\t\telse if (isVueInstance(val)) {\n\t\t\tconst componentVal = getInstanceDetails(val);\n\t\t\tconst parentInstanceDepth = seenInstance?.get(val);\n\t\t\tif (parentInstanceDepth && parentInstanceDepth < depth) return `[[CircularRef]] <${componentVal._custom.displayText}>`;\n\t\t\tseenInstance?.set(val, depth);\n\t\t\treturn componentVal;\n\t\t} else if (ensurePropertyExists(val, \"render\", true) && typeof val.render === \"function\") return getComponentDefinitionDetails(val);\n\t\telse if (val.constructor && val.constructor.name === \"VNode\") return `[native VNode <${val.tag}>]`;\n\t\telse if (typeof HTMLElement !== \"undefined\" && val instanceof HTMLElement) return getHTMLElementDetails(val);\n\t\telse if (val.constructor?.name === \"Store\" && \"_wrappedGetters\" in val) return \"[object Store]\";\n\t\telse if (ensurePropertyExists(val, \"currentRoute\", true)) return \"[object Router]\";\n\t\tconst customDetails = getObjectDetails(val);\n\t\tif (customDetails != null) return customDetails;\n\t} else if (Number.isNaN(val)) return NAN;\n\treturn sanitize(val);\n}\n//#endregion\n//#region src/shared/transfer.ts\nconst MAX_SERIALIZED_SIZE = 2 * 1024 * 1024;\nfunction isObject(_data, proto) {\n\treturn proto === \"[object Object]\";\n}\nfunction isArray(_data, proto) {\n\treturn proto === \"[object Array]\";\n}\nfunction isVueReactiveLinkNode(node) {\n\tconst constructorName = node?.constructor?.name;\n\treturn constructorName === \"Dep\" && \"activeLink\" in node || constructorName === \"Link\" && \"dep\" in node;\n}\n/**\n* This function is used to serialize object with handling circular references.\n*\n* ```ts\n* const obj = { a: 1, b: { c: 2 }, d: obj }\n* const result = stringifyCircularAutoChunks(obj) // call `encode` inside\n* console.log(result) // [{\"a\":1,\"b\":2,\"d\":0},1,{\"c\":4},2]\n* ```\n*\n* Each object is stored in a list and the index is used to reference the object.\n* With seen map, we can check if the object is already stored in the list to avoid circular references.\n*\n* Note: here we have a special case for Vue instance.\n* We check if a vue instance includes itself in its properties and skip it\n* by using `seenVueInstance` and `depth` to avoid infinite loop.\n*/\nfunction encode(data, replacer, list, seen, depth = 0, seenVueInstance = /* @__PURE__ */ new Map()) {\n\tlet stored;\n\tlet key;\n\tlet value;\n\tlet i;\n\tlet l;\n\tconst seenIndex = seen.get(data);\n\tif (seenIndex != null) return seenIndex;\n\tconst index = list.length;\n\tconst proto = Object.prototype.toString.call(data);\n\tif (isObject(data, proto)) {\n\t\tif (isVueReactiveLinkNode(data)) return index;\n\t\tstored = {};\n\t\tseen.set(data, index);\n\t\tlist.push(stored);\n\t\tconst keys = Object.keys(data);\n\t\tfor (i = 0, l = keys.length; i < l; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (key === \"compilerOptions\") return index;\n\t\t\tvalue = data[key];\n\t\t\tconst isVm = value != null && isObject(value, Object.prototype.toString.call(data)) && isVueInstance(value);\n\t\t\ttry {\n\t\t\t\tif (replacer) value = replacer.call(data, key, value, depth, seenVueInstance);\n\t\t\t} catch (e) {\n\t\t\t\tvalue = e;\n\t\t\t}\n\t\t\tstored[key] = encode(value, replacer, list, seen, depth + 1, seenVueInstance);\n\t\t\tif (isVm) seenVueInstance.delete(value);\n\t\t}\n\t} else if (isArray(data, proto)) {\n\t\tstored = [];\n\t\tseen.set(data, index);\n\t\tlist.push(stored);\n\t\tfor (i = 0, l = data.length; i < l; i++) {\n\t\t\ttry {\n\t\t\t\tvalue = data[i];\n\t\t\t\tif (replacer) value = replacer.call(data, i, value, depth, seenVueInstance);\n\t\t\t} catch (e) {\n\t\t\t\tvalue = e;\n\t\t\t}\n\t\t\tstored[i] = encode(value, replacer, list, seen, depth + 1, seenVueInstance);\n\t\t}\n\t} else list.push(data);\n\treturn index;\n}\nfunction decode(list, reviver = null) {\n\tlet i = list.length;\n\tlet j, k, data, key, value, proto;\n\twhile (i--) {\n\t\tdata = list[i];\n\t\tproto = Object.prototype.toString.call(data);\n\t\tif (proto === \"[object Object]\") {\n\t\t\tconst keys = Object.keys(data);\n\t\t\tfor (j = 0, k = keys.length; j < k; j++) {\n\t\t\t\tkey = keys[j];\n\t\t\t\tvalue = list[data[key]];\n\t\t\t\tif (reviver) value = reviver.call(data, key, value);\n\t\t\t\tdata[key] = value;\n\t\t\t}\n\t\t} else if (proto === \"[object Array]\") for (j = 0, k = data.length; j < k; j++) {\n\t\t\tvalue = list[data[j]];\n\t\t\tif (reviver) value = reviver.call(data, j, value);\n\t\t\tdata[j] = value;\n\t\t}\n\t}\n}\nfunction stringifyCircularAutoChunks(data, replacer = null, space = null) {\n\tlet result;\n\ttry {\n\t\tresult = arguments.length === 1 ? JSON.stringify(data) : JSON.stringify(data, (k, v) => replacer?.(k, v)?.call(this), space);\n\t} catch (e) {\n\t\tresult = stringifyStrictCircularAutoChunks(data, replacer, space);\n\t}\n\tif (result.length > MAX_SERIALIZED_SIZE) {\n\t\tconst chunkCount = Math.ceil(result.length / MAX_SERIALIZED_SIZE);\n\t\tconst chunks = [];\n\t\tfor (let i = 0; i < chunkCount; i++) chunks.push(result.slice(i * MAX_SERIALIZED_SIZE, (i + 1) * MAX_SERIALIZED_SIZE));\n\t\treturn chunks;\n\t}\n\treturn result;\n}\nfunction stringifyStrictCircularAutoChunks(data, replacer = null, space = null) {\n\tconst list = [];\n\tencode(data, replacer, list, /* @__PURE__ */ new Map());\n\treturn space ? ` ${JSON.stringify(list, null, space)}` : ` ${JSON.stringify(list)}`;\n}\nfunction parseCircularAutoChunks(data, reviver = null) {\n\tif (Array.isArray(data)) data = data.join(\"\");\n\tif (!/^\\s/.test(data)) return arguments.length === 1 ? JSON.parse(data) : JSON.parse(data, reviver);\n\telse {\n\t\tconst list = JSON.parse(data);\n\t\tdecode(list, reviver);\n\t\treturn list[0];\n\t}\n}\n//#endregion\n//#region src/shared/util.ts\nfunction stringify(data) {\n\treturn stringifyCircularAutoChunks(data, stringifyReplacer);\n}\nfunction parse(data, revive = false) {\n\tif (data == void 0) return {};\n\treturn revive ? parseCircularAutoChunks(data, reviver) : parseCircularAutoChunks(data);\n}\n//#endregion\n//#region src/index.ts\nconst devtools = {\n\thook,\n\tinit: () => {\n\t\tinitDevTools();\n\t},\n\tget ctx() {\n\t\treturn devtoolsContext;\n\t},\n\tget api() {\n\t\treturn devtoolsContext.api;\n\t}\n};\n//#endregion\nexport { DevToolsContextHookKeys, DevToolsMessagingHookKeys, DevToolsV6PluginAPIHookKeys, INFINITY, NAN, NEGATIVE_INFINITY, ROUTER_INFO_KEY, ROUTER_KEY, UNDEFINED, activeAppRecord, addCustomCommand, addCustomTab, addDevToolsAppRecord, addDevToolsPluginToBuffer, addInspector, callConnectedUpdatedHook, callDevToolsPluginSetupFn, callInspectorUpdatedHook, callStateUpdatedHook, createComponentsDevToolsPlugin, createDevToolsApi, createDevToolsCtxHooks, createRpcClient, createRpcProxy, createRpcServer, devtools, devtoolsAppRecords, devtoolsContext, devtoolsInspector, devtoolsPluginBuffer, devtoolsRouter, devtoolsRouterInfo, devtoolsState, escape, formatInspectorStateValue, getActiveInspectors, getDevToolsEnv, getExtensionClientContext, getInspector, getInspectorActions, getInspectorInfo, getInspectorNodeActions, getInspectorStateValueType, getRaw, getRpcClient, getRpcServer, getViteRpcClient, getViteRpcServer, initDevTools, isPlainObject, onDevToolsClientConnected, onDevToolsConnected, parse, registerDevToolsPlugin, removeCustomCommand, removeDevToolsAppRecord, removeRegisteredPluginApp, resetDevToolsState, setActiveAppRecord, setActiveAppRecordId, setDevToolsEnv, setElectronClientContext, setElectronProxyContext, setElectronServerContext, setExtensionClientContext, setIframeServerContext, setOpenInEditorBaseUrl, setRpcServerToGlobal, setViteClientContext, setViteRpcClientToGlobal, setViteRpcServerToGlobal, setViteServerContext, setupDevToolsPlugin, stringify, toEdit, toSubmit, toggleClientConnected, toggleComponentInspectorEnabled, toggleHighPerfMode, updateDevToolsClientDetected, updateDevToolsState, updateTimelineLayersState };\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,MAAM;GACN,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,QAAQ;GACR,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,MAAM;GACN,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,KAAK;GACL,KAAK;GACL,KAAK;GACL,OAAO;GACP,MAAM;GACN,KAAK;GACL,KAAK;GACL;;;;;;EAMD,IAAI,qBAAqB,CAAC,KAAK,IAAI;;;;;EAKnC,IAAI,aAAa;GAChB,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,KAAK;GACL,KAAK;GACL,QAAQ;GACR,MAAM;GACN,OAAO;GACP,MAAM;GACN,OAAO;GACP,KAAK;GACL,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,MAAM;GACN,MAAM;GACN,OAAO;GACP,OAAO;GACP,OAAO;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,OAAO;GACP,MAAM;GACN,OAAO;GACP,OAAO;GACP,OAAO;GACP,OAAO;GACP,MAAM;GACN,OAAO;GACP,OAAO;GACP,OAAO;GACP,SAAS;GACT,MAAM;GACN,OAAO;GACP,OAAO;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,MAAM;GACN,KAAK;GACL,MAAM;GACN,MAAM;GACN,OAAO;GACP,OAAO;GACP;;;;;EAKD,IAAI,cAAc;GACjB,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD;;;;;;EAMD,IAAI,YAAY;GACf,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD;EACD,IAAI,YAAY;GACf;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,CAAC,KAAK,GAAG;EACV,IAAI,mBAAmB;GACtB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,CAAC,KAAK,GAAG;EACV,IAAI,YAAY;GACf;GACA;GACA;GACA;GACA;GACA;GACA;GACA,CAAC,KAAK,GAAG;;;;;;;;EAQV,IAAI,UAAU,SAAS,QAAQ,OAAO,MAAM;GAC3C,IAAI,YAAY;GAChB,IAAI,SAAS;GACb,IAAI,gBAAgB;GACpB,IAAI,iBAAiB;GACrB,IAAI,qBAAqB,EAAE;GAC3B,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI,eAAe;AACnB,OAAI,OAAO,UAAU,SAAU,QAAO;AACtC,OAAI,OAAO,SAAS,SAAU,aAAY;AAC1C,YAAS,UAAU;AACnB,cAAW,YAAY;AACvB,OAAI,OAAO,SAAS,UAAU;AAC7B,mBAAe,KAAK,gBAAgB;AACpC,yBAAqB,KAAK,UAAU,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS;AACpF,eAAW,CAAC,KAAK,WAAW,KAAK,KAAK,YAAY;AAClD,eAAW,KAAK,QAAQ;AACxB,sBAAkB,KAAK,eAAe;AACtC,eAAW,KAAK,QAAQ;AACxB,qBAAiB,KAAK,YAAY,SAAS,KAAK,SAAS,QAAQ,QAAQ;AACzE,gBAAY,KAAK,aAAa;AAC9B,QAAI,SAAU,iBAAgB;AAC9B,QAAI,gBAAiB,iBAAgB;AACrC,QAAI,SAAU,iBAAgB;AAC9B,aAAS,KAAK,QAAQ,UAAU,KAAK,SAAS,iBAAiB,UAAU,KAAK,QAAQ,iBAAiB,UAAU,KAAK,EAAE;AACxH,eAAW,KAAK,QAAQ,YAAY,KAAK,QAAQ,YAAY,KAAK,QAAQ,KAAK,SAAS,SAAS,KAAK,SAAS,OAAO,EAAE,GAAG,YAAY;AACvI,QAAI,KAAK,aAAa,OAAO,KAAK,UAAU,WAAW,YAAY,MAAM,UAAU,SAAS,KAAK,KAAK,UAAU,EAAE;AACjH,UAAK,UAAU,QAAQ,SAAS,GAAG;AAClC,yBAAmB,IAAI,MAAM,IAAI;OAChC;AACF,iBAAY;UACN,aAAY,CAAC,CAAC,KAAK;AAC1B,QAAI,KAAK,UAAU,OAAO,KAAK,OAAO,WAAW,YAAY,MAAM,UAAU,SAAS,KAAK,KAAK,OAAO,CAAE,MAAK,OAAO,QAAQ,SAAS,GAAG;AACxI,wBAAmB,IAAI,MAAM,IAAI;MAChC;AACF,WAAO,KAAK,mBAAmB,CAAC,QAAQ,SAAS,GAAG;KACnD,IAAI;AACJ,SAAI,EAAE,SAAS,EAAG,KAAI,IAAI,OAAO,QAAQ,YAAY,EAAE,GAAG,OAAO,KAAK;SACjE,KAAI,IAAI,OAAO,YAAY,EAAE,EAAE,KAAK;AACzC,aAAQ,MAAM,QAAQ,GAAG,mBAAmB,GAAG;MAC9C;AACF,SAAK,MAAM,mBAAoB,iBAAgB;;AAEhD,mBAAgB;AAChB,kBAAe,YAAY,aAAa;AACxC,WAAQ,MAAM,QAAQ,gBAAgB,GAAG;AACzC,uBAAoB;AACpB,wBAAqB;AACrB,QAAK,IAAI,GAAG,IAAI,MAAM,QAAQ,IAAI,GAAG,KAAK;AACzC,SAAK,MAAM;AACX,QAAI,qBAAqB,IAAI,mBAAmB,CAAE,qBAAoB;aAC7D,SAAS,KAAK;AACtB,UAAK,qBAAqB,SAAS,IAAI,MAAM,cAAc,GAAG,MAAM,SAAS,MAAM,SAAS;AAC5F,yBAAoB;eACV,MAAM,SAAS;AACzB,SAAI,IAAI,IAAI,KAAK,mBAAmB,QAAQ,MAAM,IAAI,GAAG,IAAI,GAAG;AAC/D,uBAAiB;AACjB,WAAK;gBACK,uBAAuB,MAAM;AACvC,WAAK,WAAW,iBAAiB,QAAQ;AACzC,sBAAgB;WACV,MAAK,qBAAqB,QAAQ,IAAI,MAAM,cAAc,GAAG,MAAM,QAAQ,MAAM,QAAQ;AAChG,yBAAoB;AACpB,0BAAqB;eACX,MAAM,YAAY;AAC5B,sBAAiB;AACjB,UAAK;AACL,SAAI,MAAM,IAAI,EAAG,MAAK,WAAW;AACjC,0BAAqB;eACX,OAAO,OAAO,EAAE,YAAY,UAAU,QAAQ,GAAG,KAAK,OAAO,EAAE,mBAAmB,iBAAiB,QAAQ,GAAG,KAAK,KAAK;AAClI,UAAK,qBAAqB,OAAO,OAAO,GAAG,CAAC,MAAM,cAAc,GAAG,YAAY,OAAO,MAAM,OAAO;AACnG,WAAM,MAAM,IAAI,OAAO,KAAK,KAAK,MAAM,IAAI,GAAG,MAAM,cAAc,GAAG,YAAY;AACjF,yBAAoB;WACd;AACN,SAAI,uBAAuB,MAAM;AAChC,WAAK,WAAW,iBAAiB;AACjC,sBAAgB;AAChB,2BAAqB;gBACX,sBAAsB,cAAc,KAAK,GAAG,IAAI,OAAO,OAAO,GAAG,CAAC,MAAM,aAAa,EAAG,MAAK,MAAM;AAC9G,yBAAoB;;AAErB,cAAU,GAAG,QAAQ,IAAI,OAAO,aAAa,eAAe,OAAO,IAAI,EAAE,UAAU;;AAEpF,OAAI,UAAW,UAAS,OAAO,QAAQ,cAAc,SAAS,GAAG,GAAG,GAAG;IACtE,IAAI,IAAI,EAAE,aAAa,IAAI,MAAM,OAAO,IAAI;AAC5C,WAAO,OAAO,KAAK,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,IAAI,IAAI,EAAE,aAAa;KACxF;AACF,YAAS,OAAO,QAAQ,QAAQ,UAAU,CAAC,QAAQ,IAAI,OAAO,OAAO,YAAY,KAAK,IAAI,EAAE,UAAU,CAAC,QAAQ,IAAI,OAAO,SAAS,YAAY,SAAS,YAAY,OAAO,IAAI,EAAE,GAAG;AACpL,OAAI,YAAY,OAAO,SAAS,UAAU;AACzC,YAAQ,OAAO,OAAO,SAAS,KAAK;AACpC,aAAS,OAAO,MAAM,GAAG,SAAS;AAClC,QAAI,CAAC,MAAO,UAAS,OAAO,MAAM,GAAG,OAAO,YAAY,UAAU,CAAC;;AAEpE,OAAI,CAAC,gBAAgB,CAAC,UAAW,UAAS,OAAO,aAAa;AAC9D,UAAO;;;;;;;EAOR,IAAI,aAAa,SAAS,WAAW,MAAM;;;;;;AAM1C,UAAO,SAAS,kBAAkB,OAAO;AACxC,WAAO,QAAQ,OAAO,KAAK;;;;;;;EAO7B,IAAI,cAAc,SAAS,YAAY,OAAO;AAC7C,UAAO,MAAM,QAAQ,0BAA0B,OAAO;;;;;;;EAOvD,IAAI,uBAAuB,SAAS,IAAI,oBAAoB;AAC3D,QAAK,IAAI,KAAK,mBAAoB,KAAI,mBAAmB,OAAO,GAAI,QAAO;;AAE5E,MAAI,OAAO,WAAW,eAAe,OAAO,SAAS;AACpD,UAAO,UAAU;AACjB,UAAO,QAAQ,aAAa;aAClB,OAAO,WAAW,eAAe,OAAO,IAAK,QAAO,EAAE,EAAE,WAAW;AAC7E,UAAO;IACN;MACG,KAAI;AACR,OAAI,KAAK,WAAW,KAAK,WAAY,OAAM;QACtC;AACJ,SAAK,UAAU;AACf,SAAK,aAAa;;WAEX,GAAG;IACV,QAAQ;GACT;CAG+D,gCAAgB,SAAS,WAAW;AACrG,QAAO,UAAU,uBAAuB;GACtC,GAAG;AACgB,OAAO,0CAA0C;CACtE,IAAI;CACJ,wBAAwB,IAAI,KAAK;CACjC;AAoMD,SAAS,0BAA0B,IAAI;AACtC,QAAO,IAAI,SAAS,YAAY;AAC/B,MAAI,cAAc,aAAa,cAAc,iBAAiB;AAC7D,OAAI;AACJ,YAAS;AACT;;AAED,kBAAgB,MAAM,KAAK,0BAA0B,6BAA6B,EAAE,YAAY;AAC/F,OAAI,MAAM,aAAa,MAAM,iBAAiB;AAC7C,QAAI;AACJ,aAAS;;IAET;GACD;;AAIH,SAAS,mBAAmB,OAAO;AAClC,eAAc,sBAAsB,SAAS,CAAC,cAAc;AAC5D,KAAI,CAAC,SAAS,gBAAgB,MAAO,wBAAuB,gBAAgB,MAAM,IAAI;;AA0HvF,SAAS,6BAA6B,QAAQ;AAC7C,eAAc,yBAAyB;EACtC,GAAG,cAAc;EACjB,GAAG;EACH;AACD,oBAAmB,CAAC,OAAO,OAAO,cAAc,uBAAuB,CAAC,KAAK,QAAQ,CAAC;;AAEvF,OAAO,4CAA4C;AAGnD,IAAI,kBAAkB,MAAM;CAC3B,cAAc;AACb,OAAK,6BAA6B,IAAI,KAAK;AAC3C,OAAK,6BAA6B,IAAI,KAAK;;CAE5C,IAAI,KAAK,OAAO;AACf,OAAK,WAAW,IAAI,KAAK,MAAM;AAC/B,OAAK,WAAW,IAAI,OAAO,IAAI;;CAEhC,SAAS,KAAK;AACb,SAAO,KAAK,WAAW,IAAI,IAAI;;CAEhC,WAAW,OAAO;AACjB,SAAO,KAAK,WAAW,IAAI,MAAM;;CAElC,QAAQ;AACP,OAAK,WAAW,OAAO;AACvB,OAAK,WAAW,OAAO;;;AAKzB,IAAI,WAAW,MAAM;CACpB,YAAY,oBAAoB;AAC/B,OAAK,qBAAqB;AAC1B,OAAK,KAAK,IAAI,iBAAiB;;CAEhC,SAAS,OAAO,YAAY;AAC3B,MAAI,KAAK,GAAG,WAAW,MAAM,CAAE;AAC/B,MAAI,CAAC,WAAY,cAAa,KAAK,mBAAmB,MAAM;AAC5D,OAAK,GAAG,IAAI,YAAY,MAAM;;CAE/B,QAAQ;AACP,OAAK,GAAG,OAAO;;CAEhB,cAAc,OAAO;AACpB,SAAO,KAAK,GAAG,WAAW,MAAM;;CAEjC,SAAS,YAAY;AACpB,SAAO,KAAK,GAAG,SAAS,WAAW;;;AAKrC,IAAI,gBAAgB,cAAc,SAAS;CAC1C,cAAc;AACb,SAAO,MAAM,EAAE,KAAK;AACpB,OAAK,sCAAsC,IAAI,KAAK;;CAErD,SAAS,OAAO,SAAS;AACxB,MAAI,OAAO,YAAY,UAAU;AAChC,OAAI,QAAQ,WAAY,MAAK,oBAAoB,IAAI,OAAO,QAAQ,WAAW;AAC/E,SAAM,SAAS,OAAO,QAAQ,WAAW;QACnC,OAAM,SAAS,OAAO,QAAQ;;CAEtC,gBAAgB,OAAO;AACtB,SAAO,KAAK,oBAAoB,IAAI,MAAM;;;AAK5C,SAAS,YAAY,QAAQ;AAC5B,KAAI,YAAY,OAAQ,QAAO,OAAO,OAAO,OAAO;CACpD,MAAM,SAAS,EAAE;AACjB,MAAK,MAAM,OAAO,OAAQ,KAAI,OAAO,eAAe,IAAI,CAAE,QAAO,KAAK,OAAO,KAAK;AAClF,QAAO;;AAER,SAAS,KAAK,QAAQ,WAAW;CAChC,MAAM,SAAS,YAAY,OAAO;AAClC,KAAI,UAAU,OAAQ,QAAO,OAAO,KAAK,UAAU;CACnD,MAAM,iBAAiB;AACvB,MAAK,IAAI,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;EAC/C,MAAM,QAAQ,eAAe;AAC7B,MAAI,UAAU,MAAM,CAAE,QAAO;;;AAG/B,SAAS,QAAQ,QAAQ,KAAK;AAC7B,QAAO,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC;;AAElE,SAAS,SAAS,KAAK,OAAO;AAC7B,QAAO,IAAI,QAAQ,MAAM,KAAK;;AAE/B,SAAS,QAAQ,QAAQ,WAAW;AACnC,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACvC,MAAM,QAAQ,OAAO;AACrB,MAAI,UAAU,MAAM,CAAE,QAAO;;;AAK/B,IAAI,4BAA4B,MAAM;CACrC,cAAc;AACb,OAAK,cAAc,EAAE;;CAEtB,SAAS,aAAa;AACrB,OAAK,YAAY,YAAY,QAAQ;;CAEtC,eAAe,GAAG;AACjB,SAAO,KAAK,KAAK,cAAc,gBAAgB,YAAY,aAAa,EAAE,CAAC;;CAE5E,WAAW,MAAM;AAChB,SAAO,KAAK,YAAY;;;AAK1B,IAAM,aAAa,YAAY,OAAO,UAAU,SAAS,KAAK,QAAQ,CAAC,MAAM,GAAG,GAAG;AACnF,IAAM,iBAAiB,YAAY,OAAO,YAAY;AACtD,IAAM,YAAY,YAAY,YAAY;AAC1C,IAAM,mBAAmB,YAAY;AACpC,KAAI,OAAO,YAAY,YAAY,YAAY,KAAM,QAAO;AAC5D,KAAI,YAAY,OAAO,UAAW,QAAO;AACzC,KAAI,OAAO,eAAe,QAAQ,KAAK,KAAM,QAAO;AACpD,QAAO,OAAO,eAAe,QAAQ,KAAK,OAAO;;AAElD,IAAM,iBAAiB,YAAY,gBAAgB,QAAQ,IAAI,OAAO,KAAK,QAAQ,CAAC,WAAW;AAC/F,IAAM,aAAa,YAAY,MAAM,QAAQ,QAAQ;AACrD,IAAM,YAAY,YAAY,OAAO,YAAY;AACjD,IAAM,YAAY,YAAY,OAAO,YAAY,YAAY,CAAC,MAAM,QAAQ;AAC5E,IAAM,aAAa,YAAY,OAAO,YAAY;AAClD,IAAM,YAAY,YAAY,mBAAmB;AACjD,IAAM,SAAS,YAAY,mBAAmB;AAC9C,IAAM,SAAS,YAAY,mBAAmB;AAC9C,IAAM,YAAY,YAAY,UAAU,QAAQ,KAAK;AACrD,IAAM,UAAU,YAAY,mBAAmB,QAAQ,CAAC,MAAM,QAAQ,SAAS,CAAC;AAChF,IAAM,WAAW,YAAY,mBAAmB;AAChD,IAAM,cAAc,YAAY,OAAO,YAAY,YAAY,MAAM,QAAQ;AAC7E,IAAM,eAAe,YAAY,UAAU,QAAQ,IAAI,SAAS,QAAQ,IAAI,cAAc,QAAQ,IAAI,SAAS,QAAQ,IAAI,SAAS,QAAQ,IAAI,SAAS,QAAQ;AACjK,IAAM,YAAY,YAAY,OAAO,YAAY;AACjD,IAAM,cAAc,YAAY,YAAY,YAAY,YAAY;AACpE,IAAM,gBAAgB,YAAY,YAAY,OAAO,QAAQ,IAAI,EAAE,mBAAmB;AACtF,IAAM,SAAS,YAAY,mBAAmB;AAG9C,IAAM,aAAa,QAAQ,IAAI,QAAQ,OAAO,MAAM;AACpD,IAAM,iBAAiB,SAAS,KAAK,IAAI,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,IAAI;AACzE,IAAM,aAAa,WAAW;CAC7B,MAAM,SAAS,EAAE;CACjB,IAAI,UAAU;AACd,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACvC,IAAI,OAAO,OAAO,OAAO,EAAE;AAC3B,MAAI,SAAS,QAAQ,OAAO,OAAO,IAAI,EAAE,KAAK,KAAK;AAClD,cAAW;AACX;AACA;;AAED,MAAI,SAAS,KAAK;AACjB,UAAO,KAAK,QAAQ;AACpB,aAAU;AACV;;AAED,aAAW;;CAEZ,MAAM,cAAc;AACpB,QAAO,KAAK,YAAY;AACxB,QAAO;;AAIR,SAAS,qBAAqB,cAAc,YAAY,WAAW,aAAa;AAC/E,QAAO;EACN;EACA;EACA;EACA;EACA;;AAEF,IAAM,cAAc;CACnB,qBAAqB,eAAe,mBAAmB,YAAY,KAAK,EAAE;CAC1E,qBAAqB,UAAU,WAAW,MAAM,EAAE,UAAU,GAAG,MAAM;AACpE,MAAI,OAAO,WAAW,YAAa,QAAO,OAAO,EAAE;AACnD,UAAQ,MAAM,gCAAgC;AAC9C,SAAO;GACN;CACF,qBAAqB,QAAQ,SAAS,MAAM,EAAE,aAAa,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;CAChF,qBAAqB,SAAS,UAAU,GAAG,cAAc;EACxD,MAAM,YAAY;GACjB,MAAM,EAAE;GACR,SAAS,EAAE;GACX;AACD,YAAU,kBAAkB,SAAS,SAAS;AAC7C,aAAU,QAAQ,EAAE;IACnB;AACF,SAAO;KACJ,GAAG,cAAc;EACpB,MAAM,IAAI,IAAI,MAAM,EAAE,QAAQ;AAC9B,IAAE,OAAO,EAAE;AACX,IAAE,QAAQ,EAAE;AACZ,YAAU,kBAAkB,SAAS,SAAS;AAC7C,KAAE,QAAQ,EAAE;IACX;AACF,SAAO;GACN;CACF,qBAAqB,UAAU,WAAW,MAAM,KAAK,IAAI,UAAU;EAClE,MAAM,OAAO,MAAM,MAAM,GAAG,MAAM,YAAY,IAAI,CAAC;EACnD,MAAM,QAAQ,MAAM,MAAM,MAAM,YAAY,IAAI,GAAG,EAAE;AACrD,SAAO,IAAI,OAAO,MAAM,MAAM;GAC7B;CACF,qBAAqB,OAAO,QAAQ,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;CAC7E,qBAAqB,OAAO,QAAQ,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;CAC9E,sBAAsB,MAAM,WAAW,EAAE,IAAI,WAAW,EAAE,EAAE,WAAW,MAAM;AAC5E,MAAI,WAAW,EAAE,CAAE,QAAO;AAC1B,MAAI,IAAI,EAAG,QAAO;MACb,QAAO;IACV,OAAO;CACV,sBAAsB,MAAM,MAAM,KAAK,IAAI,MAAM,WAAW,gBAAgB;AAC3E,SAAO;IACL,OAAO;CACV,qBAAqB,OAAO,QAAQ,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;CAC1E;AACD,SAAS,wBAAwB,cAAc,YAAY,WAAW,aAAa;AAClF,QAAO;EACN;EACA;EACA;EACA;EACA;;AAEF,IAAM,aAAa,yBAAyB,GAAG,cAAc;AAC5D,KAAI,SAAS,EAAE,CAAE,QAAO,CAAC,CAAC,UAAU,eAAe,cAAc,EAAE;AACnE,QAAO;IACJ,GAAG,cAAc;AACpB,QAAO,CAAC,UAAU,UAAU,eAAe,cAAc,EAAE,CAAC;IACzD,MAAM,EAAE,cAAc,GAAG,GAAG,cAAc;CAC7C,MAAM,QAAQ,UAAU,eAAe,SAAS,EAAE,GAAG;AACrD,KAAI,CAAC,MAAO,OAAM,IAAI,MAAM,uCAAuC;AACnE,QAAO;EACN;AACF,IAAM,oBAAoB;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,CAAC,QAAQ,KAAK,SAAS;AACvB,KAAI,KAAK,QAAQ;AACjB,QAAO;GACL,EAAE,CAAC;AACN,IAAM,iBAAiB,wBAAwB,eAAe,MAAM,CAAC,eAAe,EAAE,YAAY,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;CACjI,MAAM,OAAO,kBAAkB,EAAE;AACjC,KAAI,CAAC,KAAM,OAAM,IAAI,MAAM,4CAA4C;AACvE,QAAO,IAAI,KAAK,EAAE;EACjB;AACF,SAAS,4BAA4B,gBAAgB,WAAW;AAC/D,KAAI,gBAAgB,YAAa,QAAO,CAAC,CAAC,UAAU,cAAc,cAAc,eAAe,YAAY;AAC3G,QAAO;;AAER,IAAM,YAAY,wBAAwB,8BAA8B,OAAO,cAAc;AAC5F,QAAO,CAAC,SAAS,UAAU,cAAc,cAAc,MAAM,YAAY,CAAC;IACvE,OAAO,cAAc;CACxB,MAAM,eAAe,UAAU,cAAc,gBAAgB,MAAM,YAAY;AAC/E,KAAI,CAAC,aAAc,QAAO,EAAE,GAAG,OAAO;CACtC,MAAM,SAAS,EAAE;AACjB,cAAa,SAAS,SAAS;AAC9B,SAAO,QAAQ,MAAM;GACpB;AACF,QAAO;IACJ,GAAG,GAAG,cAAc;CACvB,MAAM,QAAQ,UAAU,cAAc,SAAS,EAAE,GAAG;AACpD,KAAI,CAAC,MAAO,OAAM,IAAI,MAAM,wCAAwC,EAAE,GAAG,mFAAmF;AAC5J,QAAO,OAAO,OAAO,OAAO,OAAO,MAAM,UAAU,EAAE,EAAE;EACtD;AACF,IAAM,aAAa,yBAAyB,OAAO,cAAc;AAChE,QAAO,CAAC,CAAC,UAAU,0BAA0B,eAAe,MAAM;IAC/D,OAAO,cAAc;AACxB,QAAO,CAAC,UAAU,UAAU,0BAA0B,eAAe,MAAM,CAAC,KAAK;IAC9E,OAAO,cAAc;AACxB,QAAO,UAAU,0BAA0B,eAAe,MAAM,CAAC,UAAU,MAAM;IAC9E,GAAG,GAAG,cAAc;CACvB,MAAM,cAAc,UAAU,0BAA0B,WAAW,EAAE,GAAG;AACxE,KAAI,CAAC,YAAa,OAAM,IAAI,MAAM,6CAA6C;AAC/E,QAAO,YAAY,YAAY,EAAE;EAChC;AACF,IAAM,iBAAiB;CACtB;CACA;CACA;CACA;CACA;AACD,IAAM,kBAAkB,OAAO,cAAc;CAC5C,MAAM,0BAA0B,QAAQ,iBAAiB,SAAS,KAAK,aAAa,OAAO,UAAU,CAAC;AACtG,KAAI,wBAAyB,QAAO;EACnC,OAAO,wBAAwB,UAAU,OAAO,UAAU;EAC1D,MAAM,wBAAwB,WAAW,OAAO,UAAU;EAC1D;CACD,MAAM,uBAAuB,QAAQ,cAAc,SAAS,KAAK,aAAa,OAAO,UAAU,CAAC;AAChG,KAAI,qBAAsB,QAAO;EAChC,OAAO,qBAAqB,UAAU,OAAO,UAAU;EACvD,MAAM,qBAAqB;EAC3B;;AAEF,IAAM,0BAA0B,EAAE;AAClC,YAAY,SAAS,SAAS;AAC7B,yBAAwB,KAAK,cAAc;EAC1C;AACF,IAAM,oBAAoB,MAAM,MAAM,cAAc;AACnD,KAAI,UAAU,KAAK,CAAE,SAAQ,KAAK,IAAb;EACpB,KAAK,SAAU,QAAO,WAAW,YAAY,MAAM,MAAM,UAAU;EACnE,KAAK,QAAS,QAAO,UAAU,YAAY,MAAM,MAAM,UAAU;EACjE,KAAK,SAAU,QAAO,WAAW,YAAY,MAAM,MAAM,UAAU;EACnE,KAAK,cAAe,QAAO,eAAe,YAAY,MAAM,MAAM,UAAU;EAC5E,QAAS,OAAM,IAAI,MAAM,6BAA6B,KAAK;;MAEvD;EACJ,MAAM,iBAAiB,wBAAwB;AAC/C,MAAI,CAAC,eAAgB,OAAM,IAAI,MAAM,6BAA6B,KAAK;AACvE,SAAO,eAAe,YAAY,MAAM,UAAU;;;AAKpD,IAAM,aAAa,OAAO,MAAM;AAC/B,KAAI,IAAI,MAAM,KAAM,OAAM,IAAI,MAAM,sBAAsB;CAC1D,MAAM,OAAO,MAAM,MAAM;AACzB,QAAO,IAAI,GAAG;AACb,OAAK,MAAM;AACX;;AAED,QAAO,KAAK,MAAM,CAAC;;AAEpB,SAAS,aAAa,MAAM;AAC3B,KAAI,SAAS,MAAM,YAAY,CAAE,OAAM,IAAI,MAAM,yCAAyC;AAC1F,KAAI,SAAS,MAAM,YAAY,CAAE,OAAM,IAAI,MAAM,yCAAyC;AAC1F,KAAI,SAAS,MAAM,cAAc,CAAE,OAAM,IAAI,MAAM,2CAA2C;;AAE/F,IAAM,WAAW,QAAQ,SAAS;AACjC,cAAa,KAAK;AAClB,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACrC,MAAM,MAAM,KAAK;AACjB,MAAI,MAAM,OAAO,CAAE,UAAS,UAAU,QAAQ,CAAC,IAAI;WAC1C,MAAM,OAAO,EAAE;GACvB,MAAM,MAAM,CAAC;GACb,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ;GACxC,MAAM,WAAW,UAAU,QAAQ,IAAI;AACvC,WAAQ,MAAR;IACC,KAAK;AACJ,cAAS;AACT;IACD,KAAK;AACJ,cAAS,OAAO,IAAI,SAAS;AAC7B;;QAEI,UAAS,OAAO;;AAExB,QAAO;;AAER,IAAM,WAAW,QAAQ,MAAM,WAAW;AACzC,cAAa,KAAK;AAClB,KAAI,KAAK,WAAW,EAAG,QAAO,OAAO,OAAO;CAC5C,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,SAAS,GAAG,KAAK;EACzC,MAAM,MAAM,KAAK;AACjB,MAAI,UAAU,OAAO,EAAE;GACtB,MAAM,QAAQ,CAAC;AACf,YAAS,OAAO;aACN,gBAAgB,OAAO,CAAE,UAAS,OAAO;WAC3C,MAAM,OAAO,EAAE;GACvB,MAAM,MAAM,CAAC;AACb,YAAS,UAAU,QAAQ,IAAI;aACrB,MAAM,OAAO,EAAE;AACzB,OAAI,MAAM,KAAK,SAAS,EAAG;GAC3B,MAAM,MAAM,CAAC;GACb,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ;GACxC,MAAM,WAAW,UAAU,QAAQ,IAAI;AACvC,WAAQ,MAAR;IACC,KAAK;AACJ,cAAS;AACT;IACD,KAAK;AACJ,cAAS,OAAO,IAAI,SAAS;AAC7B;;;;CAIJ,MAAM,UAAU,KAAK,KAAK,SAAS;AACnC,KAAI,UAAU,OAAO,CAAE,QAAO,CAAC,WAAW,OAAO,OAAO,CAAC,SAAS;UACzD,gBAAgB,OAAO,CAAE,QAAO,WAAW,OAAO,OAAO,SAAS;AAC3E,KAAI,MAAM,OAAO,EAAE;EAClB,MAAM,WAAW,UAAU,QAAQ,CAAC,QAAQ;EAC5C,MAAM,WAAW,OAAO,SAAS;AACjC,MAAI,aAAa,UAAU;AAC1B,UAAO,OAAO,SAAS;AACvB,UAAO,IAAI,SAAS;;;AAGtB,KAAI,MAAM,OAAO,EAAE;EAClB,MAAM,MAAM,CAAC,KAAK,KAAK,SAAS;EAChC,MAAM,WAAW,UAAU,QAAQ,IAAI;AACvC,UAAQ,CAAC,YAAY,IAAI,QAAQ,SAAjC;GACC,KAAK,OAAO;IACX,MAAM,SAAS,OAAO,SAAS;AAC/B,WAAO,IAAI,QAAQ,OAAO,IAAI,SAAS,CAAC;AACxC,QAAI,WAAW,SAAU,QAAO,OAAO,SAAS;AAChD;;GAED,KAAK;AACJ,WAAO,IAAI,UAAU,OAAO,OAAO,IAAI,SAAS,CAAC,CAAC;AAClD;;;AAGH,QAAO;;AAIR,SAAS,SAAS,MAAM,QAAQ,SAAS,EAAE,EAAE;AAC5C,KAAI,CAAC,KAAM;AACX,KAAI,CAAC,UAAU,KAAK,EAAE;AACrB,UAAQ,OAAO,SAAS,QAAQ,SAAS,SAAS,QAAQ,CAAC,GAAG,QAAQ,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC;AAC1F;;CAED,MAAM,CAAC,WAAW,YAAY;AAC9B,KAAI,SAAU,SAAQ,WAAW,OAAO,QAAQ;AAC/C,WAAS,OAAO,QAAQ,CAAC,GAAG,QAAQ,GAAG,UAAU,IAAI,CAAC,CAAC;GACtD;AACF,QAAO,WAAW,OAAO;;AAE1B,SAAS,sBAAsB,OAAO,aAAa,WAAW;AAC7D,UAAS,cAAc,MAAM,SAAS;AACrC,UAAQ,QAAQ,OAAO,OAAO,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC;GACxE;AACF,QAAO;;AAER,SAAS,oCAAoC,OAAO,aAAa;CAChE,SAAS,MAAM,gBAAgB,MAAM;EACpC,MAAM,SAAS,QAAQ,OAAO,UAAU,KAAK,CAAC;AAC9C,iBAAe,IAAI,UAAU,CAAC,SAAS,wBAAwB;AAC9D,WAAQ,QAAQ,OAAO,2BAA2B,OAAO;IACxD;;AAEH,KAAI,UAAU,YAAY,EAAE;EAC3B,MAAM,CAAC,MAAM,SAAS;AACtB,OAAK,SAAS,kBAAkB;AAC/B,WAAQ,QAAQ,OAAO,UAAU,cAAc,QAAQ,MAAM;IAC5D;AACF,MAAI,MAAO,SAAQ,OAAO,MAAM;OAC1B,SAAQ,aAAa,MAAM;AAClC,QAAO;;AAER,IAAM,UAAU,QAAQ,cAAc,gBAAgB,OAAO,IAAI,UAAU,OAAO,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO,IAAI,4BAA4B,QAAQ,UAAU;AACtK,SAAS,YAAY,QAAQ,MAAM,YAAY;CAC9C,MAAM,cAAc,WAAW,IAAI,OAAO;AAC1C,KAAI,YAAa,aAAY,KAAK,KAAK;KAClC,YAAW,IAAI,QAAQ,CAAC,KAAK,CAAC;;AAEpC,SAAS,uCAAuC,aAAa,QAAQ;CACpE,MAAM,SAAS,EAAE;CACjB,IAAI,oBAAoB,KAAK;AAC7B,aAAY,SAAS,UAAU;AAC9B,MAAI,MAAM,UAAU,EAAG;AACvB,MAAI,CAAC,OAAQ,SAAQ,MAAM,KAAK,SAAS,KAAK,IAAI,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,OAAO;EAC9F,MAAM,CAAC,oBAAoB,GAAG,kBAAkB;AAChD,MAAI,mBAAmB,WAAW,EAAG,qBAAoB,eAAe,IAAI,cAAc;MACrF,QAAO,cAAc,mBAAmB,IAAI,eAAe,IAAI,cAAc;GACjF;AACF,KAAI,kBAAmB,KAAI,cAAc,OAAO,CAAE,QAAO,CAAC,kBAAkB;KACvE,QAAO,CAAC,mBAAmB,OAAO;KAClC,QAAO,cAAc,OAAO,GAAG,KAAK,IAAI;;AAE9C,IAAM,UAAU,QAAQ,YAAY,WAAW,QAAQ,OAAO,EAAE,EAAE,oBAAoB,EAAE,EAAE,8BAA8B,IAAI,KAAK,KAAK;CACrI,MAAM,YAAY,YAAY,OAAO;AACrC,KAAI,CAAC,WAAW;AACf,cAAY,QAAQ,MAAM,WAAW;EACrC,MAAM,OAAO,YAAY,IAAI,OAAO;AACpC,MAAI,KAAM,QAAO,SAAS,EAAE,kBAAkB,MAAM,GAAG;;AAExD,KAAI,CAAC,OAAO,QAAQ,UAAU,EAAE;EAC/B,MAAM,cAAc,eAAe,QAAQ,UAAU;EACrD,MAAM,SAAS,cAAc;GAC5B,kBAAkB,YAAY;GAC9B,aAAa,CAAC,YAAY,KAAK;GAC/B,GAAG,EAAE,kBAAkB,QAAQ;AAChC,MAAI,CAAC,UAAW,aAAY,IAAI,QAAQ,OAAO;AAC/C,SAAO;;AAER,KAAI,SAAS,mBAAmB,OAAO,CAAE,QAAO,EAAE,kBAAkB,MAAM;CAC1E,MAAM,uBAAuB,eAAe,QAAQ,UAAU;CAC9D,MAAM,cAAc,sBAAsB,SAAS;CACnD,MAAM,mBAAmB,UAAU,YAAY,GAAG,EAAE,GAAG,EAAE;CACzD,MAAM,mBAAmB,EAAE;AAC3B,SAAQ,cAAc,OAAO,UAAU;AACtC,MAAI,UAAU,eAAe,UAAU,iBAAiB,UAAU,YAAa,OAAM,IAAI,MAAM,qBAAqB,MAAM,0EAA0E;EACpM,MAAM,kBAAkB,OAAO,OAAO,YAAY,WAAW,QAAQ,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,GAAG,mBAAmB,OAAO,EAAE,YAAY;AACnI,mBAAiB,SAAS,gBAAgB;AAC1C,MAAI,UAAU,gBAAgB,YAAY,CAAE,kBAAiB,SAAS,gBAAgB;WAC7E,gBAAgB,gBAAgB,YAAY,CAAE,SAAQ,gBAAgB,cAAc,MAAM,QAAQ;AAC1G,oBAAiB,UAAU,MAAM,GAAG,MAAM,OAAO;IAChD;GACD;CACF,MAAM,SAAS,cAAc,iBAAiB,GAAG;EAChD;EACA,aAAa,CAAC,CAAC,uBAAuB,CAAC,qBAAqB,KAAK,GAAG,KAAK;EACzE,GAAG;EACH;EACA,aAAa,CAAC,CAAC,uBAAuB,CAAC,qBAAqB,MAAM,iBAAiB,GAAG;EACtF;AACD,KAAI,CAAC,UAAW,aAAY,IAAI,QAAQ,OAAO;AAC/C,QAAO;;AAIR,SAAS,QAAQ,SAAS;AACzB,QAAO,OAAO,UAAU,SAAS,KAAK,QAAQ,CAAC,MAAM,GAAG,GAAG;;AAE5D,SAAS,UAAU,SAAS;AAC3B,QAAO,QAAQ,QAAQ,KAAK;;AAE7B,SAAS,gBAAgB,SAAS;AACjC,KAAI,QAAQ,QAAQ,KAAK,SAAU,QAAO;CAC1C,MAAM,YAAY,OAAO,eAAe,QAAQ;AAChD,QAAO,CAAC,CAAC,aAAa,UAAU,gBAAgB,UAAU,cAAc,OAAO;;AAEhF,SAAS,OAAO,SAAS;AACxB,QAAO,QAAQ,QAAQ,KAAK;;AAE7B,SAAS,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG;AAC/B,SAAQ,UAAU,EAAE,MAAM,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM;;AAEhG,SAAS,YAAY,SAAS;AAC7B,QAAO,QAAQ,QAAQ,KAAK;;AAE7B,QAAQ,QAAQ,YAAY;AAG5B,SAAS,WAAW,OAAO,KAAK,QAAQ,gBAAgB,sBAAsB;CAC7E,MAAM,WAAW,EAAE,CAAC,qBAAqB,KAAK,gBAAgB,IAAI,GAAG,eAAe;AACpF,KAAI,aAAa,aAAc,OAAM,OAAO;AAC5C,KAAI,wBAAwB,aAAa,gBAAiB,QAAO,eAAe,OAAO,KAAK;EAC3F,OAAO;EACP,YAAY;EACZ,UAAU;EACV,cAAc;EACd,CAAC;;AAEH,SAAS,KAAK,QAAQ,UAAU,EAAE,EAAE;AACnC,KAAI,UAAU,OAAO,CAAE,QAAO,OAAO,KAAK,SAAS,KAAK,MAAM,QAAQ,CAAC;AACvE,KAAI,CAAC,gBAAgB,OAAO,CAAE,QAAO;CACrC,MAAM,QAAQ,OAAO,oBAAoB,OAAO;CAChD,MAAM,UAAU,OAAO,sBAAsB,OAAO;AACpD,QAAO,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,QAAQ,OAAO,QAAQ;AACpD,MAAI,UAAU,QAAQ,MAAM,IAAI,CAAC,QAAQ,MAAM,SAAS,IAAI,CAAE,QAAO;EACrE,MAAM,MAAM,OAAO;AACnB,aAAW,OAAO,KAAK,KAAK,KAAK,QAAQ,EAAE,QAAQ,QAAQ,cAAc;AACzE,SAAO;IACL,EAAE,CAAC;;AAIP,IAAI,YAAY,MAAM;;;;CAIrB,YAAY,EAAE,SAAS,UAAU,EAAE,EAAE;AACpC,OAAK,gBAAgB,IAAI,eAAe;AACxC,OAAK,iBAAiB,IAAI,UAAU,MAAM,EAAE,eAAe,GAAG;AAC9D,OAAK,4BAA4B,IAAI,2BAA2B;AAChE,OAAK,oBAAoB,EAAE;AAC3B,OAAK,SAAS;;CAEf,UAAU,QAAQ;EACjB,MAAM,6BAA6B,IAAI,KAAK;EAC5C,MAAM,SAAS,OAAO,QAAQ,YAAY,MAAM,KAAK,OAAO;EAC5D,MAAM,MAAM,EAAE,MAAM,OAAO,kBAAkB;AAC7C,MAAI,OAAO,YAAa,KAAI,OAAO;GAClC,GAAG,IAAI;GACP,QAAQ,OAAO;GACf;EACD,MAAM,sBAAsB,uCAAuC,YAAY,KAAK,OAAO;AAC3F,MAAI,oBAAqB,KAAI,OAAO;GACnC,GAAG,IAAI;GACP,uBAAuB;GACvB;AACD,SAAO;;CAER,YAAY,SAAS;EACpB,MAAM,EAAE,MAAM,SAAS;EACvB,IAAI,SAAS,KAAK,KAAK;AACvB,MAAI,MAAM,OAAQ,UAAS,sBAAsB,QAAQ,KAAK,QAAQ,KAAK;AAC3E,MAAI,MAAM,sBAAuB,UAAS,oCAAoC,QAAQ,KAAK,sBAAsB;AACjH,SAAO;;CAER,UAAU,QAAQ;AACjB,SAAO,KAAK,UAAU,KAAK,UAAU,OAAO,CAAC;;CAE9C,MAAM,QAAQ;AACb,SAAO,KAAK,YAAY,KAAK,MAAM,OAAO,CAAC;;CAE5C,cAAc,GAAG,SAAS;AACzB,OAAK,cAAc,SAAS,GAAG,QAAQ;;CAExC,eAAe,GAAG,YAAY;AAC7B,OAAK,eAAe,SAAS,GAAG,WAAW;;CAE5C,eAAe,aAAa,MAAM;AACjC,OAAK,0BAA0B,SAAS;GACvC;GACA,GAAG;GACH,CAAC;;CAEH,gBAAgB,GAAG,OAAO;AACzB,OAAK,kBAAkB,KAAK,GAAG,MAAM;;;AAGvC,UAAU,kBAAkB,IAAI,WAAW;AAC3C,UAAU,YAAY,UAAU,gBAAgB,UAAU,KAAK,UAAU,gBAAgB;AACzF,UAAU,cAAc,UAAU,gBAAgB,YAAY,KAAK,UAAU,gBAAgB;AAC7F,UAAU,YAAY,UAAU,gBAAgB,UAAU,KAAK,UAAU,gBAAgB;AACzF,UAAU,QAAQ,UAAU,gBAAgB,MAAM,KAAK,UAAU,gBAAgB;AACjF,UAAU,gBAAgB,UAAU,gBAAgB,cAAc,KAAK,UAAU,gBAAgB;AACjG,UAAU,iBAAiB,UAAU,gBAAgB,eAAe,KAAK,UAAU,gBAAgB;AACnG,UAAU,iBAAiB,UAAU,gBAAgB,eAAe,KAAK,UAAU,gBAAgB;AACnG,UAAU,kBAAkB,UAAU,gBAAgB,gBAAgB,KAAK,UAAU,gBAAgB;AACrG,UAAU;AACV,UAAU;AACV,UAAU;AACV,UAAU;AACV,UAAU;AACV,UAAU;AACV,UAAU;AACV,UAAU;AA6SV,OAAO,0CAA0C,EAAE;AACnD,OAAO,oCAAoC;AAC3C,OAAO,oCAAoC;AAC3C,OAAO,yCAAyC;AAChD,OAAO,yCAAyC;AAChD,OAAO,8CAA8C"} \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/package.json b/src/.vuepress/.cache/deps/package.json new file mode 100644 index 000000000..3dbc1ca59 --- /dev/null +++ b/src/.vuepress/.cache/deps/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/src/.vuepress/.cache/deps/vue-router.js b/src/.vuepress/.cache/deps/vue-router.js new file mode 100644 index 000000000..65bc55370 --- /dev/null +++ b/src/.vuepress/.cache/deps/vue-router.js @@ -0,0 +1,2697 @@ +import { o as setupDevToolsPlugin } from "./dist-jlnTmUNc.js"; +import { Kn as ref, Nt as onDeactivated, Ot as nextTick, U as computed, Ut as provide, Wn as reactive, Yn as shallowRef, _n as watchEffect, gn as watch, kt as onActivated, nr as unref, nt as defineComponent, pt as h, qn as shallowReactive, ut as getCurrentInstance, xt as inject, zt as onUnmounted } from "./vue.runtime.esm-bundler-CJdF6Oq_.js"; +//#region node_modules/vue-router/dist/useApi-C8XBqGtv.js +/*! +* vue-router v5.0.4 +* (c) 2026 Eduardo San Martin Morote +* @license MIT +*/ +var isBrowser = typeof document !== "undefined"; +/** +* Allows differentiating lazy components from functional components and vue-class-component +* @internal +* +* @param component +*/ +function isRouteComponent(component) { + return typeof component === "object" || "displayName" in component || "props" in component || "__vccOpts" in component; +} +function isESModule(obj) { + return obj.__esModule || obj[Symbol.toStringTag] === "Module" || obj.default && isRouteComponent(obj.default); +} +var assign = Object.assign; +function applyToParams(fn, params) { + const newParams = {}; + for (const key in params) { + const value = params[key]; + newParams[key] = isArray(value) ? value.map(fn) : fn(value); + } + return newParams; +} +var noop = () => {}; +/** +* Typesafe alternative to Array.isArray +* https://github.com/microsoft/TypeScript/pull/48228 +* +* @internal +*/ +var isArray = Array.isArray; +function mergeOptions(defaults, partialOptions) { + const options = {}; + for (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key]; + return options; +} +/** +* Flags so we can combine them when checking for multiple errors. This is the internal version of +* {@link NavigationFailureType}. +* +* @internal +*/ +var ErrorTypes = /* @__PURE__ */ function(ErrorTypes) { + ErrorTypes[ErrorTypes["MATCHER_NOT_FOUND"] = 1] = "MATCHER_NOT_FOUND"; + ErrorTypes[ErrorTypes["NAVIGATION_GUARD_REDIRECT"] = 2] = "NAVIGATION_GUARD_REDIRECT"; + ErrorTypes[ErrorTypes["NAVIGATION_ABORTED"] = 4] = "NAVIGATION_ABORTED"; + ErrorTypes[ErrorTypes["NAVIGATION_CANCELLED"] = 8] = "NAVIGATION_CANCELLED"; + ErrorTypes[ErrorTypes["NAVIGATION_DUPLICATED"] = 16] = "NAVIGATION_DUPLICATED"; + return ErrorTypes; +}({}); +var NavigationFailureSymbol = Symbol("navigation failure"); +/** +* Enumeration with all possible types for navigation failures. Can be passed to +* {@link isNavigationFailure} to check for specific failures. +*/ +var NavigationFailureType = /* @__PURE__ */ function(NavigationFailureType) { + /** + * An aborted navigation is a navigation that failed because a navigation + * guard returned `false` or called `next(false)` + */ + NavigationFailureType[NavigationFailureType["aborted"] = 4] = "aborted"; + /** + * A cancelled navigation is a navigation that failed because a more recent + * navigation finished started (not necessarily finished). + */ + NavigationFailureType[NavigationFailureType["cancelled"] = 8] = "cancelled"; + /** + * A duplicated navigation is a navigation that failed because it was + * initiated while already being at the exact same location. + */ + NavigationFailureType[NavigationFailureType["duplicated"] = 16] = "duplicated"; + return NavigationFailureType; +}({}); +var ErrorTypeMessages = { + [ErrorTypes.MATCHER_NOT_FOUND]({ location, currentLocation }) { + return `No match for\n ${JSON.stringify(location)}${currentLocation ? "\nwhile being at\n" + JSON.stringify(currentLocation) : ""}`; + }, + [ErrorTypes.NAVIGATION_GUARD_REDIRECT]({ from, to }) { + return `Redirected from "${from.fullPath}" to "${stringifyRoute(to)}" via a navigation guard.`; + }, + [ErrorTypes.NAVIGATION_ABORTED]({ from, to }) { + return `Navigation aborted from "${from.fullPath}" to "${to.fullPath}" via a navigation guard.`; + }, + [ErrorTypes.NAVIGATION_CANCELLED]({ from, to }) { + return `Navigation cancelled from "${from.fullPath}" to "${to.fullPath}" with a new navigation.`; + }, + [ErrorTypes.NAVIGATION_DUPLICATED]({ from, to }) { + return `Avoided redundant navigation to current location: "${from.fullPath}".`; + } +}; +/** +* Creates a typed NavigationFailure object. +* @internal +* @param type - NavigationFailureType +* @param params - { from, to } +*/ +function createRouterError(type, params) { + return assign(new Error(ErrorTypeMessages[type](params)), { + type, + [NavigationFailureSymbol]: true + }, params); +} +function isNavigationFailure(error, type) { + return error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type)); +} +var propertiesToLog = [ + "params", + "query", + "hash" +]; +function stringifyRoute(to) { + if (typeof to === "string") return to; + if (to.path != null) return to.path; + const location = {}; + for (const key of propertiesToLog) if (key in to) location[key] = to[key]; + return JSON.stringify(location, null, 2); +} +/** +* RouteRecord being rendered by the closest ancestor Router View. Used for +* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View +* Location Matched +* +* @internal +*/ +var matchedRouteKey = Symbol("router view location matched"); +/** +* Allows overriding the router view depth to control which component in +* `matched` is rendered. rvd stands for Router View Depth +* +* @internal +*/ +var viewDepthKey = Symbol("router view depth"); +/** +* Allows overriding the router instance returned by `useRouter` in tests. r +* stands for router +* +* @internal +*/ +var routerKey = Symbol("router"); +/** +* Allows overriding the current route returned by `useRoute` in tests. rl +* stands for route location +* +* @internal +*/ +var routeLocationKey = Symbol("route location"); +/** +* Allows overriding the current route used by router-view. Internally this is +* used when the `route` prop is passed. +* +* @internal +*/ +var routerViewLocationKey = Symbol("router view location"); +/** +* Returns the router instance. Equivalent to using `$router` inside +* templates. +*/ +function useRouter() { + return inject(routerKey); +} +/** +* Returns the current route location. Equivalent to using `$route` inside +* templates. +*/ +function useRoute(_name) { + return inject(routeLocationKey); +} +//#endregion +//#region node_modules/vue-router/dist/devtools-DUDsFuj9.js +/*! +* vue-router v5.0.4 +* (c) 2026 Eduardo San Martin Morote +* @license MIT +*/ +function warn$1(msg) { + const args = Array.from(arguments).slice(1); + console.warn.apply(console, ["[Vue Router warn]: " + msg].concat(args)); +} +/** +* Encoding Rules (␣ = Space) +* - Path: ␣ " < > # ? { } +* - Query: ␣ " < > # & = +* - Hash: ␣ " < > ` +* +* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2) +* defines some extra characters to be encoded. Most browsers do not encode them +* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to +* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`) +* plus `-._~`. This extra safety should be applied to query by patching the +* string returned by encodeURIComponent encodeURI also encodes `[\]^`. `\` +* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\` +* into a `/` if directly typed in. The _backtick_ (`````) should also be +* encoded everywhere because some browsers like FF encode it when directly +* written while others don't. Safari and IE don't encode ``"<>{}``` in hash. +*/ +var HASH_RE = /#/g; +var AMPERSAND_RE = /&/g; +var SLASH_RE = /\//g; +var EQUAL_RE = /=/g; +var IM_RE = /\?/g; +var PLUS_RE = /\+/g; +/** +* NOTE: It's not clear to me if we should encode the + symbol in queries, it +* seems to be less flexible than not doing so and I can't find out the legacy +* systems requiring this for regular requests like text/html. In the standard, +* the encoding of the plus character is only mentioned for +* application/x-www-form-urlencoded +* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo +* leave the plus character as is in queries. To be more flexible, we allow the +* plus character on the query, but it can also be manually encoded by the user. +* +* Resources: +* - https://url.spec.whatwg.org/#urlencoded-parsing +* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20 +*/ +var ENC_BRACKET_OPEN_RE = /%5B/g; +var ENC_BRACKET_CLOSE_RE = /%5D/g; +var ENC_CARET_RE = /%5E/g; +var ENC_BACKTICK_RE = /%60/g; +var ENC_CURLY_OPEN_RE = /%7B/g; +var ENC_PIPE_RE = /%7C/g; +var ENC_CURLY_CLOSE_RE = /%7D/g; +var ENC_SPACE_RE = /%20/g; +/** +* Encode characters that need to be encoded on the path, search and hash +* sections of the URL. +* +* @internal +* @param text - string to encode +* @returns encoded string +*/ +function commonEncode(text) { + return text == null ? "" : encodeURI("" + text).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]"); +} +/** +* Encode characters that need to be encoded on the hash section of the URL. +* +* @param text - string to encode +* @returns encoded string +*/ +function encodeHash(text) { + return commonEncode(text).replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^"); +} +/** +* Encode characters that need to be encoded query values on the query +* section of the URL. +* +* @param text - string to encode +* @returns encoded string +*/ +function encodeQueryValue(text) { + return commonEncode(text).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^"); +} +/** +* Like `encodeQueryValue` but also encodes the `=` character. +* +* @param text - string to encode +*/ +function encodeQueryKey(text) { + return encodeQueryValue(text).replace(EQUAL_RE, "%3D"); +} +/** +* Encode characters that need to be encoded on the path section of the URL. +* +* @param text - string to encode +* @returns encoded string +*/ +function encodePath(text) { + return commonEncode(text).replace(HASH_RE, "%23").replace(IM_RE, "%3F"); +} +/** +* Encode characters that need to be encoded on the path section of the URL as a +* param. This function encodes everything {@link encodePath} does plus the +* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty +* string instead. +* +* @param text - string to encode +* @returns encoded string +*/ +function encodeParam(text) { + return encodePath(text).replace(SLASH_RE, "%2F"); +} +function decode(text) { + if (text == null) return null; + try { + return decodeURIComponent("" + text); + } catch (err) { + warn$1(`Error decoding "${text}". Using original value`); + } + return "" + text; +} +var TRAILING_SLASH_RE = /\/$/; +var removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, ""); +/** +* Transforms a URI into a normalized history location +* +* @param parseQuery +* @param location - URI to normalize +* @param currentLocation - current absolute location. Allows resolving relative +* paths. Must start with `/`. Defaults to `/` +* @returns a normalized history location +*/ +function parseURL(parseQuery, location, currentLocation = "/") { + let path, query = {}, searchString = "", hash = ""; + const hashPos = location.indexOf("#"); + let searchPos = location.indexOf("?"); + searchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos; + if (searchPos >= 0) { + path = location.slice(0, searchPos); + searchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length); + query = parseQuery(searchString.slice(1)); + } + if (hashPos >= 0) { + path = path || location.slice(0, hashPos); + hash = location.slice(hashPos, location.length); + } + path = resolveRelativePath(path != null ? path : location, currentLocation); + return { + fullPath: path + searchString + hash, + path, + query, + hash: decode(hash) + }; +} +/** +* Stringifies a URL object +* +* @param stringifyQuery +* @param location +*/ +function stringifyURL(stringifyQuery, location) { + const query = location.query ? stringifyQuery(location.query) : ""; + return location.path + (query && "?") + query + (location.hash || ""); +} +/** +* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way. +* +* @param pathname - location.pathname +* @param base - base to strip off +*/ +function stripBase(pathname, base) { + if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname; + return pathname.slice(base.length) || "/"; +} +/** +* Checks if two RouteLocation are equal. This means that both locations are +* pointing towards the same {@link RouteRecord} and that all `params`, `query` +* parameters and `hash` are the same +* +* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it. +* @param a - first {@link RouteLocation} +* @param b - second {@link RouteLocation} +*/ +function isSameRouteLocation(stringifyQuery, a, b) { + const aLastIndex = a.matched.length - 1; + const bLastIndex = b.matched.length - 1; + return aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery(a.query) === stringifyQuery(b.query) && a.hash === b.hash; +} +/** +* Check if two `RouteRecords` are equal. Takes into account aliases: they are +* considered equal to the `RouteRecord` they are aliasing. +* +* @param a - first {@link RouteRecord} +* @param b - second {@link RouteRecord} +*/ +function isSameRouteRecord(a, b) { + return (a.aliasOf || a) === (b.aliasOf || b); +} +function isSameRouteLocationParams(a, b) { + if (Object.keys(a).length !== Object.keys(b).length) return false; + for (var key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false; + return true; +} +function isSameRouteLocationParamsValue(a, b) { + return isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf()); +} +/** +* Check if two arrays are the same or if an array with one single entry is the +* same as another primitive value. Used to check query and parameters +* +* @param a - array of values +* @param b - array of values or a single value +*/ +function isEquivalentArray(a, b) { + return isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b; +} +/** +* Resolves a relative path that starts with `.`. +* +* @param to - path location we are resolving +* @param from - currentLocation.path, should start with `/` +*/ +function resolveRelativePath(to, from) { + if (to.startsWith("/")) return to; + if (!from.startsWith("/")) { + warn$1(`Cannot resolve a relative location without an absolute path. Trying to resolve "${to}" from "${from}". It should look like "/${from}".`); + return to; + } + if (!to) return from; + const fromSegments = from.split("/"); + const toSegments = to.split("/"); + const lastToSegment = toSegments[toSegments.length - 1]; + if (lastToSegment === ".." || lastToSegment === ".") toSegments.push(""); + let position = fromSegments.length - 1; + let toPosition; + let segment; + for (toPosition = 0; toPosition < toSegments.length; toPosition++) { + segment = toSegments[toPosition]; + if (segment === ".") continue; + if (segment === "..") { + if (position > 1) position--; + } else break; + } + return fromSegments.slice(0, position).join("/") + "/" + toSegments.slice(toPosition).join("/"); +} +/** +* Initial route location where the router is. Can be used in navigation guards +* to differentiate the initial navigation. +* +* @example +* ```js +* import { START_LOCATION } from 'vue-router' +* +* router.beforeEach((to, from) => { +* if (from === START_LOCATION) { +* // initial navigation +* } +* }) +* ``` +*/ +var START_LOCATION_NORMALIZED = { + path: "/", + name: void 0, + params: {}, + query: {}, + hash: "", + fullPath: "/", + matched: [], + meta: {}, + redirectedFrom: void 0 +}; +var NavigationType = /* @__PURE__ */ function(NavigationType) { + NavigationType["pop"] = "pop"; + NavigationType["push"] = "push"; + return NavigationType; +}({}); +var NavigationDirection = /* @__PURE__ */ function(NavigationDirection) { + NavigationDirection["back"] = "back"; + NavigationDirection["forward"] = "forward"; + NavigationDirection["unknown"] = ""; + return NavigationDirection; +}({}); +/** +* Normalizes a base by removing any trailing slash and reading the base tag if +* present. +* +* @param base - base to normalize +*/ +function normalizeBase(base) { + if (!base) if (isBrowser) { + const baseEl = document.querySelector("base"); + base = baseEl && baseEl.getAttribute("href") || "/"; + base = base.replace(/^\w+:\/\/[^\/]+/, ""); + } else base = "/"; + if (base[0] !== "/" && base[0] !== "#") base = "/" + base; + return removeTrailingSlash(base); +} +var BEFORE_HASH_RE = /^[^#]+#/; +function createHref(base, location) { + return base.replace(BEFORE_HASH_RE, "#") + location; +} +function getElementPosition(el, offset) { + const docRect = document.documentElement.getBoundingClientRect(); + const elRect = el.getBoundingClientRect(); + return { + behavior: offset.behavior, + left: elRect.left - docRect.left - (offset.left || 0), + top: elRect.top - docRect.top - (offset.top || 0) + }; +} +var computeScrollPosition = () => ({ + left: window.scrollX, + top: window.scrollY +}); +function scrollToPosition(position) { + let scrollToOptions; + if ("el" in position) { + const positionEl = position.el; + const isIdSelector = typeof positionEl === "string" && positionEl.startsWith("#"); + /** + * `id`s can accept pretty much any characters, including CSS combinators + * like `>` or `~`. It's still possible to retrieve elements using + * `document.getElementById('~')` but it needs to be escaped when using + * `document.querySelector('#\\~')` for it to be valid. The only + * requirements for `id`s are them to be unique on the page and to not be + * empty (`id=""`). Because of that, when passing an id selector, it should + * be properly escaped for it to work with `querySelector`. We could check + * for the id selector to be simple (no CSS combinators `+ >~`) but that + * would make things inconsistent since they are valid characters for an + * `id` but would need to be escaped when using `querySelector`, breaking + * their usage and ending up in no selector returned. Selectors need to be + * escaped: + * + * - `#1-thing` becomes `#\31 -thing` + * - `#with~symbols` becomes `#with\\~symbols` + * + * - More information about the topic can be found at + * https://mathiasbynens.be/notes/html5-id-class. + * - Practical example: https://mathiasbynens.be/demo/html5-id + */ + if (typeof position.el === "string") { + if (!isIdSelector || !document.getElementById(position.el.slice(1))) try { + const foundEl = document.querySelector(position.el); + if (isIdSelector && foundEl) { + warn$1(`The selector "${position.el}" should be passed as "el: document.querySelector('${position.el}')" because it starts with "#".`); + return; + } + } catch (err) { + warn$1(`The selector "${position.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`); + return; + } + } + const el = typeof positionEl === "string" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl; + if (!el) { + warn$1(`Couldn't find element using selector "${position.el}" returned by scrollBehavior.`); + return; + } + scrollToOptions = getElementPosition(el, position); + } else scrollToOptions = position; + if ("scrollBehavior" in document.documentElement.style) window.scrollTo(scrollToOptions); + else window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY); +} +function getScrollKey(path, delta) { + return (history.state ? history.state.position - delta : -1) + path; +} +var scrollPositions = /* @__PURE__ */ new Map(); +function saveScrollPosition(key, scrollPosition) { + scrollPositions.set(key, scrollPosition); +} +function getSavedScrollPosition(key) { + const scroll = scrollPositions.get(key); + scrollPositions.delete(key); + return scroll; +} +/** +* ScrollBehavior instance used by the router to compute and restore the scroll +* position when navigating. +*/ +function isRouteLocation(route) { + return typeof route === "string" || route && typeof route === "object"; +} +function isRouteName(name) { + return typeof name === "string" || typeof name === "symbol"; +} +/** +* Transforms a queryString into a {@link LocationQuery} object. Accept both, a +* version with the leading `?` and without Should work as URLSearchParams + +* @internal +* +* @param search - search string to parse +* @returns a query object +*/ +function parseQuery(search) { + const query = {}; + if (search === "" || search === "?") return query; + const searchParams = (search[0] === "?" ? search.slice(1) : search).split("&"); + for (let i = 0; i < searchParams.length; ++i) { + const searchParam = searchParams[i].replace(PLUS_RE, " "); + const eqPos = searchParam.indexOf("="); + const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos)); + const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1)); + if (key in query) { + let currentValue = query[key]; + if (!isArray(currentValue)) currentValue = query[key] = [currentValue]; + currentValue.push(value); + } else query[key] = value; + } + return query; +} +/** +* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it +* doesn't prepend a `?` +* +* @internal +* +* @param query - query object to stringify +* @returns string version of the query without the leading `?` +*/ +function stringifyQuery(query) { + let search = ""; + for (let key in query) { + const value = query[key]; + key = encodeQueryKey(key); + if (value == null) { + if (value !== void 0) search += (search.length ? "&" : "") + key; + continue; + } + (isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value) => { + if (value !== void 0) { + search += (search.length ? "&" : "") + key; + if (value != null) search += "=" + value; + } + }); + } + return search; +} +/** +* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting +* numbers into strings, removing keys with an undefined value and replacing +* undefined with null in arrays +* +* @param query - query object to normalize +* @returns a normalized query object +*/ +function normalizeQuery(query) { + const normalizedQuery = {}; + for (const key in query) { + const value = query[key]; + if (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : "" + v) : value == null ? value : "" + value; + } + return normalizedQuery; +} +/** +* Create a list of callbacks that can be reset. Used to create before and after navigation guards list +*/ +function useCallbacks() { + let handlers = []; + function add(handler) { + handlers.push(handler); + return () => { + const i = handlers.indexOf(handler); + if (i > -1) handlers.splice(i, 1); + }; + } + function reset() { + handlers = []; + } + return { + add, + list: () => handlers.slice(), + reset + }; +} +function registerGuard(activeRecordRef, name, guard) { + const record = activeRecordRef.value; + if (!record) { + warn$1(`No active route record was found when calling \`${name === "updateGuards" ? "onBeforeRouteUpdate" : "onBeforeRouteLeave"}()\`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?`); + return; + } + let currentRecord = record; + const removeFromList = () => { + currentRecord[name].delete(guard); + }; + onUnmounted(removeFromList); + onDeactivated(removeFromList); + onActivated(() => { + const newRecord = activeRecordRef.value; + if (!newRecord) warn$1("No active route record was found when reactivating component with navigation guard. This is likely a bug in vue-router. Please report it."); + if (newRecord) currentRecord = newRecord; + currentRecord[name].add(guard); + }); + currentRecord[name].add(guard); +} +/** +* Add a navigation guard that triggers whenever the component for the current +* location is about to be left. Similar to {@link beforeRouteLeave} but can be +* used in any component. The guard is removed when the component is unmounted. +* +* @param leaveGuard - {@link NavigationGuard} +*/ +function onBeforeRouteLeave(leaveGuard) { + if (!getCurrentInstance()) { + warn$1("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function"); + return; + } + registerGuard(inject(matchedRouteKey, {}), "leaveGuards", leaveGuard); +} +/** +* Add a navigation guard that triggers whenever the current location is about +* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any +* component. The guard is removed when the component is unmounted. +* +* @param updateGuard - {@link NavigationGuard} +*/ +function onBeforeRouteUpdate(updateGuard) { + if (!getCurrentInstance()) { + warn$1("getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function"); + return; + } + registerGuard(inject(matchedRouteKey, {}), "updateGuards", updateGuard); +} +function guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) { + const enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []); + return () => new Promise((resolve, reject) => { + const next = (valid) => { + if (valid === false) reject(createRouterError(ErrorTypes.NAVIGATION_ABORTED, { + from, + to + })); + else if (valid instanceof Error) reject(valid); + else if (isRouteLocation(valid)) reject(createRouterError(ErrorTypes.NAVIGATION_GUARD_REDIRECT, { + from: to, + to: valid + })); + else { + if (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === "function") enterCallbackArray.push(valid); + resolve(); + } + }; + const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, withDeprecationWarning(canOnlyBeCalledOnce(next, to, from)))); + let guardCall = Promise.resolve(guardReturn); + if (guard.length < 3) guardCall = guardCall.then(next); + if (guard.length > 2) { + const message = `The "next" callback was never called inside of ${guard.name ? "\"" + guard.name + "\"" : ""}:\n${guard.toString()}\n. If you are returning a value instead of calling "next", make sure to remove the "next" parameter from your function.`; + if (typeof guardReturn === "object" && "then" in guardReturn) guardCall = guardCall.then((resolvedValue) => { + if (!next._called) { + warn$1(message); + return Promise.reject(/* @__PURE__ */ new Error("Invalid navigation guard")); + } + return resolvedValue; + }); + else if (guardReturn !== void 0) { + if (!next._called) { + warn$1(message); + reject(/* @__PURE__ */ new Error("Invalid navigation guard")); + return; + } + } + } + guardCall.catch((err) => reject(err)); + }); +} +/** +* Wraps the next callback to warn when it is used. Dev-only: when __DEV__ is +* false (production builds), this branch is dead code and is stripped from the +* bundle. +* +* @internal +*/ +function withDeprecationWarning(next) { + let warned = false; + return function() { + if (!warned) { + warned = true; + warn$1("The `next()` callback in navigation guards is deprecated. Return the value instead of calling `next(value)`."); + } + return next.apply(this, arguments); + }; +} +function canOnlyBeCalledOnce(next, to, from) { + let called = 0; + return function() { + if (called++ === 1) warn$1(`The "next" callback was called more than once in one navigation guard when going from "${from.fullPath}" to "${to.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`); + next._called = true; + if (called === 1) next.apply(null, arguments); + }; +} +function extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) { + const guards = []; + for (const record of matched) { + if (!record.components && record.children && !record.children.length) warn$1(`Record with path "${record.path}" is either missing a "component(s)" or "children" property.`); + for (const name in record.components) { + let rawComponent = record.components[name]; + if (!rawComponent || typeof rawComponent !== "object" && typeof rawComponent !== "function") { + warn$1(`Component "${name}" in record with path "${record.path}" is not a valid component. Received "${String(rawComponent)}".`); + throw new Error("Invalid route component"); + } else if ("then" in rawComponent) { + warn$1(`Component "${name}" in record with path "${record.path}" is a Promise instead of a function that returns a Promise. Did you write "import('./MyPage.vue')" instead of "() => import('./MyPage.vue')" ? This will break in production if not fixed.`); + const promise = rawComponent; + rawComponent = () => promise; + } else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) { + rawComponent.__warnedDefineAsync = true; + warn$1(`Component "${name}" in record with path "${record.path}" is defined using "defineAsyncComponent()". Write "() => import('./MyPage.vue')" instead of "defineAsyncComponent(() => import('./MyPage.vue'))".`); + } + if (guardType !== "beforeRouteEnter" && !record.instances[name]) continue; + if (isRouteComponent(rawComponent)) { + const guard = (rawComponent.__vccOpts || rawComponent)[guardType]; + guard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext)); + } else { + let componentPromise = rawComponent(); + if (!("catch" in componentPromise)) { + warn$1(`Component "${name}" in record with path "${record.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`); + componentPromise = Promise.resolve(componentPromise); + } + guards.push(() => componentPromise.then((resolved) => { + if (!resolved) throw new Error(`Couldn't resolve component "${name}" at "${record.path}"`); + const resolvedComponent = isESModule(resolved) ? resolved.default : resolved; + record.mods[name] = resolved; + record.components[name] = resolvedComponent; + const guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType]; + return guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)(); + })); + } + } + } + return guards; +} +/** +* Ensures a route is loaded, so it can be passed as o prop to ``. +* +* @param route - resolved route to load +*/ +function loadRouteLocation(route) { + return route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error("Cannot load a route that redirects.")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => { + const rawComponent = record.components[name]; + if (typeof rawComponent === "function" && !("displayName" in rawComponent)) promises.push(rawComponent().then((resolved) => { + if (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component "${name}" at "${record.path}". Ensure you passed a function that returns a promise.`)); + const resolvedComponent = isESModule(resolved) ? resolved.default : resolved; + record.mods[name] = resolved; + record.components[name] = resolvedComponent; + })); + return promises; + }, [])))).then(() => route); +} +/** +* Split the leaving, updating, and entering records. +* @internal +* +* @param to - Location we are navigating to +* @param from - Location we are navigating from +*/ +function extractChangingRecords(to, from) { + const leavingRecords = []; + const updatingRecords = []; + const enteringRecords = []; + const len = Math.max(from.matched.length, to.matched.length); + for (let i = 0; i < len; i++) { + const recordFrom = from.matched[i]; + if (recordFrom) if (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom); + else leavingRecords.push(recordFrom); + const recordTo = to.matched[i]; + if (recordTo) { + if (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo); + } + } + return [ + leavingRecords, + updatingRecords, + enteringRecords + ]; +} +/** +* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances). +* +* @param routeLocation - routeLocation to format +* @param tooltip - optional tooltip +* @returns a copy of the routeLocation +*/ +function formatRouteLocation(routeLocation, tooltip) { + const copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [ + "instances", + "children", + "aliasOf" + ])) }); + return { _custom: { + type: null, + readOnly: true, + display: routeLocation.fullPath, + tooltip, + value: copy + } }; +} +function formatDisplay(display) { + return { _custom: { display } }; +} +var routerId = 0; +function addDevtools(app, router, matcher) { + if (router.__hasDevtools) return; + router.__hasDevtools = true; + const id = routerId++; + setupDevToolsPlugin({ + id: "org.vuejs.router" + (id ? "." + id : ""), + label: "Vue Router", + packageName: "vue-router", + homepage: "https://router.vuejs.org", + logo: "https://router.vuejs.org/logo.png", + componentStateTypes: ["Routing"], + app + }, (api) => { + api.on.inspectComponent((payload) => { + if (payload.instanceData) payload.instanceData.state.push({ + type: "Routing", + key: "$route", + editable: false, + value: formatRouteLocation(router.currentRoute.value, "Current Route") + }); + }); + api.on.visitComponentTree(({ treeNode: node, componentInstance }) => { + if (componentInstance.__vrv_devtools) { + const info = componentInstance.__vrv_devtools; + node.tags.push({ + label: (info.name ? `${info.name.toString()}: ` : "") + info.path, + textColor: 0, + tooltip: "This component is rendered by <router-view>", + backgroundColor: PINK_500 + }); + } + if (isArray(componentInstance.__vrl_devtools)) { + componentInstance.__devtoolsApi = api; + componentInstance.__vrl_devtools.forEach((devtoolsData) => { + let label = devtoolsData.route.path; + let backgroundColor = ORANGE_400; + let tooltip = ""; + let textColor = 0; + if (devtoolsData.error) { + label = devtoolsData.error; + backgroundColor = RED_100; + textColor = RED_700; + } else if (devtoolsData.isExactActive) { + backgroundColor = LIME_500; + tooltip = "This is exactly active"; + } else if (devtoolsData.isActive) { + backgroundColor = BLUE_600; + tooltip = "This link is active"; + } + node.tags.push({ + label, + textColor, + tooltip, + backgroundColor + }); + }); + } + }); + watch(router.currentRoute, () => { + refreshRoutesView(); + api.notifyComponentUpdate(); + api.sendInspectorTree(routerInspectorId); + api.sendInspectorState(routerInspectorId); + }); + const navigationsLayerId = "router:navigations:" + id; + api.addTimelineLayer({ + id: navigationsLayerId, + label: `Router${id ? " " + id : ""} Navigations`, + color: 4237508 + }); + router.onError((error, to) => { + api.addTimelineEvent({ + layerId: navigationsLayerId, + event: { + title: "Error during Navigation", + subtitle: to.fullPath, + logType: "error", + time: api.now(), + data: { error }, + groupId: to.meta.__navigationId + } + }); + }); + let navigationId = 0; + router.beforeEach((to, from) => { + const data = { + guard: formatDisplay("beforeEach"), + from: formatRouteLocation(from, "Current Location during this navigation"), + to: formatRouteLocation(to, "Target location") + }; + Object.defineProperty(to.meta, "__navigationId", { value: navigationId++ }); + api.addTimelineEvent({ + layerId: navigationsLayerId, + event: { + time: api.now(), + title: "Start of navigation", + subtitle: to.fullPath, + data, + groupId: to.meta.__navigationId + } + }); + }); + router.afterEach((to, from, failure) => { + const data = { guard: formatDisplay("afterEach") }; + if (failure) { + data.failure = { _custom: { + type: Error, + readOnly: true, + display: failure ? failure.message : "", + tooltip: "Navigation Failure", + value: failure + } }; + data.status = formatDisplay("❌"); + } else data.status = formatDisplay("✅"); + data.from = formatRouteLocation(from, "Current Location during this navigation"); + data.to = formatRouteLocation(to, "Target location"); + api.addTimelineEvent({ + layerId: navigationsLayerId, + event: { + title: "End of navigation", + subtitle: to.fullPath, + time: api.now(), + data, + logType: failure ? "warning" : "default", + groupId: to.meta.__navigationId + } + }); + }); + /** + * Inspector of Existing routes + */ + const routerInspectorId = "router-inspector:" + id; + api.addInspector({ + id: routerInspectorId, + label: "Routes" + (id ? " " + id : ""), + icon: "book", + treeFilterPlaceholder: "Search routes" + }); + function refreshRoutesView() { + if (!activeRoutesPayload) return; + const payload = activeRoutesPayload; + let routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components); + routes.forEach(resetMatchStateOnRouteRecord); + if (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase())); + routes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value)); + payload.rootNodes = routes.map(formatRouteRecordForInspector); + } + let activeRoutesPayload; + api.on.getInspectorTree((payload) => { + activeRoutesPayload = payload; + if (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView(); + }); + /** + * Display information about the currently selected route record + */ + api.on.getInspectorState((payload) => { + if (payload.app === app && payload.inspectorId === routerInspectorId) { + const route = matcher.getRoutes().find((route) => route.record.__vd_id === payload.nodeId); + if (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) }; + } + }); + api.sendInspectorTree(routerInspectorId); + api.sendInspectorState(routerInspectorId); + }); +} +function modifierForKey(key) { + if (key.optional) return key.repeatable ? "*" : "?"; + else return key.repeatable ? "+" : ""; +} +function formatRouteRecordMatcherForStateInspector(route) { + const { record } = route; + const fields = [{ + editable: false, + key: "path", + value: record.path + }]; + if (record.name != null) fields.push({ + editable: false, + key: "name", + value: record.name + }); + fields.push({ + editable: false, + key: "regexp", + value: route.re + }); + if (route.keys.length) fields.push({ + editable: false, + key: "keys", + value: { _custom: { + type: null, + readOnly: true, + display: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(" "), + tooltip: "Param keys", + value: route.keys + } } + }); + if (record.redirect != null) fields.push({ + editable: false, + key: "redirect", + value: record.redirect + }); + if (route.alias.length) fields.push({ + editable: false, + key: "aliases", + value: route.alias.map((alias) => alias.record.path) + }); + if (Object.keys(route.record.meta).length) fields.push({ + editable: false, + key: "meta", + value: route.record.meta + }); + fields.push({ + key: "score", + editable: false, + value: { _custom: { + type: null, + readOnly: true, + display: route.score.map((score) => score.join(", ")).join(" | "), + tooltip: "Score used to sort routes", + value: route.score + } } + }); + return fields; +} +/** +* Extracted from tailwind palette +*/ +var PINK_500 = 15485081; +var BLUE_600 = 2450411; +var LIME_500 = 8702998; +var CYAN_400 = 2282478; +var ORANGE_400 = 16486972; +var DARK = 6710886; +var RED_100 = 16704226; +var RED_700 = 12131356; +function formatRouteRecordForInspector(route) { + const tags = []; + const { record } = route; + if (record.name != null) tags.push({ + label: String(record.name), + textColor: 0, + backgroundColor: CYAN_400 + }); + if (record.aliasOf) tags.push({ + label: "alias", + textColor: 0, + backgroundColor: ORANGE_400 + }); + if (route.__vd_match) tags.push({ + label: "matches", + textColor: 0, + backgroundColor: PINK_500 + }); + if (route.__vd_exactActive) tags.push({ + label: "exact", + textColor: 0, + backgroundColor: LIME_500 + }); + if (route.__vd_active) tags.push({ + label: "active", + textColor: 0, + backgroundColor: BLUE_600 + }); + if (record.redirect) tags.push({ + label: typeof record.redirect === "string" ? `redirect: ${record.redirect}` : "redirects", + textColor: 16777215, + backgroundColor: DARK + }); + let id = record.__vd_id; + if (id == null) { + id = String(routeRecordId++); + record.__vd_id = id; + } + return { + id, + label: record.path, + tags, + children: route.children.map(formatRouteRecordForInspector) + }; +} +var routeRecordId = 0; +var EXTRACT_REGEXP_RE = /^\/(.*)\/([a-z]*)$/; +function markRouteRecordActive(route, currentRoute) { + const isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record); + route.__vd_exactActive = route.__vd_active = isExactActive; + if (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record)); + route.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute)); +} +function resetMatchStateOnRouteRecord(route) { + route.__vd_match = false; + route.children.forEach(resetMatchStateOnRouteRecord); +} +function isRouteMatching(route, filter) { + const found = String(route.re).match(EXTRACT_REGEXP_RE); + route.__vd_match = false; + if (!found || found.length < 3) return false; + if (new RegExp(found[1].replace(/\$$/, ""), found[2]).test(filter)) { + route.children.forEach((child) => isRouteMatching(child, filter)); + if (route.record.path !== "/" || filter === "/") { + route.__vd_match = route.re.test(filter); + return true; + } + return false; + } + const path = route.record.path.toLowerCase(); + const decodedPath = decode(path); + if (!filter.startsWith("/") && (decodedPath.includes(filter) || path.includes(filter))) return true; + if (decodedPath.startsWith(filter) || path.startsWith(filter)) return true; + if (route.record.name && String(route.record.name).includes(filter)) return true; + return route.children.some((child) => isRouteMatching(child, filter)); +} +function omit(obj, keys) { + const ret = {}; + for (const key in obj) if (!keys.includes(key)) ret[key] = obj[key]; + return ret; +} +//#endregion +//#region node_modules/vue-router/dist/vue-router.js +/*! +* vue-router v5.0.4 +* (c) 2026 Eduardo San Martin Morote +* @license MIT +*/ +var createBaseLocation = () => location.protocol + "//" + location.host; +/** +* Creates a normalized history location from a window.location object +* @param base - The base path +* @param location - The window.location object +*/ +function createCurrentLocation(base, location) { + const { pathname, search, hash } = location; + const hashPos = base.indexOf("#"); + if (hashPos > -1) { + let slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1; + let pathFromHash = hash.slice(slicePos); + if (pathFromHash[0] !== "/") pathFromHash = "/" + pathFromHash; + return stripBase(pathFromHash, ""); + } + return stripBase(pathname, base) + search + hash; +} +function useHistoryListeners(base, historyState, currentLocation, replace) { + let listeners = []; + let teardowns = []; + let pauseState = null; + const popStateHandler = ({ state }) => { + const to = createCurrentLocation(base, location); + const from = currentLocation.value; + const fromState = historyState.value; + let delta = 0; + if (state) { + currentLocation.value = to; + historyState.value = state; + if (pauseState && pauseState === from) { + pauseState = null; + return; + } + delta = fromState ? state.position - fromState.position : 0; + } else replace(to); + listeners.forEach((listener) => { + listener(currentLocation.value, from, { + delta, + type: NavigationType.pop, + direction: delta ? delta > 0 ? NavigationDirection.forward : NavigationDirection.back : NavigationDirection.unknown + }); + }); + }; + function pauseListeners() { + pauseState = currentLocation.value; + } + function listen(callback) { + listeners.push(callback); + const teardown = () => { + const index = listeners.indexOf(callback); + if (index > -1) listeners.splice(index, 1); + }; + teardowns.push(teardown); + return teardown; + } + function beforeUnloadListener() { + if (document.visibilityState === "hidden") { + const { history } = window; + if (!history.state) return; + history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), ""); + } + } + function destroy() { + for (const teardown of teardowns) teardown(); + teardowns = []; + window.removeEventListener("popstate", popStateHandler); + window.removeEventListener("pagehide", beforeUnloadListener); + document.removeEventListener("visibilitychange", beforeUnloadListener); + } + window.addEventListener("popstate", popStateHandler); + window.addEventListener("pagehide", beforeUnloadListener); + document.addEventListener("visibilitychange", beforeUnloadListener); + return { + pauseListeners, + listen, + destroy + }; +} +/** +* Creates a state object +*/ +function buildState(back, current, forward, replaced = false, computeScroll = false) { + return { + back, + current, + forward, + replaced, + position: window.history.length, + scroll: computeScroll ? computeScrollPosition() : null + }; +} +function useHistoryStateNavigation(base) { + const { history, location } = window; + const currentLocation = { value: createCurrentLocation(base, location) }; + const historyState = { value: history.state }; + if (!historyState.value) changeLocation(currentLocation.value, { + back: null, + current: currentLocation.value, + forward: null, + position: history.length - 1, + replaced: true, + scroll: null + }, true); + function changeLocation(to, state, replace) { + /** + * if a base tag is provided, and we are on a normal domain, we have to + * respect the provided `base` attribute because pushState() will use it and + * potentially erase anything before the `#` like at + * https://github.com/vuejs/router/issues/685 where a base of + * `/folder/#` but a base of `/` would erase the `/folder/` section. If + * there is no host, the `` tag makes no sense and if there isn't a + * base tag we can just use everything after the `#`. + */ + const hashIndex = base.indexOf("#"); + const url = hashIndex > -1 ? (location.host && document.querySelector("base") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to; + try { + history[replace ? "replaceState" : "pushState"](state, "", url); + historyState.value = state; + } catch (err) { + warn$1("Error with push/replace State", err); + location[replace ? "replace" : "assign"](url); + } + } + function replace(to, data) { + changeLocation(to, assign({}, history.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position }), true); + currentLocation.value = to; + } + function push(to, data) { + const currentState = assign({}, historyState.value, history.state, { + forward: to, + scroll: computeScrollPosition() + }); + if (!history.state) warn$1("history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\n\nhistory.replaceState(history.state, '', url)\n\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state"); + changeLocation(currentState.current, currentState, true); + changeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false); + currentLocation.value = to; + } + return { + location: currentLocation, + state: historyState, + push, + replace + }; +} +/** +* Creates an HTML5 history. Most common history for single page applications. +* +* @param base - +*/ +function createWebHistory(base) { + base = normalizeBase(base); + const historyNavigation = useHistoryStateNavigation(base); + const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace); + function go(delta, triggerListeners = true) { + if (!triggerListeners) historyListeners.pauseListeners(); + history.go(delta); + } + const routerHistory = assign({ + location: "", + base, + go, + createHref: createHref.bind(null, base) + }, historyNavigation, historyListeners); + Object.defineProperty(routerHistory, "location", { + enumerable: true, + get: () => historyNavigation.location.value + }); + Object.defineProperty(routerHistory, "state", { + enumerable: true, + get: () => historyNavigation.state.value + }); + return routerHistory; +} +/** +* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere. +* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`. +* +* @param base - Base applied to all urls, defaults to '/' +* @returns a history object that can be passed to the router constructor +*/ +function createMemoryHistory(base = "") { + let listeners = []; + let queue = [["", {}]]; + let position = 0; + base = normalizeBase(base); + function setLocation(location, state = {}) { + position++; + if (position !== queue.length) queue.splice(position); + queue.push([location, state]); + } + function triggerListeners(to, from, { direction, delta }) { + const info = { + direction, + delta, + type: NavigationType.pop + }; + for (const callback of listeners) callback(to, from, info); + } + const routerHistory = { + location: "", + state: {}, + base, + createHref: createHref.bind(null, base), + replace(to, state) { + queue.splice(position--, 1); + setLocation(to, state); + }, + push(to, state) { + setLocation(to, state); + }, + listen(callback) { + listeners.push(callback); + return () => { + const index = listeners.indexOf(callback); + if (index > -1) listeners.splice(index, 1); + }; + }, + destroy() { + listeners = []; + queue = [["", {}]]; + position = 0; + }, + go(delta, shouldTrigger = true) { + const from = this.location; + const direction = delta < 0 ? NavigationDirection.back : NavigationDirection.forward; + position = Math.max(0, Math.min(position + delta, queue.length - 1)); + if (shouldTrigger) triggerListeners(this.location, from, { + direction, + delta + }); + } + }; + Object.defineProperty(routerHistory, "location", { + enumerable: true, + get: () => queue[position][0] + }); + Object.defineProperty(routerHistory, "state", { + enumerable: true, + get: () => queue[position][1] + }); + return routerHistory; +} +/** +* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to +* handle any URL is not possible. +* +* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag +* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState() +* calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything +* after the `#`). +* +* @example +* ```js +* // at https://example.com/folder +* createWebHashHistory() // gives a url of `https://example.com/folder#` +* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#` +* // if the `#` is provided in the base, it won't be added by `createWebHashHistory` +* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/` +* // you should avoid doing this because it changes the original url and breaks copying urls +* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#` +* +* // at file:///usr/etc/folder/index.html +* // for locations with no `host`, the base is ignored +* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#` +* ``` +*/ +function createWebHashHistory(base) { + base = location.host ? base || location.pathname + location.search : ""; + if (!base.includes("#")) base += "#"; + if (!base.endsWith("#/") && !base.endsWith("#")) warn$1(`A hash base must end with a "#":\n"${base}" should be "${base.replace(/#.*$/, "#")}".`); + return createWebHistory(base); +} +var TokenType = /* @__PURE__ */ function(TokenType) { + TokenType[TokenType["Static"] = 0] = "Static"; + TokenType[TokenType["Param"] = 1] = "Param"; + TokenType[TokenType["Group"] = 2] = "Group"; + return TokenType; +}({}); +var TokenizerState = /* @__PURE__ */ function(TokenizerState) { + TokenizerState[TokenizerState["Static"] = 0] = "Static"; + TokenizerState[TokenizerState["Param"] = 1] = "Param"; + TokenizerState[TokenizerState["ParamRegExp"] = 2] = "ParamRegExp"; + TokenizerState[TokenizerState["ParamRegExpEnd"] = 3] = "ParamRegExpEnd"; + TokenizerState[TokenizerState["EscapeNext"] = 4] = "EscapeNext"; + return TokenizerState; +}(TokenizerState || {}); +var ROOT_TOKEN = { + type: TokenType.Static, + value: "" +}; +var VALID_PARAM_RE = /[a-zA-Z0-9_]/; +function tokenizePath(path) { + if (!path) return [[]]; + if (path === "/") return [[ROOT_TOKEN]]; + if (!path.startsWith("/")) throw new Error(`Route paths should start with a "/": "${path}" should be "/${path}".`); + function crash(message) { + throw new Error(`ERR (${state})/"${buffer}": ${message}`); + } + let state = TokenizerState.Static; + let previousState = state; + const tokens = []; + let segment; + function finalizeSegment() { + if (segment) tokens.push(segment); + segment = []; + } + let i = 0; + let char; + let buffer = ""; + let customRe = ""; + function consumeBuffer() { + if (!buffer) return; + if (state === TokenizerState.Static) segment.push({ + type: TokenType.Static, + value: buffer + }); + else if (state === TokenizerState.Param || state === TokenizerState.ParamRegExp || state === TokenizerState.ParamRegExpEnd) { + if (segment.length > 1 && (char === "*" || char === "+")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`); + segment.push({ + type: TokenType.Param, + value: buffer, + regexp: customRe, + repeatable: char === "*" || char === "+", + optional: char === "*" || char === "?" + }); + } else crash("Invalid state to consume buffer"); + buffer = ""; + } + function addCharToBuffer() { + buffer += char; + } + while (i < path.length) { + char = path[i++]; + if (char === "\\" && state !== TokenizerState.ParamRegExp) { + previousState = state; + state = TokenizerState.EscapeNext; + continue; + } + switch (state) { + case TokenizerState.Static: + if (char === "/") { + if (buffer) consumeBuffer(); + finalizeSegment(); + } else if (char === ":") { + consumeBuffer(); + state = TokenizerState.Param; + } else addCharToBuffer(); + break; + case TokenizerState.EscapeNext: + addCharToBuffer(); + state = previousState; + break; + case TokenizerState.Param: + if (char === "(") state = TokenizerState.ParamRegExp; + else if (VALID_PARAM_RE.test(char)) addCharToBuffer(); + else { + consumeBuffer(); + state = TokenizerState.Static; + if (char !== "*" && char !== "?" && char !== "+") i--; + } + break; + case TokenizerState.ParamRegExp: + if (char === ")") if (customRe[customRe.length - 1] == "\\") customRe = customRe.slice(0, -1) + char; + else state = TokenizerState.ParamRegExpEnd; + else customRe += char; + break; + case TokenizerState.ParamRegExpEnd: + consumeBuffer(); + state = TokenizerState.Static; + if (char !== "*" && char !== "?" && char !== "+") i--; + customRe = ""; + break; + default: + crash("Unknown state"); + break; + } + } + if (state === TokenizerState.ParamRegExp) crash(`Unfinished custom RegExp for param "${buffer}"`); + consumeBuffer(); + finalizeSegment(); + return tokens; +} +var BASE_PARAM_PATTERN = "[^/]+?"; +var BASE_PATH_PARSER_OPTIONS = { + sensitive: false, + strict: false, + start: true, + end: true +}; +var PathScore = /* @__PURE__ */ function(PathScore) { + PathScore[PathScore["_multiplier"] = 10] = "_multiplier"; + PathScore[PathScore["Root"] = 90] = "Root"; + PathScore[PathScore["Segment"] = 40] = "Segment"; + PathScore[PathScore["SubSegment"] = 30] = "SubSegment"; + PathScore[PathScore["Static"] = 40] = "Static"; + PathScore[PathScore["Dynamic"] = 20] = "Dynamic"; + PathScore[PathScore["BonusCustomRegExp"] = 10] = "BonusCustomRegExp"; + PathScore[PathScore["BonusWildcard"] = -50] = "BonusWildcard"; + PathScore[PathScore["BonusRepeatable"] = -20] = "BonusRepeatable"; + PathScore[PathScore["BonusOptional"] = -8] = "BonusOptional"; + PathScore[PathScore["BonusStrict"] = .7000000000000001] = "BonusStrict"; + PathScore[PathScore["BonusCaseSensitive"] = .25] = "BonusCaseSensitive"; + return PathScore; +}(PathScore || {}); +var REGEX_CHARS_RE = /[.+*?^${}()[\]/\\]/g; +/** +* Creates a path parser from an array of Segments (a segment is an array of Tokens) +* +* @param segments - array of segments returned by tokenizePath +* @param extraOptions - optional options for the regexp +* @returns a PathParser +*/ +function tokensToParser(segments, extraOptions) { + const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions); + const score = []; + let pattern = options.start ? "^" : ""; + const keys = []; + for (const segment of segments) { + const segmentScores = segment.length ? [] : [PathScore.Root]; + if (options.strict && !segment.length) pattern += "/"; + for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) { + const token = segment[tokenIndex]; + let subSegmentScore = PathScore.Segment + (options.sensitive ? PathScore.BonusCaseSensitive : 0); + if (token.type === TokenType.Static) { + if (!tokenIndex) pattern += "/"; + pattern += token.value.replace(REGEX_CHARS_RE, "\\$&"); + subSegmentScore += PathScore.Static; + } else if (token.type === TokenType.Param) { + const { value, repeatable, optional, regexp } = token; + keys.push({ + name: value, + repeatable, + optional + }); + const re = regexp ? regexp : BASE_PARAM_PATTERN; + if (re !== BASE_PARAM_PATTERN) { + subSegmentScore += PathScore.BonusCustomRegExp; + try { + new RegExp(`(${re})`); + } catch (err) { + throw new Error(`Invalid custom RegExp for param "${value}" (${re}): ` + err.message); + } + } + let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`; + if (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : "/" + subPattern; + if (optional) subPattern += "?"; + pattern += subPattern; + subSegmentScore += PathScore.Dynamic; + if (optional) subSegmentScore += PathScore.BonusOptional; + if (repeatable) subSegmentScore += PathScore.BonusRepeatable; + if (re === ".*") subSegmentScore += PathScore.BonusWildcard; + } + segmentScores.push(subSegmentScore); + } + score.push(segmentScores); + } + if (options.strict && options.end) { + const i = score.length - 1; + score[i][score[i].length - 1] += PathScore.BonusStrict; + } + if (!options.strict) pattern += "/?"; + if (options.end) pattern += "$"; + else if (options.strict && !pattern.endsWith("/")) pattern += "(?:/|$)"; + const re = new RegExp(pattern, options.sensitive ? "" : "i"); + function parse(path) { + const match = path.match(re); + const params = {}; + if (!match) return null; + for (let i = 1; i < match.length; i++) { + const value = match[i] || ""; + const key = keys[i - 1]; + params[key.name] = value && key.repeatable ? value.split("/") : value; + } + return params; + } + function stringify(params) { + let path = ""; + let avoidDuplicatedSlash = false; + for (const segment of segments) { + if (!avoidDuplicatedSlash || !path.endsWith("/")) path += "/"; + avoidDuplicatedSlash = false; + for (const token of segment) if (token.type === TokenType.Static) path += token.value; + else if (token.type === TokenType.Param) { + const { value, repeatable, optional } = token; + const param = value in params ? params[value] : ""; + if (isArray(param) && !repeatable) throw new Error(`Provided param "${value}" is an array but it is not repeatable (* or + modifiers)`); + const text = isArray(param) ? param.join("/") : param; + if (!text) if (optional) { + if (segment.length < 2) if (path.endsWith("/")) path = path.slice(0, -1); + else avoidDuplicatedSlash = true; + } else throw new Error(`Missing required param "${value}"`); + path += text; + } + } + return path || "/"; + } + return { + re, + score, + keys, + parse, + stringify + }; +} +/** +* Compares an array of numbers as used in PathParser.score and returns a +* number. This function can be used to `sort` an array +* +* @param a - first array of numbers +* @param b - second array of numbers +* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b +* should be sorted first +*/ +function compareScoreArray(a, b) { + let i = 0; + while (i < a.length && i < b.length) { + const diff = b[i] - a[i]; + if (diff) return diff; + i++; + } + if (a.length < b.length) return a.length === 1 && a[0] === PathScore.Static + PathScore.Segment ? -1 : 1; + else if (a.length > b.length) return b.length === 1 && b[0] === PathScore.Static + PathScore.Segment ? 1 : -1; + return 0; +} +/** +* Compare function that can be used with `sort` to sort an array of PathParser +* +* @param a - first PathParser +* @param b - second PathParser +* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b +*/ +function comparePathParserScore(a, b) { + let i = 0; + const aScore = a.score; + const bScore = b.score; + while (i < aScore.length && i < bScore.length) { + const comp = compareScoreArray(aScore[i], bScore[i]); + if (comp) return comp; + i++; + } + if (Math.abs(bScore.length - aScore.length) === 1) { + if (isLastScoreNegative(aScore)) return 1; + if (isLastScoreNegative(bScore)) return -1; + } + return bScore.length - aScore.length; +} +/** +* This allows detecting splats at the end of a path: /home/:id(.*)* +* +* @param score - score to check +* @returns true if the last entry is negative +*/ +function isLastScoreNegative(score) { + const last = score[score.length - 1]; + return score.length > 0 && last[last.length - 1] < 0; +} +var PATH_PARSER_OPTIONS_DEFAULTS = { + strict: false, + end: true, + sensitive: false +}; +function createRouteRecordMatcher(record, parent, options) { + const parser = tokensToParser(tokenizePath(record.path), options); + { + const existingKeys = /* @__PURE__ */ new Set(); + for (const key of parser.keys) { + if (existingKeys.has(key.name)) warn$1(`Found duplicated params with name "${key.name}" for path "${record.path}". Only the last one will be available on "$route.params".`); + existingKeys.add(key.name); + } + } + const matcher = assign(parser, { + record, + parent, + children: [], + alias: [] + }); + if (parent) { + if (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher); + } + return matcher; +} +/** +* Creates a Router Matcher. +* +* @internal +* @param routes - array of initial routes +* @param globalOptions - global route options +*/ +function createRouterMatcher(routes, globalOptions) { + const matchers = []; + const matcherMap = /* @__PURE__ */ new Map(); + globalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions); + function getRecordMatcher(name) { + return matcherMap.get(name); + } + function addRoute(record, parent, originalRecord) { + const isRootAdd = !originalRecord; + const mainNormalizedRecord = normalizeRouteRecord(record); + checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent); + mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record; + const options = mergeOptions(globalOptions, record); + const normalizedRecords = [mainNormalizedRecord]; + if ("alias" in record) { + const aliases = typeof record.alias === "string" ? [record.alias] : record.alias; + for (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, { + components: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components, + path: alias, + aliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord + }))); + } + let matcher; + let originalMatcher; + for (const normalizedRecord of normalizedRecords) { + const { path } = normalizedRecord; + if (parent && path[0] !== "/") { + const parentPath = parent.record.path; + const connectingSlash = parentPath[parentPath.length - 1] === "/" ? "" : "/"; + normalizedRecord.path = parent.record.path + (path && connectingSlash + path); + } + if (normalizedRecord.path === "*") throw new Error("Catch all routes (\"*\") must now be defined using a param with a custom regexp.\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes."); + matcher = createRouteRecordMatcher(normalizedRecord, parent, options); + if (parent && path[0] === "/") checkMissingParamsInAbsolutePath(matcher, parent); + if (originalRecord) { + originalRecord.alias.push(matcher); + checkSameParams(originalRecord, matcher); + } else { + originalMatcher = originalMatcher || matcher; + if (originalMatcher !== matcher) originalMatcher.alias.push(matcher); + if (isRootAdd && record.name && !isAliasRecord(matcher)) { + checkSameNameAsAncestor(record, parent); + removeRoute(record.name); + } + } + if (isMatchable(matcher)) insertMatcher(matcher); + if (mainNormalizedRecord.children) { + const children = mainNormalizedRecord.children; + for (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]); + } + originalRecord = originalRecord || matcher; + } + return originalMatcher ? () => { + removeRoute(originalMatcher); + } : noop; + } + function removeRoute(matcherRef) { + if (isRouteName(matcherRef)) { + const matcher = matcherMap.get(matcherRef); + if (matcher) { + matcherMap.delete(matcherRef); + matchers.splice(matchers.indexOf(matcher), 1); + matcher.children.forEach(removeRoute); + matcher.alias.forEach(removeRoute); + } + } else { + const index = matchers.indexOf(matcherRef); + if (index > -1) { + matchers.splice(index, 1); + if (matcherRef.record.name) matcherMap.delete(matcherRef.record.name); + matcherRef.children.forEach(removeRoute); + matcherRef.alias.forEach(removeRoute); + } + } + } + function getRoutes() { + return matchers; + } + function insertMatcher(matcher) { + const index = findInsertionIndex(matcher, matchers); + matchers.splice(index, 0, matcher); + if (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher); + } + function resolve(location, currentLocation) { + let matcher; + let params = {}; + let path; + let name; + if ("name" in location && location.name) { + matcher = matcherMap.get(location.name); + if (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, { location }); + { + const invalidParams = Object.keys(location.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName)); + if (invalidParams.length) warn$1(`Discarded invalid param(s) "${invalidParams.join("\", \"")}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`); + } + name = matcher.record.name; + params = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location.params && pickParams(location.params, matcher.keys.map((k) => k.name))); + path = matcher.stringify(params); + } else if (location.path != null) { + path = location.path; + if (!path.startsWith("/")) warn$1(`The Matcher cannot resolve relative paths but received "${path}". Unless you directly called \`matcher.resolve("${path}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`); + matcher = matchers.find((m) => m.re.test(path)); + if (matcher) { + params = matcher.parse(path); + name = matcher.record.name; + } + } else { + matcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path)); + if (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, { + location, + currentLocation + }); + name = matcher.record.name; + params = assign({}, currentLocation.params, location.params); + path = matcher.stringify(params); + } + const matched = []; + let parentMatcher = matcher; + while (parentMatcher) { + matched.unshift(parentMatcher.record); + parentMatcher = parentMatcher.parent; + } + return { + name, + path, + params, + matched, + meta: mergeMetaFields(matched) + }; + } + routes.forEach((route) => addRoute(route)); + function clearRoutes() { + matchers.length = 0; + matcherMap.clear(); + } + return { + addRoute, + resolve, + removeRoute, + clearRoutes, + getRoutes, + getRecordMatcher + }; +} +/** +* Picks an object param to contain only specified keys. +* +* @param params - params object to pick from +* @param keys - keys to pick +*/ +function pickParams(params, keys) { + const newParams = {}; + for (const key of keys) if (key in params) newParams[key] = params[key]; + return newParams; +} +/** +* Normalizes a RouteRecordRaw. Creates a copy +* +* @param record +* @returns the normalized version +*/ +function normalizeRouteRecord(record) { + const normalized = { + path: record.path, + redirect: record.redirect, + name: record.name, + meta: record.meta || {}, + aliasOf: record.aliasOf, + beforeEnter: record.beforeEnter, + props: normalizeRecordProps(record), + children: record.children || [], + instances: {}, + leaveGuards: /* @__PURE__ */ new Set(), + updateGuards: /* @__PURE__ */ new Set(), + enterCallbacks: {}, + components: "components" in record ? record.components || null : record.component && { default: record.component } + }; + Object.defineProperty(normalized, "mods", { value: {} }); + return normalized; +} +/** +* Normalize the optional `props` in a record to always be an object similar to +* components. Also accept a boolean for components. +* @param record +*/ +function normalizeRecordProps(record) { + const propsObject = {}; + const props = record.props || false; + if ("component" in record) propsObject.default = props; + else for (const name in record.components) propsObject[name] = typeof props === "object" ? props[name] : props; + return propsObject; +} +/** +* Checks if a record or any of its parent is an alias +* @param record +*/ +function isAliasRecord(record) { + while (record) { + if (record.record.aliasOf) return true; + record = record.parent; + } + return false; +} +/** +* Merge meta fields of an array of records +* +* @param matched - array of matched records +*/ +function mergeMetaFields(matched) { + return matched.reduce((meta, record) => assign(meta, record.meta), {}); +} +function isSameParam(a, b) { + return a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable; +} +/** +* Check if a path and its alias have the same required params +* +* @param a - original record +* @param b - alias record +*/ +function checkSameParams(a, b) { + for (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias "${b.record.path}" and the original record: "${a.record.path}" must have the exact same param named "${key.name}"`); + for (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias "${b.record.path}" and the original record: "${a.record.path}" must have the exact same param named "${key.name}"`); +} +/** +* A route with a name and a child with an empty path without a name should warn when adding the route +* +* @param mainNormalizedRecord - RouteRecordNormalized +* @param parent - RouteRecordMatcher +*/ +function checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) { + if (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path && mainNormalizedRecord.children.length === 0) warn$1(`The route named "${String(parent.record.name)}" has a child without a name, an empty path, and no children. This is probably a mistake: using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to silence the warning.`); +} +function checkSameNameAsAncestor(record, parent) { + for (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named "${String(record.name)}" has been added as a ${parent === ancestor ? "child" : "descendant"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`); +} +function checkMissingParamsInAbsolutePath(record, parent) { + for (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) return warn$1(`Absolute path "${record.record.path}" must have the exact same param named "${key.name}" as its parent "${parent.record.path}".`); +} +/** +* Performs a binary search to find the correct insertion index for a new matcher. +* +* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships, +* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes. +* +* @param matcher - new matcher to be inserted +* @param matchers - existing matchers +*/ +function findInsertionIndex(matcher, matchers) { + let lower = 0; + let upper = matchers.length; + while (lower !== upper) { + const mid = lower + upper >> 1; + if (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid; + else lower = mid + 1; + } + const insertionAncestor = getInsertionAncestor(matcher); + if (insertionAncestor) { + upper = matchers.lastIndexOf(insertionAncestor, upper - 1); + if (upper < 0) warn$1(`Finding ancestor route "${insertionAncestor.record.path}" failed for "${matcher.record.path}"`); + } + return upper; +} +function getInsertionAncestor(matcher) { + let ancestor = matcher; + while (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor; +} +/** +* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without +* a component, or name, or redirect, are just used to group other routes. +* @param matcher +* @param matcher.record record of the matcher +* @returns +*/ +function isMatchable({ record }) { + return !!(record.name || record.components && Object.keys(record.components).length || record.redirect); +} +/** +* Returns the internal behavior of a {@link RouterLink} without the rendering part. +* +* @param props - a `to` location and an optional `replace` flag +*/ +function useLink(props) { + const router = inject(routerKey); + const currentRoute = inject(routeLocationKey); + let hasPrevious = false; + let previousTo = null; + const route = computed(() => { + const to = unref(props.to); + if (!hasPrevious || to !== previousTo) { + if (!isRouteLocation(to)) if (hasPrevious) warn$1(`Invalid value for prop "to" in useLink()\n- to:`, to, `\n- previous to:`, previousTo, `\n- props:`, props); + else warn$1(`Invalid value for prop "to" in useLink()\n- to:`, to, `\n- props:`, props); + previousTo = to; + hasPrevious = true; + } + return router.resolve(to); + }); + const activeRecordIndex = computed(() => { + const { matched } = route.value; + const { length } = matched; + const routeMatched = matched[length - 1]; + const currentMatched = currentRoute.matched; + if (!routeMatched || !currentMatched.length) return -1; + const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched)); + if (index > -1) return index; + const parentRecordPath = getOriginalPath(matched[length - 2]); + return length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index; + }); + const isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params)); + const isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params)); + function navigate(e = {}) { + if (guardEvent(e)) { + const p = router[unref(props.replace) ? "replace" : "push"](unref(props.to)).catch(noop); + if (props.viewTransition && typeof document !== "undefined" && "startViewTransition" in document) document.startViewTransition(() => p); + return p; + } + return Promise.resolve(); + } + if (isBrowser) { + const instance = getCurrentInstance(); + if (instance) { + const linkContextDevtools = { + route: route.value, + isActive: isActive.value, + isExactActive: isExactActive.value, + error: null + }; + instance.__vrl_devtools = instance.__vrl_devtools || []; + instance.__vrl_devtools.push(linkContextDevtools); + watchEffect(() => { + linkContextDevtools.route = route.value; + linkContextDevtools.isActive = isActive.value; + linkContextDevtools.isExactActive = isExactActive.value; + linkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : "Invalid \"to\" value"; + }, { flush: "post" }); + } + } + /** + * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this + */ + return { + route, + href: computed(() => route.value.href), + isActive, + isExactActive, + navigate + }; +} +function preferSingleVNode(vnodes) { + return vnodes.length === 1 ? vnodes[0] : vnodes; +} +/** +* Component to render a link that triggers a navigation on click. +*/ +var RouterLink = /* @__PURE__ */ defineComponent({ + name: "RouterLink", + compatConfig: { MODE: 3 }, + props: { + to: { + type: [String, Object], + required: true + }, + replace: Boolean, + activeClass: String, + exactActiveClass: String, + custom: Boolean, + ariaCurrentValue: { + type: String, + default: "page" + }, + viewTransition: Boolean + }, + useLink, + setup(props, { slots }) { + const link = reactive(useLink(props)); + const { options } = inject(routerKey); + const elClass = computed(() => ({ + [getLinkClass(props.activeClass, options.linkActiveClass, "router-link-active")]: link.isActive, + [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, "router-link-exact-active")]: link.isExactActive + })); + return () => { + const children = slots.default && preferSingleVNode(slots.default(link)); + return props.custom ? children : h("a", { + "aria-current": link.isExactActive ? props.ariaCurrentValue : null, + href: link.href, + onClick: link.navigate, + class: elClass.value + }, children); + }; + } +}); +function guardEvent(e) { + if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return; + if (e.defaultPrevented) return; + if (e.button !== void 0 && e.button !== 0) return; + if (e.currentTarget && e.currentTarget.getAttribute) { + const target = e.currentTarget.getAttribute("target"); + if (/\b_blank\b/i.test(target)) return; + } + if (e.preventDefault) e.preventDefault(); + return true; +} +function includesParams(outer, inner) { + for (const key in inner) { + const innerValue = inner[key]; + const outerValue = outer[key]; + if (typeof innerValue === "string") { + if (innerValue !== outerValue) return false; + } else if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false; + } + return true; +} +/** +* Get the original path value of a record by following its aliasOf +* @param record +*/ +function getOriginalPath(record) { + return record ? record.aliasOf ? record.aliasOf.path : record.path : ""; +} +/** +* Utility class to get the active class based on defaults. +* @param propClass +* @param globalClass +* @param defaultClass +*/ +var getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass; +var RouterViewImpl = /* @__PURE__ */ defineComponent({ + name: "RouterView", + inheritAttrs: false, + props: { + name: { + type: String, + default: "default" + }, + route: Object + }, + compatConfig: { MODE: 3 }, + setup(props, { attrs, slots }) { + warnDeprecatedUsage(); + const injectedRoute = inject(routerViewLocationKey); + const routeToDisplay = computed(() => props.route || injectedRoute.value); + const injectedDepth = inject(viewDepthKey, 0); + const depth = computed(() => { + let initialDepth = unref(injectedDepth); + const { matched } = routeToDisplay.value; + let matchedRoute; + while ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++; + return initialDepth; + }); + const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]); + provide(viewDepthKey, computed(() => depth.value + 1)); + provide(matchedRouteKey, matchedRouteRef); + provide(routerViewLocationKey, routeToDisplay); + const viewRef = ref(); + watch(() => [ + viewRef.value, + matchedRouteRef.value, + props.name + ], ([instance, to, name], [oldInstance, from, oldName]) => { + if (to) { + to.instances[name] = instance; + if (from && from !== to && instance && instance === oldInstance) { + if (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards; + if (!to.updateGuards.size) to.updateGuards = from.updateGuards; + } + } + if (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance)); + }, { flush: "post" }); + return () => { + const route = routeToDisplay.value; + const currentName = props.name; + const matchedRoute = matchedRouteRef.value; + const ViewComponent = matchedRoute && matchedRoute.components[currentName]; + if (!ViewComponent) return normalizeSlot(slots.default, { + Component: ViewComponent, + route + }); + const routePropsOption = matchedRoute.props[currentName]; + const routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === "function" ? routePropsOption(route) : routePropsOption : null; + const onVnodeUnmounted = (vnode) => { + if (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null; + }; + const component = h(ViewComponent, assign({}, routeProps, attrs, { + onVnodeUnmounted, + ref: viewRef + })); + if (isBrowser && component.ref) { + const info = { + depth: depth.value, + name: matchedRoute.name, + path: matchedRoute.path, + meta: matchedRoute.meta + }; + (isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => { + instance.__vrv_devtools = info; + }); + } + return normalizeSlot(slots.default, { + Component: component, + route + }) || component; + }; + } +}); +function normalizeSlot(slot, data) { + if (!slot) return null; + const slotContent = slot(data); + return slotContent.length === 1 ? slotContent[0] : slotContent; +} +/** +* Component to display the current route the user is at. +*/ +var RouterView = RouterViewImpl; +function warnDeprecatedUsage() { + const instance = getCurrentInstance(); + const parentName = instance.parent && instance.parent.type.name; + const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type; + if (parentName && (parentName === "KeepAlive" || parentName.includes("Transition")) && typeof parentSubTreeType === "object" && parentSubTreeType.name === "RouterView") { + const comp = parentName === "KeepAlive" ? "keep-alive" : "transition"; + warn$1(` can no longer be used directly inside or . +Use slot props instead: + + + <${comp}>\n \n \n`); + } +} +/** +* Creates a Router instance that can be used by a Vue app. +* +* @param options - {@link RouterOptions} +*/ +function createRouter(options) { + const matcher = createRouterMatcher(options.routes, options); + const parseQuery$1 = options.parseQuery || parseQuery; + const stringifyQuery$1 = options.stringifyQuery || stringifyQuery; + const routerHistory = options.history; + if (!routerHistory) throw new Error("Provide the \"history\" option when calling \"createRouter()\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history"); + const beforeGuards = useCallbacks(); + const beforeResolveGuards = useCallbacks(); + const afterGuards = useCallbacks(); + const currentRoute = shallowRef(START_LOCATION_NORMALIZED); + let pendingLocation = START_LOCATION_NORMALIZED; + if (isBrowser && options.scrollBehavior && "scrollRestoration" in history) history.scrollRestoration = "manual"; + const normalizeParams = applyToParams.bind(null, (paramValue) => "" + paramValue); + const encodeParams = applyToParams.bind(null, encodeParam); + const decodeParams = applyToParams.bind(null, decode); + function addRoute(parentOrRoute, route) { + let parent; + let record; + if (isRouteName(parentOrRoute)) { + parent = matcher.getRecordMatcher(parentOrRoute); + if (!parent) warn$1(`Parent route "${String(parentOrRoute)}" not found when adding child route`, route); + record = route; + } else record = parentOrRoute; + return matcher.addRoute(record, parent); + } + function removeRoute(name) { + const recordMatcher = matcher.getRecordMatcher(name); + if (recordMatcher) matcher.removeRoute(recordMatcher); + else warn$1(`Cannot remove non-existent route "${String(name)}"`); + } + function getRoutes() { + return matcher.getRoutes().map((routeMatcher) => routeMatcher.record); + } + function hasRoute(name) { + return !!matcher.getRecordMatcher(name); + } + function resolve(rawLocation, currentLocation) { + currentLocation = assign({}, currentLocation || currentRoute.value); + if (typeof rawLocation === "string") { + const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path); + const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation); + const href = routerHistory.createHref(locationNormalized.fullPath); + if (href.startsWith("//")) warn$1(`Location "${rawLocation}" resolved to "${href}". A resolved location cannot start with multiple slashes.`); + else if (!matchedRoute.matched.length) warn$1(`No match found for location with path "${rawLocation}"`); + return assign(locationNormalized, matchedRoute, { + params: decodeParams(matchedRoute.params), + hash: decode(locationNormalized.hash), + redirectedFrom: void 0, + href + }); + } + if (!isRouteLocation(rawLocation)) { + warn$1(`router.resolve() was passed an invalid location. This will fail in production.\n- Location:`, rawLocation); + return resolve({}); + } + let matcherLocation; + if (rawLocation.path != null) { + if ("params" in rawLocation && !("name" in rawLocation) && Object.keys(rawLocation.params).length) warn$1(`Path "${rawLocation.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`); + matcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path }); + } else { + const targetParams = assign({}, rawLocation.params); + for (const key in targetParams) if (targetParams[key] == null) delete targetParams[key]; + matcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) }); + currentLocation.params = encodeParams(currentLocation.params); + } + const matchedRoute = matcher.resolve(matcherLocation, currentLocation); + const hash = rawLocation.hash || ""; + if (hash && !hash.startsWith("#")) warn$1(`A \`hash\` should always start with the character "#". Replace "${hash}" with "#${hash}".`); + matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params)); + const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, { + hash: encodeHash(hash), + path: matchedRoute.path + })); + const href = routerHistory.createHref(fullPath); + if (href.startsWith("//")) warn$1(`Location "${rawLocation}" resolved to "${href}". A resolved location cannot start with multiple slashes.`); + else if (!matchedRoute.matched.length) warn$1(`No match found for location with path "${rawLocation.path != null ? rawLocation.path : rawLocation}"`); + return assign({ + fullPath, + hash, + query: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {} + }, matchedRoute, { + redirectedFrom: void 0, + href + }); + } + function locationAsObject(to) { + return typeof to === "string" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to); + } + function checkCanceledNavigation(to, from) { + if (pendingLocation !== to) return createRouterError(ErrorTypes.NAVIGATION_CANCELLED, { + from, + to + }); + } + function push(to) { + return pushWithRedirect(to); + } + function replace(to) { + return push(assign(locationAsObject(to), { replace: true })); + } + function handleRedirectRecord(to, from) { + const lastMatched = to.matched[to.matched.length - 1]; + if (lastMatched && lastMatched.redirect) { + const { redirect } = lastMatched; + let newTargetLocation = typeof redirect === "function" ? redirect(to, from) : redirect; + if (typeof newTargetLocation === "string") { + newTargetLocation = newTargetLocation.includes("?") || newTargetLocation.includes("#") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation }; + newTargetLocation.params = {}; + } + if (newTargetLocation.path == null && !("name" in newTargetLocation)) { + warn$1(`Invalid redirect found:\n${JSON.stringify(newTargetLocation, null, 2)}\n when navigating to "${to.fullPath}". A redirect must contain a name or path. This will break in production.`); + throw new Error("Invalid redirect"); + } + return assign({ + query: to.query, + hash: to.hash, + params: newTargetLocation.path != null ? {} : to.params + }, newTargetLocation); + } + } + function pushWithRedirect(to, redirectedFrom) { + const targetLocation = pendingLocation = resolve(to); + const from = currentRoute.value; + const data = to.state; + const force = to.force; + const replace = to.replace === true; + const shouldRedirect = handleRedirectRecord(targetLocation, from); + if (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), { + state: typeof shouldRedirect === "object" ? assign({}, data, shouldRedirect.state) : data, + force, + replace + }), redirectedFrom || targetLocation); + const toLocation = targetLocation; + toLocation.redirectedFrom = redirectedFrom; + let failure; + if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) { + failure = createRouterError(ErrorTypes.NAVIGATION_DUPLICATED, { + to: toLocation, + from + }); + handleScroll(from, from, true, false); + } + return (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure) => { + if (failure) { + if (isNavigationFailure(failure, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) { + if (isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) { + warn$1(`Detected a possibly infinite redirection in a navigation guard when going from "${from.fullPath}" to "${toLocation.fullPath}". Aborting to avoid a Stack Overflow.\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`); + return Promise.reject(/* @__PURE__ */ new Error("Infinite redirect in navigation guard")); + } + return pushWithRedirect(assign({ replace }, locationAsObject(failure.to), { + state: typeof failure.to === "object" ? assign({}, data, failure.to.state) : data, + force + }), redirectedFrom || toLocation); + } + } else failure = finalizeNavigation(toLocation, from, true, replace, data); + triggerAfterEach(toLocation, from, failure); + return failure; + }); + } + /** + * Helper to reject and skip all navigation guards if a new navigation happened + * @param to + * @param from + */ + function checkCanceledNavigationAndReject(to, from) { + const error = checkCanceledNavigation(to, from); + return error ? Promise.reject(error) : Promise.resolve(); + } + function runWithContext(fn) { + const app = installedApps.values().next().value; + return app && typeof app.runWithContext === "function" ? app.runWithContext(fn) : fn(); + } + function navigate(to, from) { + let guards; + const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from); + guards = extractComponentsGuards(leavingRecords.reverse(), "beforeRouteLeave", to, from); + for (const record of leavingRecords) record.leaveGuards.forEach((guard) => { + guards.push(guardToPromiseFn(guard, to, from)); + }); + const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards).then(() => { + guards = []; + for (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from)); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).then(() => { + guards = extractComponentsGuards(updatingRecords, "beforeRouteUpdate", to, from); + for (const record of updatingRecords) record.updateGuards.forEach((guard) => { + guards.push(guardToPromiseFn(guard, to, from)); + }); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).then(() => { + guards = []; + for (const record of enteringRecords) if (record.beforeEnter) if (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from)); + else guards.push(guardToPromiseFn(record.beforeEnter, to, from)); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).then(() => { + to.matched.forEach((record) => record.enterCallbacks = {}); + guards = extractComponentsGuards(enteringRecords, "beforeRouteEnter", to, from, runWithContext); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).then(() => { + guards = []; + for (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from)); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).catch((err) => isNavigationFailure(err, ErrorTypes.NAVIGATION_CANCELLED) ? err : Promise.reject(err)); + } + function triggerAfterEach(to, from, failure) { + afterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure))); + } + /** + * - Cleans up any navigation guards + * - Changes the url if necessary + * - Calls the scrollBehavior + */ + function finalizeNavigation(toLocation, from, isPush, replace, data) { + const error = checkCanceledNavigation(toLocation, from); + if (error) return error; + const isFirstNavigation = from === START_LOCATION_NORMALIZED; + const state = !isBrowser ? {} : history.state; + if (isPush) if (replace || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data)); + else routerHistory.push(toLocation.fullPath, data); + currentRoute.value = toLocation; + handleScroll(toLocation, from, isPush, isFirstNavigation); + markAsReady(); + } + let removeHistoryListener; + function setupListeners() { + if (removeHistoryListener) return; + removeHistoryListener = routerHistory.listen((to, _from, info) => { + if (!router.listening) return; + const toLocation = resolve(to); + const shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value); + if (shouldRedirect) { + pushWithRedirect(assign(shouldRedirect, { + replace: true, + force: true + }), toLocation).catch(noop); + return; + } + pendingLocation = toLocation; + const from = currentRoute.value; + if (isBrowser) saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition()); + navigate(toLocation, from).catch((error) => { + if (isNavigationFailure(error, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_CANCELLED)) return error; + if (isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) { + pushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => { + if (isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED) && !info.delta && info.type === NavigationType.pop) routerHistory.go(-1, false); + }).catch(noop); + return Promise.reject(); + } + if (info.delta) routerHistory.go(-info.delta, false); + return triggerError(error, toLocation, from); + }).then((failure) => { + failure = failure || finalizeNavigation(toLocation, from, false); + if (failure) { + if (info.delta && !isNavigationFailure(failure, ErrorTypes.NAVIGATION_CANCELLED)) routerHistory.go(-info.delta, false); + else if (info.type === NavigationType.pop && isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED)) routerHistory.go(-1, false); + } + triggerAfterEach(toLocation, from, failure); + }).catch(noop); + }); + } + let readyHandlers = useCallbacks(); + let errorListeners = useCallbacks(); + let ready; + /** + * Trigger errorListeners added via onError and throws the error as well + * + * @param error - error to throw + * @param to - location we were navigating to when the error happened + * @param from - location we were navigating from when the error happened + * @returns the error as a rejected promise + */ + function triggerError(error, to, from) { + markAsReady(error); + const list = errorListeners.list(); + if (list.length) list.forEach((handler) => handler(error, to, from)); + else { + warn$1("uncaught error during route navigation:"); + console.error(error); + } + return Promise.reject(error); + } + function isReady() { + if (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve(); + return new Promise((resolve, reject) => { + readyHandlers.add([resolve, reject]); + }); + } + function markAsReady(err) { + if (!ready) { + ready = !err; + setupListeners(); + readyHandlers.list().forEach(([resolve, reject]) => err ? reject(err) : resolve()); + readyHandlers.reset(); + } + return err; + } + function handleScroll(to, from, isPush, isFirstNavigation) { + const { scrollBehavior } = options; + if (!isBrowser || !scrollBehavior) return Promise.resolve(); + const scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null; + return nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => position && scrollToPosition(position)).catch((err) => triggerError(err, to, from)); + } + const go = (delta) => routerHistory.go(delta); + let started; + const installedApps = /* @__PURE__ */ new Set(); + const router = { + currentRoute, + listening: true, + addRoute, + removeRoute, + clearRoutes: matcher.clearRoutes, + hasRoute, + getRoutes, + resolve, + options, + push, + replace, + go, + back: () => go(-1), + forward: () => go(1), + beforeEach: beforeGuards.add, + beforeResolve: beforeResolveGuards.add, + afterEach: afterGuards.add, + onError: errorListeners.add, + isReady, + install(app) { + app.component("RouterLink", RouterLink); + app.component("RouterView", RouterView); + app.config.globalProperties.$router = router; + Object.defineProperty(app.config.globalProperties, "$route", { + enumerable: true, + get: () => unref(currentRoute) + }); + if (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) { + started = true; + push(routerHistory.location).catch((err) => { + warn$1("Unexpected error when starting the router:", err); + }); + } + const reactiveRoute = {}; + for (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, { + get: () => currentRoute.value[key], + enumerable: true + }); + app.provide(routerKey, router); + app.provide(routeLocationKey, shallowReactive(reactiveRoute)); + app.provide(routerViewLocationKey, currentRoute); + const unmountApp = app.unmount; + installedApps.add(app); + app.unmount = function() { + installedApps.delete(app); + if (installedApps.size < 1) { + pendingLocation = START_LOCATION_NORMALIZED; + removeHistoryListener && removeHistoryListener(); + removeHistoryListener = null; + currentRoute.value = START_LOCATION_NORMALIZED; + started = false; + ready = false; + } + unmountApp(); + }; + if (isBrowser && true) addDevtools(app, router, matcher); + } + }; + function runGuardQueue(guards) { + return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve()); + } + return router; +} +//#endregion +export { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey }; + +//# sourceMappingURL=vue-router.js.map \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/vue-router.js.map b/src/.vuepress/.cache/deps/vue-router.js.map new file mode 100644 index 000000000..b42e8cb9e --- /dev/null +++ b/src/.vuepress/.cache/deps/vue-router.js.map @@ -0,0 +1 @@ +{"version":3,"file":"vue-router.js","names":[],"sources":["../../../../node_modules/vue-router/dist/useApi-C8XBqGtv.js","../../../../node_modules/vue-router/dist/devtools-DUDsFuj9.js","../../../../node_modules/vue-router/dist/vue-router.js"],"sourcesContent":["/*!\n * vue-router v5.0.4\n * (c) 2026 Eduardo San Martin Morote\n * @license MIT\n */\nimport { inject } from \"vue\";\n\n//#region src/utils/env.ts\nconst isBrowser = typeof document !== \"undefined\";\n\n//#endregion\n//#region src/utils/index.ts\n/**\n* Identity function that returns the value as is.\n*\n* @param v - the value to return\n*\n* @internal\n*/\nconst identityFn = (v) => v;\n/**\n* Allows differentiating lazy components from functional components and vue-class-component\n* @internal\n*\n* @param component\n*/\nfunction isRouteComponent(component) {\n\treturn typeof component === \"object\" || \"displayName\" in component || \"props\" in component || \"__vccOpts\" in component;\n}\nfunction isESModule(obj) {\n\treturn obj.__esModule || obj[Symbol.toStringTag] === \"Module\" || obj.default && isRouteComponent(obj.default);\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n\tconst newParams = {};\n\tfor (const key in params) {\n\t\tconst value = params[key];\n\t\tnewParams[key] = isArray(value) ? value.map(fn) : fn(value);\n\t}\n\treturn newParams;\n}\nconst noop = () => {};\n/**\n* Typesafe alternative to Array.isArray\n* https://github.com/microsoft/TypeScript/pull/48228\n*\n* @internal\n*/\nconst isArray = Array.isArray;\nfunction mergeOptions(defaults, partialOptions) {\n\tconst options = {};\n\tfor (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n\treturn options;\n}\n\n//#endregion\n//#region src/errors.ts\n/**\n* Flags so we can combine them when checking for multiple errors. This is the internal version of\n* {@link NavigationFailureType}.\n*\n* @internal\n*/\nlet ErrorTypes = /* @__PURE__ */ function(ErrorTypes) {\n\tErrorTypes[ErrorTypes[\"MATCHER_NOT_FOUND\"] = 1] = \"MATCHER_NOT_FOUND\";\n\tErrorTypes[ErrorTypes[\"NAVIGATION_GUARD_REDIRECT\"] = 2] = \"NAVIGATION_GUARD_REDIRECT\";\n\tErrorTypes[ErrorTypes[\"NAVIGATION_ABORTED\"] = 4] = \"NAVIGATION_ABORTED\";\n\tErrorTypes[ErrorTypes[\"NAVIGATION_CANCELLED\"] = 8] = \"NAVIGATION_CANCELLED\";\n\tErrorTypes[ErrorTypes[\"NAVIGATION_DUPLICATED\"] = 16] = \"NAVIGATION_DUPLICATED\";\n\treturn ErrorTypes;\n}({});\nconst NavigationFailureSymbol = Symbol(process.env.NODE_ENV !== \"production\" ? \"navigation failure\" : \"\");\n/**\n* Enumeration with all possible types for navigation failures. Can be passed to\n* {@link isNavigationFailure} to check for specific failures.\n*/\nlet NavigationFailureType = /* @__PURE__ */ function(NavigationFailureType) {\n\t/**\n\t* An aborted navigation is a navigation that failed because a navigation\n\t* guard returned `false` or called `next(false)`\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n\t/**\n\t* A cancelled navigation is a navigation that failed because a more recent\n\t* navigation finished started (not necessarily finished).\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n\t/**\n\t* A duplicated navigation is a navigation that failed because it was\n\t* initiated while already being at the exact same location.\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n\treturn NavigationFailureType;\n}({});\nconst ErrorTypeMessages = {\n\t[ErrorTypes.MATCHER_NOT_FOUND]({ location, currentLocation }) {\n\t\treturn `No match for\\n ${JSON.stringify(location)}${currentLocation ? \"\\nwhile being at\\n\" + JSON.stringify(currentLocation) : \"\"}`;\n\t},\n\t[ErrorTypes.NAVIGATION_GUARD_REDIRECT]({ from, to }) {\n\t\treturn `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n\t},\n\t[ErrorTypes.NAVIGATION_ABORTED]({ from, to }) {\n\t\treturn `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n\t},\n\t[ErrorTypes.NAVIGATION_CANCELLED]({ from, to }) {\n\t\treturn `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n\t},\n\t[ErrorTypes.NAVIGATION_DUPLICATED]({ from, to }) {\n\t\treturn `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n\t}\n};\n/**\n* Creates a typed NavigationFailure object.\n* @internal\n* @param type - NavigationFailureType\n* @param params - { from, to }\n*/\nfunction createRouterError(type, params) {\n\tif (process.env.NODE_ENV !== \"production\" || false) return assign(new Error(ErrorTypeMessages[type](params)), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n\telse return assign(/* @__PURE__ */ new Error(), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n}\nfunction isNavigationFailure(error, type) {\n\treturn error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type));\n}\nconst propertiesToLog = [\n\t\"params\",\n\t\"query\",\n\t\"hash\"\n];\nfunction stringifyRoute(to) {\n\tif (typeof to === \"string\") return to;\n\tif (to.path != null) return to.path;\n\tconst location = {};\n\tfor (const key of propertiesToLog) if (key in to) location[key] = to[key];\n\treturn JSON.stringify(location, null, 2);\n}\n\n//#endregion\n//#region src/injectionSymbols.ts\n/**\n* RouteRecord being rendered by the closest ancestor Router View. Used for\n* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n* Location Matched\n*\n* @internal\n*/\nconst matchedRouteKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location matched\" : \"\");\n/**\n* Allows overriding the router view depth to control which component in\n* `matched` is rendered. rvd stands for Router View Depth\n*\n* @internal\n*/\nconst viewDepthKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view depth\" : \"\");\n/**\n* Allows overriding the router instance returned by `useRouter` in tests. r\n* stands for router\n*\n* @internal\n*/\nconst routerKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router\" : \"\");\n/**\n* Allows overriding the current route returned by `useRoute` in tests. rl\n* stands for route location\n*\n* @internal\n*/\nconst routeLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"route location\" : \"\");\n/**\n* Allows overriding the current route used by router-view. Internally this is\n* used when the `route` prop is passed.\n*\n* @internal\n*/\nconst routerViewLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location\" : \"\");\n\n//#endregion\n//#region src/useApi.ts\n/**\n* Returns the router instance. Equivalent to using `$router` inside\n* templates.\n*/\nfunction useRouter() {\n\treturn inject(routerKey);\n}\n/**\n* Returns the current route location. Equivalent to using `$route` inside\n* templates.\n*/\nfunction useRoute(_name) {\n\treturn inject(routeLocationKey);\n}\n\n//#endregion\nexport { isRouteComponent as _, routerKey as a, isBrowser as b, ErrorTypes as c, isNavigationFailure as d, applyToParams as f, isESModule as g, isArray as h, routeLocationKey as i, NavigationFailureType as l, identityFn as m, useRouter as n, routerViewLocationKey as o, assign as p, matchedRouteKey as r, viewDepthKey as s, useRoute as t, createRouterError as u, mergeOptions as v, noop as y };","/*!\n * vue-router v5.0.4\n * (c) 2026 Eduardo San Martin Morote\n * @license MIT\n */\nimport { _ as isRouteComponent, b as isBrowser, c as ErrorTypes, g as isESModule, h as isArray, p as assign, r as matchedRouteKey, u as createRouterError } from \"./useApi-C8XBqGtv.js\";\nimport { getCurrentInstance, inject, onActivated, onDeactivated, onUnmounted, watch } from \"vue\";\nimport { setupDevtoolsPlugin } from \"@vue/devtools-api\";\n\n//#region src/warning.ts\nfunction warn$1(msg) {\n\tconst args = Array.from(arguments).slice(1);\n\tconsole.warn.apply(console, [\"[Vue Router warn]: \" + msg].concat(args));\n}\n\n//#endregion\n//#region src/encoding.ts\n/**\n* Encoding Rules (␣ = Space)\n* - Path: ␣ \" < > # ? { }\n* - Query: ␣ \" < > # & =\n* - Hash: ␣ \" < > `\n*\n* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n* defines some extra characters to be encoded. Most browsers do not encode them\n* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n* plus `-._~`. This extra safety should be applied to query by patching the\n* string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n* into a `/` if directly typed in. The _backtick_ (`````) should also be\n* encoded everywhere because some browsers like FF encode it when directly\n* written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n*/\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\n/**\n* NOTE: It's not clear to me if we should encode the + symbol in queries, it\n* seems to be less flexible than not doing so and I can't find out the legacy\n* systems requiring this for regular requests like text/html. In the standard,\n* the encoding of the plus character is only mentioned for\n* application/x-www-form-urlencoded\n* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n* leave the plus character as is in queries. To be more flexible, we allow the\n* plus character on the query, but it can also be manually encoded by the user.\n*\n* Resources:\n* - https://url.spec.whatwg.org/#urlencoded-parsing\n* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n*/\nconst ENC_BRACKET_OPEN_RE = /%5B/g;\nconst ENC_BRACKET_CLOSE_RE = /%5D/g;\nconst ENC_CARET_RE = /%5E/g;\nconst ENC_BACKTICK_RE = /%60/g;\nconst ENC_CURLY_OPEN_RE = /%7B/g;\nconst ENC_PIPE_RE = /%7C/g;\nconst ENC_CURLY_CLOSE_RE = /%7D/g;\nconst ENC_SPACE_RE = /%20/g;\n/**\n* Encode characters that need to be encoded on the path, search and hash\n* sections of the URL.\n*\n* @internal\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction commonEncode(text) {\n\treturn text == null ? \"\" : encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\").replace(ENC_BRACKET_OPEN_RE, \"[\").replace(ENC_BRACKET_CLOSE_RE, \"]\");\n}\n/**\n* Encode characters that need to be encoded on the hash section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeHash(text) {\n\treturn commonEncode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Encode characters that need to be encoded query values on the query\n* section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeQueryValue(text) {\n\treturn commonEncode(text).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Like `encodeQueryValue` but also encodes the `=` character.\n*\n* @param text - string to encode\n*/\nfunction encodeQueryKey(text) {\n\treturn encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodePath(text) {\n\treturn commonEncode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL as a\n* param. This function encodes everything {@link encodePath} does plus the\n* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n* string instead.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeParam(text) {\n\treturn encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text) {\n\tif (text == null) return null;\n\ttry {\n\t\treturn decodeURIComponent(\"\" + text);\n\t} catch (err) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warn$1(`Error decoding \"${text}\". Using original value`);\n\t}\n\treturn \"\" + text;\n}\n\n//#endregion\n//#region src/location.ts\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, \"\");\n/**\n* Transforms a URI into a normalized history location\n*\n* @param parseQuery\n* @param location - URI to normalize\n* @param currentLocation - current absolute location. Allows resolving relative\n* paths. Must start with `/`. Defaults to `/`\n* @returns a normalized history location\n*/\nfunction parseURL(parseQuery, location, currentLocation = \"/\") {\n\tlet path, query = {}, searchString = \"\", hash = \"\";\n\tconst hashPos = location.indexOf(\"#\");\n\tlet searchPos = location.indexOf(\"?\");\n\tsearchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos;\n\tif (searchPos >= 0) {\n\t\tpath = location.slice(0, searchPos);\n\t\tsearchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length);\n\t\tquery = parseQuery(searchString.slice(1));\n\t}\n\tif (hashPos >= 0) {\n\t\tpath = path || location.slice(0, hashPos);\n\t\thash = location.slice(hashPos, location.length);\n\t}\n\tpath = resolveRelativePath(path != null ? path : location, currentLocation);\n\treturn {\n\t\tfullPath: path + searchString + hash,\n\t\tpath,\n\t\tquery,\n\t\thash: decode(hash)\n\t};\n}\nfunction NEW_stringifyURL(stringifyQuery, path, query, hash = \"\") {\n\tconst searchText = stringifyQuery(query);\n\treturn path + (searchText && \"?\") + searchText + encodeHash(hash);\n}\n/**\n* Stringifies a URL object\n*\n* @param stringifyQuery\n* @param location\n*/\nfunction stringifyURL(stringifyQuery, location) {\n\tconst query = location.query ? stringifyQuery(location.query) : \"\";\n\treturn location.path + (query && \"?\") + query + (location.hash || \"\");\n}\n/**\n* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n*\n* @param pathname - location.pathname\n* @param base - base to strip off\n*/\nfunction stripBase(pathname, base) {\n\tif (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname;\n\treturn pathname.slice(base.length) || \"/\";\n}\n/**\n* Checks if two RouteLocation are equal. This means that both locations are\n* pointing towards the same {@link RouteRecord} and that all `params`, `query`\n* parameters and `hash` are the same\n*\n* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n* @param a - first {@link RouteLocation}\n* @param b - second {@link RouteLocation}\n*/\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n\tconst aLastIndex = a.matched.length - 1;\n\tconst bLastIndex = b.matched.length - 1;\n\treturn aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery(a.query) === stringifyQuery(b.query) && a.hash === b.hash;\n}\n/**\n* Check if two `RouteRecords` are equal. Takes into account aliases: they are\n* considered equal to the `RouteRecord` they are aliasing.\n*\n* @param a - first {@link RouteRecord}\n* @param b - second {@link RouteRecord}\n*/\nfunction isSameRouteRecord(a, b) {\n\treturn (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n\tif (Object.keys(a).length !== Object.keys(b).length) return false;\n\tfor (var key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false;\n\treturn true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n\treturn isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf());\n}\n/**\n* Check if two arrays are the same or if an array with one single entry is the\n* same as another primitive value. Used to check query and parameters\n*\n* @param a - array of values\n* @param b - array of values or a single value\n*/\nfunction isEquivalentArray(a, b) {\n\treturn isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;\n}\n/**\n* Resolves a relative path that starts with `.`.\n*\n* @param to - path location we are resolving\n* @param from - currentLocation.path, should start with `/`\n*/\nfunction resolveRelativePath(to, from) {\n\tif (to.startsWith(\"/\")) return to;\n\tif (process.env.NODE_ENV !== \"production\" && !from.startsWith(\"/\")) {\n\t\twarn$1(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n\t\treturn to;\n\t}\n\tif (!to) return from;\n\tconst fromSegments = from.split(\"/\");\n\tconst toSegments = to.split(\"/\");\n\tconst lastToSegment = toSegments[toSegments.length - 1];\n\tif (lastToSegment === \"..\" || lastToSegment === \".\") toSegments.push(\"\");\n\tlet position = fromSegments.length - 1;\n\tlet toPosition;\n\tlet segment;\n\tfor (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n\t\tsegment = toSegments[toPosition];\n\t\tif (segment === \".\") continue;\n\t\tif (segment === \"..\") {\n\t\t\tif (position > 1) position--;\n\t\t} else break;\n\t}\n\treturn fromSegments.slice(0, position).join(\"/\") + \"/\" + toSegments.slice(toPosition).join(\"/\");\n}\n/**\n* Initial route location where the router is. Can be used in navigation guards\n* to differentiate the initial navigation.\n*\n* @example\n* ```js\n* import { START_LOCATION } from 'vue-router'\n*\n* router.beforeEach((to, from) => {\n* if (from === START_LOCATION) {\n* // initial navigation\n* }\n* })\n* ```\n*/\nconst START_LOCATION_NORMALIZED = {\n\tpath: \"/\",\n\tname: void 0,\n\tparams: {},\n\tquery: {},\n\thash: \"\",\n\tfullPath: \"/\",\n\tmatched: [],\n\tmeta: {},\n\tredirectedFrom: void 0\n};\n\n//#endregion\n//#region src/history/common.ts\nlet NavigationType = /* @__PURE__ */ function(NavigationType) {\n\tNavigationType[\"pop\"] = \"pop\";\n\tNavigationType[\"push\"] = \"push\";\n\treturn NavigationType;\n}({});\nlet NavigationDirection = /* @__PURE__ */ function(NavigationDirection) {\n\tNavigationDirection[\"back\"] = \"back\";\n\tNavigationDirection[\"forward\"] = \"forward\";\n\tNavigationDirection[\"unknown\"] = \"\";\n\treturn NavigationDirection;\n}({});\n/**\n* Starting location for Histories\n*/\nconst START = \"\";\n/**\n* Normalizes a base by removing any trailing slash and reading the base tag if\n* present.\n*\n* @param base - base to normalize\n*/\nfunction normalizeBase(base) {\n\tif (!base) if (isBrowser) {\n\t\tconst baseEl = document.querySelector(\"base\");\n\t\tbase = baseEl && baseEl.getAttribute(\"href\") || \"/\";\n\t\tbase = base.replace(/^\\w+:\\/\\/[^\\/]+/, \"\");\n\t} else base = \"/\";\n\tif (base[0] !== \"/\" && base[0] !== \"#\") base = \"/\" + base;\n\treturn removeTrailingSlash(base);\n}\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n\treturn base.replace(BEFORE_HASH_RE, \"#\") + location;\n}\n\n//#endregion\n//#region src/scrollBehavior.ts\nfunction getElementPosition(el, offset) {\n\tconst docRect = document.documentElement.getBoundingClientRect();\n\tconst elRect = el.getBoundingClientRect();\n\treturn {\n\t\tbehavior: offset.behavior,\n\t\tleft: elRect.left - docRect.left - (offset.left || 0),\n\t\ttop: elRect.top - docRect.top - (offset.top || 0)\n\t};\n}\nconst computeScrollPosition = () => ({\n\tleft: window.scrollX,\n\ttop: window.scrollY\n});\nfunction scrollToPosition(position) {\n\tlet scrollToOptions;\n\tif (\"el\" in position) {\n\t\tconst positionEl = position.el;\n\t\tconst isIdSelector = typeof positionEl === \"string\" && positionEl.startsWith(\"#\");\n\t\t/**\n\t\t* `id`s can accept pretty much any characters, including CSS combinators\n\t\t* like `>` or `~`. It's still possible to retrieve elements using\n\t\t* `document.getElementById('~')` but it needs to be escaped when using\n\t\t* `document.querySelector('#\\\\~')` for it to be valid. The only\n\t\t* requirements for `id`s are them to be unique on the page and to not be\n\t\t* empty (`id=\"\"`). Because of that, when passing an id selector, it should\n\t\t* be properly escaped for it to work with `querySelector`. We could check\n\t\t* for the id selector to be simple (no CSS combinators `+ >~`) but that\n\t\t* would make things inconsistent since they are valid characters for an\n\t\t* `id` but would need to be escaped when using `querySelector`, breaking\n\t\t* their usage and ending up in no selector returned. Selectors need to be\n\t\t* escaped:\n\t\t*\n\t\t* - `#1-thing` becomes `#\\31 -thing`\n\t\t* - `#with~symbols` becomes `#with\\\\~symbols`\n\t\t*\n\t\t* - More information about the topic can be found at\n\t\t* https://mathiasbynens.be/notes/html5-id-class.\n\t\t* - Practical example: https://mathiasbynens.be/demo/html5-id\n\t\t*/\n\t\tif (process.env.NODE_ENV !== \"production\" && typeof position.el === \"string\") {\n\t\t\tif (!isIdSelector || !document.getElementById(position.el.slice(1))) try {\n\t\t\t\tconst foundEl = document.querySelector(position.el);\n\t\t\t\tif (isIdSelector && foundEl) {\n\t\t\t\t\twarn$1(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\twarn$1(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tconst el = typeof positionEl === \"string\" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;\n\t\tif (!el) {\n\t\t\tprocess.env.NODE_ENV !== \"production\" && warn$1(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n\t\t\treturn;\n\t\t}\n\t\tscrollToOptions = getElementPosition(el, position);\n\t} else scrollToOptions = position;\n\tif (\"scrollBehavior\" in document.documentElement.style) window.scrollTo(scrollToOptions);\n\telse window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n}\nfunction getScrollKey(path, delta) {\n\treturn (history.state ? history.state.position - delta : -1) + path;\n}\nconst scrollPositions = /* @__PURE__ */ new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n\tscrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n\tconst scroll = scrollPositions.get(key);\n\tscrollPositions.delete(key);\n\treturn scroll;\n}\n/**\n* ScrollBehavior instance used by the router to compute and restore the scroll\n* position when navigating.\n*/\n\n//#endregion\n//#region src/types/typeGuards.ts\nfunction isRouteLocation(route) {\n\treturn typeof route === \"string\" || route && typeof route === \"object\";\n}\nfunction isRouteName(name) {\n\treturn typeof name === \"string\" || typeof name === \"symbol\";\n}\n\n//#endregion\n//#region src/query.ts\n/**\n* Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n* version with the leading `?` and without Should work as URLSearchParams\n\n* @internal\n*\n* @param search - search string to parse\n* @returns a query object\n*/\nfunction parseQuery(search) {\n\tconst query = {};\n\tif (search === \"\" || search === \"?\") return query;\n\tconst searchParams = (search[0] === \"?\" ? search.slice(1) : search).split(\"&\");\n\tfor (let i = 0; i < searchParams.length; ++i) {\n\t\tconst searchParam = searchParams[i].replace(PLUS_RE, \" \");\n\t\tconst eqPos = searchParam.indexOf(\"=\");\n\t\tconst key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n\t\tconst value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n\t\tif (key in query) {\n\t\t\tlet currentValue = query[key];\n\t\t\tif (!isArray(currentValue)) currentValue = query[key] = [currentValue];\n\t\t\tcurrentValue.push(value);\n\t\t} else query[key] = value;\n\t}\n\treturn query;\n}\n/**\n* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n* doesn't prepend a `?`\n*\n* @internal\n*\n* @param query - query object to stringify\n* @returns string version of the query without the leading `?`\n*/\nfunction stringifyQuery(query) {\n\tlet search = \"\";\n\tfor (let key in query) {\n\t\tconst value = query[key];\n\t\tkey = encodeQueryKey(key);\n\t\tif (value == null) {\n\t\t\tif (value !== void 0) search += (search.length ? \"&\" : \"\") + key;\n\t\t\tcontinue;\n\t\t}\n\t\t(isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value) => {\n\t\t\tif (value !== void 0) {\n\t\t\t\tsearch += (search.length ? \"&\" : \"\") + key;\n\t\t\t\tif (value != null) search += \"=\" + value;\n\t\t\t}\n\t\t});\n\t}\n\treturn search;\n}\n/**\n* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n* numbers into strings, removing keys with an undefined value and replacing\n* undefined with null in arrays\n*\n* @param query - query object to normalize\n* @returns a normalized query object\n*/\nfunction normalizeQuery(query) {\n\tconst normalizedQuery = {};\n\tfor (const key in query) {\n\t\tconst value = query[key];\n\t\tif (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : \"\" + v) : value == null ? value : \"\" + value;\n\t}\n\treturn normalizedQuery;\n}\n\n//#endregion\n//#region src/utils/callbacks.ts\n/**\n* Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n*/\nfunction useCallbacks() {\n\tlet handlers = [];\n\tfunction add(handler) {\n\t\thandlers.push(handler);\n\t\treturn () => {\n\t\t\tconst i = handlers.indexOf(handler);\n\t\t\tif (i > -1) handlers.splice(i, 1);\n\t\t};\n\t}\n\tfunction reset() {\n\t\thandlers = [];\n\t}\n\treturn {\n\t\tadd,\n\t\tlist: () => handlers.slice(),\n\t\treset\n\t};\n}\n\n//#endregion\n//#region src/navigationGuards.ts\nfunction registerGuard(activeRecordRef, name, guard) {\n\tconst record = activeRecordRef.value;\n\tif (!record) {\n\t\tif (process.env.NODE_ENV !== \"production\") warn$1(`No active route record was found when calling \\`${name === \"updateGuards\" ? \"onBeforeRouteUpdate\" : \"onBeforeRouteLeave\"}()\\`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?`);\n\t\treturn;\n\t}\n\tlet currentRecord = record;\n\tconst removeFromList = () => {\n\t\tcurrentRecord[name].delete(guard);\n\t};\n\tonUnmounted(removeFromList);\n\tonDeactivated(removeFromList);\n\tonActivated(() => {\n\t\tconst newRecord = activeRecordRef.value;\n\t\tif (process.env.NODE_ENV !== \"production\" && !newRecord) warn$1(\"No active route record was found when reactivating component with navigation guard. This is likely a bug in vue-router. Please report it.\");\n\t\tif (newRecord) currentRecord = newRecord;\n\t\tcurrentRecord[name].add(guard);\n\t});\n\tcurrentRecord[name].add(guard);\n}\n/**\n* Add a navigation guard that triggers whenever the component for the current\n* location is about to be left. Similar to {@link beforeRouteLeave} but can be\n* used in any component. The guard is removed when the component is unmounted.\n*\n* @param leaveGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteLeave(leaveGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\twarn$1(\"getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function\");\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"leaveGuards\", leaveGuard);\n}\n/**\n* Add a navigation guard that triggers whenever the current location is about\n* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n* component. The guard is removed when the component is unmounted.\n*\n* @param updateGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteUpdate(updateGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\twarn$1(\"getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function\");\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"updateGuards\", updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) {\n\tconst enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n\treturn () => new Promise((resolve, reject) => {\n\t\tconst next = (valid) => {\n\t\t\tif (valid === false) reject(createRouterError(ErrorTypes.NAVIGATION_ABORTED, {\n\t\t\t\tfrom,\n\t\t\t\tto\n\t\t\t}));\n\t\t\telse if (valid instanceof Error) reject(valid);\n\t\t\telse if (isRouteLocation(valid)) reject(createRouterError(ErrorTypes.NAVIGATION_GUARD_REDIRECT, {\n\t\t\t\tfrom: to,\n\t\t\t\tto: valid\n\t\t\t}));\n\t\t\telse {\n\t\t\t\tif (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === \"function\") enterCallbackArray.push(valid);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\t\tconst guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, process.env.NODE_ENV !== \"production\" ? withDeprecationWarning(canOnlyBeCalledOnce(next, to, from)) : next));\n\t\tlet guardCall = Promise.resolve(guardReturn);\n\t\tif (guard.length < 3) guardCall = guardCall.then(next);\n\t\tif (process.env.NODE_ENV !== \"production\" && guard.length > 2) {\n\t\t\tconst message = `The \"next\" callback was never called inside of ${guard.name ? \"\\\"\" + guard.name + \"\\\"\" : \"\"}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n\t\t\tif (typeof guardReturn === \"object\" && \"then\" in guardReturn) guardCall = guardCall.then((resolvedValue) => {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\twarn$1(message);\n\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t}\n\t\t\t\treturn resolvedValue;\n\t\t\t});\n\t\t\telse if (guardReturn !== void 0) {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\twarn$1(message);\n\t\t\t\t\treject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tguardCall.catch((err) => reject(err));\n\t});\n}\n/**\n* Wraps the next callback to warn when it is used. Dev-only: when __DEV__ is\n* false (production builds), this branch is dead code and is stripped from the\n* bundle.\n*\n* @internal\n*/\nfunction withDeprecationWarning(next) {\n\tlet warned = false;\n\treturn function() {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\twarn$1(\"The `next()` callback in navigation guards is deprecated. Return the value instead of calling `next(value)`.\");\n\t\t}\n\t\treturn next.apply(this, arguments);\n\t};\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n\tlet called = 0;\n\treturn function() {\n\t\tif (called++ === 1) warn$1(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n\t\tnext._called = true;\n\t\tif (called === 1) next.apply(null, arguments);\n\t};\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) {\n\tconst guards = [];\n\tfor (const record of matched) {\n\t\tif (process.env.NODE_ENV !== \"production\" && !record.components && record.children && !record.children.length) warn$1(`Record with path \"${record.path}\" is either missing a \"component(s)\" or \"children\" property.`);\n\t\tfor (const name in record.components) {\n\t\t\tlet rawComponent = record.components[name];\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (!rawComponent || typeof rawComponent !== \"object\" && typeof rawComponent !== \"function\") {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is not a valid component. Received \"${String(rawComponent)}\".`);\n\t\t\t\t\tthrow new Error(\"Invalid route component\");\n\t\t\t\t} else if (\"then\" in rawComponent) {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is a Promise instead of a function that returns a Promise. Did you write \"import('./MyPage.vue')\" instead of \"() => import('./MyPage.vue')\" ? This will break in production if not fixed.`);\n\t\t\t\t\tconst promise = rawComponent;\n\t\t\t\t\trawComponent = () => promise;\n\t\t\t\t} else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) {\n\t\t\t\t\trawComponent.__warnedDefineAsync = true;\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is defined using \"defineAsyncComponent()\". Write \"() => import('./MyPage.vue')\" instead of \"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (guardType !== \"beforeRouteEnter\" && !record.instances[name]) continue;\n\t\t\tif (isRouteComponent(rawComponent)) {\n\t\t\t\tconst guard = (rawComponent.__vccOpts || rawComponent)[guardType];\n\t\t\t\tguard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n\t\t\t} else {\n\t\t\t\tlet componentPromise = rawComponent();\n\t\t\t\tif (process.env.NODE_ENV !== \"production\" && !(\"catch\" in componentPromise)) {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n\t\t\t\t\tcomponentPromise = Promise.resolve(componentPromise);\n\t\t\t\t}\n\t\t\t\tguards.push(() => componentPromise.then((resolved) => {\n\t\t\t\t\tif (!resolved) throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n\t\t\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\t\t\trecord.mods[name] = resolved;\n\t\t\t\t\trecord.components[name] = resolvedComponent;\n\t\t\t\t\tconst guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType];\n\t\t\t\t\treturn guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)();\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n\treturn guards;\n}\n/**\n* Ensures a route is loaded, so it can be passed as o prop to ``.\n*\n* @param route - resolved route to load\n*/\nfunction loadRouteLocation(route) {\n\treturn route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error(\"Cannot load a route that redirects.\")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => {\n\t\tconst rawComponent = record.components[name];\n\t\tif (typeof rawComponent === \"function\" && !(\"displayName\" in rawComponent)) promises.push(rawComponent().then((resolved) => {\n\t\t\tif (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\trecord.mods[name] = resolved;\n\t\t\trecord.components[name] = resolvedComponent;\n\t\t}));\n\t\treturn promises;\n\t}, [])))).then(() => route);\n}\n/**\n* Split the leaving, updating, and entering records.\n* @internal\n*\n* @param to - Location we are navigating to\n* @param from - Location we are navigating from\n*/\nfunction extractChangingRecords(to, from) {\n\tconst leavingRecords = [];\n\tconst updatingRecords = [];\n\tconst enteringRecords = [];\n\tconst len = Math.max(from.matched.length, to.matched.length);\n\tfor (let i = 0; i < len; i++) {\n\t\tconst recordFrom = from.matched[i];\n\t\tif (recordFrom) if (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom);\n\t\telse leavingRecords.push(recordFrom);\n\t\tconst recordTo = to.matched[i];\n\t\tif (recordTo) {\n\t\t\tif (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo);\n\t\t}\n\t}\n\treturn [\n\t\tleavingRecords,\n\t\tupdatingRecords,\n\t\tenteringRecords\n\t];\n}\n\n//#endregion\n//#region src/devtools.ts\n/**\n* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n*\n* @param routeLocation - routeLocation to format\n* @param tooltip - optional tooltip\n* @returns a copy of the routeLocation\n*/\nfunction formatRouteLocation(routeLocation, tooltip) {\n\tconst copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [\n\t\t\"instances\",\n\t\t\"children\",\n\t\t\"aliasOf\"\n\t])) });\n\treturn { _custom: {\n\t\ttype: null,\n\t\treadOnly: true,\n\t\tdisplay: routeLocation.fullPath,\n\t\ttooltip,\n\t\tvalue: copy\n\t} };\n}\nfunction formatDisplay(display) {\n\treturn { _custom: { display } };\n}\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n\tif (router.__hasDevtools) return;\n\trouter.__hasDevtools = true;\n\tconst id = routerId++;\n\tsetupDevtoolsPlugin({\n\t\tid: \"org.vuejs.router\" + (id ? \".\" + id : \"\"),\n\t\tlabel: \"Vue Router\",\n\t\tpackageName: \"vue-router\",\n\t\thomepage: \"https://router.vuejs.org\",\n\t\tlogo: \"https://router.vuejs.org/logo.png\",\n\t\tcomponentStateTypes: [\"Routing\"],\n\t\tapp\n\t}, (api) => {\n\t\tapi.on.inspectComponent((payload) => {\n\t\t\tif (payload.instanceData) payload.instanceData.state.push({\n\t\t\t\ttype: \"Routing\",\n\t\t\t\tkey: \"$route\",\n\t\t\t\teditable: false,\n\t\t\t\tvalue: formatRouteLocation(router.currentRoute.value, \"Current Route\")\n\t\t\t});\n\t\t});\n\t\tapi.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n\t\t\tif (componentInstance.__vrv_devtools) {\n\t\t\t\tconst info = componentInstance.__vrv_devtools;\n\t\t\t\tnode.tags.push({\n\t\t\t\t\tlabel: (info.name ? `${info.name.toString()}: ` : \"\") + info.path,\n\t\t\t\t\ttextColor: 0,\n\t\t\t\t\ttooltip: \"This component is rendered by <router-view>\",\n\t\t\t\t\tbackgroundColor: PINK_500\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (isArray(componentInstance.__vrl_devtools)) {\n\t\t\t\tcomponentInstance.__devtoolsApi = api;\n\t\t\t\tcomponentInstance.__vrl_devtools.forEach((devtoolsData) => {\n\t\t\t\t\tlet label = devtoolsData.route.path;\n\t\t\t\t\tlet backgroundColor = ORANGE_400;\n\t\t\t\t\tlet tooltip = \"\";\n\t\t\t\t\tlet textColor = 0;\n\t\t\t\t\tif (devtoolsData.error) {\n\t\t\t\t\t\tlabel = devtoolsData.error;\n\t\t\t\t\t\tbackgroundColor = RED_100;\n\t\t\t\t\t\ttextColor = RED_700;\n\t\t\t\t\t} else if (devtoolsData.isExactActive) {\n\t\t\t\t\t\tbackgroundColor = LIME_500;\n\t\t\t\t\t\ttooltip = \"This is exactly active\";\n\t\t\t\t\t} else if (devtoolsData.isActive) {\n\t\t\t\t\t\tbackgroundColor = BLUE_600;\n\t\t\t\t\t\ttooltip = \"This link is active\";\n\t\t\t\t\t}\n\t\t\t\t\tnode.tags.push({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\ttooltip,\n\t\t\t\t\t\tbackgroundColor\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(router.currentRoute, () => {\n\t\t\trefreshRoutesView();\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(routerInspectorId);\n\t\t\tapi.sendInspectorState(routerInspectorId);\n\t\t});\n\t\tconst navigationsLayerId = \"router:navigations:\" + id;\n\t\tapi.addTimelineLayer({\n\t\t\tid: navigationsLayerId,\n\t\t\tlabel: `Router${id ? \" \" + id : \"\"} Navigations`,\n\t\t\tcolor: 4237508\n\t\t});\n\t\trouter.onError((error, to) => {\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"Error during Navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tlogType: \"error\",\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata: { error },\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tlet navigationId = 0;\n\t\trouter.beforeEach((to, from) => {\n\t\t\tconst data = {\n\t\t\t\tguard: formatDisplay(\"beforeEach\"),\n\t\t\t\tfrom: formatRouteLocation(from, \"Current Location during this navigation\"),\n\t\t\t\tto: formatRouteLocation(to, \"Target location\")\n\t\t\t};\n\t\t\tObject.defineProperty(to.meta, \"__navigationId\", { value: navigationId++ });\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\ttitle: \"Start of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tdata,\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\trouter.afterEach((to, from, failure) => {\n\t\t\tconst data = { guard: formatDisplay(\"afterEach\") };\n\t\t\tif (failure) {\n\t\t\t\tdata.failure = { _custom: {\n\t\t\t\t\ttype: Error,\n\t\t\t\t\treadOnly: true,\n\t\t\t\t\tdisplay: failure ? failure.message : \"\",\n\t\t\t\t\ttooltip: \"Navigation Failure\",\n\t\t\t\t\tvalue: failure\n\t\t\t\t} };\n\t\t\t\tdata.status = formatDisplay(\"❌\");\n\t\t\t} else data.status = formatDisplay(\"✅\");\n\t\t\tdata.from = formatRouteLocation(from, \"Current Location during this navigation\");\n\t\t\tdata.to = formatRouteLocation(to, \"Target location\");\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"End of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata,\n\t\t\t\t\tlogType: failure ? \"warning\" : \"default\",\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t/**\n\t\t* Inspector of Existing routes\n\t\t*/\n\t\tconst routerInspectorId = \"router-inspector:\" + id;\n\t\tapi.addInspector({\n\t\t\tid: routerInspectorId,\n\t\t\tlabel: \"Routes\" + (id ? \" \" + id : \"\"),\n\t\t\ticon: \"book\",\n\t\t\ttreeFilterPlaceholder: \"Search routes\"\n\t\t});\n\t\tfunction refreshRoutesView() {\n\t\t\tif (!activeRoutesPayload) return;\n\t\t\tconst payload = activeRoutesPayload;\n\t\t\tlet routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components);\n\t\t\troutes.forEach(resetMatchStateOnRouteRecord);\n\t\t\tif (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase()));\n\t\t\troutes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value));\n\t\t\tpayload.rootNodes = routes.map(formatRouteRecordForInspector);\n\t\t}\n\t\tlet activeRoutesPayload;\n\t\tapi.on.getInspectorTree((payload) => {\n\t\t\tactiveRoutesPayload = payload;\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView();\n\t\t});\n\t\t/**\n\t\t* Display information about the currently selected route record\n\t\t*/\n\t\tapi.on.getInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) {\n\t\t\t\tconst route = matcher.getRoutes().find((route) => route.record.__vd_id === payload.nodeId);\n\t\t\t\tif (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) };\n\t\t\t}\n\t\t});\n\t\tapi.sendInspectorTree(routerInspectorId);\n\t\tapi.sendInspectorState(routerInspectorId);\n\t});\n}\nfunction modifierForKey(key) {\n\tif (key.optional) return key.repeatable ? \"*\" : \"?\";\n\telse return key.repeatable ? \"+\" : \"\";\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n\tconst { record } = route;\n\tconst fields = [{\n\t\teditable: false,\n\t\tkey: \"path\",\n\t\tvalue: record.path\n\t}];\n\tif (record.name != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"name\",\n\t\tvalue: record.name\n\t});\n\tfields.push({\n\t\teditable: false,\n\t\tkey: \"regexp\",\n\t\tvalue: route.re\n\t});\n\tif (route.keys.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"keys\",\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(\" \"),\n\t\t\ttooltip: \"Param keys\",\n\t\t\tvalue: route.keys\n\t\t} }\n\t});\n\tif (record.redirect != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"redirect\",\n\t\tvalue: record.redirect\n\t});\n\tif (route.alias.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"aliases\",\n\t\tvalue: route.alias.map((alias) => alias.record.path)\n\t});\n\tif (Object.keys(route.record.meta).length) fields.push({\n\t\teditable: false,\n\t\tkey: \"meta\",\n\t\tvalue: route.record.meta\n\t});\n\tfields.push({\n\t\tkey: \"score\",\n\t\teditable: false,\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.score.map((score) => score.join(\", \")).join(\" | \"),\n\t\t\ttooltip: \"Score used to sort routes\",\n\t\t\tvalue: route.score\n\t\t} }\n\t});\n\treturn fields;\n}\n/**\n* Extracted from tailwind palette\n*/\nconst PINK_500 = 15485081;\nconst BLUE_600 = 2450411;\nconst LIME_500 = 8702998;\nconst CYAN_400 = 2282478;\nconst ORANGE_400 = 16486972;\nconst DARK = 6710886;\nconst RED_100 = 16704226;\nconst RED_700 = 12131356;\nfunction formatRouteRecordForInspector(route) {\n\tconst tags = [];\n\tconst { record } = route;\n\tif (record.name != null) tags.push({\n\t\tlabel: String(record.name),\n\t\ttextColor: 0,\n\t\tbackgroundColor: CYAN_400\n\t});\n\tif (record.aliasOf) tags.push({\n\t\tlabel: \"alias\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: ORANGE_400\n\t});\n\tif (route.__vd_match) tags.push({\n\t\tlabel: \"matches\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: PINK_500\n\t});\n\tif (route.__vd_exactActive) tags.push({\n\t\tlabel: \"exact\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: LIME_500\n\t});\n\tif (route.__vd_active) tags.push({\n\t\tlabel: \"active\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: BLUE_600\n\t});\n\tif (record.redirect) tags.push({\n\t\tlabel: typeof record.redirect === \"string\" ? `redirect: ${record.redirect}` : \"redirects\",\n\t\ttextColor: 16777215,\n\t\tbackgroundColor: DARK\n\t});\n\tlet id = record.__vd_id;\n\tif (id == null) {\n\t\tid = String(routeRecordId++);\n\t\trecord.__vd_id = id;\n\t}\n\treturn {\n\t\tid,\n\t\tlabel: record.path,\n\t\ttags,\n\t\tchildren: route.children.map(formatRouteRecordForInspector)\n\t};\n}\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n\tconst isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n\troute.__vd_exactActive = route.__vd_active = isExactActive;\n\tif (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record));\n\troute.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n\troute.__vd_match = false;\n\troute.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n\tconst found = String(route.re).match(EXTRACT_REGEXP_RE);\n\troute.__vd_match = false;\n\tif (!found || found.length < 3) return false;\n\tif (new RegExp(found[1].replace(/\\$$/, \"\"), found[2]).test(filter)) {\n\t\troute.children.forEach((child) => isRouteMatching(child, filter));\n\t\tif (route.record.path !== \"/\" || filter === \"/\") {\n\t\t\troute.__vd_match = route.re.test(filter);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tconst path = route.record.path.toLowerCase();\n\tconst decodedPath = decode(path);\n\tif (!filter.startsWith(\"/\") && (decodedPath.includes(filter) || path.includes(filter))) return true;\n\tif (decodedPath.startsWith(filter) || path.startsWith(filter)) return true;\n\tif (route.record.name && String(route.record.name).includes(filter)) return true;\n\treturn route.children.some((child) => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n\tconst ret = {};\n\tfor (const key in obj) if (!keys.includes(key)) ret[key] = obj[key];\n\treturn ret;\n}\n\n//#endregion\nexport { resolveRelativePath as A, normalizeBase as C, isSameRouteLocationParams as D, isSameRouteLocation as E, encodeParam as F, encodePath as I, warn$1 as L, stripBase as M, decode as N, isSameRouteRecord as O, encodeHash as P, createHref as S, START_LOCATION_NORMALIZED as T, saveScrollPosition as _, loadRouteLocation as a, NavigationType as b, useCallbacks as c, stringifyQuery as d, isRouteLocation as f, getScrollKey as g, getSavedScrollPosition as h, guardToPromiseFn as i, stringifyURL as j, parseURL as k, normalizeQuery as l, computeScrollPosition as m, extractChangingRecords as n, onBeforeRouteLeave as o, isRouteName as p, extractComponentsGuards as r, onBeforeRouteUpdate as s, addDevtools as t, parseQuery as u, scrollToPosition as v, NEW_stringifyURL as w, START as x, NavigationDirection as y };","/*!\n * vue-router v5.0.4\n * (c) 2026 Eduardo San Martin Morote\n * @license MIT\n */\nimport { a as routerKey, b as isBrowser, c as ErrorTypes, d as isNavigationFailure, f as applyToParams, h as isArray, i as routeLocationKey, l as NavigationFailureType, n as useRouter, o as routerViewLocationKey, p as assign, r as matchedRouteKey, s as viewDepthKey, t as useRoute, u as createRouterError, v as mergeOptions, y as noop } from \"./useApi-C8XBqGtv.js\";\nimport { C as normalizeBase, D as isSameRouteLocationParams, E as isSameRouteLocation, F as encodeParam, L as warn$1, M as stripBase, N as decode, O as isSameRouteRecord, P as encodeHash, S as createHref, T as START_LOCATION_NORMALIZED, _ as saveScrollPosition, a as loadRouteLocation, b as NavigationType, c as useCallbacks, d as stringifyQuery, f as isRouteLocation, g as getScrollKey, h as getSavedScrollPosition, i as guardToPromiseFn, j as stringifyURL, k as parseURL, l as normalizeQuery, m as computeScrollPosition, n as extractChangingRecords, o as onBeforeRouteLeave, p as isRouteName, r as extractComponentsGuards, s as onBeforeRouteUpdate, t as addDevtools, u as parseQuery, v as scrollToPosition, x as START, y as NavigationDirection } from \"./devtools-DUDsFuj9.js\";\nimport { computed, defineComponent, getCurrentInstance, h, inject, nextTick, provide, reactive, ref, shallowReactive, shallowRef, unref, watch, watchEffect } from \"vue\";\n\n//#region src/history/html5.ts\nlet createBaseLocation = () => location.protocol + \"//\" + location.host;\n/**\n* Creates a normalized history location from a window.location object\n* @param base - The base path\n* @param location - The window.location object\n*/\nfunction createCurrentLocation(base, location) {\n\tconst { pathname, search, hash } = location;\n\tconst hashPos = base.indexOf(\"#\");\n\tif (hashPos > -1) {\n\t\tlet slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n\t\tlet pathFromHash = hash.slice(slicePos);\n\t\tif (pathFromHash[0] !== \"/\") pathFromHash = \"/\" + pathFromHash;\n\t\treturn stripBase(pathFromHash, \"\");\n\t}\n\treturn stripBase(pathname, base) + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n\tlet listeners = [];\n\tlet teardowns = [];\n\tlet pauseState = null;\n\tconst popStateHandler = ({ state }) => {\n\t\tconst to = createCurrentLocation(base, location);\n\t\tconst from = currentLocation.value;\n\t\tconst fromState = historyState.value;\n\t\tlet delta = 0;\n\t\tif (state) {\n\t\t\tcurrentLocation.value = to;\n\t\t\thistoryState.value = state;\n\t\t\tif (pauseState && pauseState === from) {\n\t\t\t\tpauseState = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdelta = fromState ? state.position - fromState.position : 0;\n\t\t} else replace(to);\n\t\tlisteners.forEach((listener) => {\n\t\t\tlistener(currentLocation.value, from, {\n\t\t\t\tdelta,\n\t\t\t\ttype: NavigationType.pop,\n\t\t\t\tdirection: delta ? delta > 0 ? NavigationDirection.forward : NavigationDirection.back : NavigationDirection.unknown\n\t\t\t});\n\t\t});\n\t};\n\tfunction pauseListeners() {\n\t\tpauseState = currentLocation.value;\n\t}\n\tfunction listen(callback) {\n\t\tlisteners.push(callback);\n\t\tconst teardown = () => {\n\t\t\tconst index = listeners.indexOf(callback);\n\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t};\n\t\tteardowns.push(teardown);\n\t\treturn teardown;\n\t}\n\tfunction beforeUnloadListener() {\n\t\tif (document.visibilityState === \"hidden\") {\n\t\t\tconst { history } = window;\n\t\t\tif (!history.state) return;\n\t\t\thistory.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), \"\");\n\t\t}\n\t}\n\tfunction destroy() {\n\t\tfor (const teardown of teardowns) teardown();\n\t\tteardowns = [];\n\t\twindow.removeEventListener(\"popstate\", popStateHandler);\n\t\twindow.removeEventListener(\"pagehide\", beforeUnloadListener);\n\t\tdocument.removeEventListener(\"visibilitychange\", beforeUnloadListener);\n\t}\n\twindow.addEventListener(\"popstate\", popStateHandler);\n\twindow.addEventListener(\"pagehide\", beforeUnloadListener);\n\tdocument.addEventListener(\"visibilitychange\", beforeUnloadListener);\n\treturn {\n\t\tpauseListeners,\n\t\tlisten,\n\t\tdestroy\n\t};\n}\n/**\n* Creates a state object\n*/\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n\treturn {\n\t\tback,\n\t\tcurrent,\n\t\tforward,\n\t\treplaced,\n\t\tposition: window.history.length,\n\t\tscroll: computeScroll ? computeScrollPosition() : null\n\t};\n}\nfunction useHistoryStateNavigation(base) {\n\tconst { history, location } = window;\n\tconst currentLocation = { value: createCurrentLocation(base, location) };\n\tconst historyState = { value: history.state };\n\tif (!historyState.value) changeLocation(currentLocation.value, {\n\t\tback: null,\n\t\tcurrent: currentLocation.value,\n\t\tforward: null,\n\t\tposition: history.length - 1,\n\t\treplaced: true,\n\t\tscroll: null\n\t}, true);\n\tfunction changeLocation(to, state, replace) {\n\t\t/**\n\t\t* if a base tag is provided, and we are on a normal domain, we have to\n\t\t* respect the provided `base` attribute because pushState() will use it and\n\t\t* potentially erase anything before the `#` like at\n\t\t* https://github.com/vuejs/router/issues/685 where a base of\n\t\t* `/folder/#` but a base of `/` would erase the `/folder/` section. If\n\t\t* there is no host, the `` tag makes no sense and if there isn't a\n\t\t* base tag we can just use everything after the `#`.\n\t\t*/\n\t\tconst hashIndex = base.indexOf(\"#\");\n\t\tconst url = hashIndex > -1 ? (location.host && document.querySelector(\"base\") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;\n\t\ttry {\n\t\t\thistory[replace ? \"replaceState\" : \"pushState\"](state, \"\", url);\n\t\t\thistoryState.value = state;\n\t\t} catch (err) {\n\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"Error with push/replace State\", err);\n\t\t\telse console.error(err);\n\t\t\tlocation[replace ? \"replace\" : \"assign\"](url);\n\t\t}\n\t}\n\tfunction replace(to, data) {\n\t\tchangeLocation(to, assign({}, history.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position }), true);\n\t\tcurrentLocation.value = to;\n\t}\n\tfunction push(to, data) {\n\t\tconst currentState = assign({}, historyState.value, history.state, {\n\t\t\tforward: to,\n\t\t\tscroll: computeScrollPosition()\n\t\t});\n\t\tif (process.env.NODE_ENV !== \"production\" && !history.state) warn$1(\"history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\nhistory.replaceState(history.state, '', url)\\n\\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state\");\n\t\tchangeLocation(currentState.current, currentState, true);\n\t\tchangeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false);\n\t\tcurrentLocation.value = to;\n\t}\n\treturn {\n\t\tlocation: currentLocation,\n\t\tstate: historyState,\n\t\tpush,\n\t\treplace\n\t};\n}\n/**\n* Creates an HTML5 history. Most common history for single page applications.\n*\n* @param base -\n*/\nfunction createWebHistory(base) {\n\tbase = normalizeBase(base);\n\tconst historyNavigation = useHistoryStateNavigation(base);\n\tconst historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n\tfunction go(delta, triggerListeners = true) {\n\t\tif (!triggerListeners) historyListeners.pauseListeners();\n\t\thistory.go(delta);\n\t}\n\tconst routerHistory = assign({\n\t\tlocation: \"\",\n\t\tbase,\n\t\tgo,\n\t\tcreateHref: createHref.bind(null, base)\n\t}, historyNavigation, historyListeners);\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.location.value\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.state.value\n\t});\n\treturn routerHistory;\n}\n\n//#endregion\n//#region src/history/memory.ts\n/**\n* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n*\n* @param base - Base applied to all urls, defaults to '/'\n* @returns a history object that can be passed to the router constructor\n*/\nfunction createMemoryHistory(base = \"\") {\n\tlet listeners = [];\n\tlet queue = [[START, {}]];\n\tlet position = 0;\n\tbase = normalizeBase(base);\n\tfunction setLocation(location, state = {}) {\n\t\tposition++;\n\t\tif (position !== queue.length) queue.splice(position);\n\t\tqueue.push([location, state]);\n\t}\n\tfunction triggerListeners(to, from, { direction, delta }) {\n\t\tconst info = {\n\t\t\tdirection,\n\t\t\tdelta,\n\t\t\ttype: NavigationType.pop\n\t\t};\n\t\tfor (const callback of listeners) callback(to, from, info);\n\t}\n\tconst routerHistory = {\n\t\tlocation: START,\n\t\tstate: {},\n\t\tbase,\n\t\tcreateHref: createHref.bind(null, base),\n\t\treplace(to, state) {\n\t\t\tqueue.splice(position--, 1);\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tpush(to, state) {\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tlisten(callback) {\n\t\t\tlisteners.push(callback);\n\t\t\treturn () => {\n\t\t\t\tconst index = listeners.indexOf(callback);\n\t\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t\t};\n\t\t},\n\t\tdestroy() {\n\t\t\tlisteners = [];\n\t\t\tqueue = [[START, {}]];\n\t\t\tposition = 0;\n\t\t},\n\t\tgo(delta, shouldTrigger = true) {\n\t\t\tconst from = this.location;\n\t\t\tconst direction = delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n\t\t\tposition = Math.max(0, Math.min(position + delta, queue.length - 1));\n\t\t\tif (shouldTrigger) triggerListeners(this.location, from, {\n\t\t\t\tdirection,\n\t\t\t\tdelta\n\t\t\t});\n\t\t}\n\t};\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][0]\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][1]\n\t});\n\treturn routerHistory;\n}\n\n//#endregion\n//#region src/history/hash.ts\n/**\n* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n* handle any URL is not possible.\n*\n* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n* calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n* after the `#`).\n*\n* @example\n* ```js\n* // at https://example.com/folder\n* createWebHashHistory() // gives a url of `https://example.com/folder#`\n* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n* // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n* // you should avoid doing this because it changes the original url and breaks copying urls\n* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n*\n* // at file:///usr/etc/folder/index.html\n* // for locations with no `host`, the base is ignored\n* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n* ```\n*/\nfunction createWebHashHistory(base) {\n\tbase = location.host ? base || location.pathname + location.search : \"\";\n\tif (!base.includes(\"#\")) base += \"#\";\n\tif (process.env.NODE_ENV !== \"production\" && !base.endsWith(\"#/\") && !base.endsWith(\"#\")) warn$1(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, \"#\")}\".`);\n\treturn createWebHistory(base);\n}\n\n//#endregion\n//#region src/matcher/pathTokenizer.ts\nlet TokenType = /* @__PURE__ */ function(TokenType) {\n\tTokenType[TokenType[\"Static\"] = 0] = \"Static\";\n\tTokenType[TokenType[\"Param\"] = 1] = \"Param\";\n\tTokenType[TokenType[\"Group\"] = 2] = \"Group\";\n\treturn TokenType;\n}({});\nvar TokenizerState = /* @__PURE__ */ function(TokenizerState) {\n\tTokenizerState[TokenizerState[\"Static\"] = 0] = \"Static\";\n\tTokenizerState[TokenizerState[\"Param\"] = 1] = \"Param\";\n\tTokenizerState[TokenizerState[\"ParamRegExp\"] = 2] = \"ParamRegExp\";\n\tTokenizerState[TokenizerState[\"ParamRegExpEnd\"] = 3] = \"ParamRegExpEnd\";\n\tTokenizerState[TokenizerState[\"EscapeNext\"] = 4] = \"EscapeNext\";\n\treturn TokenizerState;\n}(TokenizerState || {});\nconst ROOT_TOKEN = {\n\ttype: TokenType.Static,\n\tvalue: \"\"\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\nfunction tokenizePath(path) {\n\tif (!path) return [[]];\n\tif (path === \"/\") return [[ROOT_TOKEN]];\n\tif (!path.startsWith(\"/\")) throw new Error(process.env.NODE_ENV !== \"production\" ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".` : `Invalid path \"${path}\"`);\n\tfunction crash(message) {\n\t\tthrow new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n\t}\n\tlet state = TokenizerState.Static;\n\tlet previousState = state;\n\tconst tokens = [];\n\tlet segment;\n\tfunction finalizeSegment() {\n\t\tif (segment) tokens.push(segment);\n\t\tsegment = [];\n\t}\n\tlet i = 0;\n\tlet char;\n\tlet buffer = \"\";\n\tlet customRe = \"\";\n\tfunction consumeBuffer() {\n\t\tif (!buffer) return;\n\t\tif (state === TokenizerState.Static) segment.push({\n\t\t\ttype: TokenType.Static,\n\t\t\tvalue: buffer\n\t\t});\n\t\telse if (state === TokenizerState.Param || state === TokenizerState.ParamRegExp || state === TokenizerState.ParamRegExpEnd) {\n\t\t\tif (segment.length > 1 && (char === \"*\" || char === \"+\")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n\t\t\tsegment.push({\n\t\t\t\ttype: TokenType.Param,\n\t\t\t\tvalue: buffer,\n\t\t\t\tregexp: customRe,\n\t\t\t\trepeatable: char === \"*\" || char === \"+\",\n\t\t\t\toptional: char === \"*\" || char === \"?\"\n\t\t\t});\n\t\t} else crash(\"Invalid state to consume buffer\");\n\t\tbuffer = \"\";\n\t}\n\tfunction addCharToBuffer() {\n\t\tbuffer += char;\n\t}\n\twhile (i < path.length) {\n\t\tchar = path[i++];\n\t\tif (char === \"\\\\\" && state !== TokenizerState.ParamRegExp) {\n\t\t\tpreviousState = state;\n\t\t\tstate = TokenizerState.EscapeNext;\n\t\t\tcontinue;\n\t\t}\n\t\tswitch (state) {\n\t\t\tcase TokenizerState.Static:\n\t\t\t\tif (char === \"/\") {\n\t\t\t\t\tif (buffer) consumeBuffer();\n\t\t\t\t\tfinalizeSegment();\n\t\t\t\t} else if (char === \":\") {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = TokenizerState.Param;\n\t\t\t\t} else addCharToBuffer();\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.EscapeNext:\n\t\t\t\taddCharToBuffer();\n\t\t\t\tstate = previousState;\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.Param:\n\t\t\t\tif (char === \"(\") state = TokenizerState.ParamRegExp;\n\t\t\t\telse if (VALID_PARAM_RE.test(char)) addCharToBuffer();\n\t\t\t\telse {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = TokenizerState.Static;\n\t\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.ParamRegExp:\n\t\t\t\tif (char === \")\") if (customRe[customRe.length - 1] == \"\\\\\") customRe = customRe.slice(0, -1) + char;\n\t\t\t\telse state = TokenizerState.ParamRegExpEnd;\n\t\t\t\telse customRe += char;\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.ParamRegExpEnd:\n\t\t\t\tconsumeBuffer();\n\t\t\t\tstate = TokenizerState.Static;\n\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\tcustomRe = \"\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcrash(\"Unknown state\");\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tif (state === TokenizerState.ParamRegExp) crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n\tconsumeBuffer();\n\tfinalizeSegment();\n\treturn tokens;\n}\n\n//#endregion\n//#region src/matcher/pathParserRanker.ts\nconst BASE_PARAM_PATTERN = \"[^/]+?\";\nconst BASE_PATH_PARSER_OPTIONS = {\n\tsensitive: false,\n\tstrict: false,\n\tstart: true,\n\tend: true\n};\nvar PathScore = /* @__PURE__ */ function(PathScore) {\n\tPathScore[PathScore[\"_multiplier\"] = 10] = \"_multiplier\";\n\tPathScore[PathScore[\"Root\"] = 90] = \"Root\";\n\tPathScore[PathScore[\"Segment\"] = 40] = \"Segment\";\n\tPathScore[PathScore[\"SubSegment\"] = 30] = \"SubSegment\";\n\tPathScore[PathScore[\"Static\"] = 40] = \"Static\";\n\tPathScore[PathScore[\"Dynamic\"] = 20] = \"Dynamic\";\n\tPathScore[PathScore[\"BonusCustomRegExp\"] = 10] = \"BonusCustomRegExp\";\n\tPathScore[PathScore[\"BonusWildcard\"] = -50] = \"BonusWildcard\";\n\tPathScore[PathScore[\"BonusRepeatable\"] = -20] = \"BonusRepeatable\";\n\tPathScore[PathScore[\"BonusOptional\"] = -8] = \"BonusOptional\";\n\tPathScore[PathScore[\"BonusStrict\"] = .7000000000000001] = \"BonusStrict\";\n\tPathScore[PathScore[\"BonusCaseSensitive\"] = .25] = \"BonusCaseSensitive\";\n\treturn PathScore;\n}(PathScore || {});\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n* Creates a path parser from an array of Segments (a segment is an array of Tokens)\n*\n* @param segments - array of segments returned by tokenizePath\n* @param extraOptions - optional options for the regexp\n* @returns a PathParser\n*/\nfunction tokensToParser(segments, extraOptions) {\n\tconst options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n\tconst score = [];\n\tlet pattern = options.start ? \"^\" : \"\";\n\tconst keys = [];\n\tfor (const segment of segments) {\n\t\tconst segmentScores = segment.length ? [] : [PathScore.Root];\n\t\tif (options.strict && !segment.length) pattern += \"/\";\n\t\tfor (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n\t\t\tconst token = segment[tokenIndex];\n\t\t\tlet subSegmentScore = PathScore.Segment + (options.sensitive ? PathScore.BonusCaseSensitive : 0);\n\t\t\tif (token.type === TokenType.Static) {\n\t\t\t\tif (!tokenIndex) pattern += \"/\";\n\t\t\t\tpattern += token.value.replace(REGEX_CHARS_RE, \"\\\\$&\");\n\t\t\t\tsubSegmentScore += PathScore.Static;\n\t\t\t} else if (token.type === TokenType.Param) {\n\t\t\t\tconst { value, repeatable, optional, regexp } = token;\n\t\t\t\tkeys.push({\n\t\t\t\t\tname: value,\n\t\t\t\t\trepeatable,\n\t\t\t\t\toptional\n\t\t\t\t});\n\t\t\t\tconst re = regexp ? regexp : BASE_PARAM_PATTERN;\n\t\t\t\tif (re !== BASE_PARAM_PATTERN) {\n\t\t\t\t\tsubSegmentScore += PathScore.BonusCustomRegExp;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnew RegExp(`(${re})`);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tthrow new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` + err.message);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n\t\t\t\tif (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : \"/\" + subPattern;\n\t\t\t\tif (optional) subPattern += \"?\";\n\t\t\t\tpattern += subPattern;\n\t\t\t\tsubSegmentScore += PathScore.Dynamic;\n\t\t\t\tif (optional) subSegmentScore += PathScore.BonusOptional;\n\t\t\t\tif (repeatable) subSegmentScore += PathScore.BonusRepeatable;\n\t\t\t\tif (re === \".*\") subSegmentScore += PathScore.BonusWildcard;\n\t\t\t}\n\t\t\tsegmentScores.push(subSegmentScore);\n\t\t}\n\t\tscore.push(segmentScores);\n\t}\n\tif (options.strict && options.end) {\n\t\tconst i = score.length - 1;\n\t\tscore[i][score[i].length - 1] += PathScore.BonusStrict;\n\t}\n\tif (!options.strict) pattern += \"/?\";\n\tif (options.end) pattern += \"$\";\n\telse if (options.strict && !pattern.endsWith(\"/\")) pattern += \"(?:/|$)\";\n\tconst re = new RegExp(pattern, options.sensitive ? \"\" : \"i\");\n\tfunction parse(path) {\n\t\tconst match = path.match(re);\n\t\tconst params = {};\n\t\tif (!match) return null;\n\t\tfor (let i = 1; i < match.length; i++) {\n\t\t\tconst value = match[i] || \"\";\n\t\t\tconst key = keys[i - 1];\n\t\t\tparams[key.name] = value && key.repeatable ? value.split(\"/\") : value;\n\t\t}\n\t\treturn params;\n\t}\n\tfunction stringify(params) {\n\t\tlet path = \"\";\n\t\tlet avoidDuplicatedSlash = false;\n\t\tfor (const segment of segments) {\n\t\t\tif (!avoidDuplicatedSlash || !path.endsWith(\"/\")) path += \"/\";\n\t\t\tavoidDuplicatedSlash = false;\n\t\t\tfor (const token of segment) if (token.type === TokenType.Static) path += token.value;\n\t\t\telse if (token.type === TokenType.Param) {\n\t\t\t\tconst { value, repeatable, optional } = token;\n\t\t\t\tconst param = value in params ? params[value] : \"\";\n\t\t\t\tif (isArray(param) && !repeatable) throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n\t\t\t\tconst text = isArray(param) ? param.join(\"/\") : param;\n\t\t\t\tif (!text) if (optional) {\n\t\t\t\t\tif (segment.length < 2) if (path.endsWith(\"/\")) path = path.slice(0, -1);\n\t\t\t\t\telse avoidDuplicatedSlash = true;\n\t\t\t\t} else throw new Error(`Missing required param \"${value}\"`);\n\t\t\t\tpath += text;\n\t\t\t}\n\t\t}\n\t\treturn path || \"/\";\n\t}\n\treturn {\n\t\tre,\n\t\tscore,\n\t\tkeys,\n\t\tparse,\n\t\tstringify\n\t};\n}\n/**\n* Compares an array of numbers as used in PathParser.score and returns a\n* number. This function can be used to `sort` an array\n*\n* @param a - first array of numbers\n* @param b - second array of numbers\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n* should be sorted first\n*/\nfunction compareScoreArray(a, b) {\n\tlet i = 0;\n\twhile (i < a.length && i < b.length) {\n\t\tconst diff = b[i] - a[i];\n\t\tif (diff) return diff;\n\t\ti++;\n\t}\n\tif (a.length < b.length) return a.length === 1 && a[0] === PathScore.Static + PathScore.Segment ? -1 : 1;\n\telse if (a.length > b.length) return b.length === 1 && b[0] === PathScore.Static + PathScore.Segment ? 1 : -1;\n\treturn 0;\n}\n/**\n* Compare function that can be used with `sort` to sort an array of PathParser\n*\n* @param a - first PathParser\n* @param b - second PathParser\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n*/\nfunction comparePathParserScore(a, b) {\n\tlet i = 0;\n\tconst aScore = a.score;\n\tconst bScore = b.score;\n\twhile (i < aScore.length && i < bScore.length) {\n\t\tconst comp = compareScoreArray(aScore[i], bScore[i]);\n\t\tif (comp) return comp;\n\t\ti++;\n\t}\n\tif (Math.abs(bScore.length - aScore.length) === 1) {\n\t\tif (isLastScoreNegative(aScore)) return 1;\n\t\tif (isLastScoreNegative(bScore)) return -1;\n\t}\n\treturn bScore.length - aScore.length;\n}\n/**\n* This allows detecting splats at the end of a path: /home/:id(.*)*\n*\n* @param score - score to check\n* @returns true if the last entry is negative\n*/\nfunction isLastScoreNegative(score) {\n\tconst last = score[score.length - 1];\n\treturn score.length > 0 && last[last.length - 1] < 0;\n}\nconst PATH_PARSER_OPTIONS_DEFAULTS = {\n\tstrict: false,\n\tend: true,\n\tsensitive: false\n};\n\n//#endregion\n//#region src/matcher/pathMatcher.ts\nfunction createRouteRecordMatcher(record, parent, options) {\n\tconst parser = tokensToParser(tokenizePath(record.path), options);\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst existingKeys = /* @__PURE__ */ new Set();\n\t\tfor (const key of parser.keys) {\n\t\t\tif (existingKeys.has(key.name)) warn$1(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n\t\t\texistingKeys.add(key.name);\n\t\t}\n\t}\n\tconst matcher = assign(parser, {\n\t\trecord,\n\t\tparent,\n\t\tchildren: [],\n\t\talias: []\n\t});\n\tif (parent) {\n\t\tif (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher);\n\t}\n\treturn matcher;\n}\n\n//#endregion\n//#region src/matcher/index.ts\n/**\n* Creates a Router Matcher.\n*\n* @internal\n* @param routes - array of initial routes\n* @param globalOptions - global route options\n*/\nfunction createRouterMatcher(routes, globalOptions) {\n\tconst matchers = [];\n\tconst matcherMap = /* @__PURE__ */ new Map();\n\tglobalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions);\n\tfunction getRecordMatcher(name) {\n\t\treturn matcherMap.get(name);\n\t}\n\tfunction addRoute(record, parent, originalRecord) {\n\t\tconst isRootAdd = !originalRecord;\n\t\tconst mainNormalizedRecord = normalizeRouteRecord(record);\n\t\tif (process.env.NODE_ENV !== \"production\") checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n\t\tmainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n\t\tconst options = mergeOptions(globalOptions, record);\n\t\tconst normalizedRecords = [mainNormalizedRecord];\n\t\tif (\"alias\" in record) {\n\t\t\tconst aliases = typeof record.alias === \"string\" ? [record.alias] : record.alias;\n\t\t\tfor (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n\t\t\t\tcomponents: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,\n\t\t\t\tpath: alias,\n\t\t\t\taliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord\n\t\t\t})));\n\t\t}\n\t\tlet matcher;\n\t\tlet originalMatcher;\n\t\tfor (const normalizedRecord of normalizedRecords) {\n\t\t\tconst { path } = normalizedRecord;\n\t\t\tif (parent && path[0] !== \"/\") {\n\t\t\t\tconst parentPath = parent.record.path;\n\t\t\t\tconst connectingSlash = parentPath[parentPath.length - 1] === \"/\" ? \"\" : \"/\";\n\t\t\t\tnormalizedRecord.path = parent.record.path + (path && connectingSlash + path);\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && normalizedRecord.path === \"*\") throw new Error(\"Catch all routes (\\\"*\\\") must now be defined using a param with a custom regexp.\\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.\");\n\t\t\tmatcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && parent && path[0] === \"/\") checkMissingParamsInAbsolutePath(matcher, parent);\n\t\t\tif (originalRecord) {\n\t\t\t\toriginalRecord.alias.push(matcher);\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameParams(originalRecord, matcher);\n\t\t\t} else {\n\t\t\t\toriginalMatcher = originalMatcher || matcher;\n\t\t\t\tif (originalMatcher !== matcher) originalMatcher.alias.push(matcher);\n\t\t\t\tif (isRootAdd && record.name && !isAliasRecord(matcher)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameNameAsAncestor(record, parent);\n\t\t\t\t\tremoveRoute(record.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isMatchable(matcher)) insertMatcher(matcher);\n\t\t\tif (mainNormalizedRecord.children) {\n\t\t\t\tconst children = mainNormalizedRecord.children;\n\t\t\t\tfor (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n\t\t\t}\n\t\t\toriginalRecord = originalRecord || matcher;\n\t\t}\n\t\treturn originalMatcher ? () => {\n\t\t\tremoveRoute(originalMatcher);\n\t\t} : noop;\n\t}\n\tfunction removeRoute(matcherRef) {\n\t\tif (isRouteName(matcherRef)) {\n\t\t\tconst matcher = matcherMap.get(matcherRef);\n\t\t\tif (matcher) {\n\t\t\t\tmatcherMap.delete(matcherRef);\n\t\t\t\tmatchers.splice(matchers.indexOf(matcher), 1);\n\t\t\t\tmatcher.children.forEach(removeRoute);\n\t\t\t\tmatcher.alias.forEach(removeRoute);\n\t\t\t}\n\t\t} else {\n\t\t\tconst index = matchers.indexOf(matcherRef);\n\t\t\tif (index > -1) {\n\t\t\t\tmatchers.splice(index, 1);\n\t\t\t\tif (matcherRef.record.name) matcherMap.delete(matcherRef.record.name);\n\t\t\t\tmatcherRef.children.forEach(removeRoute);\n\t\t\t\tmatcherRef.alias.forEach(removeRoute);\n\t\t\t}\n\t\t}\n\t}\n\tfunction getRoutes() {\n\t\treturn matchers;\n\t}\n\tfunction insertMatcher(matcher) {\n\t\tconst index = findInsertionIndex(matcher, matchers);\n\t\tmatchers.splice(index, 0, matcher);\n\t\tif (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher);\n\t}\n\tfunction resolve(location, currentLocation) {\n\t\tlet matcher;\n\t\tlet params = {};\n\t\tlet path;\n\t\tlet name;\n\t\tif (\"name\" in location && location.name) {\n\t\t\tmatcher = matcherMap.get(location.name);\n\t\t\tif (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, { location });\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tconst invalidParams = Object.keys(location.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName));\n\t\t\t\tif (invalidParams.length) warn$1(`Discarded invalid param(s) \"${invalidParams.join(\"\\\", \\\"\")}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n\t\t\t}\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location.params && pickParams(location.params, matcher.keys.map((k) => k.name)));\n\t\t\tpath = matcher.stringify(params);\n\t\t} else if (location.path != null) {\n\t\t\tpath = location.path;\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !path.startsWith(\"/\")) warn$1(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n\t\t\tmatcher = matchers.find((m) => m.re.test(path));\n\t\t\tif (matcher) {\n\t\t\t\tparams = matcher.parse(path);\n\t\t\t\tname = matcher.record.name;\n\t\t\t}\n\t\t} else {\n\t\t\tmatcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path));\n\t\t\tif (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, {\n\t\t\t\tlocation,\n\t\t\t\tcurrentLocation\n\t\t\t});\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign({}, currentLocation.params, location.params);\n\t\t\tpath = matcher.stringify(params);\n\t\t}\n\t\tconst matched = [];\n\t\tlet parentMatcher = matcher;\n\t\twhile (parentMatcher) {\n\t\t\tmatched.unshift(parentMatcher.record);\n\t\t\tparentMatcher = parentMatcher.parent;\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tpath,\n\t\t\tparams,\n\t\t\tmatched,\n\t\t\tmeta: mergeMetaFields(matched)\n\t\t};\n\t}\n\troutes.forEach((route) => addRoute(route));\n\tfunction clearRoutes() {\n\t\tmatchers.length = 0;\n\t\tmatcherMap.clear();\n\t}\n\treturn {\n\t\taddRoute,\n\t\tresolve,\n\t\tremoveRoute,\n\t\tclearRoutes,\n\t\tgetRoutes,\n\t\tgetRecordMatcher\n\t};\n}\n/**\n* Picks an object param to contain only specified keys.\n*\n* @param params - params object to pick from\n* @param keys - keys to pick\n*/\nfunction pickParams(params, keys) {\n\tconst newParams = {};\n\tfor (const key of keys) if (key in params) newParams[key] = params[key];\n\treturn newParams;\n}\n/**\n* Normalizes a RouteRecordRaw. Creates a copy\n*\n* @param record\n* @returns the normalized version\n*/\nfunction normalizeRouteRecord(record) {\n\tconst normalized = {\n\t\tpath: record.path,\n\t\tredirect: record.redirect,\n\t\tname: record.name,\n\t\tmeta: record.meta || {},\n\t\taliasOf: record.aliasOf,\n\t\tbeforeEnter: record.beforeEnter,\n\t\tprops: normalizeRecordProps(record),\n\t\tchildren: record.children || [],\n\t\tinstances: {},\n\t\tleaveGuards: /* @__PURE__ */ new Set(),\n\t\tupdateGuards: /* @__PURE__ */ new Set(),\n\t\tenterCallbacks: {},\n\t\tcomponents: \"components\" in record ? record.components || null : record.component && { default: record.component }\n\t};\n\tObject.defineProperty(normalized, \"mods\", { value: {} });\n\treturn normalized;\n}\n/**\n* Normalize the optional `props` in a record to always be an object similar to\n* components. Also accept a boolean for components.\n* @param record\n*/\nfunction normalizeRecordProps(record) {\n\tconst propsObject = {};\n\tconst props = record.props || false;\n\tif (\"component\" in record) propsObject.default = props;\n\telse for (const name in record.components) propsObject[name] = typeof props === \"object\" ? props[name] : props;\n\treturn propsObject;\n}\n/**\n* Checks if a record or any of its parent is an alias\n* @param record\n*/\nfunction isAliasRecord(record) {\n\twhile (record) {\n\t\tif (record.record.aliasOf) return true;\n\t\trecord = record.parent;\n\t}\n\treturn false;\n}\n/**\n* Merge meta fields of an array of records\n*\n* @param matched - array of matched records\n*/\nfunction mergeMetaFields(matched) {\n\treturn matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction isSameParam(a, b) {\n\treturn a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable;\n}\n/**\n* Check if a path and its alias have the same required params\n*\n* @param a - original record\n* @param b - alias record\n*/\nfunction checkSameParams(a, b) {\n\tfor (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n\tfor (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n}\n/**\n* A route with a name and a child with an empty path without a name should warn when adding the route\n*\n* @param mainNormalizedRecord - RouteRecordNormalized\n* @param parent - RouteRecordMatcher\n*/\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n\tif (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path && mainNormalizedRecord.children.length === 0) warn$1(`The route named \"${String(parent.record.name)}\" has a child without a name, an empty path, and no children. This is probably a mistake: using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to silence the warning.`);\n}\nfunction checkSameNameAsAncestor(record, parent) {\n\tfor (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? \"child\" : \"descendant\"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n\tfor (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) return warn$1(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n}\n/**\n* Performs a binary search to find the correct insertion index for a new matcher.\n*\n* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n*\n* @param matcher - new matcher to be inserted\n* @param matchers - existing matchers\n*/\nfunction findInsertionIndex(matcher, matchers) {\n\tlet lower = 0;\n\tlet upper = matchers.length;\n\twhile (lower !== upper) {\n\t\tconst mid = lower + upper >> 1;\n\t\tif (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid;\n\t\telse lower = mid + 1;\n\t}\n\tconst insertionAncestor = getInsertionAncestor(matcher);\n\tif (insertionAncestor) {\n\t\tupper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n\t\tif (process.env.NODE_ENV !== \"production\" && upper < 0) warn$1(`Finding ancestor route \"${insertionAncestor.record.path}\" failed for \"${matcher.record.path}\"`);\n\t}\n\treturn upper;\n}\nfunction getInsertionAncestor(matcher) {\n\tlet ancestor = matcher;\n\twhile (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor;\n}\n/**\n* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n* a component, or name, or redirect, are just used to group other routes.\n* @param matcher\n* @param matcher.record record of the matcher\n* @returns\n*/\nfunction isMatchable({ record }) {\n\treturn !!(record.name || record.components && Object.keys(record.components).length || record.redirect);\n}\n\n//#endregion\n//#region src/RouterLink.ts\n/**\n* Returns the internal behavior of a {@link RouterLink} without the rendering part.\n*\n* @param props - a `to` location and an optional `replace` flag\n*/\nfunction useLink(props) {\n\tconst router = inject(routerKey);\n\tconst currentRoute = inject(routeLocationKey);\n\tlet hasPrevious = false;\n\tlet previousTo = null;\n\tconst route = computed(() => {\n\t\tconst to = unref(props.to);\n\t\tif (process.env.NODE_ENV !== \"production\" && (!hasPrevious || to !== previousTo)) {\n\t\t\tif (!isRouteLocation(to)) if (hasPrevious) warn$1(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n\t\t\telse warn$1(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n\t\t\tpreviousTo = to;\n\t\t\thasPrevious = true;\n\t\t}\n\t\treturn router.resolve(to);\n\t});\n\tconst activeRecordIndex = computed(() => {\n\t\tconst { matched } = route.value;\n\t\tconst { length } = matched;\n\t\tconst routeMatched = matched[length - 1];\n\t\tconst currentMatched = currentRoute.matched;\n\t\tif (!routeMatched || !currentMatched.length) return -1;\n\t\tconst index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n\t\tif (index > -1) return index;\n\t\tconst parentRecordPath = getOriginalPath(matched[length - 2]);\n\t\treturn length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index;\n\t});\n\tconst isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));\n\tconst isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));\n\tfunction navigate(e = {}) {\n\t\tif (guardEvent(e)) {\n\t\t\tconst p = router[unref(props.replace) ? \"replace\" : \"push\"](unref(props.to)).catch(noop);\n\t\t\tif (props.viewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document) document.startViewTransition(() => p);\n\t\t\treturn p;\n\t\t}\n\t\treturn Promise.resolve();\n\t}\n\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n\t\tconst instance = getCurrentInstance();\n\t\tif (instance) {\n\t\t\tconst linkContextDevtools = {\n\t\t\t\troute: route.value,\n\t\t\t\tisActive: isActive.value,\n\t\t\t\tisExactActive: isExactActive.value,\n\t\t\t\terror: null\n\t\t\t};\n\t\t\tinstance.__vrl_devtools = instance.__vrl_devtools || [];\n\t\t\tinstance.__vrl_devtools.push(linkContextDevtools);\n\t\t\twatchEffect(() => {\n\t\t\t\tlinkContextDevtools.route = route.value;\n\t\t\t\tlinkContextDevtools.isActive = isActive.value;\n\t\t\t\tlinkContextDevtools.isExactActive = isExactActive.value;\n\t\t\t\tlinkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : \"Invalid \\\"to\\\" value\";\n\t\t\t}, { flush: \"post\" });\n\t\t}\n\t}\n\t/**\n\t* NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n\t*/\n\treturn {\n\t\troute,\n\t\thref: computed(() => route.value.href),\n\t\tisActive,\n\t\tisExactActive,\n\t\tnavigate\n\t};\n}\nfunction preferSingleVNode(vnodes) {\n\treturn vnodes.length === 1 ? vnodes[0] : vnodes;\n}\nconst RouterLinkImpl = /* @__PURE__ */ defineComponent({\n\tname: \"RouterLink\",\n\tcompatConfig: { MODE: 3 },\n\tprops: {\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true\n\t\t},\n\t\treplace: Boolean,\n\t\tactiveClass: String,\n\t\texactActiveClass: String,\n\t\tcustom: Boolean,\n\t\tariaCurrentValue: {\n\t\t\ttype: String,\n\t\t\tdefault: \"page\"\n\t\t},\n\t\tviewTransition: Boolean\n\t},\n\tuseLink,\n\tsetup(props, { slots }) {\n\t\tconst link = reactive(useLink(props));\n\t\tconst { options } = inject(routerKey);\n\t\tconst elClass = computed(() => ({\n\t\t\t[getLinkClass(props.activeClass, options.linkActiveClass, \"router-link-active\")]: link.isActive,\n\t\t\t[getLinkClass(props.exactActiveClass, options.linkExactActiveClass, \"router-link-exact-active\")]: link.isExactActive\n\t\t}));\n\t\treturn () => {\n\t\t\tconst children = slots.default && preferSingleVNode(slots.default(link));\n\t\t\treturn props.custom ? children : h(\"a\", {\n\t\t\t\t\"aria-current\": link.isExactActive ? props.ariaCurrentValue : null,\n\t\t\t\thref: link.href,\n\t\t\t\tonClick: link.navigate,\n\t\t\t\tclass: elClass.value\n\t\t\t}, children);\n\t\t};\n\t}\n});\n/**\n* Component to render a link that triggers a navigation on click.\n*/\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n\tif (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\n\tif (e.defaultPrevented) return;\n\tif (e.button !== void 0 && e.button !== 0) return;\n\tif (e.currentTarget && e.currentTarget.getAttribute) {\n\t\tconst target = e.currentTarget.getAttribute(\"target\");\n\t\tif (/\\b_blank\\b/i.test(target)) return;\n\t}\n\tif (e.preventDefault) e.preventDefault();\n\treturn true;\n}\nfunction includesParams(outer, inner) {\n\tfor (const key in inner) {\n\t\tconst innerValue = inner[key];\n\t\tconst outerValue = outer[key];\n\t\tif (typeof innerValue === \"string\") {\n\t\t\tif (innerValue !== outerValue) return false;\n\t\t} else if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false;\n\t}\n\treturn true;\n}\n/**\n* Get the original path value of a record by following its aliasOf\n* @param record\n*/\nfunction getOriginalPath(record) {\n\treturn record ? record.aliasOf ? record.aliasOf.path : record.path : \"\";\n}\n/**\n* Utility class to get the active class based on defaults.\n* @param propClass\n* @param globalClass\n* @param defaultClass\n*/\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;\n\n//#endregion\n//#region src/RouterView.ts\nconst RouterViewImpl = /* @__PURE__ */ defineComponent({\n\tname: \"RouterView\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: \"default\"\n\t\t},\n\t\troute: Object\n\t},\n\tcompatConfig: { MODE: 3 },\n\tsetup(props, { attrs, slots }) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warnDeprecatedUsage();\n\t\tconst injectedRoute = inject(routerViewLocationKey);\n\t\tconst routeToDisplay = computed(() => props.route || injectedRoute.value);\n\t\tconst injectedDepth = inject(viewDepthKey, 0);\n\t\tconst depth = computed(() => {\n\t\t\tlet initialDepth = unref(injectedDepth);\n\t\t\tconst { matched } = routeToDisplay.value;\n\t\t\tlet matchedRoute;\n\t\t\twhile ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++;\n\t\t\treturn initialDepth;\n\t\t});\n\t\tconst matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n\t\tprovide(viewDepthKey, computed(() => depth.value + 1));\n\t\tprovide(matchedRouteKey, matchedRouteRef);\n\t\tprovide(routerViewLocationKey, routeToDisplay);\n\t\tconst viewRef = ref();\n\t\twatch(() => [\n\t\t\tviewRef.value,\n\t\t\tmatchedRouteRef.value,\n\t\t\tprops.name\n\t\t], ([instance, to, name], [oldInstance, from, oldName]) => {\n\t\t\tif (to) {\n\t\t\t\tto.instances[name] = instance;\n\t\t\t\tif (from && from !== to && instance && instance === oldInstance) {\n\t\t\t\t\tif (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards;\n\t\t\t\t\tif (!to.updateGuards.size) to.updateGuards = from.updateGuards;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));\n\t\t}, { flush: \"post\" });\n\t\treturn () => {\n\t\t\tconst route = routeToDisplay.value;\n\t\t\tconst currentName = props.name;\n\t\t\tconst matchedRoute = matchedRouteRef.value;\n\t\t\tconst ViewComponent = matchedRoute && matchedRoute.components[currentName];\n\t\t\tif (!ViewComponent) return normalizeSlot(slots.default, {\n\t\t\t\tComponent: ViewComponent,\n\t\t\t\troute\n\t\t\t});\n\t\t\tconst routePropsOption = matchedRoute.props[currentName];\n\t\t\tconst routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === \"function\" ? routePropsOption(route) : routePropsOption : null;\n\t\t\tconst onVnodeUnmounted = (vnode) => {\n\t\t\t\tif (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null;\n\t\t\t};\n\t\t\tconst component = h(ViewComponent, assign({}, routeProps, attrs, {\n\t\t\t\tonVnodeUnmounted,\n\t\t\t\tref: viewRef\n\t\t\t}));\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && component.ref) {\n\t\t\t\tconst info = {\n\t\t\t\t\tdepth: depth.value,\n\t\t\t\t\tname: matchedRoute.name,\n\t\t\t\t\tpath: matchedRoute.path,\n\t\t\t\t\tmeta: matchedRoute.meta\n\t\t\t\t};\n\t\t\t\t(isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => {\n\t\t\t\t\tinstance.__vrv_devtools = info;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn normalizeSlot(slots.default, {\n\t\t\t\tComponent: component,\n\t\t\t\troute\n\t\t\t}) || component;\n\t\t};\n\t}\n});\nfunction normalizeSlot(slot, data) {\n\tif (!slot) return null;\n\tconst slotContent = slot(data);\n\treturn slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n/**\n* Component to display the current route the user is at.\n*/\nconst RouterView = RouterViewImpl;\nfunction warnDeprecatedUsage() {\n\tconst instance = getCurrentInstance();\n\tconst parentName = instance.parent && instance.parent.type.name;\n\tconst parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n\tif (parentName && (parentName === \"KeepAlive\" || parentName.includes(\"Transition\")) && typeof parentSubTreeType === \"object\" && parentSubTreeType.name === \"RouterView\") {\n\t\tconst comp = parentName === \"KeepAlive\" ? \"keep-alive\" : \"transition\";\n\t\twarn$1(` can no longer be used directly inside or .\nUse slot props instead:\n\n\n <${comp}>\\n \\n \\n`);\n\t}\n}\n\n//#endregion\n//#region src/router.ts\n/**\n* Creates a Router instance that can be used by a Vue app.\n*\n* @param options - {@link RouterOptions}\n*/\nfunction createRouter(options) {\n\tconst matcher = createRouterMatcher(options.routes, options);\n\tconst parseQuery$1 = options.parseQuery || parseQuery;\n\tconst stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n\tconst routerHistory = options.history;\n\tif (process.env.NODE_ENV !== \"production\" && !routerHistory) throw new Error(\"Provide the \\\"history\\\" option when calling \\\"createRouter()\\\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history\");\n\tconst beforeGuards = useCallbacks();\n\tconst beforeResolveGuards = useCallbacks();\n\tconst afterGuards = useCallbacks();\n\tconst currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n\tlet pendingLocation = START_LOCATION_NORMALIZED;\n\tif (isBrowser && options.scrollBehavior && \"scrollRestoration\" in history) history.scrollRestoration = \"manual\";\n\tconst normalizeParams = applyToParams.bind(null, (paramValue) => \"\" + paramValue);\n\tconst encodeParams = applyToParams.bind(null, encodeParam);\n\tconst decodeParams = applyToParams.bind(null, decode);\n\tfunction addRoute(parentOrRoute, route) {\n\t\tlet parent;\n\t\tlet record;\n\t\tif (isRouteName(parentOrRoute)) {\n\t\t\tparent = matcher.getRecordMatcher(parentOrRoute);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !parent) warn$1(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n\t\t\trecord = route;\n\t\t} else record = parentOrRoute;\n\t\treturn matcher.addRoute(record, parent);\n\t}\n\tfunction removeRoute(name) {\n\t\tconst recordMatcher = matcher.getRecordMatcher(name);\n\t\tif (recordMatcher) matcher.removeRoute(recordMatcher);\n\t\telse if (process.env.NODE_ENV !== \"production\") warn$1(`Cannot remove non-existent route \"${String(name)}\"`);\n\t}\n\tfunction getRoutes() {\n\t\treturn matcher.getRoutes().map((routeMatcher) => routeMatcher.record);\n\t}\n\tfunction hasRoute(name) {\n\t\treturn !!matcher.getRecordMatcher(name);\n\t}\n\tfunction resolve(rawLocation, currentLocation) {\n\t\tcurrentLocation = assign({}, currentLocation || currentRoute.value);\n\t\tif (typeof rawLocation === \"string\") {\n\t\t\tconst locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n\t\t\tconst matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n\t\t\tconst href = routerHistory.createHref(locationNormalized.fullPath);\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (href.startsWith(\"//\")) warn$1(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n\t\t\t\telse if (!matchedRoute.matched.length) warn$1(`No match found for location with path \"${rawLocation}\"`);\n\t\t\t}\n\t\t\treturn assign(locationNormalized, matchedRoute, {\n\t\t\t\tparams: decodeParams(matchedRoute.params),\n\t\t\t\thash: decode(locationNormalized.hash),\n\t\t\t\tredirectedFrom: void 0,\n\t\t\t\thref\n\t\t\t});\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\" && !isRouteLocation(rawLocation)) {\n\t\t\twarn$1(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n\t\t\treturn resolve({});\n\t\t}\n\t\tlet matcherLocation;\n\t\tif (rawLocation.path != null) {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && \"params\" in rawLocation && !(\"name\" in rawLocation) && Object.keys(rawLocation.params).length) warn$1(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n\t\t\tmatcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path });\n\t\t} else {\n\t\t\tconst targetParams = assign({}, rawLocation.params);\n\t\t\tfor (const key in targetParams) if (targetParams[key] == null) delete targetParams[key];\n\t\t\tmatcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) });\n\t\t\tcurrentLocation.params = encodeParams(currentLocation.params);\n\t\t}\n\t\tconst matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n\t\tconst hash = rawLocation.hash || \"\";\n\t\tif (process.env.NODE_ENV !== \"production\" && hash && !hash.startsWith(\"#\")) warn$1(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n\t\tmatchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n\t\tconst fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n\t\t\thash: encodeHash(hash),\n\t\t\tpath: matchedRoute.path\n\t\t}));\n\t\tconst href = routerHistory.createHref(fullPath);\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (href.startsWith(\"//\")) warn$1(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n\t\t\telse if (!matchedRoute.matched.length) warn$1(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n\t\t}\n\t\treturn assign({\n\t\t\tfullPath,\n\t\t\thash,\n\t\t\tquery: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}\n\t\t}, matchedRoute, {\n\t\t\tredirectedFrom: void 0,\n\t\t\thref\n\t\t});\n\t}\n\tfunction locationAsObject(to) {\n\t\treturn typeof to === \"string\" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to);\n\t}\n\tfunction checkCanceledNavigation(to, from) {\n\t\tif (pendingLocation !== to) return createRouterError(ErrorTypes.NAVIGATION_CANCELLED, {\n\t\t\tfrom,\n\t\t\tto\n\t\t});\n\t}\n\tfunction push(to) {\n\t\treturn pushWithRedirect(to);\n\t}\n\tfunction replace(to) {\n\t\treturn push(assign(locationAsObject(to), { replace: true }));\n\t}\n\tfunction handleRedirectRecord(to, from) {\n\t\tconst lastMatched = to.matched[to.matched.length - 1];\n\t\tif (lastMatched && lastMatched.redirect) {\n\t\t\tconst { redirect } = lastMatched;\n\t\t\tlet newTargetLocation = typeof redirect === \"function\" ? redirect(to, from) : redirect;\n\t\t\tif (typeof newTargetLocation === \"string\") {\n\t\t\t\tnewTargetLocation = newTargetLocation.includes(\"?\") || newTargetLocation.includes(\"#\") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation };\n\t\t\t\tnewTargetLocation.params = {};\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && newTargetLocation.path == null && !(\"name\" in newTargetLocation)) {\n\t\t\t\twarn$1(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n\t\t\t\tthrow new Error(\"Invalid redirect\");\n\t\t\t}\n\t\t\treturn assign({\n\t\t\t\tquery: to.query,\n\t\t\t\thash: to.hash,\n\t\t\t\tparams: newTargetLocation.path != null ? {} : to.params\n\t\t\t}, newTargetLocation);\n\t\t}\n\t}\n\tfunction pushWithRedirect(to, redirectedFrom) {\n\t\tconst targetLocation = pendingLocation = resolve(to);\n\t\tconst from = currentRoute.value;\n\t\tconst data = to.state;\n\t\tconst force = to.force;\n\t\tconst replace = to.replace === true;\n\t\tconst shouldRedirect = handleRedirectRecord(targetLocation, from);\n\t\tif (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n\t\t\tstate: typeof shouldRedirect === \"object\" ? assign({}, data, shouldRedirect.state) : data,\n\t\t\tforce,\n\t\t\treplace\n\t\t}), redirectedFrom || targetLocation);\n\t\tconst toLocation = targetLocation;\n\t\ttoLocation.redirectedFrom = redirectedFrom;\n\t\tlet failure;\n\t\tif (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n\t\t\tfailure = createRouterError(ErrorTypes.NAVIGATION_DUPLICATED, {\n\t\t\t\tto: toLocation,\n\t\t\t\tfrom\n\t\t\t});\n\t\t\thandleScroll(from, from, true, false);\n\t\t}\n\t\treturn (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure) => {\n\t\t\tif (failure) {\n\t\t\t\tif (isNavigationFailure(failure, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\" && isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) {\n\t\t\t\t\t\twarn$1(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n\t\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Infinite redirect in navigation guard\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn pushWithRedirect(assign({ replace }, locationAsObject(failure.to), {\n\t\t\t\t\t\tstate: typeof failure.to === \"object\" ? assign({}, data, failure.to.state) : data,\n\t\t\t\t\t\tforce\n\t\t\t\t\t}), redirectedFrom || toLocation);\n\t\t\t\t}\n\t\t\t} else failure = finalizeNavigation(toLocation, from, true, replace, data);\n\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\treturn failure;\n\t\t});\n\t}\n\t/**\n\t* Helper to reject and skip all navigation guards if a new navigation happened\n\t* @param to\n\t* @param from\n\t*/\n\tfunction checkCanceledNavigationAndReject(to, from) {\n\t\tconst error = checkCanceledNavigation(to, from);\n\t\treturn error ? Promise.reject(error) : Promise.resolve();\n\t}\n\tfunction runWithContext(fn) {\n\t\tconst app = installedApps.values().next().value;\n\t\treturn app && typeof app.runWithContext === \"function\" ? app.runWithContext(fn) : fn();\n\t}\n\tfunction navigate(to, from) {\n\t\tlet guards;\n\t\tconst [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n\t\tguards = extractComponentsGuards(leavingRecords.reverse(), \"beforeRouteLeave\", to, from);\n\t\tfor (const record of leavingRecords) record.leaveGuards.forEach((guard) => {\n\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t});\n\t\tconst canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n\t\tguards.push(canceledNavigationCheck);\n\t\treturn runGuardQueue(guards).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = extractComponentsGuards(updatingRecords, \"beforeRouteUpdate\", to, from);\n\t\t\tfor (const record of updatingRecords) record.updateGuards.forEach((guard) => {\n\t\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t\t});\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const record of enteringRecords) if (record.beforeEnter) if (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from));\n\t\t\telse guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tto.matched.forEach((record) => record.enterCallbacks = {});\n\t\t\tguards = extractComponentsGuards(enteringRecords, \"beforeRouteEnter\", to, from, runWithContext);\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).catch((err) => isNavigationFailure(err, ErrorTypes.NAVIGATION_CANCELLED) ? err : Promise.reject(err));\n\t}\n\tfunction triggerAfterEach(to, from, failure) {\n\t\tafterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));\n\t}\n\t/**\n\t* - Cleans up any navigation guards\n\t* - Changes the url if necessary\n\t* - Calls the scrollBehavior\n\t*/\n\tfunction finalizeNavigation(toLocation, from, isPush, replace, data) {\n\t\tconst error = checkCanceledNavigation(toLocation, from);\n\t\tif (error) return error;\n\t\tconst isFirstNavigation = from === START_LOCATION_NORMALIZED;\n\t\tconst state = !isBrowser ? {} : history.state;\n\t\tif (isPush) if (replace || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data));\n\t\telse routerHistory.push(toLocation.fullPath, data);\n\t\tcurrentRoute.value = toLocation;\n\t\thandleScroll(toLocation, from, isPush, isFirstNavigation);\n\t\tmarkAsReady();\n\t}\n\tlet removeHistoryListener;\n\tfunction setupListeners() {\n\t\tif (removeHistoryListener) return;\n\t\tremoveHistoryListener = routerHistory.listen((to, _from, info) => {\n\t\t\tif (!router.listening) return;\n\t\t\tconst toLocation = resolve(to);\n\t\t\tconst shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value);\n\t\t\tif (shouldRedirect) {\n\t\t\t\tpushWithRedirect(assign(shouldRedirect, {\n\t\t\t\t\treplace: true,\n\t\t\t\t\tforce: true\n\t\t\t\t}), toLocation).catch(noop);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpendingLocation = toLocation;\n\t\t\tconst from = currentRoute.value;\n\t\t\tif (isBrowser) saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n\t\t\tnavigate(toLocation, from).catch((error) => {\n\t\t\t\tif (isNavigationFailure(error, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_CANCELLED)) return error;\n\t\t\t\tif (isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) {\n\t\t\t\t\tpushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => {\n\t\t\t\t\t\tif (isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED) && !info.delta && info.type === NavigationType.pop) routerHistory.go(-1, false);\n\t\t\t\t\t}).catch(noop);\n\t\t\t\t\treturn Promise.reject();\n\t\t\t\t}\n\t\t\t\tif (info.delta) routerHistory.go(-info.delta, false);\n\t\t\t\treturn triggerError(error, toLocation, from);\n\t\t\t}).then((failure) => {\n\t\t\t\tfailure = failure || finalizeNavigation(toLocation, from, false);\n\t\t\t\tif (failure) {\n\t\t\t\t\tif (info.delta && !isNavigationFailure(failure, ErrorTypes.NAVIGATION_CANCELLED)) routerHistory.go(-info.delta, false);\n\t\t\t\t\telse if (info.type === NavigationType.pop && isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED)) routerHistory.go(-1, false);\n\t\t\t\t}\n\t\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\t}).catch(noop);\n\t\t});\n\t}\n\tlet readyHandlers = useCallbacks();\n\tlet errorListeners = useCallbacks();\n\tlet ready;\n\t/**\n\t* Trigger errorListeners added via onError and throws the error as well\n\t*\n\t* @param error - error to throw\n\t* @param to - location we were navigating to when the error happened\n\t* @param from - location we were navigating from when the error happened\n\t* @returns the error as a rejected promise\n\t*/\n\tfunction triggerError(error, to, from) {\n\t\tmarkAsReady(error);\n\t\tconst list = errorListeners.list();\n\t\tif (list.length) list.forEach((handler) => handler(error, to, from));\n\t\telse {\n\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"uncaught error during route navigation:\");\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn Promise.reject(error);\n\t}\n\tfunction isReady() {\n\t\tif (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve();\n\t\treturn new Promise((resolve, reject) => {\n\t\t\treadyHandlers.add([resolve, reject]);\n\t\t});\n\t}\n\tfunction markAsReady(err) {\n\t\tif (!ready) {\n\t\t\tready = !err;\n\t\t\tsetupListeners();\n\t\t\treadyHandlers.list().forEach(([resolve, reject]) => err ? reject(err) : resolve());\n\t\t\treadyHandlers.reset();\n\t\t}\n\t\treturn err;\n\t}\n\tfunction handleScroll(to, from, isPush, isFirstNavigation) {\n\t\tconst { scrollBehavior } = options;\n\t\tif (!isBrowser || !scrollBehavior) return Promise.resolve();\n\t\tconst scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;\n\t\treturn nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => position && scrollToPosition(position)).catch((err) => triggerError(err, to, from));\n\t}\n\tconst go = (delta) => routerHistory.go(delta);\n\tlet started;\n\tconst installedApps = /* @__PURE__ */ new Set();\n\tconst router = {\n\t\tcurrentRoute,\n\t\tlistening: true,\n\t\taddRoute,\n\t\tremoveRoute,\n\t\tclearRoutes: matcher.clearRoutes,\n\t\thasRoute,\n\t\tgetRoutes,\n\t\tresolve,\n\t\toptions,\n\t\tpush,\n\t\treplace,\n\t\tgo,\n\t\tback: () => go(-1),\n\t\tforward: () => go(1),\n\t\tbeforeEach: beforeGuards.add,\n\t\tbeforeResolve: beforeResolveGuards.add,\n\t\tafterEach: afterGuards.add,\n\t\tonError: errorListeners.add,\n\t\tisReady,\n\t\tinstall(app) {\n\t\t\tapp.component(\"RouterLink\", RouterLink);\n\t\t\tapp.component(\"RouterView\", RouterView);\n\t\t\tapp.config.globalProperties.$router = router;\n\t\t\tObject.defineProperty(app.config.globalProperties, \"$route\", {\n\t\t\t\tenumerable: true,\n\t\t\t\tget: () => unref(currentRoute)\n\t\t\t});\n\t\t\tif (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) {\n\t\t\t\tstarted = true;\n\t\t\t\tpush(routerHistory.location).catch((err) => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"Unexpected error when starting the router:\", err);\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst reactiveRoute = {};\n\t\t\tfor (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, {\n\t\t\t\tget: () => currentRoute.value[key],\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t\tapp.provide(routerKey, router);\n\t\t\tapp.provide(routeLocationKey, shallowReactive(reactiveRoute));\n\t\t\tapp.provide(routerViewLocationKey, currentRoute);\n\t\t\tconst unmountApp = app.unmount;\n\t\t\tinstalledApps.add(app);\n\t\t\tapp.unmount = function() {\n\t\t\t\tinstalledApps.delete(app);\n\t\t\t\tif (installedApps.size < 1) {\n\t\t\t\t\tpendingLocation = START_LOCATION_NORMALIZED;\n\t\t\t\t\tremoveHistoryListener && removeHistoryListener();\n\t\t\t\t\tremoveHistoryListener = null;\n\t\t\t\t\tcurrentRoute.value = START_LOCATION_NORMALIZED;\n\t\t\t\t\tstarted = false;\n\t\t\t\t\tready = false;\n\t\t\t\t}\n\t\t\t\tunmountApp();\n\t\t\t};\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && true) addDevtools(app, router, matcher);\n\t\t}\n\t};\n\tfunction runGuardQueue(guards) {\n\t\treturn guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n\t}\n\treturn router;\n}\n\n//#endregion\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };"],"x_google_ignoreList":[0,1,2],"mappings":"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"} \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/vue.js b/src/.vuepress/.cache/deps/vue.js new file mode 100644 index 000000000..79836704a --- /dev/null +++ b/src/.vuepress/.cache/deps/vue.js @@ -0,0 +1,2 @@ +import { $ as createTextVNode, $n as toRefs, $t as resolveTransitionHooks, A as ErrorCodes, An as customRef, At as onBeforeMount, B as callWithErrorHandling, Bn as markRaw, Bt as onUpdated, C as vShow, Cn as withDirectives, Ct as isRuntimeOnly, D as BaseTransitionPropsValidators, Dn as ReactiveEffect, Dt as mergeProps, E as BaseTransition, En as EffectScope, Et as mergeModels, F as Suspense, Fn as isProxy, Ft as onMounted, G as createBlock, Gn as readonly, Gt as queuePostFlushCb, H as compatUtils, Hn as onWatcherCleanup, Ht as popScopeId, I as Teleport, In as isReactive, It as onRenderTracked, J as createHydrationRenderer, Jn as shallowReadonly, Jt as renderSlot, K as createCommentVNode, Kn as ref, Kt as registerRuntimeCompiler, L as Text, Ln as isReadonly, Lt as onRenderTriggered, M as Fragment, Mn as effectScope, Mt as onBeforeUpdate, N as KeepAlive, Nn as getCurrentScope, Nt as onDeactivated, O as Comment, On as TrackOpTypes, Ot as nextTick, P as Static, Pn as getCurrentWatcher, Pt as onErrorCaptured, Q as createStaticVNode, Qn as toRef, Qt as resolveFilter, R as assertNumber, Rn as isRef, Rt as onServerPrefetch, S as vModelText, Sn as withDefaults, St as isMemoSame, T as withModifiers, Tn as withScopeId, Tt as mergeDefaults, U as computed, Un as proxyRefs, Ut as provide, V as cloneVNode, Vn as onScopeDispose, Vt as openBlock, W as createBaseVNode, Wn as reactive, Wt as pushScopeId, X as createRenderer, Xn as stop, Xt as resolveDirective, Y as createPropsRestProxy, Yn as shallowRef, Yt as resolveComponent, Z as createSlots, Zn as toRaw, Zt as resolveDynamicComponent, _ as useShadowRoot, _n as watchEffect, _t as hydrateOnInteraction, a as createApp, an as toHandlers, ar as normalizeClass, at as defineModel, b as vModelRadio, bn as withAsyncContext, bt as initCustomFormatter, c as defineSSRCustomElement, cn as useId, cr as toDisplayString, ct as defineSlots, d as nodeOps, dn as useSlots, dt as getTransitionRawChildren, en as setBlockTracking, er as toValue, et as createVNode, f as patchProp, fn as useTemplateRef, ft as guardReactiveProps, g as useHost, gn as watch, gt as hydrateOnIdle, h as useCssVars, hn as warn, ht as hasInjectionContext, i as VueElement, in as ssrUtils, ir as capitalize, it as defineExpose, j as ErrorTypeStrings, jn as effect, jt as onBeforeUnmount, k as DeprecationTypes, kn as TriggerOpTypes, kt as onActivated, l as hydrate, ln as useModel, lr as toHandlerKey, lt as devtools, m as useCssModule, mn as version, mt as handleError, n as Transition, nn as setTransitionHooks, nr as unref, nt as defineComponent, o as createSSRApp, on as transformVNodeArgs, or as normalizeProps, ot as defineOptions, p as render, pn as useTransitionState, pt as h, q as createElementBlock, qn as shallowReactive, qt as renderList, r as TransitionGroup, rn as ssrContextKey, rr as camelize, rt as defineEmits, s as defineCustomElement, sn as useAttrs, sr as normalizeStyle, st as defineProps, t as compile, tn as setDevtoolsHook, tr as triggerRef, tt as defineAsyncComponent, u as initDirectivesForSSR, un as useSSRContext, ut as getCurrentInstance, v as vModelCheckbox, vn as watchPostEffect, vt as hydrateOnMediaQuery, w as withKeys, wn as withMemo, wt as isVNode, x as vModelSelect, xn as withCtx, xt as inject, y as vModelDynamic, yn as watchSyncEffect, yt as hydrateOnVisible, z as callWithAsyncErrorHandling, zn as isShallow, zt as onUnmounted } from "./vue.runtime.esm-bundler-CJdF6Oq_.js"; +export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, compile, computed, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getCurrentWatcher, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, nodeOps, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useHost, useId, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId }; diff --git a/src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js b/src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js new file mode 100644 index 000000000..9345e0d11 --- /dev/null +++ b/src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js @@ -0,0 +1,8579 @@ +//#region node_modules/@vue/shared/dist/shared.esm-bundler.js +/** +* @vue/shared v3.5.32 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/* @__NO_SIDE_EFFECTS__ */ +function makeMap(str) { + const map = /* @__PURE__ */ Object.create(null); + for (const key of str.split(",")) map[key] = 1; + return (val) => val in map; +} +var EMPTY_OBJ = Object.freeze({}); +var EMPTY_ARR = Object.freeze([]); +var NOOP = () => {}; +var NO = () => false; +var isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); +var isModelListener = (key) => key.startsWith("onUpdate:"); +var extend = Object.assign; +var remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) arr.splice(i, 1); +}; +var hasOwnProperty$1 = Object.prototype.hasOwnProperty; +var hasOwn = (val, key) => hasOwnProperty$1.call(val, key); +var isArray = Array.isArray; +var isMap = (val) => toTypeString(val) === "[object Map]"; +var isSet = (val) => toTypeString(val) === "[object Set]"; +var isDate = (val) => toTypeString(val) === "[object Date]"; +var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; +var isFunction = (val) => typeof val === "function"; +var isString = (val) => typeof val === "string"; +var isSymbol = (val) => typeof val === "symbol"; +var isObject = (val) => val !== null && typeof val === "object"; +var isPromise = (val) => { + return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); +}; +var objectToString = Object.prototype.toString; +var toTypeString = (value) => objectToString.call(value); +var toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +var isPlainObject = (val) => toTypeString(val) === "[object Object]"; +var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +var isReservedProp = /* @__PURE__ */ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"); +var isBuiltInDirective = /* @__PURE__ */ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"); +var cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return ((str) => { + return cache[str] || (cache[str] = fn(str)); + }); +}; +var camelizeRE = /-\w/g; +var camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase()); +}); +var hyphenateRE = /\B([A-Z])/g; +var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); +var capitalize = cacheStringFunction((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +var toHandlerKey = cacheStringFunction((str) => { + return str ? `on${capitalize(str)}` : ``; +}); +var hasChanged = (value, oldValue) => !Object.is(value, oldValue); +var invokeArrayFns = (fns, ...arg) => { + for (let i = 0; i < fns.length; i++) fns[i](...arg); +}; +var def = (obj, key, value, writable = false) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + writable, + value + }); +}; +var looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +var toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +var _globalThis; +var getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; +var isGloballyAllowed = /* @__PURE__ */ makeMap("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"); +function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) for (const key in normalized) res[key] = normalized[key]; + } + return res; + } else if (isString(value) || isObject(value)) return value; +} +var listDelimiterRE = /;(?![^(]*\))/g; +var propertyDelimiterRE = /:([^]+)/; +var styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function stringifyStyle(styles) { + if (!styles) return ""; + if (isString(styles)) return styles; + let ret = ""; + for (const key in styles) { + const value = styles[key]; + if (isString(value) || typeof value === "number") { + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); + ret += `${normalizedKey}:${value};`; + } + } + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString(value)) res = value; + else if (isArray(value)) for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) res += normalized + " "; + } + else if (isObject(value)) { + for (const name in value) if (value[name]) res += name + " "; + } + return res.trim(); +} +function normalizeProps(props) { + if (!props) return null; + let { class: klass, style } = props; + if (klass && !isString(klass)) props.class = normalizeClass(klass); + if (style) props.style = normalizeStyle(style); + return props; +} +var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; +var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; +var MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; +var isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); +var isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); +var isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS); +var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +var isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); +var isBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +var isKnownHtmlAttr = /* @__PURE__ */ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`); +var isKnownSvgAttr = /* @__PURE__ */ makeMap(`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`); +function isRenderableAttrValue(value) { + if (value == null) return false; + const type = typeof value; + return type === "string" || type === "number" || type === "boolean"; +} +var cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; +function getEscapedCssVarName(key, doubleEscape) { + return key.replace(cssVarNameEscapeSymbolsRE, (s) => doubleEscape ? s === "\"" ? "\\\\\\\"" : `\\\\${s}` : `\\${s}`); +} +function looseCompareArrays(a, b) { + if (a.length !== b.length) return false; + let equal = true; + for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]); + return equal; +} +function looseEqual(a, b) { + if (a === b) return true; + let aValidType = isDate(a); + let bValidType = isDate(b); + if (aValidType || bValidType) return aValidType && bValidType ? a.getTime() === b.getTime() : false; + aValidType = isSymbol(a); + bValidType = isSymbol(b); + if (aValidType || bValidType) return a === b; + aValidType = isArray(a); + bValidType = isArray(b); + if (aValidType || bValidType) return aValidType && bValidType ? looseCompareArrays(a, b) : false; + aValidType = isObject(a); + bValidType = isObject(b); + if (aValidType || bValidType) { + if (!aValidType || !bValidType) return false; + if (Object.keys(a).length !== Object.keys(b).length) return false; + for (const key in a) { + const aHasKey = a.hasOwnProperty(key); + const bHasKey = b.hasOwnProperty(key); + if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) return false; + } + } + return String(a) === String(b); +} +function looseIndexOf(arr, val) { + return arr.findIndex((item) => looseEqual(item, val)); +} +var isRef$1 = (val) => { + return !!(val && val["__v_isRef"] === true); +}; +var toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef$1(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); +}; +var replacer = (_key, val) => { + if (isRef$1(val)) return replacer(_key, val.value); + else if (isMap(val)) return { [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2], i) => { + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, {}) }; + else if (isSet(val)) return { [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) }; + else if (isSymbol(val)) return stringifySymbol(val); + else if (isObject(val) && !isArray(val) && !isPlainObject(val)) return String(val); + return val; +}; +var stringifySymbol = (v, i = "") => { + var _a; + return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v; +}; +function normalizeCssVarValue(value) { + if (value == null) return "initial"; + if (typeof value === "string") return value === "" ? " " : value; + if (typeof value !== "number" || !Number.isFinite(value)) console.warn("[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:", value); + return String(value); +} +//#endregion +//#region node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js +/** +* @vue/reactivity v3.5.32 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +function warn$2(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); +} +var activeEffectScope; +var EffectScope = class { + constructor(detached = false) { + this.detached = detached; + /** + * @internal + */ + this._active = true; + /** + * @internal track `on` calls, allow `on` call multiple times + */ + this._on = 0; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this._isPaused = false; + this.__v_skip = true; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; + } + get active() { + return this._active; + } + pause() { + if (this._active) { + this._isPaused = true; + let i, l; + if (this.scopes) for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].pause(); + for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].pause(); + } + } + /** + * Resumes the effect scope, including all child scopes and effects. + */ + resume() { + if (this._active) { + if (this._isPaused) { + this._isPaused = false; + let i, l; + if (this.scopes) for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].resume(); + for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].resume(); + } + } + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else warn$2(`cannot run an inactive effect scope.`); + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + if (++this._on === 1) { + this.prevScope = activeEffectScope; + activeEffectScope = this; + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + if (this._on > 0 && --this._on === 0) { + activeEffectScope = this.prevScope; + this.prevScope = void 0; + } + } + stop(fromParent) { + if (this._active) { + this._active = false; + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].stop(); + this.effects.length = 0; + for (i = 0, l = this.cleanups.length; i < l; i++) this.cleanups[i](); + this.cleanups.length = 0; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].stop(true); + this.scopes.length = 0; + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + } + } +}; +function effectScope(detached) { + return new EffectScope(detached); +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn, failSilently = false) { + if (activeEffectScope) activeEffectScope.cleanups.push(fn); + else if (!failSilently) warn$2(`onScopeDispose() is called when there is no active effect scope to be associated with.`); +} +var activeSub; +var pausedQueueEffects = /* @__PURE__ */ new WeakSet(); +var ReactiveEffect = class { + constructor(fn) { + this.fn = fn; + /** + * @internal + */ + this.deps = void 0; + /** + * @internal + */ + this.depsTail = void 0; + /** + * @internal + */ + this.flags = 5; + /** + * @internal + */ + this.next = void 0; + /** + * @internal + */ + this.cleanup = void 0; + this.scheduler = void 0; + if (activeEffectScope && activeEffectScope.active) activeEffectScope.effects.push(this); + } + pause() { + this.flags |= 64; + } + resume() { + if (this.flags & 64) { + this.flags &= -65; + if (pausedQueueEffects.has(this)) { + pausedQueueEffects.delete(this); + this.trigger(); + } + } + } + /** + * @internal + */ + notify() { + if (this.flags & 2 && !(this.flags & 32)) return; + if (!(this.flags & 8)) batch(this); + } + run() { + if (!(this.flags & 1)) return this.fn(); + this.flags |= 2; + cleanupEffect(this); + prepareDeps(this); + const prevEffect = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = this; + shouldTrack = true; + try { + return this.fn(); + } finally { + if (activeSub !== this) warn$2("Active effect was not restored correctly - this is likely a Vue internal bug."); + cleanupDeps(this); + activeSub = prevEffect; + shouldTrack = prevShouldTrack; + this.flags &= -3; + } + } + stop() { + if (this.flags & 1) { + for (let link = this.deps; link; link = link.nextDep) removeSub(link); + this.deps = this.depsTail = void 0; + cleanupEffect(this); + this.onStop && this.onStop(); + this.flags &= -2; + } + } + trigger() { + if (this.flags & 64) pausedQueueEffects.add(this); + else if (this.scheduler) this.scheduler(); + else this.runIfDirty(); + } + /** + * @internal + */ + runIfDirty() { + if (isDirty(this)) this.run(); + } + get dirty() { + return isDirty(this); + } +}; +var batchDepth = 0; +var batchedSub; +var batchedComputed; +function batch(sub, isComputed = false) { + sub.flags |= 8; + if (isComputed) { + sub.next = batchedComputed; + batchedComputed = sub; + return; + } + sub.next = batchedSub; + batchedSub = sub; +} +function startBatch() { + batchDepth++; +} +function endBatch() { + if (--batchDepth > 0) return; + if (batchedComputed) { + let e = batchedComputed; + batchedComputed = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= -9; + e = next; + } + } + let error; + while (batchedSub) { + let e = batchedSub; + batchedSub = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= -9; + if (e.flags & 1) try { + e.trigger(); + } catch (err) { + if (!error) error = err; + } + e = next; + } + } + if (error) throw error; +} +function prepareDeps(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + link.version = -1; + link.prevActiveLink = link.dep.activeLink; + link.dep.activeLink = link; + } +} +function cleanupDeps(sub) { + let head; + let tail = sub.depsTail; + let link = tail; + while (link) { + const prev = link.prevDep; + if (link.version === -1) { + if (link === tail) tail = prev; + removeSub(link); + removeDep(link); + } else head = link; + link.dep.activeLink = link.prevActiveLink; + link.prevActiveLink = void 0; + link = prev; + } + sub.deps = head; + sub.depsTail = tail; +} +function isDirty(sub) { + for (let link = sub.deps; link; link = link.nextDep) if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) return true; + if (sub._dirty) return true; + return false; +} +function refreshComputed(computed) { + if (computed.flags & 4 && !(computed.flags & 16)) return; + computed.flags &= -17; + if (computed.globalVersion === globalVersion) return; + computed.globalVersion = globalVersion; + if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) return; + computed.flags |= 2; + const dep = computed.dep; + const prevSub = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = computed; + shouldTrack = true; + try { + prepareDeps(computed); + const value = computed.fn(computed._value); + if (dep.version === 0 || hasChanged(value, computed._value)) { + computed.flags |= 128; + computed._value = value; + dep.version++; + } + } catch (err) { + dep.version++; + throw err; + } finally { + activeSub = prevSub; + shouldTrack = prevShouldTrack; + cleanupDeps(computed); + computed.flags &= -3; + } +} +function removeSub(link, soft = false) { + const { dep, prevSub, nextSub } = link; + if (prevSub) { + prevSub.nextSub = nextSub; + link.prevSub = void 0; + } + if (nextSub) { + nextSub.prevSub = prevSub; + link.nextSub = void 0; + } + if (dep.subsHead === link) dep.subsHead = nextSub; + if (dep.subs === link) { + dep.subs = prevSub; + if (!prevSub && dep.computed) { + dep.computed.flags &= -5; + for (let l = dep.computed.deps; l; l = l.nextDep) removeSub(l, true); + } + } + if (!soft && !--dep.sc && dep.map) dep.map.delete(dep.key); +} +function removeDep(link) { + const { prevDep, nextDep } = link; + if (prevDep) { + prevDep.nextDep = nextDep; + link.prevDep = void 0; + } + if (nextDep) { + nextDep.prevDep = prevDep; + link.nextDep = void 0; + } +} +function effect(fn, options) { + if (fn.effect instanceof ReactiveEffect) fn = fn.effect.fn; + const e = new ReactiveEffect(fn); + if (options) extend(e, options); + try { + e.run(); + } catch (err) { + e.stop(); + throw err; + } + const runner = e.run.bind(e); + runner.effect = e; + return runner; +} +function stop(runner) { + runner.effect.stop(); +} +var shouldTrack = true; +var trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function cleanupEffect(e) { + const { cleanup } = e; + e.cleanup = void 0; + if (cleanup) { + const prevSub = activeSub; + activeSub = void 0; + try { + cleanup(); + } finally { + activeSub = prevSub; + } + } +} +var globalVersion = 0; +var Link = class { + constructor(sub, dep) { + this.sub = sub; + this.dep = dep; + this.version = dep.version; + this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; + } +}; +var Dep = class { + constructor(computed) { + this.computed = computed; + this.version = 0; + /** + * Link between this dep and the current active effect + */ + this.activeLink = void 0; + /** + * Doubly linked list representing the subscribing effects (tail) + */ + this.subs = void 0; + /** + * For object property deps cleanup + */ + this.map = void 0; + this.key = void 0; + /** + * Subscriber counter + */ + this.sc = 0; + /** + * @internal + */ + this.__v_skip = true; + this.subsHead = void 0; + } + track(debugInfo) { + if (!activeSub || !shouldTrack || activeSub === this.computed) return; + let link = this.activeLink; + if (link === void 0 || link.sub !== activeSub) { + link = this.activeLink = new Link(activeSub, this); + if (!activeSub.deps) activeSub.deps = activeSub.depsTail = link; + else { + link.prevDep = activeSub.depsTail; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + } + addSub(link); + } else if (link.version === -1) { + link.version = this.version; + if (link.nextDep) { + const next = link.nextDep; + next.prevDep = link.prevDep; + if (link.prevDep) link.prevDep.nextDep = next; + link.prevDep = activeSub.depsTail; + link.nextDep = void 0; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + if (activeSub.deps === link) activeSub.deps = next; + } + } + if (activeSub.onTrack) activeSub.onTrack(extend({ effect: activeSub }, debugInfo)); + return link; + } + trigger(debugInfo) { + this.version++; + globalVersion++; + this.notify(debugInfo); + } + notify(debugInfo) { + startBatch(); + try { + for (let head = this.subsHead; head; head = head.nextSub) if (head.sub.onTrigger && !(head.sub.flags & 8)) head.sub.onTrigger(extend({ effect: head.sub }, debugInfo)); + for (let link = this.subs; link; link = link.prevSub) if (link.sub.notify()) link.sub.dep.notify(); + } finally { + endBatch(); + } + } +}; +function addSub(link) { + link.dep.sc++; + if (link.sub.flags & 4) { + const computed = link.dep.computed; + if (computed && !link.dep.subs) { + computed.flags |= 20; + for (let l = computed.deps; l; l = l.nextDep) addSub(l); + } + const currentTail = link.dep.subs; + if (currentTail !== link) { + link.prevSub = currentTail; + if (currentTail) currentTail.nextSub = link; + } + if (link.dep.subsHead === void 0) link.dep.subsHead = link; + link.dep.subs = link; + } +} +var targetMap = /* @__PURE__ */ new WeakMap(); +var ITERATE_KEY = /* @__PURE__ */ Symbol("Object iterate"); +var MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol("Map keys iterate"); +var ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol("Array iterate"); +function track(target, type, key) { + if (shouldTrack && activeSub) { + let depsMap = targetMap.get(target); + if (!depsMap) targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = new Dep()); + dep.map = depsMap; + dep.key = key; + } + dep.track({ + target, + type, + key + }); + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + globalVersion++; + return; + } + const run = (dep) => { + if (dep) dep.trigger({ + target, + type, + key, + newValue, + oldValue, + oldTarget + }); + }; + startBatch(); + if (type === "clear") depsMap.forEach(run); + else { + const targetIsArray = isArray(target); + const isArrayIndex = targetIsArray && isIntegerKey(key); + if (targetIsArray && key === "length") { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) run(dep); + }); + } else { + if (key !== void 0 || depsMap.has(void 0)) run(depsMap.get(key)); + if (isArrayIndex) run(depsMap.get(ARRAY_ITERATE_KEY)); + switch (type) { + case "add": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } else if (isArrayIndex) run(depsMap.get("length")); + break; + case "delete": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + break; + case "set": + if (isMap(target)) run(depsMap.get(ITERATE_KEY)); + break; + } + } + } + endBatch(); +} +function getDepFromReactive(object, key) { + const depMap = targetMap.get(object); + return depMap && depMap.get(key); +} +function reactiveReadArray(array) { + const raw = /* @__PURE__ */ toRaw(array); + if (raw === array) return raw; + track(raw, "iterate", ARRAY_ITERATE_KEY); + return /* @__PURE__ */ isShallow(array) ? raw : raw.map(toReactive); +} +function shallowReadArray(arr) { + track(arr = /* @__PURE__ */ toRaw(arr), "iterate", ARRAY_ITERATE_KEY); + return arr; +} +function toWrapped(target, item) { + if (/* @__PURE__ */ isReadonly(target)) return /* @__PURE__ */ isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item); + return toReactive(item); +} +var arrayInstrumentations = { + __proto__: null, + [Symbol.iterator]() { + return iterator(this, Symbol.iterator, (item) => toWrapped(this, item)); + }, + concat(...args) { + return reactiveReadArray(this).concat(...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)); + }, + entries() { + return iterator(this, "entries", (value) => { + value[1] = toWrapped(this, value[1]); + return value; + }); + }, + every(fn, thisArg) { + return apply(this, "every", fn, thisArg, void 0, arguments); + }, + filter(fn, thisArg) { + return apply(this, "filter", fn, thisArg, (v) => v.map((item) => toWrapped(this, item)), arguments); + }, + find(fn, thisArg) { + return apply(this, "find", fn, thisArg, (item) => toWrapped(this, item), arguments); + }, + findIndex(fn, thisArg) { + return apply(this, "findIndex", fn, thisArg, void 0, arguments); + }, + findLast(fn, thisArg) { + return apply(this, "findLast", fn, thisArg, (item) => toWrapped(this, item), arguments); + }, + findLastIndex(fn, thisArg) { + return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); + }, + forEach(fn, thisArg) { + return apply(this, "forEach", fn, thisArg, void 0, arguments); + }, + includes(...args) { + return searchProxy(this, "includes", args); + }, + indexOf(...args) { + return searchProxy(this, "indexOf", args); + }, + join(separator) { + return reactiveReadArray(this).join(separator); + }, + lastIndexOf(...args) { + return searchProxy(this, "lastIndexOf", args); + }, + map(fn, thisArg) { + return apply(this, "map", fn, thisArg, void 0, arguments); + }, + pop() { + return noTracking(this, "pop"); + }, + push(...args) { + return noTracking(this, "push", args); + }, + reduce(fn, ...args) { + return reduce(this, "reduce", fn, args); + }, + reduceRight(fn, ...args) { + return reduce(this, "reduceRight", fn, args); + }, + shift() { + return noTracking(this, "shift"); + }, + some(fn, thisArg) { + return apply(this, "some", fn, thisArg, void 0, arguments); + }, + splice(...args) { + return noTracking(this, "splice", args); + }, + toReversed() { + return reactiveReadArray(this).toReversed(); + }, + toSorted(comparer) { + return reactiveReadArray(this).toSorted(comparer); + }, + toSpliced(...args) { + return reactiveReadArray(this).toSpliced(...args); + }, + unshift(...args) { + return noTracking(this, "unshift", args); + }, + values() { + return iterator(this, "values", (item) => toWrapped(this, item)); + } +}; +function iterator(self, method, wrapValue) { + const arr = shallowReadArray(self); + const iter = arr[method](); + if (arr !== self && !/* @__PURE__ */ isShallow(self)) { + iter._next = iter.next; + iter.next = () => { + const result = iter._next(); + if (!result.done) result.value = wrapValue(result.value); + return result; + }; + } + return iter; +} +var arrayProto = Array.prototype; +function apply(self, method, fn, thisArg, wrappedRetFn, args) { + const arr = shallowReadArray(self); + const needsWrap = arr !== self && !/* @__PURE__ */ isShallow(self); + const methodFn = arr[method]; + if (methodFn !== arrayProto[method]) { + const result2 = methodFn.apply(self, args); + return needsWrap ? toReactive(result2) : result2; + } + let wrappedFn = fn; + if (arr !== self) { + if (needsWrap) wrappedFn = function(item, index) { + return fn.call(this, toWrapped(self, item), index, self); + }; + else if (fn.length > 2) wrappedFn = function(item, index) { + return fn.call(this, item, index, self); + }; + } + const result = methodFn.call(arr, wrappedFn, thisArg); + return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; +} +function reduce(self, method, fn, args) { + const arr = shallowReadArray(self); + const needsWrap = arr !== self && !/* @__PURE__ */ isShallow(self); + let wrappedFn = fn; + let wrapInitialAccumulator = false; + if (arr !== self) { + if (needsWrap) { + wrapInitialAccumulator = args.length === 0; + wrappedFn = function(acc, item, index) { + if (wrapInitialAccumulator) { + wrapInitialAccumulator = false; + acc = toWrapped(self, acc); + } + return fn.call(this, acc, toWrapped(self, item), index, self); + }; + } else if (fn.length > 3) wrappedFn = function(acc, item, index) { + return fn.call(this, acc, item, index, self); + }; + } + const result = arr[method](wrappedFn, ...args); + return wrapInitialAccumulator ? toWrapped(self, result) : result; +} +function searchProxy(self, method, args) { + const arr = /* @__PURE__ */ toRaw(self); + track(arr, "iterate", ARRAY_ITERATE_KEY); + const res = arr[method](...args); + if ((res === -1 || res === false) && /* @__PURE__ */ isProxy(args[0])) { + args[0] = /* @__PURE__ */ toRaw(args[0]); + return arr[method](...args); + } + return res; +} +function noTracking(self, method, args = []) { + pauseTracking(); + startBatch(); + const res = (/* @__PURE__ */ toRaw(self))[method].apply(self, args); + endBatch(); + resetTracking(); + return res; +} +var isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); +var builtInSymbols = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)); +function hasOwnProperty(key) { + if (!isSymbol(key)) key = String(key); + const obj = /* @__PURE__ */ toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +var BaseReactiveHandler = class { + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + if (key === "__v_skip") return target["__v_skip"]; + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") return !isReadonly2; + else if (key === "__v_isReadonly") return isReadonly2; + else if (key === "__v_isShallow") return isShallow2; + else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) return target; + return; + } + const targetIsArray = isArray(target); + if (!isReadonly2) { + let fn; + if (targetIsArray && (fn = arrayInstrumentations[key])) return fn; + if (key === "hasOwnProperty") return hasOwnProperty; + } + const res = Reflect.get(target, key, /* @__PURE__ */ isRef(target) ? target : receiver); + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) return res; + if (!isReadonly2) track(target, "get", key); + if (isShallow2) return res; + if (/* @__PURE__ */ isRef(res)) { + const value = targetIsArray && isIntegerKey(key) ? res : res.value; + return isReadonly2 && isObject(value) ? /* @__PURE__ */ readonly(value) : value; + } + if (isObject(res)) return isReadonly2 ? /* @__PURE__ */ readonly(res) : /* @__PURE__ */ reactive(res); + return res; + } +}; +var MutableReactiveHandler = class extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value, receiver) { + let oldValue = target[key]; + const isArrayWithIntegerKey = isArray(target) && isIntegerKey(key); + if (!this._isShallow) { + const isOldValueReadonly = /* @__PURE__ */ isReadonly(oldValue); + if (!/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value)) { + oldValue = /* @__PURE__ */ toRaw(oldValue); + value = /* @__PURE__ */ toRaw(value); + } + if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) if (isOldValueReadonly) { + warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]); + return true; + } else { + oldValue.value = value; + return true; + } + } + const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key); + const result = Reflect.set(target, key, value, /* @__PURE__ */ isRef(target) ? target : receiver); + if (target === /* @__PURE__ */ toRaw(receiver)) { + if (!hadKey) trigger(target, "add", key, value); + else if (hasChanged(value, oldValue)) trigger(target, "set", key, value, oldValue); + } + return result; + } + deleteProperty(target, key) { + const hadKey = hasOwn(target, key); + const oldValue = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) trigger(target, "delete", key, void 0, oldValue); + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol(key) || !builtInSymbols.has(key)) track(target, "has", key); + return result; + } + ownKeys(target) { + track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY); + return Reflect.ownKeys(target); + } +}; +var ReadonlyReactiveHandler = class extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target); + return true; + } + deleteProperty(target, key) { + warn$2(`Delete operation on key "${String(key)}" failed: target is readonly.`, target); + return true; + } +}; +var mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); +var readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); +var shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true); +var shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); +var toShallow = (value) => value; +var getProto = (v) => Reflect.getPrototypeOf(v); +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = /* @__PURE__ */ toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); + return extend(Object.create(innerIterator), { next() { + const { value, done } = innerIterator.next(); + return done ? { + value, + done + } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + } }); + }; +} +function createReadonlyMethod(type) { + return function(...args) { + { + const key = args[0] ? `on key "${args[0]}" ` : ``; + warn$2(`${capitalize(type)} operation ${key}failed: target is readonly.`, /* @__PURE__ */ toRaw(this)); + } + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +function createInstrumentations(readonly, shallow) { + const instrumentations = { + get(key) { + const target = this["__v_raw"]; + const rawTarget = /* @__PURE__ */ toRaw(target); + const rawKey = /* @__PURE__ */ toRaw(key); + if (!readonly) { + if (hasChanged(key, rawKey)) track(rawTarget, "get", key); + track(rawTarget, "get", rawKey); + } + const { has } = getProto(rawTarget); + const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; + if (has.call(rawTarget, key)) return wrap(target.get(key)); + else if (has.call(rawTarget, rawKey)) return wrap(target.get(rawKey)); + else if (target !== rawTarget) target.get(key); + }, + get size() { + const target = this["__v_raw"]; + !readonly && track(/* @__PURE__ */ toRaw(target), "iterate", ITERATE_KEY); + return target.size; + }, + has(key) { + const target = this["__v_raw"]; + const rawTarget = /* @__PURE__ */ toRaw(target); + const rawKey = /* @__PURE__ */ toRaw(key); + if (!readonly) { + if (hasChanged(key, rawKey)) track(rawTarget, "has", key); + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + }, + forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = /* @__PURE__ */ toRaw(target); + const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; + !readonly && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + } + }; + extend(instrumentations, readonly ? { + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear") + } : { + add(value) { + const target = /* @__PURE__ */ toRaw(this); + const proto = getProto(target); + const rawValue = /* @__PURE__ */ toRaw(value); + const valueToAdd = !shallow && !/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value) ? rawValue : value; + if (!(proto.has.call(target, valueToAdd) || hasChanged(value, valueToAdd) && proto.has.call(target, value) || hasChanged(rawValue, valueToAdd) && proto.has.call(target, rawValue))) { + target.add(valueToAdd); + trigger(target, "add", valueToAdd, valueToAdd); + } + return this; + }, + set(key, value) { + if (!shallow && !/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value)) value = /* @__PURE__ */ toRaw(value); + const target = /* @__PURE__ */ toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = /* @__PURE__ */ toRaw(key); + hadKey = has.call(target, key); + } else checkIdentityKeys(target, has, key); + const oldValue = get.call(target, key); + target.set(key, value); + if (!hadKey) trigger(target, "add", key, value); + else if (hasChanged(value, oldValue)) trigger(target, "set", key, value, oldValue); + return this; + }, + delete(key) { + const target = /* @__PURE__ */ toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = /* @__PURE__ */ toRaw(key); + hadKey = has.call(target, key); + } else checkIdentityKeys(target, has, key); + const oldValue = get ? get.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) trigger(target, "delete", key, void 0, oldValue); + return result; + }, + clear() { + const target = /* @__PURE__ */ toRaw(this); + const hadItems = target.size !== 0; + const oldTarget = isMap(target) ? new Map(target) : new Set(target); + const result = target.clear(); + if (hadItems) trigger(target, "clear", void 0, void 0, oldTarget); + return result; + } + }); + [ + "keys", + "values", + "entries", + Symbol.iterator + ].forEach((method) => { + instrumentations[method] = createIterableMethod(method, readonly, shallow); + }); + return instrumentations; +} +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = createInstrumentations(isReadonly2, shallow); + return (target, key, receiver) => { + if (key === "__v_isReactive") return !isReadonly2; + else if (key === "__v_isReadonly") return isReadonly2; + else if (key === "__v_raw") return target; + return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); + }; +} +var mutableCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, false) }; +var shallowCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, true) }; +var readonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, false) }; +var shallowReadonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, true) }; +function checkIdentityKeys(target, has, key) { + const rawKey = /* @__PURE__ */ toRaw(key); + if (rawKey !== key && has.call(target, rawKey)) { + const type = toRawType(target); + warn$2(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`); + } +} +var reactiveMap = /* @__PURE__ */ new WeakMap(); +var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +var readonlyMap = /* @__PURE__ */ new WeakMap(); +var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": return 2; + default: return 0; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); +} +/* @__NO_SIDE_EFFECTS__ */ +function reactive(target) { + if (/* @__PURE__ */ isReadonly(target)) return target; + return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); +} +/* @__NO_SIDE_EFFECTS__ */ +function shallowReactive(target) { + return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap); +} +/* @__NO_SIDE_EFFECTS__ */ +function readonly(target) { + return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); +} +/* @__NO_SIDE_EFFECTS__ */ +function shallowReadonly(target) { + return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject(target)) { + warn$2(`value cannot be made ${isReadonly2 ? "readonly" : "reactive"}: ${String(target)}`); + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) return target; + const targetType = getTargetType(target); + if (targetType === 0) return target; + const existingProxy = proxyMap.get(target); + if (existingProxy) return existingProxy; + const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); + proxyMap.set(target, proxy); + return proxy; +} +/* @__NO_SIDE_EFFECTS__ */ +function isReactive(value) { + if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]); + return !!(value && value["__v_isReactive"]); +} +/* @__NO_SIDE_EFFECTS__ */ +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +/* @__NO_SIDE_EFFECTS__ */ +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +/* @__NO_SIDE_EFFECTS__ */ +function isProxy(value) { + return value ? !!value["__v_raw"] : false; +} +/* @__NO_SIDE_EFFECTS__ */ +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? /* @__PURE__ */ toRaw(raw) : observed; +} +function markRaw(value) { + if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) def(value, "__v_skip", true); + return value; +} +var toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value; +var toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value; +/* @__NO_SIDE_EFFECTS__ */ +function isRef(r) { + return r ? r["__v_isRef"] === true : false; +} +/* @__NO_SIDE_EFFECTS__ */ +function ref(value) { + return createRef(value, false); +} +/* @__NO_SIDE_EFFECTS__ */ +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (/* @__PURE__ */ isRef(rawValue)) return rawValue; + return new RefImpl(rawValue, shallow); +} +var RefImpl = class { + constructor(value, isShallow2) { + this.dep = new Dep(); + this["__v_isRef"] = true; + this["__v_isShallow"] = false; + this._rawValue = isShallow2 ? value : /* @__PURE__ */ toRaw(value); + this._value = isShallow2 ? value : toReactive(value); + this["__v_isShallow"] = isShallow2; + } + get value() { + this.dep.track({ + target: this, + type: "get", + key: "value" + }); + return this._value; + } + set value(newValue) { + const oldValue = this._rawValue; + const useDirectValue = this["__v_isShallow"] || /* @__PURE__ */ isShallow(newValue) || /* @__PURE__ */ isReadonly(newValue); + newValue = useDirectValue ? newValue : /* @__PURE__ */ toRaw(newValue); + if (hasChanged(newValue, oldValue)) { + this._rawValue = newValue; + this._value = useDirectValue ? newValue : toReactive(newValue); + this.dep.trigger({ + target: this, + type: "set", + key: "value", + newValue, + oldValue + }); + } + } +}; +function triggerRef(ref2) { + if (ref2.dep) ref2.dep.trigger({ + target: ref2, + type: "set", + key: "value", + newValue: ref2._value + }); +} +function unref(ref2) { + return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2; +} +function toValue(source) { + return isFunction(source) ? source() : unref(source); +} +var shallowUnwrapHandlers = { + get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) { + oldValue.value = value; + return true; + } else return Reflect.set(target, key, value, receiver); + } +}; +function proxyRefs(objectWithRefs) { + return /* @__PURE__ */ isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +var CustomRefImpl = class { + constructor(factory) { + this["__v_isRef"] = true; + this._value = void 0; + const dep = this.dep = new Dep(); + const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); + this._get = get; + this._set = set; + } + get value() { + return this._value = this._get(); + } + set value(newVal) { + this._set(newVal); + } +}; +function customRef(factory) { + return new CustomRefImpl(factory); +} +/* @__NO_SIDE_EFFECTS__ */ +function toRefs(object) { + if (!/* @__PURE__ */ isProxy(object)) warn$2(`toRefs() expects a reactive object but received a plain one.`); + const ret = isArray(object) ? new Array(object.length) : {}; + for (const key in object) ret[key] = propertyToRef(object, key); + return ret; +} +var ObjectRefImpl = class { + constructor(_object, key, _defaultValue) { + this._object = _object; + this._defaultValue = _defaultValue; + this["__v_isRef"] = true; + this._value = void 0; + this._key = isSymbol(key) ? key : String(key); + this._raw = /* @__PURE__ */ toRaw(_object); + let shallow = true; + let obj = _object; + if (!isArray(_object) || isSymbol(this._key) || !isIntegerKey(this._key)) do + shallow = !/* @__PURE__ */ isProxy(obj) || /* @__PURE__ */ isShallow(obj); + while (shallow && (obj = obj["__v_raw"])); + this._shallow = shallow; + } + get value() { + let val = this._object[this._key]; + if (this._shallow) val = unref(val); + return this._value = val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) { + const nestedRef = this._object[this._key]; + if (/* @__PURE__ */ isRef(nestedRef)) { + nestedRef.value = newVal; + return; + } + } + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(this._raw, this._key); + } +}; +var GetterRefImpl = class { + constructor(_getter) { + this._getter = _getter; + this["__v_isRef"] = true; + this["__v_isReadonly"] = true; + this._value = void 0; + } + get value() { + return this._value = this._getter(); + } +}; +/* @__NO_SIDE_EFFECTS__ */ +function toRef(source, key, defaultValue) { + if (/* @__PURE__ */ isRef(source)) return source; + else if (isFunction(source)) return new GetterRefImpl(source); + else if (isObject(source) && arguments.length > 1) return propertyToRef(source, key, defaultValue); + else return /* @__PURE__ */ ref(source); +} +function propertyToRef(source, key, defaultValue) { + return new ObjectRefImpl(source, key, defaultValue); +} +var ComputedRefImpl = class { + constructor(fn, setter, isSSR) { + this.fn = fn; + this.setter = setter; + /** + * @internal + */ + this._value = void 0; + /** + * @internal + */ + this.dep = new Dep(this); + /** + * @internal + */ + this.__v_isRef = true; + /** + * @internal + */ + this.deps = void 0; + /** + * @internal + */ + this.depsTail = void 0; + /** + * @internal + */ + this.flags = 16; + /** + * @internal + */ + this.globalVersion = globalVersion - 1; + /** + * @internal + */ + this.next = void 0; + this.effect = this; + this["__v_isReadonly"] = !setter; + this.isSSR = isSSR; + } + /** + * @internal + */ + notify() { + this.flags |= 16; + if (!(this.flags & 8) && activeSub !== this) { + batch(this, true); + return true; + } + } + get value() { + const link = this.dep.track({ + target: this, + type: "get", + key: "value" + }); + refreshComputed(this); + if (link) link.version = this.dep.version; + return this._value; + } + set value(newValue) { + if (this.setter) this.setter(newValue); + else warn$2("Write operation failed: computed value is readonly"); + } +}; +/* @__NO_SIDE_EFFECTS__ */ +function computed$1(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + if (isFunction(getterOrOptions)) getter = getterOrOptions; + else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, isSSR); + if (debugOptions && !isSSR) { + cRef.onTrack = debugOptions.onTrack; + cRef.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +var TrackOpTypes = { + "GET": "get", + "HAS": "has", + "ITERATE": "iterate" +}; +var TriggerOpTypes = { + "SET": "set", + "ADD": "add", + "DELETE": "delete", + "CLEAR": "clear" +}; +var INITIAL_WATCHER_VALUE = {}; +var cleanupMap = /* @__PURE__ */ new WeakMap(); +var activeWatcher = void 0; +function getCurrentWatcher() { + return activeWatcher; +} +function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { + if (owner) { + let cleanups = cleanupMap.get(owner); + if (!cleanups) cleanupMap.set(owner, cleanups = []); + cleanups.push(cleanupFn); + } else if (!failSilently) warn$2(`onWatcherCleanup() was called when there was no active watcher to associate with.`); +} +function watch$1(source, cb, options = EMPTY_OBJ) { + const { immediate, deep, once, scheduler, augmentJob, call } = options; + const warnInvalidSource = (s) => { + (options.onWarn || warn$2)(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`); + }; + const reactiveGetter = (source2) => { + if (deep) return source2; + if (/* @__PURE__ */ isShallow(source2) || deep === false || deep === 0) return traverse(source2, 1); + return traverse(source2); + }; + let effect; + let getter; + let cleanup; + let boundCleanup; + let forceTrigger = false; + let isMultiSource = false; + if (/* @__PURE__ */ isRef(source)) { + getter = () => source.value; + forceTrigger = /* @__PURE__ */ isShallow(source); + } else if (/* @__PURE__ */ isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => /* @__PURE__ */ isReactive(s) || /* @__PURE__ */ isShallow(s)); + getter = () => source.map((s) => { + if (/* @__PURE__ */ isRef(s)) return s.value; + else if (/* @__PURE__ */ isReactive(s)) return reactiveGetter(s); + else if (isFunction(s)) return call ? call(s, 2) : s(); + else warnInvalidSource(s); + }); + } else if (isFunction(source)) if (cb) getter = call ? () => call(source, 2) : source; + else getter = () => { + if (cleanup) { + pauseTracking(); + try { + cleanup(); + } finally { + resetTracking(); + } + } + const currentEffect = activeWatcher; + activeWatcher = effect; + try { + return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); + } finally { + activeWatcher = currentEffect; + } + }; + else { + getter = NOOP; + warnInvalidSource(source); + } + if (cb && deep) { + const baseGetter = getter; + const depth = deep === true ? Infinity : deep; + getter = () => traverse(baseGetter(), depth); + } + const scope = getCurrentScope(); + const watchHandle = () => { + effect.stop(); + if (scope && scope.active) remove(scope.effects, effect); + }; + if (once && cb) { + const _cb = cb; + cb = (...args) => { + _cb(...args); + watchHandle(); + }; + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = (immediateFirstRun) => { + if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) return; + if (cb) { + const newValue = effect.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) { + if (cleanup) cleanup(); + const currentWatcher = activeWatcher; + activeWatcher = effect; + try { + const args = [ + newValue, + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + boundCleanup + ]; + oldValue = newValue; + call ? call(cb, 3, args) : cb(...args); + } finally { + activeWatcher = currentWatcher; + } + } + } else effect.run(); + }; + if (augmentJob) augmentJob(job); + effect = new ReactiveEffect(getter); + effect.scheduler = scheduler ? () => scheduler(job, false) : job; + boundCleanup = (fn) => onWatcherCleanup(fn, false, effect); + cleanup = effect.onStop = () => { + const cleanups = cleanupMap.get(effect); + if (cleanups) { + if (call) call(cleanups, 4); + else for (const cleanup2 of cleanups) cleanup2(); + cleanupMap.delete(effect); + } + }; + effect.onTrack = options.onTrack; + effect.onTrigger = options.onTrigger; + if (cb) if (immediate) job(true); + else oldValue = effect.run(); + else if (scheduler) scheduler(job.bind(null, true), true); + else effect.run(); + watchHandle.pause = effect.pause.bind(effect); + watchHandle.resume = effect.resume.bind(effect); + watchHandle.stop = watchHandle; + return watchHandle; +} +function traverse(value, depth = Infinity, seen) { + if (depth <= 0 || !isObject(value) || value["__v_skip"]) return value; + seen = seen || /* @__PURE__ */ new Map(); + if ((seen.get(value) || 0) >= depth) return value; + seen.set(value, depth); + depth--; + if (/* @__PURE__ */ isRef(value)) traverse(value.value, depth, seen); + else if (isArray(value)) for (let i = 0; i < value.length; i++) traverse(value[i], depth, seen); + else if (isSet(value) || isMap(value)) value.forEach((v) => { + traverse(v, depth, seen); + }); + else if (isPlainObject(value)) { + for (const key in value) traverse(value[key], depth, seen); + for (const key of Object.getOwnPropertySymbols(value)) if (Object.prototype.propertyIsEnumerable.call(value, key)) traverse(value[key], depth, seen); + } + return value; +} +//#endregion +//#region node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +/** +* @vue/runtime-core v3.5.32 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +var stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +function popWarningContext() { + stack.pop(); +} +var isWarning = false; +function warn$1(msg, ...args) { + if (isWarning) return; + isWarning = true; + pauseTracking(); + const instance = stack.length ? stack[stack.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace = getComponentTrace(); + if (appWarnHandler) callWithErrorHandling(appWarnHandler, instance, 11, [ + msg + args.map((a) => { + var _a, _b; + return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); + }).join(""), + instance && instance.proxy, + trace.map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`).join("\n"), + trace + ]); + else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace.length && true) warnArgs.push(` +`, ...formatTrace(trace)); + console.warn(...warnArgs); + } + resetTracking(); + isWarning = false; +} +function getComponentTrace() { + let currentVNode = stack[stack.length - 1]; + if (!currentVNode) return []; + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) last.recurseCount++; + else normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +function formatTrace(trace) { + const logs = []; + trace.forEach((entry, i) => { + logs.push(...i === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; +} +function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`; + const close = `>` + postfix; + return vnode.props ? [ + open, + ...formatProps(vnode.props), + close + ] : [open + close]; +} +function formatProps(props) { + const res = []; + const keys = Object.keys(props); + keys.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) res.push(` ...`); + return res; +} +function formatProp(key, value, raw) { + if (isString(value)) { + value = JSON.stringify(value); + return raw ? value : [`${key}=${value}`]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) return raw ? value : [`${key}=${value}`]; + else if (/* @__PURE__ */ isRef(value)) { + value = formatProp(key, /* @__PURE__ */ toRaw(value.value), true); + return raw ? value : [ + `${key}=Ref<`, + value, + `>` + ]; + } else if (isFunction(value)) return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; + else { + value = /* @__PURE__ */ toRaw(value); + return raw ? value : [`${key}=`, value]; + } +} +function assertNumber(val, type) { + if (val === void 0) return; + else if (typeof val !== "number") warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`); + else if (isNaN(val)) warn$1(`${type} is NaN - the duration expression might be incorrect.`); +} +var ErrorCodes = { + "SETUP_FUNCTION": 0, + "0": "SETUP_FUNCTION", + "RENDER_FUNCTION": 1, + "1": "RENDER_FUNCTION", + "NATIVE_EVENT_HANDLER": 5, + "5": "NATIVE_EVENT_HANDLER", + "COMPONENT_EVENT_HANDLER": 6, + "6": "COMPONENT_EVENT_HANDLER", + "VNODE_HOOK": 7, + "7": "VNODE_HOOK", + "DIRECTIVE_HOOK": 8, + "8": "DIRECTIVE_HOOK", + "TRANSITION_HOOK": 9, + "9": "TRANSITION_HOOK", + "APP_ERROR_HANDLER": 10, + "10": "APP_ERROR_HANDLER", + "APP_WARN_HANDLER": 11, + "11": "APP_WARN_HANDLER", + "FUNCTION_REF": 12, + "12": "FUNCTION_REF", + "ASYNC_COMPONENT_LOADER": 13, + "13": "ASYNC_COMPONENT_LOADER", + "SCHEDULER": 14, + "14": "SCHEDULER", + "COMPONENT_UPDATE": 15, + "15": "COMPONENT_UPDATE", + "APP_UNMOUNT_CLEANUP": 16, + "16": "APP_UNMOUNT_CLEANUP" +}; +var ErrorTypeStrings$1 = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush", + [15]: "component update", + [16]: "app unmount cleanup function" +}; +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) res.catch((err) => { + handleError(err, instance, type); + }); + return res; + } + if (isArray(fn)) { + const values = []; + for (let i = 0; i < fn.length; i++) values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + return values; + } else warn$1(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`); +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = ErrorTypeStrings$1[type]; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) return; + } + cur = cur.parent; + } + if (errorHandler) { + pauseTracking(); + callWithErrorHandling(errorHandler, null, 10, [ + err, + exposedInstance, + errorInfo + ]); + resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); +} +function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { + { + const info = ErrorTypeStrings$1[type]; + if (contextVNode) pushWarningContext(contextVNode); + warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); + if (contextVNode) popWarningContext(); + if (throwInDev) throw err; + else console.error(err); + } +} +var queue = []; +var flushIndex = -1; +var pendingPostFlushCbs = []; +var activePostFlushCbs = null; +var postFlushIndex = 0; +var resolvedPromise = /* @__PURE__ */ Promise.resolve(); +var currentFlushPromise = null; +var RECURSION_LIMIT = 100; +function nextTick(fn) { + const p = currentFlushPromise || resolvedPromise; + return fn ? p.then(this ? fn.bind(this) : fn) : p; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJob = queue[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.flags & 2) start = middle + 1; + else end = middle; + } + return start; +} +function queueJob(job) { + if (!(job.flags & 1)) { + const jobId = getId(job); + const lastJob = queue[queue.length - 1]; + if (!lastJob || !(job.flags & 2) && jobId >= getId(lastJob)) queue.push(job); + else queue.splice(findInsertionIndex(jobId), 0, job); + job.flags |= 1; + queueFlush(); + } +} +function queueFlush() { + if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(flushJobs); +} +function queuePostFlushCb(cb) { + if (!isArray(cb)) { + if (activePostFlushCbs && cb.id === -1) activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); + else if (!(cb.flags & 1)) { + pendingPostFlushCbs.push(cb); + cb.flags |= 1; + } + } else pendingPostFlushCbs.push(...cb); + queueFlush(); +} +function flushPreFlushCbs(instance, seen, i = flushIndex + 1) { + seen = seen || /* @__PURE__ */ new Map(); + for (; i < queue.length; i++) { + const cb = queue[i]; + if (cb && cb.flags & 2) { + if (instance && cb.id !== instance.uid) continue; + if (checkRecursiveUpdates(seen, cb)) continue; + queue.splice(i, 1); + i--; + if (cb.flags & 4) cb.flags &= -2; + cb(); + if (!(cb.flags & 4)) cb.flags &= -2; + } + } +} +function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)].sort((a, b) => getId(a) - getId(b)); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + seen = seen || /* @__PURE__ */ new Map(); + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + const cb = activePostFlushCbs[postFlushIndex]; + if (checkRecursiveUpdates(seen, cb)) continue; + if (cb.flags & 4) cb.flags &= -2; + if (!(cb.flags & 8)) cb(); + cb.flags &= -2; + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +var getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; +function flushJobs(seen) { + seen = seen || /* @__PURE__ */ new Map(); + const check = (job) => checkRecursiveUpdates(seen, job); + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && !(job.flags & 8)) { + if (check(job)) continue; + if (job.flags & 4) job.flags &= -2; + callWithErrorHandling(job, job.i, job.i ? 15 : 14); + if (!(job.flags & 4)) job.flags &= -2; + } + } + } finally { + for (; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job) job.flags &= -2; + } + flushIndex = -1; + queue.length = 0; + flushPostFlushCbs(seen); + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) flushJobs(seen); + } +} +function checkRecursiveUpdates(seen, fn) { + const count = seen.get(fn) || 0; + if (count > RECURSION_LIMIT) { + const instance = fn.i; + const componentName = instance && getComponentName(instance.type); + handleError(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, null, 10); + return true; + } + seen.set(fn, count + 1); + return false; +} +var isHmrUpdating = false; +var setHmrUpdating = (v) => { + try { + return isHmrUpdating; + } finally { + isHmrUpdating = v; + } +}; +var hmrDirtyComponents = /* @__PURE__ */ new Map(); +getGlobalThis().__VUE_HMR_RUNTIME__ = { + createRecord: tryWrap(createRecord), + rerender: tryWrap(rerender), + reload: tryWrap(reload) +}; +var map = /* @__PURE__ */ new Map(); +function registerHMR(instance) { + const id = instance.type.__hmrId; + let record = map.get(id); + if (!record) { + createRecord(id, instance.type); + record = map.get(id); + } + record.instances.add(instance); +} +function unregisterHMR(instance) { + map.get(instance.type.__hmrId).instances.delete(instance); +} +function createRecord(id, initialDef) { + if (map.has(id)) return false; + map.set(id, { + initialDef: normalizeClassComponent(initialDef), + instances: /* @__PURE__ */ new Set() + }); + return true; +} +function normalizeClassComponent(component) { + return isClassComponent(component) ? component.__vccOpts : component; +} +function rerender(id, newRender) { + const record = map.get(id); + if (!record) return; + record.initialDef.render = newRender; + [...record.instances].forEach((instance) => { + if (newRender) { + instance.render = newRender; + normalizeClassComponent(instance.type).render = newRender; + } + instance.renderCache = []; + isHmrUpdating = true; + if (!(instance.job.flags & 8)) instance.update(); + isHmrUpdating = false; + }); +} +function reload(id, newComp) { + const record = map.get(id); + if (!record) return; + newComp = normalizeClassComponent(newComp); + updateComponentDef(record.initialDef, newComp); + const instances = [...record.instances]; + for (let i = 0; i < instances.length; i++) { + const instance = instances[i]; + const oldComp = normalizeClassComponent(instance.type); + let dirtyInstances = hmrDirtyComponents.get(oldComp); + if (!dirtyInstances) { + if (oldComp !== record.initialDef) updateComponentDef(oldComp, newComp); + hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set()); + } + dirtyInstances.add(instance); + instance.appContext.propsCache.delete(instance.type); + instance.appContext.emitsCache.delete(instance.type); + instance.appContext.optionsCache.delete(instance.type); + if (instance.ceReload) { + dirtyInstances.add(instance); + instance.ceReload(newComp.styles); + dirtyInstances.delete(instance); + } else if (instance.parent) queueJob(() => { + if (!(instance.job.flags & 8)) { + isHmrUpdating = true; + instance.parent.update(); + isHmrUpdating = false; + dirtyInstances.delete(instance); + } + }); + else if (instance.appContext.reload) instance.appContext.reload(); + else if (typeof window !== "undefined") window.location.reload(); + else console.warn("[HMR] Root or manually mounted instance modified. Full reload required."); + if (instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(oldComp); + } + queuePostFlushCb(() => { + hmrDirtyComponents.clear(); + }); +} +function updateComponentDef(oldComp, newComp) { + extend(oldComp, newComp); + for (const key in oldComp) if (key !== "__file" && !(key in newComp)) delete oldComp[key]; +} +function tryWrap(fn) { + return (id, arg) => { + try { + return fn(id, arg); + } catch (e) { + console.error(e); + console.warn(`[HMR] Something went wrong during Vue component hot-reload. Full reload required.`); + } + }; +} +var devtools$1; +var buffer = []; +var devtoolsNotInstalled = false; +function emit$1(event, ...args) { + if (devtools$1) devtools$1.emit(event, ...args); + else if (!devtoolsNotInstalled) buffer.push({ + event, + args + }); +} +function setDevtoolsHook$1(hook, target) { + var _a, _b; + devtools$1 = hook; + if (devtools$1) { + devtools$1.enabled = true; + buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args)); + buffer = []; + } else if (typeof window !== "undefined" && window.HTMLElement && !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))) { + (target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []).push((newHook) => { + setDevtoolsHook$1(newHook, target); + }); + setTimeout(() => { + if (!devtools$1) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } +} +function devtoolsInitApp(app, version) { + emit$1("app:init", app, version, { + Fragment, + Text, + Comment, + Static + }); +} +function devtoolsUnmountApp(app) { + emit$1("app:unmount", app); +} +var devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook("component:added"); +var devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated"); +var _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook("component:removed"); +var devtoolsComponentRemoved = (component) => { + if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && !devtools$1.cleanupBuffer(component)) _devtoolsComponentRemoved(component); +}; +/* @__NO_SIDE_EFFECTS__ */ +function createDevtoolsComponentHook(hook) { + return (component) => { + emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component); + }; +} +var devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:start"); +var devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:end"); +function createDevtoolsPerformanceHook(hook) { + return (component, type, time) => { + emit$1(hook, component.appContext.app, component.uid, component, type, time); + }; +} +function devtoolsComponentEmit(component, event, params) { + emit$1("component:emit", component.appContext.app, component, event, params); +} +var currentRenderingInstance = null; +var currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function pushScopeId(id) { + currentScopeId = id; +} +function popScopeId() { + currentScopeId = null; +} +var withScopeId = (_id) => withCtx; +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) return fn; + if (fn._n) return fn; + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) setBlockTracking(-1); + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) setBlockTracking(1); + } + devtoolsComponentUpdated(ctx); + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} +function validateDirectiveName(name) { + if (isBuiltInDirective(name)) warn$1("Do not use built-in directive ids as custom directive id: " + name); +} +function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + warn$1(`withDirectives can only be used inside render functions.`); + return vnode; + } + const instance = getComponentPublicInstance(currentRenderingInstance); + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; + if (dir) { + if (isFunction(dir)) dir = { + mounted: dir, + updated: dir + }; + if (dir.deep) traverse(value); + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding = bindings[i]; + if (oldBindings) binding.oldValue = oldBindings[i].value; + let hook = binding.dir[name]; + if (hook) { + pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + resetTracking(); + } + } +} +function provide(key, value) { + if (!currentInstance || currentInstance.isMounted) warn$1(`provide() can only be used inside setup().`); + if (currentInstance) { + let provides = currentInstance.provides; + const parentProvides = currentInstance.parent && currentInstance.parent.provides; + if (parentProvides === provides) provides = currentInstance.provides = Object.create(parentProvides); + provides[key] = value; + } +} +function inject(key, defaultValue, treatDefaultAsFactory = false) { + const instance = getCurrentInstance(); + if (instance || currentApp) { + let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0; + if (provides && key in provides) return provides[key]; + else if (arguments.length > 1) return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; + else warn$1(`injection "${String(key)}" not found.`); + } else warn$1(`inject() can only be used inside setup() or functional components.`); +} +function hasInjectionContext() { + return !!(getCurrentInstance() || currentApp); +} +var ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx"); +var useSSRContext = () => { + { + const ctx = inject(ssrContextKey); + if (!ctx) warn$1(`Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`); + return ctx; + } +}; +function watchEffect(effect, options) { + return doWatch(effect, null, options); +} +function watchPostEffect(effect, options) { + return doWatch(effect, null, extend({}, options, { flush: "post" })); +} +function watchSyncEffect(effect, options) { + return doWatch(effect, null, extend({}, options, { flush: "sync" })); +} +function watch(source, cb, options) { + if (!isFunction(cb)) warn$1(`\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`); + return doWatch(source, cb, options); +} +function doWatch(source, cb, options = EMPTY_OBJ) { + const { immediate, deep, flush, once } = options; + if (!cb) { + if (immediate !== void 0) warn$1(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`); + if (deep !== void 0) warn$1(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`); + if (once !== void 0) warn$1(`watch() "once" option is only respected when using the watch(source, callback, options?) signature.`); + } + const baseWatchOptions = extend({}, options); + baseWatchOptions.onWarn = warn$1; + const runsImmediately = cb && immediate || !cb && flush !== "post"; + let ssrCleanup; + if (isInSSRComponentSetup) { + if (flush === "sync") { + const ctx = useSSRContext(); + ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); + } else if (!runsImmediately) { + const watchStopHandle = () => {}; + watchStopHandle.stop = NOOP; + watchStopHandle.resume = NOOP; + watchStopHandle.pause = NOOP; + return watchStopHandle; + } + } + const instance = currentInstance; + baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args); + let isPre = false; + if (flush === "post") baseWatchOptions.scheduler = (job) => { + queuePostRenderEffect(job, instance && instance.suspense); + }; + else if (flush !== "sync") { + isPre = true; + baseWatchOptions.scheduler = (job, isFirstRun) => { + if (isFirstRun) job(); + else queueJob(job); + }; + } + baseWatchOptions.augmentJob = (job) => { + if (cb) job.flags |= 4; + if (isPre) { + job.flags |= 2; + if (instance) { + job.id = instance.uid; + job.i = instance; + } + } + }; + const watchHandle = watch$1(source, cb, baseWatchOptions); + if (isInSSRComponentSetup) { + if (ssrCleanup) ssrCleanup.push(watchHandle); + else if (runsImmediately) watchHandle(); + } + return watchHandle; +} +function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (isFunction(value)) cb = value; + else { + cb = value.handler; + options = value; + } + const reset = setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + reset(); + return res; +} +function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i = 0; i < segments.length && cur; i++) cur = cur[segments[i]]; + return cur; + }; +} +var pendingMounts = /* @__PURE__ */ new WeakMap(); +var TeleportEndKey = /* @__PURE__ */ Symbol("_vte"); +var isTeleport = (type) => type.__isTeleport; +var isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); +var isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); +var isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; +var isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; +var resolveTarget = (props, select) => { + const targetSelector = props && props.to; + if (isString(targetSelector)) if (!select) { + warn$1(`Current renderer does not support string target for Teleports. (missing querySelector renderer option)`); + return null; + } else { + const target = select(targetSelector); + if (!target && !isTeleportDisabled(props)) warn$1(`Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`); + return target; + } + else { + if (!targetSelector && !isTeleportDisabled(props)) warn$1(`Invalid Teleport target: ${targetSelector}`); + return targetSelector; + } +}; +var TeleportImpl = { + name: "Teleport", + __isTeleport: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { + const { mc: mountChildren, pc: patchChildren, pbc: patchBlockChildren, o: { insert, querySelector, createText, createComment } } = internals; + const disabled = isTeleportDisabled(n2.props); + let { dynamicChildren } = n2; + if (isHmrUpdating) { + optimized = false; + dynamicChildren = null; + } + const mount = (vnode, container2, anchor2) => { + if (vnode.shapeFlag & 16) mountChildren(vnode.children, container2, anchor2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized); + }; + const mountToTarget = (vnode = n2) => { + const disabled2 = isTeleportDisabled(vnode.props); + const target = vnode.target = resolveTarget(vnode.props, querySelector); + const targetAnchor = prepareAnchor(target, vnode, createText, insert); + if (target) { + if (namespace !== "svg" && isTargetSVG(target)) namespace = "svg"; + else if (namespace !== "mathml" && isTargetMathML(target)) namespace = "mathml"; + if (parentComponent && parentComponent.isCE) (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target); + if (!disabled2) { + mount(vnode, target, targetAnchor); + updateCssVars(vnode, false); + } + } else if (!disabled2) warn$1("Invalid Teleport target on mount:", target, `(${typeof target})`); + }; + const queuePendingMount = (vnode) => { + const mountJob = () => { + if (pendingMounts.get(vnode) !== mountJob) return; + pendingMounts.delete(vnode); + if (isTeleportDisabled(vnode.props)) { + mount(vnode, container, vnode.anchor); + updateCssVars(vnode, true); + } + mountToTarget(vnode); + }; + pendingMounts.set(vnode, mountJob); + queuePostRenderEffect(mountJob, parentSuspense); + }; + if (n1 == null) { + const placeholder = n2.el = createComment("teleport start"); + const mainAnchor = n2.anchor = createComment("teleport end"); + insert(placeholder, container, anchor); + insert(mainAnchor, container, anchor); + if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) { + queuePendingMount(n2); + return; + } + if (disabled) { + mount(n2, container, mainAnchor); + updateCssVars(n2, true); + } + mountToTarget(); + } else { + n2.el = n1.el; + const mainAnchor = n2.anchor = n1.anchor; + const pendingMount = pendingMounts.get(n1); + if (pendingMount) { + pendingMount.flags |= 8; + pendingMounts.delete(n1); + queuePendingMount(n2); + return; + } + n2.targetStart = n1.targetStart; + const target = n2.target = n1.target; + const targetAnchor = n2.targetAnchor = n1.targetAnchor; + const wasDisabled = isTeleportDisabled(n1.props); + const currentContainer = wasDisabled ? container : target; + const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; + if (namespace === "svg" || isTargetSVG(target)) namespace = "svg"; + else if (namespace === "mathml" || isTargetMathML(target)) namespace = "mathml"; + if (dynamicChildren) { + patchBlockChildren(n1.dynamicChildren, dynamicChildren, currentContainer, parentComponent, parentSuspense, namespace, slotScopeIds); + traverseStaticChildren(n1, n2, false); + } else if (!optimized) patchChildren(n1, n2, currentContainer, currentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, false); + if (disabled) { + if (!wasDisabled) moveTeleport(n2, container, mainAnchor, internals, 1); + else if (n2.props && n1.props && n2.props.to !== n1.props.to) n2.props.to = n1.props.to; + } else if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { + const nextTarget = n2.target = resolveTarget(n2.props, querySelector); + if (nextTarget) moveTeleport(n2, nextTarget, null, internals, 0); + else warn$1("Invalid Teleport target on update:", target, `(${typeof target})`); + } else if (wasDisabled) moveTeleport(n2, target, targetAnchor, internals, 1); + updateCssVars(n2, disabled); + } + }, + remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { + const { shapeFlag, children, anchor, targetStart, targetAnchor, target, props } = vnode; + let shouldRemove = doRemove || !isTeleportDisabled(props); + const pendingMount = pendingMounts.get(vnode); + if (pendingMount) { + pendingMount.flags |= 8; + pendingMounts.delete(vnode); + shouldRemove = false; + } + if (target) { + hostRemove(targetStart); + hostRemove(targetAnchor); + } + doRemove && hostRemove(anchor); + if (shapeFlag & 16) for (let i = 0; i < children.length; i++) { + const child = children[i]; + unmount(child, parentComponent, parentSuspense, shouldRemove, !!child.dynamicChildren); + } + }, + move: moveTeleport, + hydrate: hydrateTeleport +}; +function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { + if (moveType === 0) insert(vnode.targetAnchor, container, parentAnchor); + const { el, anchor, shapeFlag, children, props } = vnode; + const isReorder = moveType === 2; + if (isReorder) insert(el, container, parentAnchor); + if (!isReorder || isTeleportDisabled(props)) { + if (shapeFlag & 16) for (let i = 0; i < children.length; i++) move(children[i], container, parentAnchor, 2); + } + if (isReorder) insert(anchor, container, parentAnchor); +} +function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector, insert, createText } }, hydrateChildren) { + function hydrateAnchor(target2, targetNode) { + let targetAnchor = targetNode; + while (targetAnchor) { + if (targetAnchor && targetAnchor.nodeType === 8) { + if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor; + else if (targetAnchor.data === "teleport anchor") { + vnode.targetAnchor = targetAnchor; + target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); + break; + } + } + targetAnchor = nextSibling(targetAnchor); + } + } + function hydrateDisabledTeleport(node2, vnode2) { + vnode2.anchor = hydrateChildren(nextSibling(node2), vnode2, parentNode(node2), parentComponent, parentSuspense, slotScopeIds, optimized); + } + const target = vnode.target = resolveTarget(vnode.props, querySelector); + const disabled = isTeleportDisabled(vnode.props); + if (target) { + const targetNode = target._lpa || target.firstChild; + if (vnode.shapeFlag & 16) if (disabled) { + hydrateDisabledTeleport(node, vnode); + hydrateAnchor(target, targetNode); + if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null); + } else { + vnode.anchor = nextSibling(node); + hydrateAnchor(target, targetNode); + if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert); + hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized); + } + updateCssVars(vnode, disabled); + } else if (disabled) { + if (vnode.shapeFlag & 16) { + hydrateDisabledTeleport(node, vnode); + vnode.targetStart = node; + vnode.targetAnchor = nextSibling(node); + } + } + return vnode.anchor && nextSibling(vnode.anchor); +} +var Teleport = TeleportImpl; +function updateCssVars(vnode, isDisabled) { + const ctx = vnode.ctx; + if (ctx && ctx.ut) { + let node, anchor; + if (isDisabled) { + node = vnode.el; + anchor = vnode.anchor; + } else { + node = vnode.targetStart; + anchor = vnode.targetAnchor; + } + while (node && node !== anchor) { + if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); + node = node.nextSibling; + } + ctx.ut(); + } +} +function prepareAnchor(target, vnode, createText, insert, anchor = null) { + const targetStart = vnode.targetStart = createText(""); + const targetAnchor = vnode.targetAnchor = createText(""); + targetStart[TeleportEndKey] = targetAnchor; + if (target) { + insert(targetStart, target, anchor); + insert(targetAnchor, target, anchor); + } + return targetAnchor; +} +var leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb"); +var enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb"); +function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +var TransitionHookValidator = [Function, Array]; +var BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +var recursiveGetSubtree = (instance) => { + const subTree = instance.subTree; + return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; +}; +var BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) return; + const child = findNonCommentChild(children); + const rawProps = /* @__PURE__ */ toRaw(props); + const { mode } = rawProps; + if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") warn$1(`invalid mode: ${mode}`); + if (state.isLeaving) return emptyPlaceholder(child); + const innerChild = getInnerChild$1(child); + if (!innerChild) return emptyPlaceholder(child); + let enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance, (hooks) => enterHooks = hooks); + if (innerChild.type !== Comment) setTransitionHooks(innerChild, enterHooks); + let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) { + let leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in" && innerChild.type !== Comment) { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (!(instance.job.flags & 8)) instance.update(); + delete leavingHooks.afterLeave; + oldInnerChild = void 0; + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + enterHooks.delayedLeave = () => { + delayedLeave(); + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + }; + else oldInnerChild = void 0; + } else if (oldInnerChild) oldInnerChild = void 0; + return child; + }; + } +}; +function findNonCommentChild(children) { + let child = children[0]; + if (children.length > 1) { + let hasFound = false; + for (const c of children) if (c.type !== Comment) { + if (hasFound) { + warn$1(" can only be used on a single element or component. Use for lists."); + break; + } + child = c; + hasFound = true; + } + } + return child; +} +var BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +function resolveTransitionHooks(vnode, props, state, instance, postClone) { + const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook = (hook, args) => { + hook && callWithAsyncErrorHandling(hook, instance, 9, args); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook(hook, args); + if (isArray(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) done(); + } else if (hook.length <= 1) done(); + }; + const hooks = { + mode, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter; + if (!state.isMounted) if (appear) hook = onBeforeAppear || onBeforeEnter; + else return; + if (el[leaveCbKey]) el[leaveCbKey](true); + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) leavingVNode.el[leaveCbKey](); + callHook(hook, [el]); + }, + enter(el) { + if (!isHmrUpdating && leavingVNodesCache[key] === vnode) return; + let hook = onEnter; + let afterHook = onAfterEnter; + let cancelHook = onEnterCancelled; + if (!state.isMounted) if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else return; + let called = false; + el[enterCbKey$1] = (cancelled) => { + if (called) return; + called = true; + if (cancelled) callHook(cancelHook, [el]); + else callHook(afterHook, [el]); + if (hooks.delayedLeave) hooks.delayedLeave(); + el[enterCbKey$1] = void 0; + }; + const done = el[enterCbKey$1].bind(null, false); + if (hook) callAsyncHook(hook, [el, done]); + else done(); + }, + leave(el, remove) { + const key2 = String(vnode.key); + if (el[enterCbKey$1]) el[enterCbKey$1](true); + if (state.isUnmounting) return remove(); + callHook(onBeforeLeave, [el]); + let called = false; + el[leaveCbKey] = (cancelled) => { + if (called) return; + called = true; + remove(); + if (cancelled) callHook(onLeaveCancelled, [el]); + else callHook(onAfterLeave, [el]); + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) delete leavingVNodesCache[key2]; + }; + const done = el[leaveCbKey].bind(null, false); + leavingVNodesCache[key2] = vnode; + if (onLeave) callAsyncHook(onLeave, [el, done]); + else done(); + }, + clone(vnode2) { + const hooks2 = resolveTransitionHooks(vnode2, props, state, instance, postClone); + if (postClone) postClone(hooks2); + return hooks2; + } + }; + return hooks; +} +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +function getInnerChild$1(vnode) { + if (!isKeepAlive(vnode)) { + if (isTeleport(vnode.type) && vnode.children) return findNonCommentChild(vnode.children); + return vnode; + } + if (vnode.component) return vnode.component.subTree; + const { shapeFlag, children } = vnode; + if (children) { + if (shapeFlag & 16) return children[0]; + if (shapeFlag & 32 && isFunction(children.default)) return children.default(); + } +} +function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + vnode.transition = hooks; + setTransitionHooks(vnode.component.subTree, hooks); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else vnode.transition = hooks; +} +function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i = 0; i < children.length; i++) { + let child = children[i]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) keyedFragmentCount++; + ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key)); + } else if (keepComment || child.type !== Comment) ret.push(key != null ? cloneVNode(child, { key }) : child); + } + if (keyedFragmentCount > 1) for (let i = 0; i < ret.length; i++) ret[i].patchFlag = -2; + return ret; +} +/* @__NO_SIDE_EFFECTS__ */ +function defineComponent(options, extraOptions) { + return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options; +} +function useId() { + const i = getCurrentInstance(); + if (i) return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++; + else warn$1(`useId() is called when there is no active component instance to be associated with.`); + return ""; +} +function markAsyncBoundary(instance) { + instance.ids = [ + instance.ids[0] + instance.ids[2]++ + "-", + 0, + 0 + ]; +} +var knownTemplateRefs = /* @__PURE__ */ new WeakSet(); +function useTemplateRef(key) { + const i = getCurrentInstance(); + const r = /* @__PURE__ */ shallowRef(null); + if (i) { + const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs; + if (isTemplateRefKey(refs, key)) warn$1(`useTemplateRef('${key}') already exists.`); + else Object.defineProperty(refs, key, { + enumerable: true, + get: () => r.value, + set: (val) => r.value = val + }); + } else warn$1(`useTemplateRef() is called when there is no active component instance to be associated with.`); + const ret = /* @__PURE__ */ readonly(r); + knownTemplateRefs.add(ret); + return ret; +} +function isTemplateRefKey(refs, key) { + let desc; + return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable); +} +var pendingSetRefMap = /* @__PURE__ */ new WeakMap(); +function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { + if (isArray(rawRef)) { + rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount)); + return; + } + if (isAsyncWrapper(vnode) && !isUnmount) { + if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree); + return; + } + const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; + const value = isUnmount ? null : refValue; + const { i: owner, r: ref } = rawRef; + if (!owner) { + warn$1(`Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`); + return; + } + const oldRef = oldRawRef && oldRawRef.r; + const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs; + const setupState = owner.setupState; + const rawSetupState = /* @__PURE__ */ toRaw(setupState); + const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => { + if (hasOwn(rawSetupState, key) && !/* @__PURE__ */ isRef(rawSetupState[key])) warn$1(`Template ref "${key}" used on a non-ref value. It will not work in the production build.`); + if (knownTemplateRefs.has(rawSetupState[key])) return false; + if (isTemplateRefKey(refs, key)) return false; + return hasOwn(rawSetupState, key); + }; + const canSetRef = (ref2, key) => { + if (knownTemplateRefs.has(ref2)) return false; + if (key && isTemplateRefKey(refs, key)) return false; + return true; + }; + if (oldRef != null && oldRef !== ref) { + invalidatePendingSetRef(oldRawRef); + if (isString(oldRef)) { + refs[oldRef] = null; + if (canSetSetupRef(oldRef)) setupState[oldRef] = null; + } else if (/* @__PURE__ */ isRef(oldRef)) { + const oldRawRefAtom = oldRawRef; + if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null; + if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null; + } + } + if (isFunction(ref)) callWithErrorHandling(ref, owner, 12, [value, refs]); + else { + const _isString = isString(ref); + const _isRef = /* @__PURE__ */ isRef(ref); + if (_isString || _isRef) { + const doSet = () => { + if (rawRef.f) { + const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k]; + if (isUnmount) isArray(existing) && remove(existing, refValue); + else if (!isArray(existing)) if (_isString) { + refs[ref] = [refValue]; + if (canSetSetupRef(ref)) setupState[ref] = refs[ref]; + } else { + const newVal = [refValue]; + if (canSetRef(ref, rawRef.k)) ref.value = newVal; + if (rawRef.k) refs[rawRef.k] = newVal; + } + else if (!existing.includes(refValue)) existing.push(refValue); + } else if (_isString) { + refs[ref] = value; + if (canSetSetupRef(ref)) setupState[ref] = value; + } else if (_isRef) { + if (canSetRef(ref, rawRef.k)) ref.value = value; + if (rawRef.k) refs[rawRef.k] = value; + } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`); + }; + if (value) { + const job = () => { + doSet(); + pendingSetRefMap.delete(rawRef); + }; + job.id = -1; + pendingSetRefMap.set(rawRef, job); + queuePostRenderEffect(job, parentSuspense); + } else { + invalidatePendingSetRef(rawRef); + doSet(); + } + } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`); + } +} +function invalidatePendingSetRef(rawRef) { + const pendingSetRef = pendingSetRefMap.get(rawRef); + if (pendingSetRef) { + pendingSetRef.flags |= 8; + pendingSetRefMap.delete(rawRef); + } +} +var hasLoggedMismatchError = false; +var logMismatchError = () => { + if (hasLoggedMismatchError) return; + console.error("Hydration completed but contains mismatches."); + hasLoggedMismatchError = true; +}; +var isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; +var isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); +var getContainerType = (container) => { + if (container.nodeType !== 1) return void 0; + if (isSVGContainer(container)) return "svg"; + if (isMathMLContainer(container)) return "mathml"; +}; +var isComment = (node) => node.nodeType === 8; +function createHydrationFunctions(rendererInternals) { + const { mt: mountComponent, p: patch, o: { patchProp, createText, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals; + const hydrate = (vnode, container) => { + if (!container.hasChildNodes()) { + warn$1(`Attempting to hydrate existing markup but container is empty. Performing full mount instead.`); + patch(null, vnode, container); + flushPostFlushCbs(); + container._vnode = vnode; + return; + } + hydrateNode(container.firstChild, vnode, null, null, null); + flushPostFlushCbs(); + container._vnode = vnode; + }; + const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { + optimized = optimized || !!vnode.dynamicChildren; + const isFragmentStart = isComment(node) && node.data === "["; + const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart); + const { type, ref, shapeFlag, patchFlag } = vnode; + let domType = node.nodeType; + vnode.el = node; + def(node, "__vnode", vnode, true); + def(node, "__vueParentComponent", parentComponent, true); + if (patchFlag === -2) { + optimized = false; + vnode.dynamicChildren = null; + } + let nextNode = null; + switch (type) { + case Text: + if (domType !== 3) if (vnode.children === "") { + insert(vnode.el = createText(""), parentNode(node), node); + nextNode = node; + } else nextNode = onMismatch(); + else { + if (node.data !== vnode.children) { + warn$1(`Hydration text mismatch in`, node.parentNode, ` + - rendered on server: ${JSON.stringify(node.data)} + - expected on client: ${JSON.stringify(vnode.children)}`); + logMismatchError(); + node.data = vnode.children; + } + nextNode = nextSibling(node); + } + break; + case Comment: + if (isTemplateNode(node)) { + nextNode = nextSibling(node); + replaceNode(vnode.el = node.content.firstChild, node, parentComponent); + } else if (domType !== 8 || isFragmentStart) nextNode = onMismatch(); + else nextNode = nextSibling(node); + break; + case Static: + if (isFragmentStart) { + node = nextSibling(node); + domType = node.nodeType; + } + if (domType === 1 || domType === 3) { + nextNode = node; + const needToAdoptContent = !vnode.children.length; + for (let i = 0; i < vnode.staticCount; i++) { + if (needToAdoptContent) vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; + if (i === vnode.staticCount - 1) vnode.anchor = nextNode; + nextNode = nextSibling(nextNode); + } + return isFragmentStart ? nextSibling(nextNode) : nextNode; + } else onMismatch(); + break; + case Fragment: + if (!isFragmentStart) nextNode = onMismatch(); + else nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized); + break; + default: if (shapeFlag & 1) if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) nextNode = onMismatch(); + else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized); + else if (shapeFlag & 6) { + vnode.slotScopeIds = slotScopeIds; + const container = parentNode(node); + if (isFragmentStart) nextNode = locateClosingAnchor(node); + else if (isComment(node) && node.data === "teleport start") nextNode = locateClosingAnchor(node, node.data, "teleport end"); + else nextNode = nextSibling(node); + mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized); + if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) { + let subTree; + if (isFragmentStart) { + subTree = createVNode(Fragment); + subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; + } else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div"); + subTree.el = node; + vnode.component.subTree = subTree; + } + } else if (shapeFlag & 64) if (domType !== 8) nextNode = onMismatch(); + else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren); + else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode); + else warn$1("Invalid HostVNode type:", type, `(${typeof type})`); + } + if (ref != null) setRef(ref, null, parentSuspense, vnode); + return nextNode; + }; + const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!vnode.dynamicChildren; + const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode; + const forcePatch = type === "input" || type === "option"; + { + if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "created"); + let needCallTransitionHooks = false; + if (isTemplateNode(el)) { + needCallTransitionHooks = needTransition(null, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; + const content = el.content.firstChild; + if (needCallTransitionHooks) { + const cls = content.getAttribute("class"); + if (cls) content.$cls = cls; + transition.beforeEnter(content); + } + replaceNode(content, el, parentComponent); + vnode.el = el = content; + } + if (shapeFlag & 16 && !(props && (props.innerHTML || props.textContent))) { + let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized); + let hasWarned = false; + while (next) { + if (!isMismatchAllowed(el, 1)) { + if (!hasWarned) { + warn$1(`Hydration children mismatch on`, el, ` +Server rendered element contains more child nodes than client vdom.`); + hasWarned = true; + } + logMismatchError(); + } + const cur = next; + next = next.nextSibling; + remove(cur); + } + } else if (shapeFlag & 8) { + let clientText = vnode.children; + if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) clientText = clientText.slice(1); + const { textContent } = el; + if (textContent !== clientText && textContent !== clientText.replace(/\r\n|\r/g, "\n")) { + if (!isMismatchAllowed(el, 0)) { + warn$1(`Hydration text content mismatch on`, el, ` + - rendered on server: ${textContent} + - expected on client: ${clientText}`); + logMismatchError(); + } + el.textContent = vnode.children; + } + } + if (props) { + const isCustomElement = el.tagName.includes("-"); + for (const key in props) { + if (!(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) logMismatchError(); + if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || key[0] === "." || isCustomElement && !isReservedProp(key)) patchProp(el, key, null, props[key], void 0, parentComponent); + } + } + let vnodeHooks; + if (vnodeHooks = props && props.onVnodeBeforeMount) invokeVNodeHook(vnodeHooks, parentComponent, vnode); + if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) queueEffectWithSuspense(() => { + vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + return el.nextSibling; + }; + const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!parentVNode.dynamicChildren; + const children = parentVNode.children; + const l = children.length; + let hasWarned = false; + for (let i = 0; i < l; i++) { + const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); + const isText = vnode.type === Text; + if (node) { + if (isText && !optimized) { + if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { + insert(createText(node.data.slice(vnode.children.length)), container, nextSibling(node)); + node.data = vnode.children; + } + } + node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized); + } else if (isText && !vnode.children) insert(vnode.el = createText(""), container); + else { + if (!isMismatchAllowed(container, 1)) { + if (!hasWarned) { + warn$1(`Hydration children mismatch on`, container, ` +Server rendered element contains fewer child nodes than client vdom.`); + hasWarned = true; + } + logMismatchError(); + } + patch(null, vnode, container, null, parentComponent, parentSuspense, getContainerType(container), slotScopeIds); + } + } + return node; + }; + const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + const { slotScopeIds: fragmentSlotScopeIds } = vnode; + if (fragmentSlotScopeIds) slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + const container = parentNode(node); + const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized); + if (next && isComment(next) && next.data === "]") return nextSibling(vnode.anchor = next); + else { + logMismatchError(); + insert(vnode.anchor = createComment(`]`), container, next); + return next; + } + }; + const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { + if (!isMismatchAllowed(node.parentElement, 1)) { + warn$1(`Hydration node mismatch: +- rendered on server:`, node, node.nodeType === 3 ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``, ` +- expected on client:`, vnode.type); + logMismatchError(); + } + vnode.el = null; + if (isFragment) { + const end = locateClosingAnchor(node); + while (true) { + const next2 = nextSibling(node); + if (next2 && next2 !== end) remove(next2); + else break; + } + } + const next = nextSibling(node); + const container = parentNode(node); + remove(node); + patch(null, vnode, container, next, parentComponent, parentSuspense, getContainerType(container), slotScopeIds); + if (parentComponent) { + parentComponent.vnode.el = vnode.el; + updateHOCHostEl(parentComponent, vnode.el); + } + return next; + }; + const locateClosingAnchor = (node, open = "[", close = "]") => { + let match = 0; + while (node) { + node = nextSibling(node); + if (node && isComment(node)) { + if (node.data === open) match++; + if (node.data === close) if (match === 0) return nextSibling(node); + else match--; + } + } + return node; + }; + const replaceNode = (newNode, oldNode, parentComponent) => { + const parentNode2 = oldNode.parentNode; + if (parentNode2) parentNode2.replaceChild(newNode, oldNode); + let parent = parentComponent; + while (parent) { + if (parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode; + parent = parent.parent; + } + }; + const isTemplateNode = (node) => { + return node.nodeType === 1 && node.tagName === "TEMPLATE"; + }; + return [hydrate, hydrateNode]; +} +function propHasMismatch(el, key, clientValue, vnode, instance) { + let mismatchType; + let mismatchKey; + let actual; + let expected; + if (key === "class") { + if (el.$cls) { + actual = el.$cls; + delete el.$cls; + } else actual = el.getAttribute("class"); + expected = normalizeClass(clientValue); + if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) { + mismatchType = 2; + mismatchKey = `class`; + } + } else if (key === "style") { + actual = el.getAttribute("style") || ""; + expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue)); + const actualMap = toStyleMap(actual); + const expectedMap = toStyleMap(expected); + if (vnode.dirs) { + for (const { dir, value } of vnode.dirs) if (dir.name === "show" && !value) expectedMap.set("display", "none"); + } + if (instance) resolveCssVars(instance, vnode, expectedMap); + if (!isMapEqual(actualMap, expectedMap)) { + mismatchType = 3; + mismatchKey = "style"; + } + } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) { + if (isBooleanAttr(key)) { + actual = el.hasAttribute(key); + expected = includeBooleanAttr(clientValue); + } else if (clientValue == null) { + actual = el.hasAttribute(key); + expected = false; + } else { + if (el.hasAttribute(key)) actual = el.getAttribute(key); + else if (key === "value" && el.tagName === "TEXTAREA") actual = el.value; + else actual = false; + expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false; + } + if (actual !== expected) { + mismatchType = 4; + mismatchKey = key; + } + } + if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) { + const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`; + warn$1(`Hydration ${MismatchTypeString[mismatchType]} mismatch on`, el, ` + - rendered on server: ${format(actual)} + - expected on client: ${format(expected)} + Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. + You should fix the source of the mismatch.`); + return true; + } + return false; +} +function toClassSet(str) { + return new Set(str.trim().split(/\s+/)); +} +function isSetEqual(a, b) { + if (a.size !== b.size) return false; + for (const s of a) if (!b.has(s)) return false; + return true; +} +function toStyleMap(str) { + const styleMap = /* @__PURE__ */ new Map(); + for (const item of str.split(";")) { + let [key, value] = item.split(":"); + key = key.trim(); + value = value && value.trim(); + if (key && value) styleMap.set(key, value); + } + return styleMap; +} +function isMapEqual(a, b) { + if (a.size !== b.size) return false; + for (const [key, value] of a) if (value !== b.get(key)) return false; + return true; +} +function resolveCssVars(instance, vnode, expectedMap) { + const root = instance.subTree; + if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) { + const cssVars = instance.getCssVars(); + for (const key in cssVars) { + const value = normalizeCssVarValue(cssVars[key]); + expectedMap.set(`--${getEscapedCssVarName(key, false)}`, value); + } + } + if (vnode === root && instance.parent) resolveCssVars(instance.parent, instance.vnode, expectedMap); +} +var allowMismatchAttr = "data-allow-mismatch"; +var MismatchTypeString = { + [0]: "text", + [1]: "children", + [2]: "class", + [3]: "style", + [4]: "attribute" +}; +function isMismatchAllowed(el, allowedType) { + if (allowedType === 0 || allowedType === 1) while (el && !el.hasAttribute(allowMismatchAttr)) el = el.parentElement; + const allowedAttr = el && el.getAttribute(allowMismatchAttr); + if (allowedAttr == null) return false; + else if (allowedAttr === "") return true; + else { + const list = allowedAttr.split(","); + if (allowedType === 0 && list.includes("children")) return true; + return list.includes(MismatchTypeString[allowedType]); + } +} +var requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); +var cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); +var hydrateOnIdle = (timeout = 1e4) => (hydrate) => { + const id = requestIdleCallback(hydrate, { timeout }); + return () => cancelIdleCallback(id); +}; +function elementIsVisibleInViewport(el) { + const { top, left, bottom, right } = el.getBoundingClientRect(); + const { innerHeight, innerWidth } = window; + return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth); +} +var hydrateOnVisible = (opts) => (hydrate, forEach) => { + const ob = new IntersectionObserver((entries) => { + for (const e of entries) { + if (!e.isIntersecting) continue; + ob.disconnect(); + hydrate(); + break; + } + }, opts); + forEach((el) => { + if (!(el instanceof Element)) return; + if (elementIsVisibleInViewport(el)) { + hydrate(); + ob.disconnect(); + return false; + } + ob.observe(el); + }); + return () => ob.disconnect(); +}; +var hydrateOnMediaQuery = (query) => (hydrate) => { + if (query) { + const mql = matchMedia(query); + if (mql.matches) hydrate(); + else { + mql.addEventListener("change", hydrate, { once: true }); + return () => mql.removeEventListener("change", hydrate); + } + } +}; +var hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => { + if (isString(interactions)) interactions = [interactions]; + let hasHydrated = false; + const doHydrate = (e) => { + if (!hasHydrated) { + hasHydrated = true; + teardown(); + hydrate(); + e.target.dispatchEvent(new e.constructor(e.type, e)); + } + }; + const teardown = () => { + forEach((el) => { + for (const i of interactions) el.removeEventListener(i, doHydrate); + }); + }; + forEach((el) => { + for (const i of interactions) el.addEventListener(i, doHydrate, { once: true }); + }); + return teardown; +}; +function forEachElement(node, cb) { + if (isComment(node) && node.data === "[") { + let depth = 1; + let next = node.nextSibling; + while (next) { + if (next.nodeType === 1) { + if (cb(next) === false) break; + } else if (isComment(next)) { + if (next.data === "]") { + if (--depth === 0) break; + } else if (next.data === "[") depth++; + } + next = next.nextSibling; + } + } else cb(node); +} +var isAsyncWrapper = (i) => !!i.type.__asyncLoader; +/* @__NO_SIDE_EFFECTS__ */ +function defineAsyncComponent(source) { + if (isFunction(source)) source = { loader: source }; + const { loader, loadingComponent, errorComponent, delay = 200, hydrate: hydrateStrategy, timeout, suspensible = true, onError: userOnError } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + const load = () => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) return new Promise((resolve, reject) => { + const userRetry = () => resolve(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + else throw err; + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) return pendingRequest; + if (!comp) warn$1(`Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`); + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) comp = comp.default; + if (comp && !isObject(comp) && !isFunction(comp)) throw new Error(`Invalid async component load result: ${comp}`); + resolvedComp = comp; + return comp; + })); + }; + return /* @__PURE__ */ defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + __asyncHydrate(el, instance, hydrate) { + let patched = false; + (instance.bu || (instance.bu = [])).push(() => patched = true); + const performHydrate = () => { + if (patched) { + warn$1(`Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`); + return; + } + hydrate(); + }; + const doHydrate = hydrateStrategy ? () => { + const teardown = hydrateStrategy(performHydrate, (cb) => forEachElement(el, cb)); + if (teardown) (instance.bum || (instance.bum = [])).push(teardown); + } : performHydrate; + if (resolvedComp) doHydrate(); + else load().then(() => !instance.isUnmounted && doHydrate()); + }, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + markAsyncBoundary(instance); + if (resolvedComp) return () => createInnerComp(resolvedComp, instance); + const onError = (err) => { + pendingRequest = null; + handleError(err, instance, 13, !errorComponent); + }; + if (suspensible && instance.suspense || isInSSRComponentSetup) return load().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { error: err }) : null; + }); + const loaded = /* @__PURE__ */ ref(false); + const error = /* @__PURE__ */ ref(); + const delayed = /* @__PURE__ */ ref(!!delay); + if (delay) setTimeout(() => { + delayed.value = false; + }, delay); + if (timeout != null) setTimeout(() => { + if (!loaded.value && !error.value) { + const err = /* @__PURE__ */ new Error(`Async component timed out after ${timeout}ms.`); + onError(err); + error.value = err; + } + }, timeout); + load().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) instance.parent.update(); + }).catch((err) => { + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) return createInnerComp(resolvedComp, instance); + else if (error.value && errorComponent) return createVNode(errorComponent, { error: error.value }); + else if (loadingComponent && !delayed.value) return createInnerComp(loadingComponent, instance); + }; + } + }); +} +function createInnerComp(comp, parent) { + const { ref: ref2, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref2; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} +var isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +var KeepAlive = { + name: `KeepAlive`, + __isKeepAlive: true, + props: { + include: [ + String, + RegExp, + Array + ], + exclude: [ + String, + RegExp, + Array + ], + max: [String, Number] + }, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const sharedContext = instance.ctx; + if (!sharedContext.renderer) return () => { + const children = slots.default && slots.default(); + return children && children.length === 1 ? children[0] : children; + }; + const cache = /* @__PURE__ */ new Map(); + const keys = /* @__PURE__ */ new Set(); + let current = null; + instance.__v_cache = cache; + const parentSuspense = instance.suspense; + const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext; + const storageContainer = createElement("div"); + sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { + const instance2 = vnode.component; + move(vnode, container, anchor, 0, parentSuspense); + patch(instance2.vnode, vnode, container, anchor, instance2, parentSuspense, namespace, vnode.slotScopeIds, optimized); + queuePostRenderEffect(() => { + instance2.isDeactivated = false; + if (instance2.a) invokeArrayFns(instance2.a); + const vnodeHook = vnode.props && vnode.props.onVnodeMounted; + if (vnodeHook) invokeVNodeHook(vnodeHook, instance2.parent, vnode); + }, parentSuspense); + devtoolsComponentAdded(instance2); + }; + sharedContext.deactivate = (vnode) => { + const instance2 = vnode.component; + invalidateMount(instance2.m); + invalidateMount(instance2.a); + move(vnode, storageContainer, null, 1, parentSuspense); + queuePostRenderEffect(() => { + if (instance2.da) invokeArrayFns(instance2.da); + const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; + if (vnodeHook) invokeVNodeHook(vnodeHook, instance2.parent, vnode); + instance2.isDeactivated = true; + }, parentSuspense); + devtoolsComponentAdded(instance2); + instance2.__keepAliveStorageContainer = storageContainer; + }; + function unmount(vnode) { + resetShapeFlag(vnode); + _unmount(vnode, instance, parentSuspense, true); + } + function pruneCache(filter) { + cache.forEach((vnode, key) => { + const name = getComponentName(isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type); + if (name && !filter(name)) pruneCacheEntry(key); + }); + } + function pruneCacheEntry(key) { + const cached = cache.get(key); + if (cached && (!current || !isSameVNodeType(cached, current))) unmount(cached); + else if (current) resetShapeFlag(current); + cache.delete(key); + keys.delete(key); + } + watch(() => [props.include, props.exclude], ([include, exclude]) => { + include && pruneCache((name) => matches(include, name)); + exclude && pruneCache((name) => !matches(exclude, name)); + }, { + flush: "post", + deep: true + }); + let pendingCacheKey = null; + const cacheSubtree = () => { + if (pendingCacheKey != null) if (isSuspense(instance.subTree.type)) queuePostRenderEffect(() => { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + }, instance.subTree.suspense); + else cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + }; + onMounted(cacheSubtree); + onUpdated(cacheSubtree); + onBeforeUnmount(() => { + cache.forEach((cached) => { + const { subTree, suspense } = instance; + const vnode = getInnerChild(subTree); + if (cached.type === vnode.type && cached.key === vnode.key) { + resetShapeFlag(vnode); + const da = vnode.component.da; + da && queuePostRenderEffect(da, suspense); + return; + } + unmount(cached); + }); + }); + return () => { + pendingCacheKey = null; + if (!slots.default) return current = null; + const children = slots.default(); + const rawVNode = children[0]; + if (children.length > 1) { + warn$1(`KeepAlive should contain exactly one component child.`); + current = null; + return children; + } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { + current = null; + return rawVNode; + } + let vnode = getInnerChild(rawVNode); + if (vnode.type === Comment) { + current = null; + return vnode; + } + const comp = vnode.type; + const name = getComponentName(isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp); + const { include, exclude, max } = props; + if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { + vnode.shapeFlag &= -257; + current = vnode; + return rawVNode; + } + const key = vnode.key == null ? comp : vnode.key; + const cachedVNode = cache.get(key); + if (vnode.el) { + vnode = cloneVNode(vnode); + if (rawVNode.shapeFlag & 128) rawVNode.ssContent = vnode; + } + pendingCacheKey = key; + if (cachedVNode) { + vnode.el = cachedVNode.el; + vnode.component = cachedVNode.component; + if (vnode.transition) setTransitionHooks(vnode, vnode.transition); + vnode.shapeFlag |= 512; + keys.delete(key); + keys.add(key); + } else { + keys.add(key); + if (max && keys.size > parseInt(max, 10)) pruneCacheEntry(keys.values().next().value); + } + vnode.shapeFlag |= 256; + current = vnode; + return isSuspense(rawVNode.type) ? rawVNode : vnode; + }; + } +}; +function matches(pattern, name) { + if (isArray(pattern)) return pattern.some((p) => matches(p, name)); + else if (isString(pattern)) return pattern.split(",").includes(name); + else if (isRegExp(pattern)) { + pattern.lastIndex = 0; + return pattern.test(name); + } + return false; +} +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) return; + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) injectToKeepAliveRoot(wrappedHook, type, target, current); + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook(type, hook, keepAliveRoot, true); + onUnmounted(() => { + remove(keepAliveRoot[type], injected); + }, target); +} +function resetShapeFlag(vnode) { + vnode.shapeFlag &= -257; + vnode.shapeFlag &= -513; +} +function getInnerChild(vnode) { + return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; +} +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + pauseTracking(); + const reset = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + resetTracking(); + return res; + }); + if (prepend) hooks.unshift(wrappedHook); + else hooks.push(wrappedHook); + return wrappedHook; + } else warn$1(`${toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, ""))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`); +} +var createHook = (lifecycle) => (hook, target = currentInstance) => { + if (!isInSSRComponentSetup || lifecycle === "sp") injectHook(lifecycle, (...args) => hook(...args), target); +}; +var onBeforeMount = createHook("bm"); +var onMounted = createHook("m"); +var onBeforeUpdate = createHook("bu"); +var onUpdated = createHook("u"); +var onBeforeUnmount = createHook("bum"); +var onUnmounted = createHook("um"); +var onServerPrefetch = createHook("sp"); +var onRenderTriggered = createHook("rtg"); +var onRenderTracked = createHook("rtc"); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +var COMPONENTS = "components"; +var DIRECTIVES = "directives"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +var NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (isString(component)) return resolveAsset(COMPONENTS, component, false) || component; + else return component || NULL_DYNAMIC_COMPONENT; +} +function resolveDirective(name) { + return resolveAsset(DIRECTIVES, name); +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName(Component, false); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) return Component; + } + const res = resolve(instance[type] || Component[type], name) || resolve(instance.appContext[type], name); + if (!res && maybeSelfReference) return Component; + if (warnMissing && !res) { + const extra = type === COMPONENTS ? ` +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; + warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); + } + return res; + } else warn$1(`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`); +} +function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); +} +function renderList(source, renderItem, cache, index) { + let ret; + const cached = cache && cache[index]; + const sourceIsArray = isArray(source); + if (sourceIsArray || isString(source)) { + const sourceIsReactiveArray = sourceIsArray && /* @__PURE__ */ isReactive(source); + let needsWrap = false; + let isReadonlySource = false; + if (sourceIsReactiveArray) { + needsWrap = !/* @__PURE__ */ isShallow(source); + isReadonlySource = /* @__PURE__ */ isReadonly(source); + source = shallowReadArray(source); + } + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) ret[i] = renderItem(needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i], i, void 0, cached && cached[i]); + } else if (typeof source === "number") if (!Number.isInteger(source) || source < 0) { + warn$1(`The v-for range expects a positive integer value but got ${source}.`); + ret = []; + } else { + ret = new Array(source); + for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); + } + else if (isObject(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i])); + else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached && cached[i]); + } + } + else ret = []; + if (cache) cache[index] = ret; + return ret; +} +function createSlots(slots, dynamicSlots) { + for (let i = 0; i < dynamicSlots.length; i++) { + const slot = dynamicSlots[i]; + if (isArray(slot)) for (let j = 0; j < slot.length; j++) slots[slot[j].name] = slot[j].fn; + else if (slot) slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) res.key = slot.key; + return res; + } : slot.fn; + } + return slots; +} +function renderSlot(slots, name, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { + const hasProps = Object.keys(props).length > 0; + if (name !== "default") props.name = name; + return openBlock(), createBlock(Fragment, null, [createVNode("slot", props, fallback && fallback())], hasProps ? -2 : 64); + } + let slot = slots[name]; + if (slot && slot.length > 1) { + warn$1(`SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`); + slot = () => []; + } + if (slot && slot._c) slot._d = false; + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const slotKey = props.key || validSlotContent && validSlotContent.key; + const rendered = createBlock(Fragment, { key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + (!validSlotContent && fallback ? "_fb" : "") }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 ? 64 : -2); + if (!noSlotted && rendered.scopeId) rendered.slotScopeIds = [rendered.scopeId + "-s"]; + if (slot && slot._c) slot._d = true; + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) return true; + if (child.type === Comment) return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) return false; + return true; + }) ? vnodes : null; +} +function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + if (!isObject(obj)) { + warn$1(`v-on with no argument expects an object value.`); + return ret; + } + for (const key in obj) ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; + return ret; +} +var getPublicInstance = (i) => { + if (!i) return null; + if (isStatefulComponent(i)) return getComponentPublicInstance(i); + return getPublicInstance(i.parent); +}; +var publicPropertiesMap = /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => /* @__PURE__ */ shallowReadonly(i.props), + $attrs: (i) => /* @__PURE__ */ shallowReadonly(i.attrs), + $slots: (i) => /* @__PURE__ */ shallowReadonly(i.slots), + $refs: (i) => /* @__PURE__ */ shallowReadonly(i.refs), + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $host: (i) => i.ce, + $emit: (i) => i.emit, + $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type, + $forceUpdate: (i) => i.f || (i.f = () => { + queueJob(i.update); + }), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP +}); +var isReservedPrefix = (key) => key === "_" || key === "$"; +var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); +var PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + if (key === "__v_skip") return true; + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key === "__isVue") return true; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) switch (n) { + case 1: return setupState[key]; + case 2: return data[key]; + case 4: return ctx[key]; + case 3: return props[key]; + } + else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2; + return data[key]; + } else if (hasOwn(props, key)) { + accessCache[key] = 3; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) accessCache[key] = 0; + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance.attrs, "get", ""); + markAttrsAccessed(); + } else if (key === "$slots") track(instance, "get", key); + return publicGetter(instance); + } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) return cssModule; + else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) return globalProperties[key]; + else if (currentRenderingInstance && (!isString(key) || key.indexOf("__v") !== 0)) { + if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`); + else if (instance === currentRenderingInstance) warn$1(`Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`); + } + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { + warn$1(`Cannot mutate \ No newline at end of file diff --git a/src/.vuepress/.temp/prismjs/config.js b/src/.vuepress/.temp/prismjs/config.js new file mode 100644 index 000000000..8fd5cf567 --- /dev/null +++ b/src/.vuepress/.temp/prismjs/config.js @@ -0,0 +1,5 @@ +import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/highlighter-helper/dist/client/styles/base.css" +import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-prismjs/dist/client/styles/nord.css" +import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/highlighter-helper/dist/client/styles/line-numbers.css" +import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/highlighter-helper/dist/client/styles/notation-highlight.css" +import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/highlighter-helper/dist/client/styles/code-block-title.css" \ No newline at end of file diff --git a/src/.vuepress/.temp/redirect/map.js b/src/.vuepress/.temp/redirect/map.js new file mode 100644 index 000000000..def1c5b9d --- /dev/null +++ b/src/.vuepress/.temp/redirect/map.js @@ -0,0 +1,42 @@ +export const redirectMap = { + "/basics/environment.html": "/stdlib/builtins.html", + "/basics/exports-and-imports.html": "/exports-and-imports.html", + "/basics/loader.html": "/loader.html", + "/basics/types.html": "/types.html", + "/details.html": "/memory.html", + "/details/compiler.html": "/compiler.html", + "/details/debugging.html": "/debugging.html", + "/detauls/development.html": "/development.html", + "/details/interoperability.html": "/interoperability.html", + "/details/memory.html": "/memory.html", + "/details/peculiarities.html": "/peculiarities.html", + "/details/portability.html": "/portability.html", + "/details/runtime.html": "/garbage-collection.html", + "/details/transforms.html": "/transforms.html", + "/standard-library/array.html": "/stdlib/array.html", + "/standard-library/arraybuffer.html": "/stdlib/arraybuffer.html", + "/standard-library/dataview.html": "/stdlib/dataview.html", + "/standard-library/date.html": "/stdlib/date.html", + "/standard-library/error.html": "/stdlib/error.html", + "/standard-library/globals.html": "/stdlib/globals.html", + "/standard-library/map.html": "/stdlib/map.html", + "/standard-library/math.html": "/stdlib/math.html", + "/standard-library/number.html": "/stdlib/number.html", + "/standard-library/set.html": "/stdlib/set.html", + "/standard-library/string.html": "/stdlib/string.html", + "/standard-library/typedarray.html": "/stdlib/typedarray.html", + "/extended-library/staticarray.html": "/stdlib/staticarray.html", + "/faq.html": "/frequently-asked-questions.html", + "/environment.html": "/stdlib/builtins.html", + "/basics.html": "/concepts.html", + "/exports-and-imports.html": "/concepts.html", + "/quick-start.html": "/getting-started.html", + "/loader.html": "https://github.com/AssemblyScript/assemblyscript/tree/main/lib/loader.html", + "/debugging.html": "/compiler.html", + "/transforms.html": "/compiler.html", + "/portability.html": "/compiler.html", + "/garbage-collection.html": "/runtime.html", + "/memory.html": "/runtime.html", + "/interoperability.html": "/runtime.html", + "/builtins.html": "/globals.html" +}; diff --git a/src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js b/src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js new file mode 100644 index 000000000..b507e920e --- /dev/null +++ b/src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js @@ -0,0 +1,27 @@ +import { defineAsyncComponent } from 'vue' + +export default { + enhance: ({ app }) => { + app.component("Ch", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Ch.vue"))) + + app.component("Community", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Community.vue"))) + + app.component("Contributors", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Contributors.vue"))) + + app.component("Fi", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Fi.vue"))) + + app.component("No", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/No.vue"))) + + app.component("Sa", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Sa.vue"))) + + app.component("Sponsors", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Sponsors.vue"))) + + app.component("Testimonials", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Testimonials.vue"))) + + app.component("Ws", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Ws.vue"))) + + app.component("Wt", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Wt.vue"))) + + app.component("Xx", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Xx.vue"))) + }, +} diff --git a/src/.vuepress/.temp/styles/index.scss b/src/.vuepress/.temp/styles/index.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/.vuepress/.temp/styles/palette.scss b/src/.vuepress/.temp/styles/palette.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/.vuepress/config.js b/src/.vuepress/config.js deleted file mode 100644 index b22a5d690..000000000 --- a/src/.vuepress/config.js +++ /dev/null @@ -1,93 +0,0 @@ -module.exports = { - base: '/', - dest: './dist', - locales: { - '/': { - lang: 'en-US', - title: 'The AssemblyScript Book', - description: 'A TypeScript-like language for WebAssembly', - } - }, - head: [ - ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "/favicons/apple-touch-icon.png" }], - ['link', { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicons/favicon-32x32.png" }], - ['link', { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicons/favicon-16x16.png" }], - ['link', { rel: "manifest", href: "/site.webmanifest" }], - ['link', { rel: "mask-icon", href: "/favicons/safari-pinned-tab.svg", color: "#007acc" }], - ['link', { rel: "shortcut icon", href: "/favicon.ico" }], - ['link', { rel: "preconnect", href: "https://cdn.jsdelivr.net" }], - ['meta', { name: "msapplication-TileColor", content: "#ffffff" }], - ['meta', { name: "msapplication-config", content: "/browserconfig.xml" }], - ['meta', { name: "theme-color", content: "#ffffff" }], - ['meta', { name: "viewport", content: "width=device-width, initial-scale=1" }], - ], - theme: '.vuepress/theme', - themeConfig: { - logo: '/images/icon.svg', - nav: require('./nav'), - sidebar: require('./sidebar'), - sidebarDepth: 1, - displayAllHeaders: true, - docsRepo: 'AssemblyScript/website', - docsDir: 'src', - docsBranch: 'main', - editLinks: true, - editLinkText: 'Edit this page on GitHub', - algolia: { - apiKey: 'ffb8769cdb0f8cfa20d6a307385cb7ba', - indexName: 'assemblyscript' - } - }, - evergreen: true, - extraWatchFiles: [ - '.vuepress/nav.js', - '.vuepress/sidebar.js', - '**/*.md', - '**/*.vue' - ], - plugins: [ - '@vuepress/plugin-html-redirect', - 'vuepress-plugin-serve', - ['vuepress-plugin-sitemap', { - hostname: 'https://www.assemblyscript.org', - exclude: ['/404.html'] - }] - ], - // chainWebpack(config, isServer) { - // if (isServer) return - // config - // .entry('custom') - // .add('./src/.vuepress/custom.js') - // }, - markdown: { - extendMarkdown - } -} - -function extendMarkdown(md) { - const prism = require('prismjs') - - // Extend TypeScript grammar - - require('prismjs/components/prism-typescript') - prism.languages.typescript.builtin = new RegExp('\\b(?:' + [ - - // Common types - 'string', 'number', 'boolean', 'symbol', 'void', - - // Common names - 'ArrayBuffer', 'Array', 'Int8Array', 'Int16Array', 'Int32Array', 'Uint8Array', 'Uint8ClampedArray', - 'Uint16Array', 'Uint32Array', 'Float32Array', 'Float64Array', 'DataView', 'String', 'Map', 'Set', - 'Promise', 'Math', 'Number', 'Boolean', 'Error', 'Date', - - // AssemblyScript types - 'i8', 'i16', 'i32', 'i64', 'isize', 'u8', 'u16', 'u32', 'u64', 'usize', 'bool', 'f32', 'f64', 'v128', - 'externref', 'auto', - - // AssemblyScript names - 'heap', 'memory', 'table', 'atomic', 'i8x16', 'i16x8', 'i32x4', 'i64x2', 'f32x4', 'f64x2', 'v32x2', - 'Int64Array', 'Uint64Array', 'Mathf', 'Bool', 'I8', 'I16', 'I32', 'I64', 'U8', 'U16', 'U32', 'U64', - 'F32', 'F64', 'idof', 'sizeof', 'alignof', 'offsetof', 'nameof' - - ].join('|') + ')\\b') -} diff --git a/src/.vuepress/config.ts b/src/.vuepress/config.ts new file mode 100644 index 000000000..ebced9e6d --- /dev/null +++ b/src/.vuepress/config.ts @@ -0,0 +1,113 @@ +import { readFileSync } from 'node:fs' +import { createRequire } from 'node:module' +import { resolve } from 'node:path' +import { fileURLToPath } from 'node:url' +import { viteBundler } from '@vuepress/bundler-vite' +import { docsearchPlugin } from '@vuepress/plugin-docsearch' +import { redirectPlugin } from '@vuepress/plugin-redirect' +import { registerComponentsPlugin } from '@vuepress/plugin-register-components' +import { defaultTheme } from '@vuepress/theme-default' +import { defineUserConfig } from 'vuepress' +import navbar from './nav' +import sidebar from './sidebar' + +const __dirname = fileURLToPath(new URL('.', import.meta.url)) +const redirectsFile = new URL('./redirects', import.meta.url) +const require = createRequire(import.meta.url) +const prism = require('prismjs') + +require('prismjs/components/prism-typescript') + +export default defineUserConfig({ + base: '/', + dest: './dist', + locales: { + '/': { + lang: 'en-US', + title: 'The AssemblyScript Book', + description: 'A TypeScript-like language for WebAssembly', + }, + }, + head: [ + ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "/favicons/apple-touch-icon.png" }], + ['link', { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicons/favicon-32x32.png" }], + ['link', { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicons/favicon-16x16.png" }], + ['link', { rel: "manifest", href: "/site.webmanifest" }], + ['link', { rel: "mask-icon", href: "/favicons/safari-pinned-tab.svg", color: "#007acc" }], + ['link', { rel: "shortcut icon", href: "/favicon.ico" }], + ['link', { rel: "preconnect", href: "https://cdn.jsdelivr.net" }], + ['meta', { name: "msapplication-TileColor", content: "#ffffff" }], + ['meta', { name: "msapplication-config", content: "/browserconfig.xml" }], + ['meta', { name: "theme-color", content: "#ffffff" }], + ['meta', { name: "viewport", content: "width=device-width, initial-scale=1" }], + ], + bundler: viteBundler(), + theme: defaultTheme({ + hostname: 'https://www.assemblyscript.org', + logo: '/images/icon.svg', + navbar, + sidebar, + sidebarDepth: 1, + docsRepo: 'AssemblyScript/website', + docsDir: 'src', + docsBranch: 'main', + editLinkText: 'Edit this page on GitHub', + themePlugins: { + sitemap: true, + }, + }), + plugins: [ + redirectPlugin({ + config: loadRedirects(), + }), + registerComponentsPlugin({ + componentsDir: resolve(__dirname, './components'), + }), + docsearchPlugin({ + // TODO: Replace with the real Algolia DocSearch app ID before enabling search in production. + appId: 'TODO_DOCSEARCH_APP_ID', + apiKey: 'ffb8769cdb0f8cfa20d6a307385cb7ba', + indexName: 'assemblyscript', + }), + ], + extendsMarkdown(md) { + prism.languages.typescript.builtin = new RegExp( + '\\b(?:' + [ + // Common types + 'string', 'number', 'boolean', 'symbol', 'void', + + // Common names + 'ArrayBuffer', 'Array', 'Int8Array', 'Int16Array', 'Int32Array', 'Uint8Array', 'Uint8ClampedArray', + 'Uint16Array', 'Uint32Array', 'Float32Array', 'Float64Array', 'DataView', 'String', 'Map', 'Set', + 'Promise', 'Math', 'Number', 'Boolean', 'Error', 'Date', + + // AssemblyScript types + 'i8', 'i16', 'i32', 'i64', 'isize', 'u8', 'u16', 'u32', 'u64', 'usize', 'bool', 'f32', 'f64', 'v128', + 'externref', 'auto', + + // AssemblyScript names + 'heap', 'memory', 'table', 'atomic', 'i8x16', 'i16x8', 'i32x4', 'i64x2', 'f32x4', 'f64x2', 'v32x2', + 'Int64Array', 'Uint64Array', 'Mathf', 'Bool', 'I8', 'I16', 'I32', 'I64', 'U8', 'U16', 'U32', 'U64', + 'F32', 'F64', 'idof', 'sizeof', 'alignof', 'offsetof', 'nameof', + ].join('|') + ')\\b', + ) + }, +}) + +function loadRedirects(): Record { + return Object.fromEntries( + readFileSync(redirectsFile, 'utf8') + .split(/\r?\n/u) + .map((line) => line.trim()) + .filter((line) => line.length > 0) + .map((line) => { + const separatorIndex = line.search(/\s/u) + + if (separatorIndex === -1) { + throw new Error(`Invalid redirect entry: ${line}`) + } + + return [line.slice(0, separatorIndex), line.slice(separatorIndex).trim()] + }), + ) +} diff --git a/src/.vuepress/nav.js b/src/.vuepress/nav.ts similarity index 87% rename from src/.vuepress/nav.js rename to src/.vuepress/nav.ts index 7312f8d86..1eb964866 100644 --- a/src/.vuepress/nav.js +++ b/src/.vuepress/nav.ts @@ -1,11 +1,13 @@ -module.exports = [ +import type { NavbarOptions } from '@vuepress/theme-default' + +export default [ { text: 'Documentation', link: '/introduction.md' }, { text: 'Examples', - items: [ + children: [ { text: 'Overview', link: '/examples' @@ -18,7 +20,7 @@ module.exports = [ }, { text: 'Community', - items: [ + children: [ { text: 'Contributing guidelines', link: 'https://github.com/AssemblyScript/assemblyscript/blob/main/CONTRIBUTING.md' @@ -29,7 +31,7 @@ module.exports = [ }, { text: 'Social', - items: [ + children: [ { text: 'Twitter', link: 'https://twitter.com/AssemblyScript' @@ -42,7 +44,7 @@ module.exports = [ }, { text: 'Q&A', - items: [ + children: [ { text: 'Stack Overflow', link: 'https://stackoverflow.com/questions/tagged/assemblyscript' @@ -59,4 +61,4 @@ module.exports = [ text: 'GitHub', link: 'https://github.com/AssemblyScript' }, -] +] satisfies NavbarOptions diff --git a/src/.vuepress/sidebar.js b/src/.vuepress/sidebar.js deleted file mode 100644 index 624a86523..000000000 --- a/src/.vuepress/sidebar.js +++ /dev/null @@ -1,115 +0,0 @@ -module.exports = { - // '/stdlib/': getStdlibSidebar(), - '/examples': getExamplesSidebar(), - '/built-with-assemblyscript': getExamplesSidebar(), - '/': getDefaultSidebar() -} - -function getDefaultSidebar() { - return [ - { - title: "Introduction", - path: '/introduction' - }, - { - title: "Getting started", - path: '/getting-started' - }, - { - title: "Using the compiler", - path: '/compiler' - }, - { - title: 'Using the language', - collapsable: false, - sidebarDepth: 0, - children: [ - { - title: "Concepts", - path: '/concepts' - }, - { - title: "Types", - path: '/types' - }, - { - title: "Standard library", - collapsable: true, - sidebarDepth: 0, - children: [ - '/stdlib/globals', - '/stdlib/array', - '/stdlib/arraybuffer', - '/stdlib/console', - '/stdlib/crypto', - '/stdlib/dataview', - '/stdlib/date', - '/stdlib/error', - '/stdlib/heap', - '/stdlib/math', - '/stdlib/map', - '/stdlib/number', - '/stdlib/process', - '/stdlib/set', - '/stdlib/staticarray', - '/stdlib/string', - '/stdlib/symbol', - '/stdlib/typedarray' - ] - }, - { - title: 'Implementation status', - path: '/status' - } - ] - }, - { - title: "Using the runtime", - path: "/runtime" - } - ] -} - -function getExamplesSidebar() { - return [ - { - title: 'Examples', - collapsable: false, - sidebarDepth: 0, - children: [ - ['/examples', 'Overview'] - ] - }, - { - title: 'Starter examples', - collapsable: false, - sidebarDepth: 0, - children: [ - '/examples/mandelbrot', - '/examples/interference', - '/examples/game-of-life', - '/examples/snippets', - ] - }, - { - title: 'Advanced examples', - collapsable: false, - sidebarDepth: 0, - children: [ - '/examples/arrays', - ['https://github.com/AssemblyScript/examples/tree/main/i64', 'I64 as a (node) library'], - ['https://github.com/AssemblyScript/examples/tree/main/sdk', 'Using the browser SDK'], - ['https://github.com/AssemblyScript/examples/tree/main/transform', 'Using compiler transforms'] - ] - }, - { - title: 'Additional resources', - collapsable: false, - sidebarDepth: 0, - children: [ - ['https://wasmbyexample.dev/', 'Wasm By Example'], - '/built-with-assemblyscript' - ] - } - ] -} diff --git a/src/.vuepress/sidebar.ts b/src/.vuepress/sidebar.ts new file mode 100644 index 000000000..0546e47cf --- /dev/null +++ b/src/.vuepress/sidebar.ts @@ -0,0 +1,135 @@ +import type { + SidebarArrayOptions, + SidebarObjectOptions, +} from '@vuepress/theme-default' + +export default { + // '/stdlib/': getStdlibSidebar(), + '/examples': getExamplesSidebar(), + '/built-with-assemblyscript': getExamplesSidebar(), + '/': getDefaultSidebar() +} satisfies SidebarObjectOptions + +function getDefaultSidebar(): SidebarArrayOptions { + return [ + { + text: "Introduction", + link: '/introduction' + }, + { + text: "Getting started", + link: '/getting-started' + }, + { + text: "Using the compiler", + link: '/compiler' + }, + { + text: 'Using the language', + collapsible: false, + // sidebarDepth: 0, + children: [ + { + text: "Concepts", + link: '/concepts' + }, + { + text: "Types", + link: '/types' + }, + { + text: "Standard library", + collapsible: true, + // sidebarDepth: 0, + children: [ + '/stdlib/globals', + '/stdlib/array', + '/stdlib/arraybuffer', + '/stdlib/console', + '/stdlib/crypto', + '/stdlib/dataview', + '/stdlib/date', + '/stdlib/error', + '/stdlib/heap', + '/stdlib/math', + '/stdlib/map', + '/stdlib/number', + '/stdlib/process', + '/stdlib/set', + '/stdlib/staticarray', + '/stdlib/string', + '/stdlib/symbol', + '/stdlib/typedarray' + ] + }, + { + text: 'Implementation status', + link: '/status' + } + ] + }, + { + text: "Using the runtime", + link: "/runtime" + } + ] satisfies SidebarArrayOptions +} + +function getExamplesSidebar(): SidebarArrayOptions { + return [ + { + text: 'Examples', + collapsible: false, + // sidebarDepth: 0, + children: [ + { + text: 'Overview', + link: '/examples' + } + ] + }, + { + text: 'Starter examples', + collapsible: false, + // sidebarDepth: 0, + children: [ + '/examples/mandelbrot', + '/examples/interference', + '/examples/game-of-life', + '/examples/snippets', + ] + }, + { + text: 'Advanced examples', + collapsible: false, + // sidebarDepth: 0, + children: [ + '/examples/arrays', + { + text: 'I64 as a (node) library', + link: 'https://github.com/AssemblyScript/examples/tree/main/i64' + }, + { + text: 'Using the browser SDK', + link: 'https://github.com/AssemblyScript/examples/tree/main/sdk' + }, + { + text: 'Using compiler transforms', + link: 'https://github.com/AssemblyScript/examples/tree/main/transform' + } + ] + }, + { + text: 'Additional resources', + collapsible: false, + // sidebarDepth: 0, + children: [ + { + text: 'Wasm By Example', + link: 'https://wasmbyexample.dev/' + }, + '/built-with-assemblyscript' + ] + } + ] satisfies SidebarArrayOptions +} diff --git a/src/.vuepress/theme/index.js b/src/.vuepress/theme/index.js deleted file mode 100644 index b91b8a576..000000000 --- a/src/.vuepress/theme/index.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extend: '@vuepress/theme-default' -} diff --git a/src/.vuepress/theme/index.ts b/src/.vuepress/theme/index.ts new file mode 100644 index 000000000..f9ecfe2e1 --- /dev/null +++ b/src/.vuepress/theme/index.ts @@ -0,0 +1,3 @@ +export default { + extends: '@vuepress/theme-default' +} diff --git a/src/examples.md b/src/examples.md index 38ec3defe..07047cf4f 100644 --- a/src/examples.md +++ b/src/examples.md @@ -17,7 +17,7 @@ Renders the Mandelbrot set to a canvas using 2048 discrete color values computed -[![Preview image](images/mandelbrot-preview.jpg)](./examples/mandelbrot.md) +[![Preview image](/images/mandelbrot-preview.jpg)](./examples/mandelbrot.md) ### [Interference](./examples/interference.md) @@ -25,7 +25,7 @@ Animates and renders an interference pattern to a canvas while keeping the image -[![Preview image](images/interference-preview.jpg)](./examples/interference.md) +[![Preview image](/images/interference-preview.jpg)](./examples/interference.md) ### [Game of Life](./examples/game-of-life.md) @@ -33,7 +33,7 @@ Continuously updates a cellular automaton and visualizes its state on a canvas a -[![Preview image](images/game-of-life-preview.jpg)](./examples/game-of-life.md) +[![Preview image](/images/game-of-life-preview.jpg)](./examples/game-of-life.md) ## Advanced examples diff --git a/src/examples/mandelbrot.md b/src/examples/mandelbrot.md index a706f5154..adb8cecb5 100644 --- a/src/examples/mandelbrot.md +++ b/src/examples/mandelbrot.md @@ -144,7 +144,7 @@ function computeColors() { ``` ::: tip NOTE -The example makes a couple assumptions. For instance, using the entire memory of the program as the image buffer as in this example is only possible because we know that no interferring static memory segments will be created, which is achieved by +The example makes a couple assumptions. For instance, using the entire memory of the program as the image buffer as in this example is only possible because we know that no interfering static memory segments will be created, which is achieved by * using JavaScript's Math instead of native libm (usually adds lookup tables), * not using a more sophisticated runtime (typically adds bookkeeping) and From fe8ead11fbca39f96ce3048f72c509c4eb50d2f1 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 15 Apr 2026 20:04:54 +0300 Subject: [PATCH 02/21] exclude src/.vuepress/.temp --- .gitignore | 1 + src/.vuepress/.temp/docsearch/config.js | 12 ----- src/.vuepress/.temp/git/config.js | 9 ---- src/.vuepress/.temp/internal/clientConfigs.js | 31 ----------- src/.vuepress/.temp/internal/routes.js | 54 ------------------- src/.vuepress/.temp/internal/siteData.js | 12 ----- src/.vuepress/.temp/internal/themeData.js | 14 ----- src/.vuepress/.temp/markdown-tab/config.js | 9 ---- src/.vuepress/.temp/pages/404.html.vue | 18 ------- src/.vuepress/.temp/prismjs/config.js | 5 -- src/.vuepress/.temp/redirect/map.js | 42 --------------- .../clientConfig.5cdfc054.js | 27 ---------- src/.vuepress/.temp/styles/index.scss | 0 src/.vuepress/.temp/styles/palette.scss | 0 14 files changed, 1 insertion(+), 233 deletions(-) delete mode 100644 src/.vuepress/.temp/docsearch/config.js delete mode 100644 src/.vuepress/.temp/git/config.js delete mode 100644 src/.vuepress/.temp/internal/clientConfigs.js delete mode 100644 src/.vuepress/.temp/internal/routes.js delete mode 100644 src/.vuepress/.temp/internal/siteData.js delete mode 100644 src/.vuepress/.temp/internal/themeData.js delete mode 100644 src/.vuepress/.temp/markdown-tab/config.js delete mode 100644 src/.vuepress/.temp/pages/404.html.vue delete mode 100644 src/.vuepress/.temp/prismjs/config.js delete mode 100644 src/.vuepress/.temp/redirect/map.js delete mode 100644 src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js delete mode 100644 src/.vuepress/.temp/styles/index.scss delete mode 100644 src/.vuepress/.temp/styles/palette.scss diff --git a/.gitignore b/.gitignore index 1928f6955..3af578de3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,6 @@ node_modules/ dist/ data/contributors.json data/sponsors.json +src/.vuepress/.temp/ src/.vuepress/public/contributors.svg src/.vuepress/public/sponsors.svg diff --git a/src/.vuepress/.temp/docsearch/config.js b/src/.vuepress/.temp/docsearch/config.js deleted file mode 100644 index ccd605b93..000000000 --- a/src/.vuepress/.temp/docsearch/config.js +++ /dev/null @@ -1,12 +0,0 @@ - -import { DocSearch, injectDocSearchConfig } from "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-docsearch/dist/client/index.js" -import '/Volumes/Archive/Projects/Github/website/node_modules/@docsearch/css/dist/style.css' -import '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-docsearch/dist/client/styles/docsearch.css' -import '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-docsearch/dist/client/styles/vars.css' - -export default { - enhance({ app }) { - injectDocSearchConfig(app) - app.component('SearchBox', DocSearch) - }, -} diff --git a/src/.vuepress/.temp/git/config.js b/src/.vuepress/.temp/git/config.js deleted file mode 100644 index 104b95278..000000000 --- a/src/.vuepress/.temp/git/config.js +++ /dev/null @@ -1,9 +0,0 @@ -import { GitContributors } from "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-git/dist/client/components/GitContributors.js"; -import { GitChangelog } from "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-git/dist/client/components/GitChangelog.js"; - -export default { - enhance: ({ app }) => { - app.component("GitContributors", GitContributors); - app.component("GitChangelog", GitChangelog); - }, -}; diff --git a/src/.vuepress/.temp/internal/clientConfigs.js b/src/.vuepress/.temp/internal/clientConfigs.js deleted file mode 100644 index fc88d0d39..000000000 --- a/src/.vuepress/.temp/internal/clientConfigs.js +++ /dev/null @@ -1,31 +0,0 @@ -import * as clientConfig0 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-active-header-links/dist/client/config.js' -import * as clientConfig1 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-back-to-top/dist/client/config.js' -import * as clientConfig2 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-copy-code/dist/client/config.js' -import * as clientConfig3 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-markdown-hint/dist/client/config.js' -import * as clientConfig4 from '/Volumes/Archive/Projects/Github/website/src/.vuepress/.temp/git/config.js' -import * as clientConfig5 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-medium-zoom/dist/client/config.js' -import * as clientConfig6 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-nprogress/dist/client/config.js' -import * as clientConfig7 from '/Volumes/Archive/Projects/Github/website/src/.vuepress/.temp/prismjs/config.js' -import * as clientConfig8 from '/Volumes/Archive/Projects/Github/website/src/.vuepress/.temp/markdown-tab/config.js' -import * as clientConfig9 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-theme-data/dist/client/config.js' -import * as clientConfig10 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/theme-default/dist/client/config.js' -import * as clientConfig11 from '/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-redirect/dist/client/config.js' -import * as clientConfig12 from '/Volumes/Archive/Projects/Github/website/src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js' -import * as clientConfig13 from '/Volumes/Archive/Projects/Github/website/src/.vuepress/.temp/docsearch/config.js' - -export const clientConfigs = [ - clientConfig0, - clientConfig1, - clientConfig2, - clientConfig3, - clientConfig4, - clientConfig5, - clientConfig6, - clientConfig7, - clientConfig8, - clientConfig9, - clientConfig10, - clientConfig11, - clientConfig12, - clientConfig13, -].map((m) => m.default).filter(Boolean) diff --git a/src/.vuepress/.temp/internal/routes.js b/src/.vuepress/.temp/internal/routes.js deleted file mode 100644 index c1d10b783..000000000 --- a/src/.vuepress/.temp/internal/routes.js +++ /dev/null @@ -1,54 +0,0 @@ -export const redirects = JSON.parse("{}") - -export const routes = Object.fromEntries([ - ["/built-with-assemblyscript.html", { loader: () => import(/* webpackChunkName: "built-with-assemblyscript.html" */"/Volumes/Archive/Projects/Github/website/src/built-with-assemblyscript.md"), meta: {"title":"Built with AssemblyScript"} }], - ["/compiler.html", { loader: () => import(/* webpackChunkName: "compiler.html" */"/Volumes/Archive/Projects/Github/website/src/compiler.md"), meta: {"title":"Using the compiler"} }], - ["/concepts.html", { loader: () => import(/* webpackChunkName: "concepts.html" */"/Volumes/Archive/Projects/Github/website/src/concepts.md"), meta: {"title":"Concepts"} }], - ["/editor-test.html", { loader: () => import(/* webpackChunkName: "editor-test.html" */"/Volumes/Archive/Projects/Github/website/src/editor-test.md"), meta: {"title":"Editor Test"} }], - ["/examples.html", { loader: () => import(/* webpackChunkName: "examples.html" */"/Volumes/Archive/Projects/Github/website/src/examples.md"), meta: {"title":"Examples"} }], - ["/frequently-asked-questions.html", { loader: () => import(/* webpackChunkName: "frequently-asked-questions.html" */"/Volumes/Archive/Projects/Github/website/src/frequently-asked-questions.md"), meta: {"title":"Frequently asked questions"} }], - ["/getting-started.html", { loader: () => import(/* webpackChunkName: "getting-started.html" */"/Volumes/Archive/Projects/Github/website/src/getting-started.md"), meta: {"title":"Getting started"} }], - ["/", { loader: () => import(/* webpackChunkName: "index.html" */"/Volumes/Archive/Projects/Github/website/src/index.md"), meta: {"title":""} }], - ["/introduction.html", { loader: () => import(/* webpackChunkName: "introduction.html" */"/Volumes/Archive/Projects/Github/website/src/introduction.md"), meta: {"title":"Introduction"} }], - ["/runtime.html", { loader: () => import(/* webpackChunkName: "runtime.html" */"/Volumes/Archive/Projects/Github/website/src/runtime.md"), meta: {"title":"Runtime"} }], - ["/standards-objections.html", { loader: () => import(/* webpackChunkName: "standards-objections.html" */"/Volumes/Archive/Projects/Github/website/src/standards-objections.md"), meta: {"title":"Standards objections"} }], - ["/status.html", { loader: () => import(/* webpackChunkName: "status.html" */"/Volumes/Archive/Projects/Github/website/src/status.md"), meta: {"title":"Implementation status"} }], - ["/types.html", { loader: () => import(/* webpackChunkName: "types.html" */"/Volumes/Archive/Projects/Github/website/src/types.md"), meta: {"title":"Types"} }], - ["/examples/arrays.html", { loader: () => import(/* webpackChunkName: "examples_arrays.html" */"/Volumes/Archive/Projects/Github/website/src/examples/arrays.md"), meta: {"title":"Arrays example"} }], - ["/examples/game-of-life.html", { loader: () => import(/* webpackChunkName: "examples_game-of-life.html" */"/Volumes/Archive/Projects/Github/website/src/examples/game-of-life.md"), meta: {"title":"Game of Life example"} }], - ["/examples/interference.html", { loader: () => import(/* webpackChunkName: "examples_interference.html" */"/Volumes/Archive/Projects/Github/website/src/examples/interference.md"), meta: {"title":"Interference example"} }], - ["/examples/mandelbrot.html", { loader: () => import(/* webpackChunkName: "examples_mandelbrot.html" */"/Volumes/Archive/Projects/Github/website/src/examples/mandelbrot.md"), meta: {"title":"Mandelbrot example"} }], - ["/examples/snippets.html", { loader: () => import(/* webpackChunkName: "examples_snippets.html" */"/Volumes/Archive/Projects/Github/website/src/examples/snippets.md"), meta: {"title":"Snippets"} }], - ["/stdlib/array.html", { loader: () => import(/* webpackChunkName: "stdlib_array.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/array.md"), meta: {"title":"Array"} }], - ["/stdlib/arraybuffer.html", { loader: () => import(/* webpackChunkName: "stdlib_arraybuffer.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/arraybuffer.md"), meta: {"title":"ArrayBuffer"} }], - ["/stdlib/console.html", { loader: () => import(/* webpackChunkName: "stdlib_console.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/console.md"), meta: {"title":"console"} }], - ["/stdlib/crypto.html", { loader: () => import(/* webpackChunkName: "stdlib_crypto.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/crypto.md"), meta: {"title":"crypto"} }], - ["/stdlib/dataview.html", { loader: () => import(/* webpackChunkName: "stdlib_dataview.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/dataview.md"), meta: {"title":"DataView"} }], - ["/stdlib/date.html", { loader: () => import(/* webpackChunkName: "stdlib_date.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/date.md"), meta: {"title":"Date"} }], - ["/stdlib/error.html", { loader: () => import(/* webpackChunkName: "stdlib_error.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/error.md"), meta: {"title":"Error"} }], - ["/stdlib/globals.html", { loader: () => import(/* webpackChunkName: "stdlib_globals.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/globals.md"), meta: {"title":"Globals"} }], - ["/stdlib/heap.html", { loader: () => import(/* webpackChunkName: "stdlib_heap.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/heap.md"), meta: {"title":"heap"} }], - ["/stdlib/map.html", { loader: () => import(/* webpackChunkName: "stdlib_map.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/map.md"), meta: {"title":"Map"} }], - ["/stdlib/math.html", { loader: () => import(/* webpackChunkName: "stdlib_math.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/math.md"), meta: {"title":"Math"} }], - ["/stdlib/number.html", { loader: () => import(/* webpackChunkName: "stdlib_number.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/number.md"), meta: {"title":"Number"} }], - ["/stdlib/process.html", { loader: () => import(/* webpackChunkName: "stdlib_process.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/process.md"), meta: {"title":"process"} }], - ["/stdlib/set.html", { loader: () => import(/* webpackChunkName: "stdlib_set.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/set.md"), meta: {"title":"Set"} }], - ["/stdlib/staticarray.html", { loader: () => import(/* webpackChunkName: "stdlib_staticarray.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/staticarray.md"), meta: {"title":"StaticArray"} }], - ["/stdlib/string.html", { loader: () => import(/* webpackChunkName: "stdlib_string.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/string.md"), meta: {"title":"String"} }], - ["/stdlib/symbol.html", { loader: () => import(/* webpackChunkName: "stdlib_symbol.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/symbol.md"), meta: {"title":"Symbol"} }], - ["/stdlib/typedarray.html", { loader: () => import(/* webpackChunkName: "stdlib_typedarray.html" */"/Volumes/Archive/Projects/Github/website/src/stdlib/typedarray.md"), meta: {"title":"TypedArray"} }], - ["/404.html", { loader: () => import(/* webpackChunkName: "404.html" */"/Volumes/Archive/Projects/Github/website/src/.vuepress/.temp/pages/404.html.vue"), meta: {"title":""} }], -]); - -if (import.meta.webpackHot) { - import.meta.webpackHot.accept() - __VUE_HMR_RUNTIME__.updateRoutes?.(routes) - __VUE_HMR_RUNTIME__.updateRedirects?.(redirects) -} - -if (import.meta.hot) { - import.meta.hot.accept((m) => { - __VUE_HMR_RUNTIME__.updateRoutes?.(m.routes) - __VUE_HMR_RUNTIME__.updateRedirects?.(m.redirects) - }) -} diff --git a/src/.vuepress/.temp/internal/siteData.js b/src/.vuepress/.temp/internal/siteData.js deleted file mode 100644 index 3e32c7be4..000000000 --- a/src/.vuepress/.temp/internal/siteData.js +++ /dev/null @@ -1,12 +0,0 @@ -export const siteData = JSON.parse("{\"base\":\"/\",\"lang\":\"en-US\",\"title\":\"\",\"description\":\"\",\"head\":[[\"link\",{\"rel\":\"apple-touch-icon\",\"sizes\":\"180x180\",\"href\":\"/favicons/apple-touch-icon.png\"}],[\"link\",{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"href\":\"/favicons/favicon-32x32.png\"}],[\"link\",{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"href\":\"/favicons/favicon-16x16.png\"}],[\"link\",{\"rel\":\"manifest\",\"href\":\"/site.webmanifest\"}],[\"link\",{\"rel\":\"mask-icon\",\"href\":\"/favicons/safari-pinned-tab.svg\",\"color\":\"#007acc\"}],[\"link\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.ico\"}],[\"link\",{\"rel\":\"preconnect\",\"href\":\"https://cdn.jsdelivr.net\"}],[\"meta\",{\"name\":\"msapplication-TileColor\",\"content\":\"#ffffff\"}],[\"meta\",{\"name\":\"msapplication-config\",\"content\":\"/browserconfig.xml\"}],[\"meta\",{\"name\":\"theme-color\",\"content\":\"#ffffff\"}],[\"meta\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]],\"locales\":{\"/\":{\"lang\":\"en-US\",\"title\":\"The AssemblyScript Book\",\"description\":\"A TypeScript-like language for WebAssembly\"}}}") - -if (import.meta.webpackHot) { - import.meta.webpackHot.accept() - __VUE_HMR_RUNTIME__.updateSiteData?.(siteData) -} - -if (import.meta.hot) { - import.meta.hot.accept((m) => { - __VUE_HMR_RUNTIME__.updateSiteData?.(m.siteData) - }) -} diff --git a/src/.vuepress/.temp/internal/themeData.js b/src/.vuepress/.temp/internal/themeData.js deleted file mode 100644 index 4c902ad45..000000000 --- a/src/.vuepress/.temp/internal/themeData.js +++ /dev/null @@ -1,14 +0,0 @@ -export const themeData = JSON.parse("{\"logo\":\"/images/icon.svg\",\"navbar\":[{\"text\":\"Documentation\",\"link\":\"/introduction.md\"},{\"text\":\"Examples\",\"children\":[{\"text\":\"Overview\",\"link\":\"/examples\"},{\"text\":\"Built with AssemblyScript\",\"link\":\"/built-with-assemblyscript\"}]},{\"text\":\"Community\",\"children\":[{\"text\":\"Contributing guidelines\",\"link\":\"https://github.com/AssemblyScript/assemblyscript/blob/main/CONTRIBUTING.md\"},{\"text\":\"Code of Conduct\",\"link\":\"https://github.com/AssemblyScript/assemblyscript/blob/main/CODE_OF_CONDUCT.md\"},{\"text\":\"Social\",\"children\":[{\"text\":\"Twitter\",\"link\":\"https://twitter.com/AssemblyScript\"},{\"text\":\"Discord\",\"link\":\"https://discord.gg/assemblyscript\"}]},{\"text\":\"Q&A\",\"children\":[{\"text\":\"Stack Overflow\",\"link\":\"https://stackoverflow.com/questions/tagged/assemblyscript\"}]}]},{\"text\":\"Support us\",\"link\":\"https://opencollective.com/assemblyscript\"},{\"text\":\"GitHub\",\"link\":\"https://github.com/AssemblyScript\"}],\"sidebar\":{\"/examples\":[{\"text\":\"Examples\",\"collapsible\":false,\"children\":[{\"text\":\"Overview\",\"link\":\"/examples\"}]},{\"text\":\"Starter examples\",\"collapsible\":false,\"children\":[\"/examples/mandelbrot\",\"/examples/interference\",\"/examples/game-of-life\",\"/examples/snippets\"]},{\"text\":\"Advanced examples\",\"collapsible\":false,\"children\":[\"/examples/arrays\",{\"text\":\"I64 as a (node) library\",\"link\":\"https://github.com/AssemblyScript/examples/tree/main/i64\"},{\"text\":\"Using the browser SDK\",\"link\":\"https://github.com/AssemblyScript/examples/tree/main/sdk\"},{\"text\":\"Using compiler transforms\",\"link\":\"https://github.com/AssemblyScript/examples/tree/main/transform\"}]},{\"text\":\"Additional resources\",\"collapsible\":false,\"children\":[{\"text\":\"Wasm By Example\",\"link\":\"https://wasmbyexample.dev/\"},\"/built-with-assemblyscript\"]}],\"/built-with-assemblyscript\":[{\"text\":\"Examples\",\"collapsible\":false,\"children\":[{\"text\":\"Overview\",\"link\":\"/examples\"}]},{\"text\":\"Starter examples\",\"collapsible\":false,\"children\":[\"/examples/mandelbrot\",\"/examples/interference\",\"/examples/game-of-life\",\"/examples/snippets\"]},{\"text\":\"Advanced examples\",\"collapsible\":false,\"children\":[\"/examples/arrays\",{\"text\":\"I64 as a (node) library\",\"link\":\"https://github.com/AssemblyScript/examples/tree/main/i64\"},{\"text\":\"Using the browser SDK\",\"link\":\"https://github.com/AssemblyScript/examples/tree/main/sdk\"},{\"text\":\"Using compiler transforms\",\"link\":\"https://github.com/AssemblyScript/examples/tree/main/transform\"}]},{\"text\":\"Additional resources\",\"collapsible\":false,\"children\":[{\"text\":\"Wasm By Example\",\"link\":\"https://wasmbyexample.dev/\"},\"/built-with-assemblyscript\"]}],\"/\":[{\"text\":\"Introduction\",\"link\":\"/introduction\"},{\"text\":\"Getting started\",\"link\":\"/getting-started\"},{\"text\":\"Using the compiler\",\"link\":\"/compiler\"},{\"text\":\"Using the language\",\"collapsible\":false,\"children\":[{\"text\":\"Concepts\",\"link\":\"/concepts\"},{\"text\":\"Types\",\"link\":\"/types\"},{\"text\":\"Standard library\",\"collapsible\":true,\"children\":[\"/stdlib/globals\",\"/stdlib/array\",\"/stdlib/arraybuffer\",\"/stdlib/console\",\"/stdlib/crypto\",\"/stdlib/dataview\",\"/stdlib/date\",\"/stdlib/error\",\"/stdlib/heap\",\"/stdlib/math\",\"/stdlib/map\",\"/stdlib/number\",\"/stdlib/process\",\"/stdlib/set\",\"/stdlib/staticarray\",\"/stdlib/string\",\"/stdlib/symbol\",\"/stdlib/typedarray\"]},{\"text\":\"Implementation status\",\"link\":\"/status\"}]},{\"text\":\"Using the runtime\",\"link\":\"/runtime\"}]},\"sidebarDepth\":1,\"docsRepo\":\"AssemblyScript/website\",\"docsDir\":\"src\",\"docsBranch\":\"main\",\"editLinkText\":\"Edit this page on GitHub\",\"locales\":{\"/\":{\"selectLanguageName\":\"English\"}},\"colorMode\":\"auto\",\"colorModeSwitch\":true,\"repo\":null,\"selectLanguageText\":\"Languages\",\"selectLanguageAriaLabel\":\"Select language\",\"editLink\":true,\"lastUpdated\":true,\"contributors\":true,\"contributorsText\":\"Contributors\",\"notFound\":[\"There's nothing here.\",\"How did we get here?\",\"That's a Four-Oh-Four.\",\"Looks like we've got some broken links.\"],\"backToHome\":\"Take me home\",\"openInNewWindow\":\"open in new window\",\"toggleColorMode\":\"toggle color mode\",\"toggleSidebar\":\"toggle sidebar\"}") - -if (import.meta.webpackHot) { - import.meta.webpackHot.accept() - if (__VUE_HMR_RUNTIME__.updateThemeData) { - __VUE_HMR_RUNTIME__.updateThemeData(themeData) - } -} - -if (import.meta.hot) { - import.meta.hot.accept(({ themeData }) => { - __VUE_HMR_RUNTIME__.updateThemeData(themeData) - }) -} diff --git a/src/.vuepress/.temp/markdown-tab/config.js b/src/.vuepress/.temp/markdown-tab/config.js deleted file mode 100644 index 486bcedf1..000000000 --- a/src/.vuepress/.temp/markdown-tab/config.js +++ /dev/null @@ -1,9 +0,0 @@ -import { CodeTabs } from "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-markdown-tab/dist/client/components/CodeTabs.js"; -import { Tabs } from "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-markdown-tab/dist/client/components/Tabs.js"; - -export default { - enhance: ({ app }) => { - app.component("CodeTabs", CodeTabs); - app.component("Tabs", Tabs); - }, -}; diff --git a/src/.vuepress/.temp/pages/404.html.vue b/src/.vuepress/.temp/pages/404.html.vue deleted file mode 100644 index e56b8c3fe..000000000 --- a/src/.vuepress/.temp/pages/404.html.vue +++ /dev/null @@ -1,18 +0,0 @@ - - \ No newline at end of file diff --git a/src/.vuepress/.temp/prismjs/config.js b/src/.vuepress/.temp/prismjs/config.js deleted file mode 100644 index 8fd5cf567..000000000 --- a/src/.vuepress/.temp/prismjs/config.js +++ /dev/null @@ -1,5 +0,0 @@ -import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/highlighter-helper/dist/client/styles/base.css" -import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/plugin-prismjs/dist/client/styles/nord.css" -import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/highlighter-helper/dist/client/styles/line-numbers.css" -import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/highlighter-helper/dist/client/styles/notation-highlight.css" -import "/Volumes/Archive/Projects/Github/website/node_modules/@vuepress/highlighter-helper/dist/client/styles/code-block-title.css" \ No newline at end of file diff --git a/src/.vuepress/.temp/redirect/map.js b/src/.vuepress/.temp/redirect/map.js deleted file mode 100644 index def1c5b9d..000000000 --- a/src/.vuepress/.temp/redirect/map.js +++ /dev/null @@ -1,42 +0,0 @@ -export const redirectMap = { - "/basics/environment.html": "/stdlib/builtins.html", - "/basics/exports-and-imports.html": "/exports-and-imports.html", - "/basics/loader.html": "/loader.html", - "/basics/types.html": "/types.html", - "/details.html": "/memory.html", - "/details/compiler.html": "/compiler.html", - "/details/debugging.html": "/debugging.html", - "/detauls/development.html": "/development.html", - "/details/interoperability.html": "/interoperability.html", - "/details/memory.html": "/memory.html", - "/details/peculiarities.html": "/peculiarities.html", - "/details/portability.html": "/portability.html", - "/details/runtime.html": "/garbage-collection.html", - "/details/transforms.html": "/transforms.html", - "/standard-library/array.html": "/stdlib/array.html", - "/standard-library/arraybuffer.html": "/stdlib/arraybuffer.html", - "/standard-library/dataview.html": "/stdlib/dataview.html", - "/standard-library/date.html": "/stdlib/date.html", - "/standard-library/error.html": "/stdlib/error.html", - "/standard-library/globals.html": "/stdlib/globals.html", - "/standard-library/map.html": "/stdlib/map.html", - "/standard-library/math.html": "/stdlib/math.html", - "/standard-library/number.html": "/stdlib/number.html", - "/standard-library/set.html": "/stdlib/set.html", - "/standard-library/string.html": "/stdlib/string.html", - "/standard-library/typedarray.html": "/stdlib/typedarray.html", - "/extended-library/staticarray.html": "/stdlib/staticarray.html", - "/faq.html": "/frequently-asked-questions.html", - "/environment.html": "/stdlib/builtins.html", - "/basics.html": "/concepts.html", - "/exports-and-imports.html": "/concepts.html", - "/quick-start.html": "/getting-started.html", - "/loader.html": "https://github.com/AssemblyScript/assemblyscript/tree/main/lib/loader.html", - "/debugging.html": "/compiler.html", - "/transforms.html": "/compiler.html", - "/portability.html": "/compiler.html", - "/garbage-collection.html": "/runtime.html", - "/memory.html": "/runtime.html", - "/interoperability.html": "/runtime.html", - "/builtins.html": "/globals.html" -}; diff --git a/src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js b/src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js deleted file mode 100644 index b507e920e..000000000 --- a/src/.vuepress/.temp/register-components/clientConfig.5cdfc054.js +++ /dev/null @@ -1,27 +0,0 @@ -import { defineAsyncComponent } from 'vue' - -export default { - enhance: ({ app }) => { - app.component("Ch", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Ch.vue"))) - - app.component("Community", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Community.vue"))) - - app.component("Contributors", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Contributors.vue"))) - - app.component("Fi", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Fi.vue"))) - - app.component("No", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/No.vue"))) - - app.component("Sa", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Sa.vue"))) - - app.component("Sponsors", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Sponsors.vue"))) - - app.component("Testimonials", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Testimonials.vue"))) - - app.component("Ws", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Ws.vue"))) - - app.component("Wt", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Wt.vue"))) - - app.component("Xx", defineAsyncComponent(() => import("/Volumes/Archive/Projects/Github/website/src/.vuepress/components/Xx.vue"))) - }, -} diff --git a/src/.vuepress/.temp/styles/index.scss b/src/.vuepress/.temp/styles/index.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/.vuepress/.temp/styles/palette.scss b/src/.vuepress/.temp/styles/palette.scss deleted file mode 100644 index e69de29bb..000000000 From 63d7db39dc4975dedca4100d22e90538d1025e31 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 15 Apr 2026 20:06:32 +0300 Subject: [PATCH 03/21] exclude src/.vuepress/.cache --- .gitignore | 1 + .../.cache/deps/@vue_devtools-api.js | 2 - src/.vuepress/.cache/deps/@vuepress_shared.js | 166 - .../.cache/deps/@vuepress_shared.js.map | 1 - src/.vuepress/.cache/deps/_metadata.json | 42 - src/.vuepress/.cache/deps/dist-jlnTmUNc.js | 3826 -------- .../.cache/deps/dist-jlnTmUNc.js.map | 1 - src/.vuepress/.cache/deps/package.json | 3 - src/.vuepress/.cache/deps/vue-router.js | 2697 ------ src/.vuepress/.cache/deps/vue-router.js.map | 1 - src/.vuepress/.cache/deps/vue.js | 2 - .../deps/vue.runtime.esm-bundler-CJdF6Oq_.js | 8579 ----------------- .../vue.runtime.esm-bundler-CJdF6Oq_.js.map | 1 - 13 files changed, 1 insertion(+), 15321 deletions(-) delete mode 100644 src/.vuepress/.cache/deps/@vue_devtools-api.js delete mode 100644 src/.vuepress/.cache/deps/@vuepress_shared.js delete mode 100644 src/.vuepress/.cache/deps/@vuepress_shared.js.map delete mode 100644 src/.vuepress/.cache/deps/_metadata.json delete mode 100644 src/.vuepress/.cache/deps/dist-jlnTmUNc.js delete mode 100644 src/.vuepress/.cache/deps/dist-jlnTmUNc.js.map delete mode 100644 src/.vuepress/.cache/deps/package.json delete mode 100644 src/.vuepress/.cache/deps/vue-router.js delete mode 100644 src/.vuepress/.cache/deps/vue-router.js.map delete mode 100644 src/.vuepress/.cache/deps/vue.js delete mode 100644 src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js delete mode 100644 src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js.map diff --git a/.gitignore b/.gitignore index 3af578de3..1dc921096 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ dist/ data/contributors.json data/sponsors.json src/.vuepress/.temp/ +src/.vuepress/.cache/ src/.vuepress/public/contributors.svg src/.vuepress/public/sponsors.svg diff --git a/src/.vuepress/.cache/deps/@vue_devtools-api.js b/src/.vuepress/.cache/deps/@vue_devtools-api.js deleted file mode 100644 index 2662b6ab3..000000000 --- a/src/.vuepress/.cache/deps/@vue_devtools-api.js +++ /dev/null @@ -1,2 +0,0 @@ -import { a as removeCustomCommand, i as onDevToolsConnected, n as addCustomTab, o as setupDevToolsPlugin, r as onDevToolsClientConnected, t as addCustomCommand } from "./dist-jlnTmUNc.js"; -export { addCustomCommand, addCustomTab, onDevToolsClientConnected, onDevToolsConnected, removeCustomCommand, setupDevToolsPlugin, setupDevToolsPlugin as setupDevtoolsPlugin }; diff --git a/src/.vuepress/.cache/deps/@vuepress_shared.js b/src/.vuepress/.cache/deps/@vuepress_shared.js deleted file mode 100644 index be72898bb..000000000 --- a/src/.vuepress/.cache/deps/@vuepress_shared.js +++ /dev/null @@ -1,166 +0,0 @@ -//#region node_modules/@vuepress/shared/dist/index.js -/** -* Determine a link has protocol or not -*/ -var isLinkWithProtocol = (link) => /^[a-z][a-z0-9+.-]*:/.test(link) || link.startsWith("//"); -var markdownLinkRegexp = /.md((\?|#).*)?$/; -/** -* Determine a link is external or not -*/ -var isLinkExternal = (link, base = "/") => isLinkWithProtocol(link) || link.startsWith("/") && !link.startsWith(base) && !markdownLinkRegexp.test(link); -/** -* Determine a link is http link or not -* -* - http://github.com -* - https://github.com -* - //github.com -*/ -var isLinkHttp = (link) => /^(https?:)?\/\//.test(link); -/** -* Infer route path of the given raw path -*/ -var inferRoutePath = (rawPath) => { - if (!rawPath || rawPath.endsWith("/")) return rawPath; - let routePath = rawPath.replace(/(^|\/)README.md$/i, "$1index.html"); - if (routePath.endsWith(".md")) routePath = `${routePath.substring(0, routePath.length - 3)}.html`; - else if (!routePath.endsWith(".html")) routePath = `${routePath}.html`; - if (routePath.endsWith("/index.html")) routePath = routePath.substring(0, routePath.length - 10); - return routePath; -}; -var FAKE_HOST = "http://."; -/** -* Normalize the given pathname path to the final route path -*/ -var normalizeRoutePath = (pathname, current) => { - if (!pathname.startsWith("/") && current) { - const loc = current.slice(0, current.lastIndexOf("/")); - return inferRoutePath(new URL(`${loc}/${pathname}`, FAKE_HOST).pathname); - } - return inferRoutePath(pathname); -}; -/** -* Resolve the matched locale path of route path -*/ -var resolveLocalePath = (locales, routePath) => { - const localePaths = Object.keys(locales).sort((a, b) => { - const levelDelta = b.split("/").length - a.split("/").length; - if (levelDelta !== 0) return levelDelta; - return b.length - a.length; - }); - for (const localePath of localePaths) if (routePath.startsWith(localePath)) return localePath; - return "/"; -}; -/** -* For a give URL, remove the origin and the site base to get the route path -*/ -var resolveRoutePathFromUrl = (url, base = "/") => { - const pathname = url.replace(/^(?:https?:)?\/\/[^/]*/, ""); - return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname; -}; -var SPLIT_CHAR_REGEXP = /(#|\?)/; -/** -* Split a path into pathname and hashAndQueries -*/ -var splitPath = (path) => { - const [pathname, ...hashAndQueries] = path.split(SPLIT_CHAR_REGEXP); - return { - pathname, - hashAndQueries: hashAndQueries.join("") - }; -}; -var TAGS_ALLOWED = [ - "link", - "meta", - "script", - "style", - "noscript", - "template" -]; -var TAGS_UNIQUE = ["title", "base"]; -/** -* Resolve identifier of a tag, to avoid duplicated tags in `` -*/ -var resolveHeadIdentifier = ([tag, attrs, content]) => { - if (TAGS_UNIQUE.includes(tag)) return tag; - if (!TAGS_ALLOWED.includes(tag)) return null; - if (tag === "meta" && attrs.name) return `${tag}.${attrs.name}`; - if (tag === "template" && attrs.id) return `${tag}.${attrs.id}`; - return JSON.stringify([ - tag, - Object.entries(attrs).map(([key, value]) => { - if (typeof value === "boolean") return value ? [key, ""] : null; - return [key, value]; - }).filter((item) => item != null).sort(([keyA], [keyB]) => keyA.localeCompare(keyB)), - content - ]); -}; -/** -* Dedupe head config with identifier -* -* Items that appear earlier have higher priority -*/ -var dedupeHead = (head) => { - const identifierSet = /* @__PURE__ */ new Set(); - const result = []; - head.forEach((item) => { - const identifier = resolveHeadIdentifier(item); - if (identifier && !identifierSet.has(identifier)) { - identifierSet.add(identifier); - result.push(item); - } - }); - return result; -}; -/** -* Ensure a url string to have leading slash / -*/ -var ensureLeadingSlash = (str) => str.startsWith("/") ? str : `/${str}`; -/** -* Ensure a url string to have ending slash / -*/ -var ensureEndingSlash = (str) => str.endsWith("/") || str.endsWith(".html") ? str : `${str}/`; -/** -* Format a date string to `yyyy-MM-dd` -*/ -var formatDateString = (str, defaultDateString = "") => { - const dateMatch = str.match(/\b(\d{4})-(\d{1,2})-(\d{1,2})\b/); - if (dateMatch === null) return defaultDateString; - const [, yearStr, monthStr, dayStr] = dateMatch; - return [ - yearStr, - monthStr.padStart(2, "0"), - dayStr.padStart(2, "0") - ].join("-"); -}; -/** -* Omit properties from an object -*/ -var omit = (obj, ...keys) => { - const result = { ...obj }; - for (const key of keys) delete result[key]; - return result; -}; -/** -* Remove ending slash / from a string -*/ -var removeEndingSlash = (str) => str.endsWith("/") ? str.slice(0, -1) : str; -/** -* Remove leading slash / from a string -*/ -var removeLeadingSlash = (str) => str.startsWith("/") ? str.slice(1) : str; -/** -* Check if a value is a function -*/ -var isFunction = (val) => typeof val === "function"; -/** -* Check if a value is plain object, with generic type support -*/ -var isPlainObject = (val) => Object.prototype.toString.call(val) === "[object Object]"; -/** -* Check if a value is a string -*/ -var isString = (val) => typeof val === "string"; -//#endregion -export { dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, inferRoutePath, isFunction, isLinkExternal, isLinkHttp, isLinkWithProtocol, isPlainObject, isString, normalizeRoutePath, omit, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl, splitPath }; - -//# sourceMappingURL=@vuepress_shared.js.map \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/@vuepress_shared.js.map b/src/.vuepress/.cache/deps/@vuepress_shared.js.map deleted file mode 100644 index 35d892655..000000000 --- a/src/.vuepress/.cache/deps/@vuepress_shared.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"@vuepress_shared.js","names":[],"sources":["../../../../node_modules/@vuepress/shared/dist/index.js"],"sourcesContent":["//#region src/utils/links/isLinkWithProtocol.ts\n/**\n* Determine a link has protocol or not\n*/\nconst isLinkWithProtocol = (link) => /^[a-z][a-z0-9+.-]*:/.test(link) || link.startsWith(\"//\");\n//#endregion\n//#region src/utils/links/isLinkExternal.ts\nconst markdownLinkRegexp = /.md((\\?|#).*)?$/;\n/**\n* Determine a link is external or not\n*/\nconst isLinkExternal = (link, base = \"/\") => isLinkWithProtocol(link) || link.startsWith(\"/\") && !link.startsWith(base) && !markdownLinkRegexp.test(link);\n//#endregion\n//#region src/utils/links/isLinkHttp.ts\n/**\n* Determine a link is http link or not\n*\n* - http://github.com\n* - https://github.com\n* - //github.com\n*/\nconst isLinkHttp = (link) => /^(https?:)?\\/\\//.test(link);\n//#endregion\n//#region src/utils/routes/inferRoutePath.ts\n/**\n* Infer route path of the given raw path\n*/\nconst inferRoutePath = (rawPath) => {\n\tif (!rawPath || rawPath.endsWith(\"/\")) return rawPath;\n\tlet routePath = rawPath.replace(/(^|\\/)README.md$/i, \"$1index.html\");\n\tif (routePath.endsWith(\".md\")) routePath = `${routePath.substring(0, routePath.length - 3)}.html`;\n\telse if (!routePath.endsWith(\".html\")) routePath = `${routePath}.html`;\n\tif (routePath.endsWith(\"/index.html\")) routePath = routePath.substring(0, routePath.length - 10);\n\treturn routePath;\n};\n//#endregion\n//#region src/utils/routes/normalizeRoutePath.ts\nconst FAKE_HOST = \"http://.\";\n/**\n* Normalize the given pathname path to the final route path\n*/\nconst normalizeRoutePath = (pathname, current) => {\n\tif (!pathname.startsWith(\"/\") && current) {\n\t\tconst loc = current.slice(0, current.lastIndexOf(\"/\"));\n\t\treturn inferRoutePath(new URL(`${loc}/${pathname}`, FAKE_HOST).pathname);\n\t}\n\treturn inferRoutePath(pathname);\n};\n//#endregion\n//#region src/utils/routes/resolveLocalePath.ts\n/**\n* Resolve the matched locale path of route path\n*/\nconst resolveLocalePath = (locales, routePath) => {\n\tconst localePaths = Object.keys(locales).sort((a, b) => {\n\t\tconst levelDelta = b.split(\"/\").length - a.split(\"/\").length;\n\t\tif (levelDelta !== 0) return levelDelta;\n\t\treturn b.length - a.length;\n\t});\n\tfor (const localePath of localePaths) if (routePath.startsWith(localePath)) return localePath;\n\treturn \"/\";\n};\n//#endregion\n//#region src/utils/routes/resolveRoutePathFromUrl.ts\n/**\n* For a give URL, remove the origin and the site base to get the route path\n*/\nconst resolveRoutePathFromUrl = (url, base = \"/\") => {\n\tconst pathname = url.replace(/^(?:https?:)?\\/\\/[^/]*/, \"\");\n\treturn pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname;\n};\n//#endregion\n//#region src/utils/routes/splitPath.ts\nconst SPLIT_CHAR_REGEXP = /(#|\\?)/;\n/**\n* Split a path into pathname and hashAndQueries\n*/\nconst splitPath = (path) => {\n\tconst [pathname, ...hashAndQueries] = path.split(SPLIT_CHAR_REGEXP);\n\treturn {\n\t\tpathname,\n\t\thashAndQueries: hashAndQueries.join(\"\")\n\t};\n};\n//#endregion\n//#region src/utils/resolveHeadIdentifier.ts\nconst TAGS_ALLOWED = [\n\t\"link\",\n\t\"meta\",\n\t\"script\",\n\t\"style\",\n\t\"noscript\",\n\t\"template\"\n];\nconst TAGS_UNIQUE = [\"title\", \"base\"];\n/**\n* Resolve identifier of a tag, to avoid duplicated tags in ``\n*/\nconst resolveHeadIdentifier = ([tag, attrs, content]) => {\n\tif (TAGS_UNIQUE.includes(tag)) return tag;\n\tif (!TAGS_ALLOWED.includes(tag)) return null;\n\tif (tag === \"meta\" && attrs.name) return `${tag}.${attrs.name}`;\n\tif (tag === \"template\" && attrs.id) return `${tag}.${attrs.id}`;\n\treturn JSON.stringify([\n\t\ttag,\n\t\tObject.entries(attrs).map(([key, value]) => {\n\t\t\tif (typeof value === \"boolean\") return value ? [key, \"\"] : null;\n\t\t\treturn [key, value];\n\t\t}).filter((item) => item != null).sort(([keyA], [keyB]) => keyA.localeCompare(keyB)),\n\t\tcontent\n\t]);\n};\n//#endregion\n//#region src/utils/dedupeHead.ts\n/**\n* Dedupe head config with identifier\n*\n* Items that appear earlier have higher priority\n*/\nconst dedupeHead = (head) => {\n\tconst identifierSet = /* @__PURE__ */ new Set();\n\tconst result = [];\n\thead.forEach((item) => {\n\t\tconst identifier = resolveHeadIdentifier(item);\n\t\tif (identifier && !identifierSet.has(identifier)) {\n\t\t\tidentifierSet.add(identifier);\n\t\t\tresult.push(item);\n\t\t}\n\t});\n\treturn result;\n};\n//#endregion\n//#region src/utils/ensureLeadingSlash.ts\n/**\n* Ensure a url string to have leading slash /\n*/\nconst ensureLeadingSlash = (str) => str.startsWith(\"/\") ? str : `/${str}`;\n//#endregion\n//#region src/utils/ensureEndingSlash.ts\n/**\n* Ensure a url string to have ending slash /\n*/\nconst ensureEndingSlash = (str) => str.endsWith(\"/\") || str.endsWith(\".html\") ? str : `${str}/`;\n//#endregion\n//#region src/utils/formatDateString.ts\n/**\n* Format a date string to `yyyy-MM-dd`\n*/\nconst formatDateString = (str, defaultDateString = \"\") => {\n\tconst dateMatch = str.match(/\\b(\\d{4})-(\\d{1,2})-(\\d{1,2})\\b/);\n\tif (dateMatch === null) return defaultDateString;\n\tconst [, yearStr, monthStr, dayStr] = dateMatch;\n\treturn [\n\t\tyearStr,\n\t\tmonthStr.padStart(2, \"0\"),\n\t\tdayStr.padStart(2, \"0\")\n\t].join(\"-\");\n};\n//#endregion\n//#region src/utils/omit.ts\n/**\n* Omit properties from an object\n*/\nconst omit = (obj, ...keys) => {\n\tconst result = { ...obj };\n\tfor (const key of keys) delete result[key];\n\treturn result;\n};\n//#endregion\n//#region src/utils/removeEndingSlash.ts\n/**\n* Remove ending slash / from a string\n*/\nconst removeEndingSlash = (str) => str.endsWith(\"/\") ? str.slice(0, -1) : str;\n//#endregion\n//#region src/utils/removeLeadingSlash.ts\n/**\n* Remove leading slash / from a string\n*/\nconst removeLeadingSlash = (str) => str.startsWith(\"/\") ? str.slice(1) : str;\n//#endregion\n//#region src/utils/typeGuards.ts\n/**\n* Check if a value is a function\n*/\nconst isFunction = (val) => typeof val === \"function\";\n/**\n* Check if a value is plain object, with generic type support\n*/\nconst isPlainObject = (val) => Object.prototype.toString.call(val) === \"[object Object]\";\n/**\n* Check if a value is a string\n*/\nconst isString = (val) => typeof val === \"string\";\n//#endregion\nexport { dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, inferRoutePath, isFunction, isLinkExternal, isLinkHttp, isLinkWithProtocol, isPlainObject, isString, normalizeRoutePath, omit, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl, splitPath };\n"],"x_google_ignoreList":[0],"mappings":"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"} \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/_metadata.json b/src/.vuepress/.cache/deps/_metadata.json deleted file mode 100644 index fed488a97..000000000 --- a/src/.vuepress/.cache/deps/_metadata.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "hash": "954000a8", - "configHash": "4e81fcb7", - "lockfileHash": "da049295", - "browserHash": "9957b08d", - "optimized": { - "@vue/devtools-api": { - "src": "../../../../node_modules/@vue/devtools-api/dist/index.js", - "file": "@vue_devtools-api.js", - "fileHash": "16491cf7", - "needsInterop": false - }, - "@vuepress/shared": { - "src": "../../../../node_modules/@vuepress/shared/dist/index.js", - "file": "@vuepress_shared.js", - "fileHash": "b36765a9", - "needsInterop": false - }, - "vue-router": { - "src": "../../../../node_modules/vue-router/dist/vue-router.js", - "file": "vue-router.js", - "fileHash": "60f0bcb9", - "needsInterop": false - }, - "vue": { - "src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", - "file": "vue.js", - "fileHash": "b37f449d", - "needsInterop": false - } - }, - "chunks": { - "dist-jlnTmUNc": { - "file": "dist-jlnTmUNc.js", - "isDynamicEntry": false - }, - "vue.runtime.esm-bundler-CJdF6Oq_": { - "file": "vue.runtime.esm-bundler-CJdF6Oq_.js", - "isDynamicEntry": false - } - } -} \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/dist-jlnTmUNc.js b/src/.vuepress/.cache/deps/dist-jlnTmUNc.js deleted file mode 100644 index 8ce172dab..000000000 --- a/src/.vuepress/.cache/deps/dist-jlnTmUNc.js +++ /dev/null @@ -1,3826 +0,0 @@ -//#region node_modules/@vue/devtools-shared/dist/index.js -var __create$1 = Object.create; -var __defProp$1 = Object.defineProperty; -var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor; -var __getOwnPropNames$1 = Object.getOwnPropertyNames; -var __getProtoOf$1 = Object.getPrototypeOf; -var __hasOwnProp$1 = Object.prototype.hasOwnProperty; -var __commonJSMin$1 = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports); -var __copyProps$1 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames$1(from), i = 0, n = keys.length, key; i < n; i++) { - key = keys[i]; - if (!__hasOwnProp$1.call(to, key) && key !== except) __defProp$1(to, key, { - get: ((k) => from[k]).bind(null, key), - enumerable: !(desc = __getOwnPropDesc$1(from, key)) || desc.enumerable - }); - } - return to; -}; -var __toESM$1 = (mod, isNodeMode, target) => (target = mod != null ? __create$1(__getProtoOf$1(mod)) : {}, __copyProps$1(isNodeMode || !mod || !mod.__esModule ? __defProp$1(target, "default", { - value: mod, - enumerable: true -}) : target, mod)); -var isBrowser = typeof navigator !== "undefined"; -var target = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : {}; -typeof target.chrome !== "undefined" && target.chrome.devtools; -isBrowser && (target.self, target.top); -typeof navigator !== "undefined" && navigator.userAgent?.toLowerCase().includes("electron"); -typeof window !== "undefined" && window.__NUXT__; -var import_rfdc = /* @__PURE__ */ __toESM$1((/* @__PURE__ */ __commonJSMin$1(((exports, module) => { - module.exports = rfdc; - function copyBuffer(cur) { - if (cur instanceof Buffer) return Buffer.from(cur); - return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length); - } - function rfdc(opts) { - opts = opts || {}; - if (opts.circles) return rfdcCircles(opts); - const constructorHandlers = /* @__PURE__ */ new Map(); - constructorHandlers.set(Date, (o) => new Date(o)); - constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn))); - constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn))); - if (opts.constructorHandlers) for (const handler of opts.constructorHandlers) constructorHandlers.set(handler[0], handler[1]); - let handler = null; - return opts.proto ? cloneProto : clone; - function cloneArray(a, fn) { - const keys = Object.keys(a); - const a2 = new Array(keys.length); - for (let i = 0; i < keys.length; i++) { - const k = keys[i]; - const cur = a[k]; - if (typeof cur !== "object" || cur === null) a2[k] = cur; - else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn); - else if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur); - else a2[k] = fn(cur); - } - return a2; - } - function clone(o) { - if (typeof o !== "object" || o === null) return o; - if (Array.isArray(o)) return cloneArray(o, clone); - if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone); - const o2 = {}; - for (const k in o) { - if (Object.hasOwnProperty.call(o, k) === false) continue; - const cur = o[k]; - if (typeof cur !== "object" || cur === null) o2[k] = cur; - else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone); - else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); - else o2[k] = clone(cur); - } - return o2; - } - function cloneProto(o) { - if (typeof o !== "object" || o === null) return o; - if (Array.isArray(o)) return cloneArray(o, cloneProto); - if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto); - const o2 = {}; - for (const k in o) { - const cur = o[k]; - if (typeof cur !== "object" || cur === null) o2[k] = cur; - else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto); - else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); - else o2[k] = cloneProto(cur); - } - return o2; - } - } - function rfdcCircles(opts) { - const refs = []; - const refsNew = []; - const constructorHandlers = /* @__PURE__ */ new Map(); - constructorHandlers.set(Date, (o) => new Date(o)); - constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn))); - constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn))); - if (opts.constructorHandlers) for (const handler of opts.constructorHandlers) constructorHandlers.set(handler[0], handler[1]); - let handler = null; - return opts.proto ? cloneProto : clone; - function cloneArray(a, fn) { - const keys = Object.keys(a); - const a2 = new Array(keys.length); - for (let i = 0; i < keys.length; i++) { - const k = keys[i]; - const cur = a[k]; - if (typeof cur !== "object" || cur === null) a2[k] = cur; - else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn); - else if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur); - else { - const index = refs.indexOf(cur); - if (index !== -1) a2[k] = refsNew[index]; - else a2[k] = fn(cur); - } - } - return a2; - } - function clone(o) { - if (typeof o !== "object" || o === null) return o; - if (Array.isArray(o)) return cloneArray(o, clone); - if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone); - const o2 = {}; - refs.push(o); - refsNew.push(o2); - for (const k in o) { - if (Object.hasOwnProperty.call(o, k) === false) continue; - const cur = o[k]; - if (typeof cur !== "object" || cur === null) o2[k] = cur; - else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone); - else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); - else { - const i = refs.indexOf(cur); - if (i !== -1) o2[k] = refsNew[i]; - else o2[k] = clone(cur); - } - } - refs.pop(); - refsNew.pop(); - return o2; - } - function cloneProto(o) { - if (typeof o !== "object" || o === null) return o; - if (Array.isArray(o)) return cloneArray(o, cloneProto); - if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto); - const o2 = {}; - refs.push(o); - refsNew.push(o2); - for (const k in o) { - const cur = o[k]; - if (typeof cur !== "object" || cur === null) o2[k] = cur; - else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto); - else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); - else { - const i = refs.indexOf(cur); - if (i !== -1) o2[k] = refsNew[i]; - else o2[k] = cloneProto(cur); - } - } - refs.pop(); - refsNew.pop(); - return o2; - } - } -})))(), 1); -var classifyRE = /(?:^|[-_/])(\w)/g; -function toUpper(_, c) { - return c ? c.toUpperCase() : ""; -} -function classify(str) { - return str && `${str}`.replace(classifyRE, toUpper); -} -function basename(filename, ext) { - let normalizedFilename = filename.replace(/^[a-z]:/i, "").replace(/\\/g, "/"); - if (normalizedFilename.endsWith(`index${ext}`)) normalizedFilename = normalizedFilename.replace(`/index${ext}`, ext); - const lastSlashIndex = normalizedFilename.lastIndexOf("/"); - const baseNameWithExt = normalizedFilename.substring(lastSlashIndex + 1); - if (ext) { - const extIndex = baseNameWithExt.lastIndexOf(ext); - return baseNameWithExt.substring(0, extIndex); - } - return ""; -} -var HTTP_URL_RE = /^https?:\/\//; -/** -* Check a string is start with `/` or a valid http url -*/ -function isUrlString(str) { - return str.startsWith("/") || HTTP_URL_RE.test(str); -} -/** -* @copyright [rfdc](https://github.com/davidmarkclements/rfdc) -* @description A really fast deep clone alternative -*/ -var deepClone = (0, import_rfdc.default)({ circles: true }); -//#endregion -//#region node_modules/perfect-debounce/dist/index.mjs -var DEBOUNCE_DEFAULTS = { trailing: true }; -/** -Debounce functions -@param fn - Promise-returning/async function to debounce. -@param wait - Milliseconds to wait before calling `fn`. Default value is 25ms -@returns A function that delays calling `fn` until after `wait` milliseconds have elapsed since the last time it was called. -@example -``` -import { debounce } from 'perfect-debounce'; -const expensiveCall = async input => input; -const debouncedFn = debounce(expensiveCall, 200); -for (const number of [1, 2, 3]) { -console.log(await debouncedFn(number)); -} -//=> 1 -//=> 2 -//=> 3 -``` -*/ -function debounce(fn, wait = 25, options = {}) { - options = { - ...DEBOUNCE_DEFAULTS, - ...options - }; - if (!Number.isFinite(wait)) throw new TypeError("Expected `wait` to be a finite number"); - let leadingValue; - let timeout; - let resolveList = []; - let currentPromise; - let trailingArgs; - const applyFn = (_this, args) => { - currentPromise = _applyPromised(fn, _this, args); - currentPromise.finally(() => { - currentPromise = null; - if (options.trailing && trailingArgs && !timeout) { - const promise = applyFn(_this, trailingArgs); - trailingArgs = null; - return promise; - } - }); - return currentPromise; - }; - const debounced = function(...args) { - if (options.trailing) trailingArgs = args; - if (currentPromise) return currentPromise; - return new Promise((resolve) => { - const shouldCallNow = !timeout && options.leading; - clearTimeout(timeout); - timeout = setTimeout(() => { - timeout = null; - const promise = options.leading ? leadingValue : applyFn(this, args); - trailingArgs = null; - for (const _resolve of resolveList) _resolve(promise); - resolveList = []; - }, wait); - if (shouldCallNow) { - leadingValue = applyFn(this, args); - resolve(leadingValue); - } else resolveList.push(resolve); - }); - }; - const _clearTimeout = (timer) => { - if (timer) { - clearTimeout(timer); - timeout = null; - } - }; - debounced.isPending = () => !!timeout; - debounced.cancel = () => { - _clearTimeout(timeout); - resolveList = []; - trailingArgs = null; - }; - debounced.flush = () => { - _clearTimeout(timeout); - if (!trailingArgs || currentPromise) return; - const args = trailingArgs; - trailingArgs = null; - return applyFn(this, args); - }; - return debounced; -} -async function _applyPromised(fn, _this, args) { - return await fn.apply(_this, args); -} -//#endregion -//#region node_modules/hookable/dist/index.mjs -function flatHooks(configHooks, hooks = {}, parentName) { - for (const key in configHooks) { - const subHook = configHooks[key]; - const name = parentName ? `${parentName}:${key}` : key; - if (typeof subHook === "object" && subHook !== null) flatHooks(subHook, hooks, name); - else if (typeof subHook === "function") hooks[name] = subHook; - } - return hooks; -} -var defaultTask = { run: (function_) => function_() }; -var _createTask = () => defaultTask; -var createTask = typeof console.createTask !== "undefined" ? console.createTask : _createTask; -function serialTaskCaller(hooks, args) { - const task = createTask(args.shift()); - return hooks.reduce((promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))), Promise.resolve()); -} -function parallelTaskCaller(hooks, args) { - const task = createTask(args.shift()); - return Promise.all(hooks.map((hook) => task.run(() => hook(...args)))); -} -function callEachWith(callbacks, arg0) { - for (const callback of [...callbacks]) callback(arg0); -} -var Hookable = class { - constructor() { - this._hooks = {}; - this._before = void 0; - this._after = void 0; - this._deprecatedMessages = void 0; - this._deprecatedHooks = {}; - this.hook = this.hook.bind(this); - this.callHook = this.callHook.bind(this); - this.callHookWith = this.callHookWith.bind(this); - } - hook(name, function_, options = {}) { - if (!name || typeof function_ !== "function") return () => {}; - const originalName = name; - let dep; - while (this._deprecatedHooks[name]) { - dep = this._deprecatedHooks[name]; - name = dep.to; - } - if (dep && !options.allowDeprecated) { - let message = dep.message; - if (!message) message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : ""); - if (!this._deprecatedMessages) this._deprecatedMessages = /* @__PURE__ */ new Set(); - if (!this._deprecatedMessages.has(message)) { - console.warn(message); - this._deprecatedMessages.add(message); - } - } - if (!function_.name) try { - Object.defineProperty(function_, "name", { - get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb", - configurable: true - }); - } catch {} - this._hooks[name] = this._hooks[name] || []; - this._hooks[name].push(function_); - return () => { - if (function_) { - this.removeHook(name, function_); - function_ = void 0; - } - }; - } - hookOnce(name, function_) { - let _unreg; - let _function = (...arguments_) => { - if (typeof _unreg === "function") _unreg(); - _unreg = void 0; - _function = void 0; - return function_(...arguments_); - }; - _unreg = this.hook(name, _function); - return _unreg; - } - removeHook(name, function_) { - if (this._hooks[name]) { - const index = this._hooks[name].indexOf(function_); - if (index !== -1) this._hooks[name].splice(index, 1); - if (this._hooks[name].length === 0) delete this._hooks[name]; - } - } - deprecateHook(name, deprecated) { - this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated; - const _hooks = this._hooks[name] || []; - delete this._hooks[name]; - for (const hook of _hooks) this.hook(name, hook); - } - deprecateHooks(deprecatedHooks) { - Object.assign(this._deprecatedHooks, deprecatedHooks); - for (const name in deprecatedHooks) this.deprecateHook(name, deprecatedHooks[name]); - } - addHooks(configHooks) { - const hooks = flatHooks(configHooks); - const removeFns = Object.keys(hooks).map((key) => this.hook(key, hooks[key])); - return () => { - for (const unreg of removeFns.splice(0, removeFns.length)) unreg(); - }; - } - removeHooks(configHooks) { - const hooks = flatHooks(configHooks); - for (const key in hooks) this.removeHook(key, hooks[key]); - } - removeAllHooks() { - for (const key in this._hooks) delete this._hooks[key]; - } - callHook(name, ...arguments_) { - arguments_.unshift(name); - return this.callHookWith(serialTaskCaller, name, ...arguments_); - } - callHookParallel(name, ...arguments_) { - arguments_.unshift(name); - return this.callHookWith(parallelTaskCaller, name, ...arguments_); - } - callHookWith(caller, name, ...arguments_) { - const event = this._before || this._after ? { - name, - args: arguments_, - context: {} - } : void 0; - if (this._before) callEachWith(this._before, event); - const result = caller(name in this._hooks ? [...this._hooks[name]] : [], arguments_); - if (result instanceof Promise) return result.finally(() => { - if (this._after && event) callEachWith(this._after, event); - }); - if (this._after && event) callEachWith(this._after, event); - return result; - } - beforeEach(function_) { - this._before = this._before || []; - this._before.push(function_); - return () => { - if (this._before !== void 0) { - const index = this._before.indexOf(function_); - if (index !== -1) this._before.splice(index, 1); - } - }; - } - afterEach(function_) { - this._after = this._after || []; - this._after.push(function_); - return () => { - if (this._after !== void 0) { - const index = this._after.indexOf(function_); - if (index !== -1) this._after.splice(index, 1); - } - }; - } -}; -function createHooks() { - return new Hookable(); -} -//#endregion -//#region node_modules/birpc/dist/index.mjs -var { clearTimeout: clearTimeout$1, setTimeout: setTimeout$1 } = globalThis; -Math.random.bind(Math); -var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports); -function getComponentTypeName(options) { - if (typeof options === "function") return options.displayName || options.name || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || ""; - const name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name; - if (name === "index" && options.__file?.endsWith("index.vue")) return ""; - return name; -} -function getComponentFileName(options) { - const file = options.__file; - if (file) return classify(basename(file, ".vue")); -} -function saveComponentGussedName(instance, name) { - instance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name; - return name; -} -function getAppRecord(instance) { - if (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__) return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__; - else if (instance.root) return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__; -} -function isFragment(instance) { - const subTreeType = instance.subTree?.type; - const appRecord = getAppRecord(instance); - if (appRecord) return appRecord?.types?.Fragment === subTreeType; - return false; -} -/** -* Get the appropriate display name for an instance. -* -* @param {Vue} instance -* @return {string} -*/ -function getInstanceName(instance) { - const name = getComponentTypeName(instance?.type || {}); - if (name) return name; - if (instance?.root === instance) return "Root"; - for (const key in instance.parent?.type?.components) if (instance.parent.type.components[key] === instance?.type) return saveComponentGussedName(instance, key); - for (const key in instance.appContext?.components) if (instance.appContext.components[key] === instance?.type) return saveComponentGussedName(instance, key); - const fileName = getComponentFileName(instance?.type || {}); - if (fileName) return fileName; - return "Anonymous Component"; -} -/** -* Returns a devtools unique id for instance. -* @param {Vue} instance -*/ -function getUniqueComponentId(instance) { - return `${instance?.appContext?.app?.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ ?? 0}:${instance === instance?.root ? "root" : instance.uid}`; -} -function getComponentInstance(appRecord, instanceId) { - instanceId = instanceId || `${appRecord.id}:root`; - return appRecord.instanceMap.get(instanceId) || appRecord.instanceMap.get(":root"); -} -function createRect() { - const rect = { - top: 0, - bottom: 0, - left: 0, - right: 0, - get width() { - return rect.right - rect.left; - }, - get height() { - return rect.bottom - rect.top; - } - }; - return rect; -} -var range; -function getTextRect(node) { - if (!range) range = document.createRange(); - range.selectNode(node); - return range.getBoundingClientRect(); -} -function getFragmentRect(vnode) { - const rect = createRect(); - if (!vnode.children) return rect; - for (let i = 0, l = vnode.children.length; i < l; i++) { - const childVnode = vnode.children[i]; - let childRect; - if (childVnode.component) childRect = getComponentBoundingRect(childVnode.component); - else if (childVnode.el) { - const el = childVnode.el; - if (el.nodeType === 1 || el.getBoundingClientRect) childRect = el.getBoundingClientRect(); - else if (el.nodeType === 3 && el.data.trim()) childRect = getTextRect(el); - } - if (childRect) mergeRects(rect, childRect); - } - return rect; -} -function mergeRects(a, b) { - if (!a.top || b.top < a.top) a.top = b.top; - if (!a.bottom || b.bottom > a.bottom) a.bottom = b.bottom; - if (!a.left || b.left < a.left) a.left = b.left; - if (!a.right || b.right > a.right) a.right = b.right; - return a; -} -var DEFAULT_RECT = { - top: 0, - left: 0, - right: 0, - bottom: 0, - width: 0, - height: 0 -}; -function getComponentBoundingRect(instance) { - const el = instance.subTree.el; - if (typeof window === "undefined") return DEFAULT_RECT; - if (isFragment(instance)) return getFragmentRect(instance.subTree); - else if (el?.nodeType === 1) return el?.getBoundingClientRect(); - else if (instance.subTree.component) return getComponentBoundingRect(instance.subTree.component); - else return DEFAULT_RECT; -} -function getRootElementsFromComponentInstance(instance) { - if (isFragment(instance)) return getFragmentRootElements(instance.subTree); - if (!instance.subTree) return []; - return [instance.subTree.el]; -} -function getFragmentRootElements(vnode) { - if (!vnode.children) return []; - const list = []; - vnode.children.forEach((childVnode) => { - if (childVnode.component) list.push(...getRootElementsFromComponentInstance(childVnode.component)); - else if (childVnode?.el) list.push(childVnode.el); - }); - return list; -} -var CONTAINER_ELEMENT_ID = "__vue-devtools-component-inspector__"; -var CARD_ELEMENT_ID = "__vue-devtools-component-inspector__card__"; -var COMPONENT_NAME_ELEMENT_ID = "__vue-devtools-component-inspector__name__"; -var INDICATOR_ELEMENT_ID = "__vue-devtools-component-inspector__indicator__"; -var containerStyles = { - display: "block", - zIndex: 2147483640, - position: "fixed", - backgroundColor: "#42b88325", - border: "1px solid #42b88350", - borderRadius: "5px", - transition: "all 0.1s ease-in", - pointerEvents: "none" -}; -var cardStyles = { - fontFamily: "Arial, Helvetica, sans-serif", - padding: "5px 8px", - borderRadius: "4px", - textAlign: "left", - position: "absolute", - left: 0, - color: "#e9e9e9", - fontSize: "14px", - fontWeight: 600, - lineHeight: "24px", - backgroundColor: "#42b883", - boxShadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" -}; -var indicatorStyles = { - display: "inline-block", - fontWeight: 400, - fontStyle: "normal", - fontSize: "12px", - opacity: .7 -}; -function getContainerElement() { - return document.getElementById(CONTAINER_ELEMENT_ID); -} -function getCardElement() { - return document.getElementById(CARD_ELEMENT_ID); -} -function getIndicatorElement() { - return document.getElementById(INDICATOR_ELEMENT_ID); -} -function getNameElement() { - return document.getElementById(COMPONENT_NAME_ELEMENT_ID); -} -function getStyles(bounds) { - return { - left: `${Math.round(bounds.left * 100) / 100}px`, - top: `${Math.round(bounds.top * 100) / 100}px`, - width: `${Math.round(bounds.width * 100) / 100}px`, - height: `${Math.round(bounds.height * 100) / 100}px` - }; -} -function create(options) { - const containerEl = document.createElement("div"); - containerEl.id = options.elementId ?? CONTAINER_ELEMENT_ID; - Object.assign(containerEl.style, { - ...containerStyles, - ...getStyles(options.bounds), - ...options.style - }); - const cardEl = document.createElement("span"); - cardEl.id = CARD_ELEMENT_ID; - Object.assign(cardEl.style, { - ...cardStyles, - top: options.bounds.top < 35 ? 0 : "-35px" - }); - const nameEl = document.createElement("span"); - nameEl.id = COMPONENT_NAME_ELEMENT_ID; - nameEl.innerHTML = `<${options.name}>  `; - const indicatorEl = document.createElement("i"); - indicatorEl.id = INDICATOR_ELEMENT_ID; - indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`; - Object.assign(indicatorEl.style, indicatorStyles); - cardEl.appendChild(nameEl); - cardEl.appendChild(indicatorEl); - containerEl.appendChild(cardEl); - document.body.appendChild(containerEl); - return containerEl; -} -function update(options) { - const containerEl = getContainerElement(); - const cardEl = getCardElement(); - const nameEl = getNameElement(); - const indicatorEl = getIndicatorElement(); - if (containerEl) { - Object.assign(containerEl.style, { - ...containerStyles, - ...getStyles(options.bounds) - }); - Object.assign(cardEl.style, { top: options.bounds.top < 35 ? 0 : "-35px" }); - nameEl.innerHTML = `<${options.name}>  `; - indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`; - } -} -function highlight(instance) { - const bounds = getComponentBoundingRect(instance); - if (!bounds.width && !bounds.height) return; - const name = getInstanceName(instance); - getContainerElement() ? update({ - bounds, - name - }) : create({ - bounds, - name - }); -} -function unhighlight() { - const el = getContainerElement(); - if (el) el.style.display = "none"; -} -var inspectInstance = null; -function inspectFn(e) { - const target = e.target; - if (target) { - const instance = target.__vueParentComponent; - if (instance) { - inspectInstance = instance; - if (instance.vnode.el) { - const bounds = getComponentBoundingRect(instance); - const name = getInstanceName(instance); - getContainerElement() ? update({ - bounds, - name - }) : create({ - bounds, - name - }); - } - } - } -} -function selectComponentFn(e, cb) { - e.preventDefault(); - e.stopPropagation(); - if (inspectInstance) cb(getUniqueComponentId(inspectInstance)); -} -var inspectComponentHighLighterSelectFn = null; -function cancelInspectComponentHighLighter() { - unhighlight(); - window.removeEventListener("mouseover", inspectFn); - window.removeEventListener("click", inspectComponentHighLighterSelectFn, true); - inspectComponentHighLighterSelectFn = null; -} -function inspectComponentHighLighter() { - window.addEventListener("mouseover", inspectFn); - return new Promise((resolve) => { - function onSelect(e) { - e.preventDefault(); - e.stopPropagation(); - selectComponentFn(e, (id) => { - window.removeEventListener("click", onSelect, true); - inspectComponentHighLighterSelectFn = null; - window.removeEventListener("mouseover", inspectFn); - const el = getContainerElement(); - if (el) el.style.display = "none"; - resolve(JSON.stringify({ id })); - }); - } - inspectComponentHighLighterSelectFn = onSelect; - window.addEventListener("click", onSelect, true); - }); -} -function scrollToComponent(options) { - const instance = getComponentInstance(activeAppRecord.value, options.id); - if (instance) { - const [el] = getRootElementsFromComponentInstance(instance); - if (typeof el.scrollIntoView === "function") el.scrollIntoView({ behavior: "smooth" }); - else { - const bounds = getComponentBoundingRect(instance); - const scrollTarget = document.createElement("div"); - const styles = { - ...getStyles(bounds), - position: "absolute" - }; - Object.assign(scrollTarget.style, styles); - document.body.appendChild(scrollTarget); - scrollTarget.scrollIntoView({ behavior: "smooth" }); - setTimeout(() => { - document.body.removeChild(scrollTarget); - }, 2e3); - } - setTimeout(() => { - const bounds = getComponentBoundingRect(instance); - if (bounds.width || bounds.height) { - const name = getInstanceName(instance); - const el = getContainerElement(); - el ? update({ - ...options, - name, - bounds - }) : create({ - ...options, - name, - bounds - }); - setTimeout(() => { - if (el) el.style.display = "none"; - }, 1500); - } - }, 1200); - } -} -target.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ ??= true; -function waitForInspectorInit(cb) { - let total = 0; - const timer = setInterval(() => { - if (target.__VUE_INSPECTOR__) { - clearInterval(timer); - total += 30; - cb(); - } - if (total >= 5e3) clearInterval(timer); - }, 30); -} -function setupInspector() { - const inspector = target.__VUE_INSPECTOR__; - const _openInEditor = inspector.openInEditor; - inspector.openInEditor = async (...params) => { - inspector.disable(); - _openInEditor(...params); - }; -} -function getComponentInspector() { - return new Promise((resolve) => { - function setup() { - setupInspector(); - resolve(target.__VUE_INSPECTOR__); - } - if (!target.__VUE_INSPECTOR__) waitForInspectorInit(() => { - setup(); - }); - else setup(); - }); -} -/** -* To prevent include a **HUGE** vue package in the final bundle of chrome ext / electron -* we stub the necessary vue module. -* This implementation is based on the 1c3327a0fa5983aa9078e3f7bb2330f572435425 commit -*/ -/** -* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/constants.ts#L17-L23) -*/ -var ReactiveFlags = /* @__PURE__ */ function(ReactiveFlags) { - ReactiveFlags["SKIP"] = "__v_skip"; - ReactiveFlags["IS_REACTIVE"] = "__v_isReactive"; - ReactiveFlags["IS_READONLY"] = "__v_isReadonly"; - ReactiveFlags["IS_SHALLOW"] = "__v_isShallow"; - ReactiveFlags["RAW"] = "__v_raw"; - return ReactiveFlags; -}({}); -/** -* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L330-L332) -*/ -function isReadonly(value) { - return !!(value && value[ReactiveFlags.IS_READONLY]); -} -/** -* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L312-L317) -*/ -function isReactive$1(value) { - if (isReadonly(value)) return isReactive$1(value[ReactiveFlags.RAW]); - return !!(value && value[ReactiveFlags.IS_REACTIVE]); -} -function isRef$1(r) { - return !!(r && r.__v_isRef === true); -} -/** -* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L372-L375) -*/ -function toRaw$1(observed) { - const raw = observed && observed[ReactiveFlags.RAW]; - return raw ? toRaw$1(raw) : observed; -} -var StateEditor = class { - constructor() { - this.refEditor = new RefStateEditor(); - } - set(object, path, value, cb) { - const sections = Array.isArray(path) ? path : path.split("."); - while (sections.length > 1) { - const section = sections.shift(); - if (object instanceof Map) object = object.get(section); - else if (object instanceof Set) object = Array.from(object.values())[section]; - else object = object[section]; - if (this.refEditor.isRef(object)) object = this.refEditor.get(object); - } - const field = sections[0]; - const item = this.refEditor.get(object)[field]; - if (cb) cb(object, field, value); - else if (this.refEditor.isRef(item)) this.refEditor.set(item, value); - else object[field] = value; - } - get(object, path) { - const sections = Array.isArray(path) ? path : path.split("."); - for (let i = 0; i < sections.length; i++) { - if (object instanceof Map) object = object.get(sections[i]); - else object = object[sections[i]]; - if (this.refEditor.isRef(object)) object = this.refEditor.get(object); - if (!object) return void 0; - } - return object; - } - has(object, path, parent = false) { - if (typeof object === "undefined") return false; - const sections = Array.isArray(path) ? path.slice() : path.split("."); - const size = !parent ? 1 : 2; - while (object && sections.length > size) { - const section = sections.shift(); - object = object[section]; - if (this.refEditor.isRef(object)) object = this.refEditor.get(object); - } - return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]); - } - createDefaultSetCallback(state) { - return (object, field, value) => { - if (state.remove || state.newKey) if (Array.isArray(object)) object.splice(field, 1); - else if (toRaw$1(object) instanceof Map) object.delete(field); - else if (toRaw$1(object) instanceof Set) object.delete(Array.from(object.values())[field]); - else Reflect.deleteProperty(object, field); - if (!state.remove) { - const target = object[state.newKey || field]; - if (this.refEditor.isRef(target)) this.refEditor.set(target, value); - else if (toRaw$1(object) instanceof Map) object.set(state.newKey || field, value); - else if (toRaw$1(object) instanceof Set) object.add(value); - else object[state.newKey || field] = value; - } - }; - } -}; -var RefStateEditor = class { - set(ref, value) { - if (isRef$1(ref)) ref.value = value; - else { - if (ref instanceof Set && Array.isArray(value)) { - ref.clear(); - value.forEach((v) => ref.add(v)); - return; - } - const currentKeys = Object.keys(value); - if (ref instanceof Map) { - const previousKeysSet = new Set(ref.keys()); - currentKeys.forEach((key) => { - ref.set(key, Reflect.get(value, key)); - previousKeysSet.delete(key); - }); - previousKeysSet.forEach((key) => ref.delete(key)); - return; - } - const previousKeysSet = new Set(Object.keys(ref)); - currentKeys.forEach((key) => { - Reflect.set(ref, key, Reflect.get(value, key)); - previousKeysSet.delete(key); - }); - previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key)); - } - } - get(ref) { - return isRef$1(ref) ? ref.value : ref; - } - isRef(ref) { - return isRef$1(ref) || isReactive$1(ref); - } -}; -new StateEditor(); -var TIMELINE_LAYERS_STATE_STORAGE_ID = "__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__"; -function getTimelineLayersStateFromStorage() { - if (typeof window === "undefined" || !isBrowser || typeof localStorage === "undefined" || localStorage === null) return { - recordingState: false, - mouseEventEnabled: false, - keyboardEventEnabled: false, - componentEventEnabled: false, - performanceEventEnabled: false, - selected: "" - }; - const state = typeof localStorage.getItem !== "undefined" ? localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID) : null; - return state ? JSON.parse(state) : { - recordingState: false, - mouseEventEnabled: false, - keyboardEventEnabled: false, - componentEventEnabled: false, - performanceEventEnabled: false, - selected: "" - }; -} -target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS ??= []; -var devtoolsTimelineLayers = new Proxy(target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, { get(target, prop, receiver) { - return Reflect.get(target, prop, receiver); -} }); -function addTimelineLayer(options, descriptor) { - devtoolsState.timelineLayersState[descriptor.id] = false; - devtoolsTimelineLayers.push({ - ...options, - descriptorId: descriptor.id, - appRecord: getAppRecord(descriptor.app) - }); -} -target.__VUE_DEVTOOLS_KIT_INSPECTOR__ ??= []; -var devtoolsInspector = new Proxy(target.__VUE_DEVTOOLS_KIT_INSPECTOR__, { get(target, prop, receiver) { - return Reflect.get(target, prop, receiver); -} }); -var callInspectorUpdatedHook = debounce(() => { - devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.SEND_INSPECTOR_TO_CLIENT, getActiveInspectors()); -}); -function addInspector(inspector, descriptor) { - devtoolsInspector.push({ - options: inspector, - descriptor, - treeFilterPlaceholder: inspector.treeFilterPlaceholder ?? "Search tree...", - stateFilterPlaceholder: inspector.stateFilterPlaceholder ?? "Search state...", - treeFilter: "", - selectedNodeId: "", - appRecord: getAppRecord(descriptor.app) - }); - callInspectorUpdatedHook(); -} -function getActiveInspectors() { - return devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== "components").map((inspector) => { - const descriptor = inspector.descriptor; - const options = inspector.options; - return { - id: options.id, - label: options.label, - logo: descriptor.logo, - icon: `custom-ic-baseline-${options?.icon?.replace(/_/g, "-")}`, - packageName: descriptor.packageName, - homepage: descriptor.homepage, - pluginId: descriptor.id - }; - }); -} -function getInspector(id, app) { - return devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true)); -} -var DevToolsV6PluginAPIHookKeys = /* @__PURE__ */ function(DevToolsV6PluginAPIHookKeys) { - DevToolsV6PluginAPIHookKeys["VISIT_COMPONENT_TREE"] = "visitComponentTree"; - DevToolsV6PluginAPIHookKeys["INSPECT_COMPONENT"] = "inspectComponent"; - DevToolsV6PluginAPIHookKeys["EDIT_COMPONENT_STATE"] = "editComponentState"; - DevToolsV6PluginAPIHookKeys["GET_INSPECTOR_TREE"] = "getInspectorTree"; - DevToolsV6PluginAPIHookKeys["GET_INSPECTOR_STATE"] = "getInspectorState"; - DevToolsV6PluginAPIHookKeys["EDIT_INSPECTOR_STATE"] = "editInspectorState"; - DevToolsV6PluginAPIHookKeys["INSPECT_TIMELINE_EVENT"] = "inspectTimelineEvent"; - DevToolsV6PluginAPIHookKeys["TIMELINE_CLEARED"] = "timelineCleared"; - DevToolsV6PluginAPIHookKeys["SET_PLUGIN_SETTINGS"] = "setPluginSettings"; - return DevToolsV6PluginAPIHookKeys; -}({}); -var DevToolsContextHookKeys = /* @__PURE__ */ function(DevToolsContextHookKeys) { - DevToolsContextHookKeys["ADD_INSPECTOR"] = "addInspector"; - DevToolsContextHookKeys["SEND_INSPECTOR_TREE"] = "sendInspectorTree"; - DevToolsContextHookKeys["SEND_INSPECTOR_STATE"] = "sendInspectorState"; - DevToolsContextHookKeys["CUSTOM_INSPECTOR_SELECT_NODE"] = "customInspectorSelectNode"; - DevToolsContextHookKeys["TIMELINE_LAYER_ADDED"] = "timelineLayerAdded"; - DevToolsContextHookKeys["TIMELINE_EVENT_ADDED"] = "timelineEventAdded"; - DevToolsContextHookKeys["GET_COMPONENT_INSTANCES"] = "getComponentInstances"; - DevToolsContextHookKeys["GET_COMPONENT_BOUNDS"] = "getComponentBounds"; - DevToolsContextHookKeys["GET_COMPONENT_NAME"] = "getComponentName"; - DevToolsContextHookKeys["COMPONENT_HIGHLIGHT"] = "componentHighlight"; - DevToolsContextHookKeys["COMPONENT_UNHIGHLIGHT"] = "componentUnhighlight"; - return DevToolsContextHookKeys; -}({}); -var DevToolsMessagingHookKeys = /* @__PURE__ */ function(DevToolsMessagingHookKeys) { - DevToolsMessagingHookKeys["SEND_INSPECTOR_TREE_TO_CLIENT"] = "sendInspectorTreeToClient"; - DevToolsMessagingHookKeys["SEND_INSPECTOR_STATE_TO_CLIENT"] = "sendInspectorStateToClient"; - DevToolsMessagingHookKeys["SEND_TIMELINE_EVENT_TO_CLIENT"] = "sendTimelineEventToClient"; - DevToolsMessagingHookKeys["SEND_INSPECTOR_TO_CLIENT"] = "sendInspectorToClient"; - DevToolsMessagingHookKeys["SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT"] = "sendActiveAppUpdatedToClient"; - DevToolsMessagingHookKeys["DEVTOOLS_STATE_UPDATED"] = "devtoolsStateUpdated"; - DevToolsMessagingHookKeys["DEVTOOLS_CONNECTED_UPDATED"] = "devtoolsConnectedUpdated"; - DevToolsMessagingHookKeys["ROUTER_INFO_UPDATED"] = "routerInfoUpdated"; - return DevToolsMessagingHookKeys; -}({}); -function createDevToolsCtxHooks() { - const hooks = createHooks(); - hooks.hook(DevToolsContextHookKeys.ADD_INSPECTOR, ({ inspector, plugin }) => { - addInspector(inspector, plugin.descriptor); - }); - const debounceSendInspectorTree = debounce(async ({ inspectorId, plugin }) => { - if (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return; - const inspector = getInspector(inspectorId, plugin.descriptor.app); - const _payload = { - app: plugin.descriptor.app, - inspectorId, - filter: inspector?.treeFilter || "", - rootNodes: [] - }; - await new Promise((resolve) => { - hooks.callHookWith(async (callbacks) => { - await Promise.all(callbacks.map((cb) => cb(_payload))); - resolve(); - }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE); - }); - hooks.callHookWith(async (callbacks) => { - await Promise.all(callbacks.map((cb) => cb({ - inspectorId, - rootNodes: _payload.rootNodes - }))); - }, DevToolsMessagingHookKeys.SEND_INSPECTOR_TREE_TO_CLIENT); - }, 120); - hooks.hook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, debounceSendInspectorTree); - const debounceSendInspectorState = debounce(async ({ inspectorId, plugin }) => { - if (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return; - const inspector = getInspector(inspectorId, plugin.descriptor.app); - const _payload = { - app: plugin.descriptor.app, - inspectorId, - nodeId: inspector?.selectedNodeId || "", - state: null - }; - const ctx = { currentTab: `custom-inspector:${inspectorId}` }; - if (_payload.nodeId) await new Promise((resolve) => { - hooks.callHookWith(async (callbacks) => { - await Promise.all(callbacks.map((cb) => cb(_payload, ctx))); - resolve(); - }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE); - }); - hooks.callHookWith(async (callbacks) => { - await Promise.all(callbacks.map((cb) => cb({ - inspectorId, - nodeId: _payload.nodeId, - state: _payload.state - }))); - }, DevToolsMessagingHookKeys.SEND_INSPECTOR_STATE_TO_CLIENT); - }, 120); - hooks.hook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, debounceSendInspectorState); - hooks.hook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, ({ inspectorId, nodeId, plugin }) => { - const inspector = getInspector(inspectorId, plugin.descriptor.app); - if (!inspector) return; - inspector.selectedNodeId = nodeId; - }); - hooks.hook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, ({ options, plugin }) => { - addTimelineLayer(options, plugin.descriptor); - }); - hooks.hook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, ({ options, plugin }) => { - if (devtoolsState.highPerfModeEnabled || !devtoolsState.timelineLayersState?.[plugin.descriptor.id] && ![ - "performance", - "component-event", - "keyboard", - "mouse" - ].includes(options.layerId)) return; - hooks.callHookWith(async (callbacks) => { - await Promise.all(callbacks.map((cb) => cb(options))); - }, DevToolsMessagingHookKeys.SEND_TIMELINE_EVENT_TO_CLIENT); - }); - hooks.hook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, async ({ app }) => { - const appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__; - if (!appRecord) return null; - const appId = appRecord.id.toString(); - return [...appRecord.instanceMap].filter(([key]) => key.split(":")[0] === appId).map(([, instance]) => instance); - }); - hooks.hook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, async ({ instance }) => { - return getComponentBoundingRect(instance); - }); - hooks.hook(DevToolsContextHookKeys.GET_COMPONENT_NAME, ({ instance }) => { - return getInstanceName(instance); - }); - hooks.hook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, ({ uid }) => { - const instance = activeAppRecord.value.instanceMap.get(uid); - if (instance) highlight(instance); - }); - hooks.hook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT, () => { - unhighlight(); - }); - return hooks; -} -target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ ??= []; -target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ ??= {}; -target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ ??= ""; -target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ ??= []; -target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ ??= []; -var STATE_KEY = "__VUE_DEVTOOLS_KIT_GLOBAL_STATE__"; -function initStateFactory() { - return { - connected: false, - clientConnected: false, - vitePluginDetected: true, - appRecords: [], - activeAppRecordId: "", - tabs: [], - commands: [], - highPerfModeEnabled: true, - devtoolsClientDetected: {}, - perfUniqueGroupId: 0, - timelineLayersState: getTimelineLayersStateFromStorage() - }; -} -target[STATE_KEY] ??= initStateFactory(); -var callStateUpdatedHook = debounce((state) => { - devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_STATE_UPDATED, { state }); -}); -debounce((state, oldState) => { - devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, { - state, - oldState - }); -}); -var devtoolsAppRecords = new Proxy(target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, { get(_target, prop, receiver) { - if (prop === "value") return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__; - return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop]; -} }); -var activeAppRecord = new Proxy(target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, { get(_target, prop, receiver) { - if (prop === "value") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__; - else if (prop === "id") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__; - return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop]; -} }); -function updateAllStates() { - callStateUpdatedHook({ - ...target[STATE_KEY], - appRecords: devtoolsAppRecords.value, - activeAppRecordId: activeAppRecord.id, - tabs: target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__, - commands: target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ - }); -} -function setActiveAppRecord(app) { - target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app; - updateAllStates(); -} -function setActiveAppRecordId(id) { - target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id; - updateAllStates(); -} -var devtoolsState = new Proxy(target[STATE_KEY], { - get(target$3, property) { - if (property === "appRecords") return devtoolsAppRecords; - else if (property === "activeAppRecordId") return activeAppRecord.id; - else if (property === "tabs") return target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__; - else if (property === "commands") return target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; - return target[STATE_KEY][property]; - }, - deleteProperty(target, property) { - delete target[property]; - return true; - }, - set(target$4, property, value) { - target$4[property] = value; - target[STATE_KEY][property] = value; - return true; - } -}); -function onDevToolsConnected(fn) { - return new Promise((resolve) => { - if (devtoolsState.connected) { - fn(); - resolve(); - } - devtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => { - if (state.connected) { - fn(); - resolve(); - } - }); - }); -} -var resolveIcon = (icon) => { - if (!icon) return; - if (icon.startsWith("baseline-")) return `custom-ic-${icon}`; - if (icon.startsWith("i-") || isUrlString(icon)) return icon; - return `custom-ic-baseline-${icon}`; -}; -function addCustomTab(tab) { - const tabs = target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__; - if (tabs.some((t) => t.name === tab.name)) return; - tabs.push({ - ...tab, - icon: resolveIcon(tab.icon) - }); - updateAllStates(); -} -function addCustomCommand(action) { - const commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; - if (commands.some((t) => t.id === action.id)) return; - commands.push({ - ...action, - icon: resolveIcon(action.icon), - children: action.children ? action.children.map((child) => ({ - ...child, - icon: resolveIcon(child.icon) - })) : void 0 - }); - updateAllStates(); -} -function removeCustomCommand(actionId) { - const commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; - const index = commands.findIndex((t) => t.id === actionId); - if (index === -1) return; - commands.splice(index, 1); - updateAllStates(); -} -function openInEditor(options = {}) { - const { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options; - if (file) { - if (host === "chrome-extension") { - const fileName = file.replace(/\\/g, "\\\\"); - const _baseUrl = window.VUE_DEVTOOLS_CONFIG?.openInEditorHost ?? "/"; - fetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => { - if (!response.ok) { - const msg = `Opening component ${fileName} failed`; - console.log(`%c${msg}`, "color:red"); - } - }); - } else if (devtoolsState.vitePluginDetected) { - const _baseUrl = target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ ?? baseUrl; - target.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column); - } - } -} -target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ ??= []; -var devtoolsPluginBuffer = new Proxy(target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, { get(target, prop, receiver) { - return Reflect.get(target, prop, receiver); -} }); -function _getSettings(settings) { - const _settings = {}; - Object.keys(settings).forEach((key) => { - _settings[key] = settings[key].defaultValue; - }); - return _settings; -} -function getPluginLocalKey(pluginId) { - return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`; -} -function getPluginSettingsOptions(pluginId) { - return (devtoolsPluginBuffer.find((item) => item[0].id === pluginId && !!item[0]?.settings)?.[0] ?? null)?.settings ?? null; -} -function getPluginSettings(pluginId, fallbackValue) { - const localKey = getPluginLocalKey(pluginId); - if (localKey) { - const localSettings = localStorage.getItem(localKey); - if (localSettings) return JSON.parse(localSettings); - } - if (pluginId) return _getSettings((devtoolsPluginBuffer.find((item) => item[0].id === pluginId)?.[0] ?? null)?.settings ?? {}); - return _getSettings(fallbackValue); -} -function initPluginSettings(pluginId, settings) { - const localKey = getPluginLocalKey(pluginId); - if (!localStorage.getItem(localKey)) localStorage.setItem(localKey, JSON.stringify(_getSettings(settings))); -} -function setPluginSettings(pluginId, key, value) { - const localKey = getPluginLocalKey(pluginId); - const localSettings = localStorage.getItem(localKey); - const parsedLocalSettings = JSON.parse(localSettings || "{}"); - const updated = { - ...parsedLocalSettings, - [key]: value - }; - localStorage.setItem(localKey, JSON.stringify(updated)); - devtoolsContext.hooks.callHookWith((callbacks) => { - callbacks.forEach((cb) => cb({ - pluginId, - key, - oldValue: parsedLocalSettings[key], - newValue: value, - settings: updated - })); - }, DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS); -} -var DevToolsHooks = /* @__PURE__ */ function(DevToolsHooks) { - DevToolsHooks["APP_INIT"] = "app:init"; - DevToolsHooks["APP_UNMOUNT"] = "app:unmount"; - DevToolsHooks["COMPONENT_UPDATED"] = "component:updated"; - DevToolsHooks["COMPONENT_ADDED"] = "component:added"; - DevToolsHooks["COMPONENT_REMOVED"] = "component:removed"; - DevToolsHooks["COMPONENT_EMIT"] = "component:emit"; - DevToolsHooks["PERFORMANCE_START"] = "perf:start"; - DevToolsHooks["PERFORMANCE_END"] = "perf:end"; - DevToolsHooks["ADD_ROUTE"] = "router:add-route"; - DevToolsHooks["REMOVE_ROUTE"] = "router:remove-route"; - DevToolsHooks["RENDER_TRACKED"] = "render:tracked"; - DevToolsHooks["RENDER_TRIGGERED"] = "render:triggered"; - DevToolsHooks["APP_CONNECTED"] = "app:connected"; - DevToolsHooks["SETUP_DEVTOOLS_PLUGIN"] = "devtools-plugin:setup"; - return DevToolsHooks; -}({}); -var devtoolsHooks = target.__VUE_DEVTOOLS_HOOK ??= createHooks(); -var hook = { - on: { - vueAppInit(fn) { - devtoolsHooks.hook(DevToolsHooks.APP_INIT, fn); - }, - vueAppUnmount(fn) { - devtoolsHooks.hook(DevToolsHooks.APP_UNMOUNT, fn); - }, - vueAppConnected(fn) { - devtoolsHooks.hook(DevToolsHooks.APP_CONNECTED, fn); - }, - componentAdded(fn) { - return devtoolsHooks.hook(DevToolsHooks.COMPONENT_ADDED, fn); - }, - componentEmit(fn) { - return devtoolsHooks.hook(DevToolsHooks.COMPONENT_EMIT, fn); - }, - componentUpdated(fn) { - return devtoolsHooks.hook(DevToolsHooks.COMPONENT_UPDATED, fn); - }, - componentRemoved(fn) { - return devtoolsHooks.hook(DevToolsHooks.COMPONENT_REMOVED, fn); - }, - setupDevtoolsPlugin(fn) { - devtoolsHooks.hook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, fn); - }, - perfStart(fn) { - return devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_START, fn); - }, - perfEnd(fn) { - return devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_END, fn); - } - }, - setupDevToolsPlugin(pluginDescriptor, setupFn) { - return devtoolsHooks.callHook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn); - } -}; -var DevToolsV6PluginAPI = class { - constructor({ plugin, ctx }) { - this.hooks = ctx.hooks; - this.plugin = plugin; - } - get on() { - return { - visitComponentTree: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, handler); - }, - inspectComponent: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_COMPONENT, handler); - }, - editComponentState: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_COMPONENT_STATE, handler); - }, - getInspectorTree: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE, handler); - }, - getInspectorState: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE, handler); - }, - editInspectorState: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE, handler); - }, - inspectTimelineEvent: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_TIMELINE_EVENT, handler); - }, - timelineCleared: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.TIMELINE_CLEARED, handler); - }, - setPluginSettings: (handler) => { - this.hooks.hook(DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS, handler); - } - }; - } - notifyComponentUpdate(instance) { - if (devtoolsState.highPerfModeEnabled) return; - const inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName); - if (inspector?.id) { - if (instance) { - const args = [ - instance.appContext.app, - instance.uid, - instance.parent?.uid, - instance - ]; - devtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED, ...args); - } else devtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED); - this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, { - inspectorId: inspector.id, - plugin: this.plugin - }); - } - } - addInspector(options) { - this.hooks.callHook(DevToolsContextHookKeys.ADD_INSPECTOR, { - inspector: options, - plugin: this.plugin - }); - if (this.plugin.descriptor.settings) initPluginSettings(options.id, this.plugin.descriptor.settings); - } - sendInspectorTree(inspectorId) { - if (devtoolsState.highPerfModeEnabled) return; - this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, { - inspectorId, - plugin: this.plugin - }); - } - sendInspectorState(inspectorId) { - if (devtoolsState.highPerfModeEnabled) return; - this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, { - inspectorId, - plugin: this.plugin - }); - } - selectInspectorNode(inspectorId, nodeId) { - this.hooks.callHook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, { - inspectorId, - nodeId, - plugin: this.plugin - }); - } - visitComponentTree(payload) { - return this.hooks.callHook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, payload); - } - now() { - if (devtoolsState.highPerfModeEnabled) return 0; - return Date.now(); - } - addTimelineLayer(options) { - this.hooks.callHook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, { - options, - plugin: this.plugin - }); - } - addTimelineEvent(options) { - if (devtoolsState.highPerfModeEnabled) return; - this.hooks.callHook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, { - options, - plugin: this.plugin - }); - } - getSettings(pluginId) { - return getPluginSettings(pluginId ?? this.plugin.descriptor.id, this.plugin.descriptor.settings); - } - getComponentInstances(app) { - return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, { app }); - } - getComponentBounds(instance) { - return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, { instance }); - } - getComponentName(instance) { - return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_NAME, { instance }); - } - highlightElement(instance) { - const uid = instance.__VUE_DEVTOOLS_NEXT_UID__; - return this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, { uid }); - } - unhighlightElement() { - return this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT); - } -}; -var DevToolsPluginAPI = DevToolsV6PluginAPI; -var UNDEFINED = "__vue_devtool_undefined__"; -var INFINITY = "__vue_devtool_infinity__"; -var NEGATIVE_INFINITY = "__vue_devtool_negative_infinity__"; -var NAN = "__vue_devtool_nan__"; -Object.entries({ - [UNDEFINED]: "undefined", - [NAN]: "NaN", - [INFINITY]: "Infinity", - [NEGATIVE_INFINITY]: "-Infinity" -}).reduce((acc, [key, value]) => { - acc[value] = key; - return acc; -}, {}); -target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ ??= /* @__PURE__ */ new Set(); -function setupDevToolsPlugin(pluginDescriptor, setupFn) { - return hook.setupDevToolsPlugin(pluginDescriptor, setupFn); -} -function callDevToolsPluginSetupFn(plugin, app) { - const [pluginDescriptor, setupFn] = plugin; - if (pluginDescriptor.app !== app) return; - const api = new DevToolsPluginAPI({ - plugin: { - setupFn, - descriptor: pluginDescriptor - }, - ctx: devtoolsContext - }); - if (pluginDescriptor.packageName === "vuex") api.on.editInspectorState((payload) => { - api.sendInspectorState(payload.inspectorId); - }); - setupFn(api); -} -function registerDevToolsPlugin(app, options) { - if (target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) return; - if (devtoolsState.highPerfModeEnabled && !options?.inspectingComponent) return; - target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app); - devtoolsPluginBuffer.forEach((plugin) => { - callDevToolsPluginSetupFn(plugin, app); - }); -} -var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__"; -var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__"; -target[ROUTER_INFO_KEY] ??= { - currentRoute: null, - routes: [] -}; -target[ROUTER_KEY] ??= {}; -new Proxy(target[ROUTER_INFO_KEY], { get(target$1, property) { - return target[ROUTER_INFO_KEY][property]; -} }); -new Proxy(target[ROUTER_KEY], { get(target$2, property) { - if (property === "value") return target[ROUTER_KEY]; -} }); -function getRoutes(router) { - const routesMap = /* @__PURE__ */ new Map(); - return (router?.getRoutes() || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1)); -} -function filterRoutes(routes) { - return routes.map((item) => { - let { path, name, children, meta } = item; - if (children?.length) children = filterRoutes(children); - return { - path, - name, - children, - meta - }; - }); -} -function filterCurrentRoute(route) { - if (route) { - const { fullPath, hash, href, path, name, matched, params, query } = route; - return { - fullPath, - hash, - href, - path, - name, - params, - query, - matched: filterRoutes(matched) - }; - } - return route; -} -function normalizeRouterInfo(appRecord, activeAppRecord) { - function init() { - const router = appRecord.app?.config.globalProperties.$router; - const currentRoute = filterCurrentRoute(router?.currentRoute.value); - const routes = filterRoutes(getRoutes(router)); - const c = console.warn; - console.warn = () => {}; - target[ROUTER_INFO_KEY] = { - currentRoute: currentRoute ? deepClone(currentRoute) : {}, - routes: deepClone(routes) - }; - target[ROUTER_KEY] = router; - console.warn = c; - } - init(); - hook.on.componentUpdated(debounce(() => { - if (activeAppRecord.value?.app !== appRecord.app) return; - init(); - if (devtoolsState.highPerfModeEnabled) return; - devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.ROUTER_INFO_UPDATED, { state: target[ROUTER_INFO_KEY] }); - }, 200)); -} -function createDevToolsApi(hooks) { - return { - async getInspectorTree(payload) { - const _payload = { - ...payload, - app: activeAppRecord.value.app, - rootNodes: [] - }; - await new Promise((resolve) => { - hooks.callHookWith(async (callbacks) => { - await Promise.all(callbacks.map((cb) => cb(_payload))); - resolve(); - }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE); - }); - return _payload.rootNodes; - }, - async getInspectorState(payload) { - const _payload = { - ...payload, - app: activeAppRecord.value.app, - state: null - }; - const ctx = { currentTab: `custom-inspector:${payload.inspectorId}` }; - await new Promise((resolve) => { - hooks.callHookWith(async (callbacks) => { - await Promise.all(callbacks.map((cb) => cb(_payload, ctx))); - resolve(); - }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE); - }); - return _payload.state; - }, - editInspectorState(payload) { - const stateEditor = new StateEditor(); - const _payload = { - ...payload, - app: activeAppRecord.value.app, - set: (obj, path = payload.path, value = payload.state.value, cb) => { - stateEditor.set(obj, path, value, cb || stateEditor.createDefaultSetCallback(payload.state)); - } - }; - hooks.callHookWith((callbacks) => { - callbacks.forEach((cb) => cb(_payload)); - }, DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE); - }, - sendInspectorState(inspectorId) { - const inspector = getInspector(inspectorId); - hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, { - inspectorId, - plugin: { - descriptor: inspector.descriptor, - setupFn: () => ({}) - } - }); - }, - inspectComponentInspector() { - return inspectComponentHighLighter(); - }, - cancelInspectComponentInspector() { - return cancelInspectComponentHighLighter(); - }, - getComponentRenderCode(id) { - const instance = getComponentInstance(activeAppRecord.value, id); - if (instance) return !(typeof instance?.type === "function") ? instance.render.toString() : instance.type.toString(); - }, - scrollToComponent(id) { - return scrollToComponent({ id }); - }, - openInEditor, - getVueInspector: getComponentInspector, - toggleApp(id, options) { - const appRecord = devtoolsAppRecords.value.find((record) => record.id === id); - if (appRecord) { - setActiveAppRecordId(id); - setActiveAppRecord(appRecord); - normalizeRouterInfo(appRecord, activeAppRecord); - callInspectorUpdatedHook(); - registerDevToolsPlugin(appRecord.app, options); - } - }, - inspectDOM(instanceId) { - const instance = getComponentInstance(activeAppRecord.value, instanceId); - if (instance) { - const [el] = getRootElementsFromComponentInstance(instance); - if (el) target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el; - } - }, - updatePluginSettings(pluginId, key, value) { - setPluginSettings(pluginId, key, value); - }, - getPluginSettings(pluginId) { - return { - options: getPluginSettingsOptions(pluginId), - values: getPluginSettings(pluginId) - }; - } - }; -} -target.__VUE_DEVTOOLS_ENV__ ??= { vitePluginDetected: false }; -var hooks = createDevToolsCtxHooks(); -target.__VUE_DEVTOOLS_KIT_CONTEXT__ ??= { - hooks, - get state() { - return { - ...devtoolsState, - activeAppRecordId: activeAppRecord.id, - activeAppRecord: activeAppRecord.value, - appRecords: devtoolsAppRecords.value - }; - }, - api: createDevToolsApi(hooks) -}; -var devtoolsContext = target.__VUE_DEVTOOLS_KIT_CONTEXT__; -var require_speakingurl$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => { - (function(root) { - "use strict"; - /** - * charMap - * @type {Object} - */ - var charMap = { - "À": "A", - "Á": "A", - "Â": "A", - "Ã": "A", - "Ä": "Ae", - "Å": "A", - "Æ": "AE", - "Ç": "C", - "È": "E", - "É": "E", - "Ê": "E", - "Ë": "E", - "Ì": "I", - "Í": "I", - "Î": "I", - "Ï": "I", - "Ð": "D", - "Ñ": "N", - "Ò": "O", - "Ó": "O", - "Ô": "O", - "Õ": "O", - "Ö": "Oe", - "Ő": "O", - "Ø": "O", - "Ù": "U", - "Ú": "U", - "Û": "U", - "Ü": "Ue", - "Ű": "U", - "Ý": "Y", - "Þ": "TH", - "ß": "ss", - "à": "a", - "á": "a", - "â": "a", - "ã": "a", - "ä": "ae", - "å": "a", - "æ": "ae", - "ç": "c", - "è": "e", - "é": "e", - "ê": "e", - "ë": "e", - "ì": "i", - "í": "i", - "î": "i", - "ï": "i", - "ð": "d", - "ñ": "n", - "ò": "o", - "ó": "o", - "ô": "o", - "õ": "o", - "ö": "oe", - "ő": "o", - "ø": "o", - "ù": "u", - "ú": "u", - "û": "u", - "ü": "ue", - "ű": "u", - "ý": "y", - "þ": "th", - "ÿ": "y", - "ẞ": "SS", - "ا": "a", - "أ": "a", - "إ": "i", - "آ": "aa", - "ؤ": "u", - "ئ": "e", - "ء": "a", - "ب": "b", - "ت": "t", - "ث": "th", - "ج": "j", - "ح": "h", - "خ": "kh", - "د": "d", - "ذ": "th", - "ر": "r", - "ز": "z", - "س": "s", - "ش": "sh", - "ص": "s", - "ض": "dh", - "ط": "t", - "ظ": "z", - "ع": "a", - "غ": "gh", - "ف": "f", - "ق": "q", - "ك": "k", - "ل": "l", - "م": "m", - "ن": "n", - "ه": "h", - "و": "w", - "ي": "y", - "ى": "a", - "ة": "h", - "ﻻ": "la", - "ﻷ": "laa", - "ﻹ": "lai", - "ﻵ": "laa", - "گ": "g", - "چ": "ch", - "پ": "p", - "ژ": "zh", - "ک": "k", - "ی": "y", - "َ": "a", - "ً": "an", - "ِ": "e", - "ٍ": "en", - "ُ": "u", - "ٌ": "on", - "ْ": "", - "٠": "0", - "١": "1", - "٢": "2", - "٣": "3", - "٤": "4", - "٥": "5", - "٦": "6", - "٧": "7", - "٨": "8", - "٩": "9", - "۰": "0", - "۱": "1", - "۲": "2", - "۳": "3", - "۴": "4", - "۵": "5", - "۶": "6", - "۷": "7", - "۸": "8", - "۹": "9", - "က": "k", - "ခ": "kh", - "ဂ": "g", - "ဃ": "ga", - "င": "ng", - "စ": "s", - "ဆ": "sa", - "ဇ": "z", - "စျ": "za", - "ည": "ny", - "ဋ": "t", - "ဌ": "ta", - "ဍ": "d", - "ဎ": "da", - "ဏ": "na", - "တ": "t", - "ထ": "ta", - "ဒ": "d", - "ဓ": "da", - "န": "n", - "ပ": "p", - "ဖ": "pa", - "ဗ": "b", - "ဘ": "ba", - "မ": "m", - "ယ": "y", - "ရ": "ya", - "လ": "l", - "ဝ": "w", - "သ": "th", - "ဟ": "h", - "ဠ": "la", - "အ": "a", - "ြ": "y", - "ျ": "ya", - "ွ": "w", - "ြွ": "yw", - "ျွ": "ywa", - "ှ": "h", - "ဧ": "e", - "၏": "-e", - "ဣ": "i", - "ဤ": "-i", - "ဉ": "u", - "ဦ": "-u", - "ဩ": "aw", - "သြော": "aw", - "ဪ": "aw", - "၀": "0", - "၁": "1", - "၂": "2", - "၃": "3", - "၄": "4", - "၅": "5", - "၆": "6", - "၇": "7", - "၈": "8", - "၉": "9", - "္": "", - "့": "", - "း": "", - "č": "c", - "ď": "d", - "ě": "e", - "ň": "n", - "ř": "r", - "š": "s", - "ť": "t", - "ů": "u", - "ž": "z", - "Č": "C", - "Ď": "D", - "Ě": "E", - "Ň": "N", - "Ř": "R", - "Š": "S", - "Ť": "T", - "Ů": "U", - "Ž": "Z", - "ހ": "h", - "ށ": "sh", - "ނ": "n", - "ރ": "r", - "ބ": "b", - "ޅ": "lh", - "ކ": "k", - "އ": "a", - "ވ": "v", - "މ": "m", - "ފ": "f", - "ދ": "dh", - "ތ": "th", - "ލ": "l", - "ގ": "g", - "ޏ": "gn", - "ސ": "s", - "ޑ": "d", - "ޒ": "z", - "ޓ": "t", - "ޔ": "y", - "ޕ": "p", - "ޖ": "j", - "ޗ": "ch", - "ޘ": "tt", - "ޙ": "hh", - "ޚ": "kh", - "ޛ": "th", - "ޜ": "z", - "ޝ": "sh", - "ޞ": "s", - "ޟ": "d", - "ޠ": "t", - "ޡ": "z", - "ޢ": "a", - "ޣ": "gh", - "ޤ": "q", - "ޥ": "w", - "ަ": "a", - "ާ": "aa", - "ި": "i", - "ީ": "ee", - "ު": "u", - "ޫ": "oo", - "ެ": "e", - "ޭ": "ey", - "ޮ": "o", - "ޯ": "oa", - "ް": "", - "ა": "a", - "ბ": "b", - "გ": "g", - "დ": "d", - "ე": "e", - "ვ": "v", - "ზ": "z", - "თ": "t", - "ი": "i", - "კ": "k", - "ლ": "l", - "მ": "m", - "ნ": "n", - "ო": "o", - "პ": "p", - "ჟ": "zh", - "რ": "r", - "ს": "s", - "ტ": "t", - "უ": "u", - "ფ": "p", - "ქ": "k", - "ღ": "gh", - "ყ": "q", - "შ": "sh", - "ჩ": "ch", - "ც": "ts", - "ძ": "dz", - "წ": "ts", - "ჭ": "ch", - "ხ": "kh", - "ჯ": "j", - "ჰ": "h", - "α": "a", - "β": "v", - "γ": "g", - "δ": "d", - "ε": "e", - "ζ": "z", - "η": "i", - "θ": "th", - "ι": "i", - "κ": "k", - "λ": "l", - "μ": "m", - "ν": "n", - "ξ": "ks", - "ο": "o", - "π": "p", - "ρ": "r", - "σ": "s", - "τ": "t", - "υ": "y", - "φ": "f", - "χ": "x", - "ψ": "ps", - "ω": "o", - "ά": "a", - "έ": "e", - "ί": "i", - "ό": "o", - "ύ": "y", - "ή": "i", - "ώ": "o", - "ς": "s", - "ϊ": "i", - "ΰ": "y", - "ϋ": "y", - "ΐ": "i", - "Α": "A", - "Β": "B", - "Γ": "G", - "Δ": "D", - "Ε": "E", - "Ζ": "Z", - "Η": "I", - "Θ": "TH", - "Ι": "I", - "Κ": "K", - "Λ": "L", - "Μ": "M", - "Ν": "N", - "Ξ": "KS", - "Ο": "O", - "Π": "P", - "Ρ": "R", - "Σ": "S", - "Τ": "T", - "Υ": "Y", - "Φ": "F", - "Χ": "X", - "Ψ": "PS", - "Ω": "O", - "Ά": "A", - "Έ": "E", - "Ί": "I", - "Ό": "O", - "Ύ": "Y", - "Ή": "I", - "Ώ": "O", - "Ϊ": "I", - "Ϋ": "Y", - "ā": "a", - "ē": "e", - "ģ": "g", - "ī": "i", - "ķ": "k", - "ļ": "l", - "ņ": "n", - "ū": "u", - "Ā": "A", - "Ē": "E", - "Ģ": "G", - "Ī": "I", - "Ķ": "k", - "Ļ": "L", - "Ņ": "N", - "Ū": "U", - "Ќ": "Kj", - "ќ": "kj", - "Љ": "Lj", - "љ": "lj", - "Њ": "Nj", - "њ": "nj", - "Тс": "Ts", - "тс": "ts", - "ą": "a", - "ć": "c", - "ę": "e", - "ł": "l", - "ń": "n", - "ś": "s", - "ź": "z", - "ż": "z", - "Ą": "A", - "Ć": "C", - "Ę": "E", - "Ł": "L", - "Ń": "N", - "Ś": "S", - "Ź": "Z", - "Ż": "Z", - "Є": "Ye", - "І": "I", - "Ї": "Yi", - "Ґ": "G", - "є": "ye", - "і": "i", - "ї": "yi", - "ґ": "g", - "ă": "a", - "Ă": "A", - "ș": "s", - "Ș": "S", - "ț": "t", - "Ț": "T", - "ţ": "t", - "Ţ": "T", - "а": "a", - "б": "b", - "в": "v", - "г": "g", - "д": "d", - "е": "e", - "ё": "yo", - "ж": "zh", - "з": "z", - "и": "i", - "й": "i", - "к": "k", - "л": "l", - "м": "m", - "н": "n", - "о": "o", - "п": "p", - "р": "r", - "с": "s", - "т": "t", - "у": "u", - "ф": "f", - "х": "kh", - "ц": "c", - "ч": "ch", - "ш": "sh", - "щ": "sh", - "ъ": "", - "ы": "y", - "ь": "", - "э": "e", - "ю": "yu", - "я": "ya", - "А": "A", - "Б": "B", - "В": "V", - "Г": "G", - "Д": "D", - "Е": "E", - "Ё": "Yo", - "Ж": "Zh", - "З": "Z", - "И": "I", - "Й": "I", - "К": "K", - "Л": "L", - "М": "M", - "Н": "N", - "О": "O", - "П": "P", - "Р": "R", - "С": "S", - "Т": "T", - "У": "U", - "Ф": "F", - "Х": "Kh", - "Ц": "C", - "Ч": "Ch", - "Ш": "Sh", - "Щ": "Sh", - "Ъ": "", - "Ы": "Y", - "Ь": "", - "Э": "E", - "Ю": "Yu", - "Я": "Ya", - "ђ": "dj", - "ј": "j", - "ћ": "c", - "џ": "dz", - "Ђ": "Dj", - "Ј": "j", - "Ћ": "C", - "Џ": "Dz", - "ľ": "l", - "ĺ": "l", - "ŕ": "r", - "Ľ": "L", - "Ĺ": "L", - "Ŕ": "R", - "ş": "s", - "Ş": "S", - "ı": "i", - "İ": "I", - "ğ": "g", - "Ğ": "G", - "ả": "a", - "Ả": "A", - "ẳ": "a", - "Ẳ": "A", - "ẩ": "a", - "Ẩ": "A", - "đ": "d", - "Đ": "D", - "ẹ": "e", - "Ẹ": "E", - "ẽ": "e", - "Ẽ": "E", - "ẻ": "e", - "Ẻ": "E", - "ế": "e", - "Ế": "E", - "ề": "e", - "Ề": "E", - "ệ": "e", - "Ệ": "E", - "ễ": "e", - "Ễ": "E", - "ể": "e", - "Ể": "E", - "ỏ": "o", - "ọ": "o", - "Ọ": "o", - "ố": "o", - "Ố": "O", - "ồ": "o", - "Ồ": "O", - "ổ": "o", - "Ổ": "O", - "ộ": "o", - "Ộ": "O", - "ỗ": "o", - "Ỗ": "O", - "ơ": "o", - "Ơ": "O", - "ớ": "o", - "Ớ": "O", - "ờ": "o", - "Ờ": "O", - "ợ": "o", - "Ợ": "O", - "ỡ": "o", - "Ỡ": "O", - "Ở": "o", - "ở": "o", - "ị": "i", - "Ị": "I", - "ĩ": "i", - "Ĩ": "I", - "ỉ": "i", - "Ỉ": "i", - "ủ": "u", - "Ủ": "U", - "ụ": "u", - "Ụ": "U", - "ũ": "u", - "Ũ": "U", - "ư": "u", - "Ư": "U", - "ứ": "u", - "Ứ": "U", - "ừ": "u", - "Ừ": "U", - "ự": "u", - "Ự": "U", - "ữ": "u", - "Ữ": "U", - "ử": "u", - "Ử": "ư", - "ỷ": "y", - "Ỷ": "y", - "ỳ": "y", - "Ỳ": "Y", - "ỵ": "y", - "Ỵ": "Y", - "ỹ": "y", - "Ỹ": "Y", - "ạ": "a", - "Ạ": "A", - "ấ": "a", - "Ấ": "A", - "ầ": "a", - "Ầ": "A", - "ậ": "a", - "Ậ": "A", - "ẫ": "a", - "Ẫ": "A", - "ắ": "a", - "Ắ": "A", - "ằ": "a", - "Ằ": "A", - "ặ": "a", - "Ặ": "A", - "ẵ": "a", - "Ẵ": "A", - "⓪": "0", - "①": "1", - "②": "2", - "③": "3", - "④": "4", - "⑤": "5", - "⑥": "6", - "⑦": "7", - "⑧": "8", - "⑨": "9", - "⑩": "10", - "⑪": "11", - "⑫": "12", - "⑬": "13", - "⑭": "14", - "⑮": "15", - "⑯": "16", - "⑰": "17", - "⑱": "18", - "⑲": "18", - "⑳": "18", - "⓵": "1", - "⓶": "2", - "⓷": "3", - "⓸": "4", - "⓹": "5", - "⓺": "6", - "⓻": "7", - "⓼": "8", - "⓽": "9", - "⓾": "10", - "⓿": "0", - "⓫": "11", - "⓬": "12", - "⓭": "13", - "⓮": "14", - "⓯": "15", - "⓰": "16", - "⓱": "17", - "⓲": "18", - "⓳": "19", - "⓴": "20", - "Ⓐ": "A", - "Ⓑ": "B", - "Ⓒ": "C", - "Ⓓ": "D", - "Ⓔ": "E", - "Ⓕ": "F", - "Ⓖ": "G", - "Ⓗ": "H", - "Ⓘ": "I", - "Ⓙ": "J", - "Ⓚ": "K", - "Ⓛ": "L", - "Ⓜ": "M", - "Ⓝ": "N", - "Ⓞ": "O", - "Ⓟ": "P", - "Ⓠ": "Q", - "Ⓡ": "R", - "Ⓢ": "S", - "Ⓣ": "T", - "Ⓤ": "U", - "Ⓥ": "V", - "Ⓦ": "W", - "Ⓧ": "X", - "Ⓨ": "Y", - "Ⓩ": "Z", - "ⓐ": "a", - "ⓑ": "b", - "ⓒ": "c", - "ⓓ": "d", - "ⓔ": "e", - "ⓕ": "f", - "ⓖ": "g", - "ⓗ": "h", - "ⓘ": "i", - "ⓙ": "j", - "ⓚ": "k", - "ⓛ": "l", - "ⓜ": "m", - "ⓝ": "n", - "ⓞ": "o", - "ⓟ": "p", - "ⓠ": "q", - "ⓡ": "r", - "ⓢ": "s", - "ⓣ": "t", - "ⓤ": "u", - "ⓦ": "v", - "ⓥ": "w", - "ⓧ": "x", - "ⓨ": "y", - "ⓩ": "z", - "“": "\"", - "”": "\"", - "‘": "'", - "’": "'", - "∂": "d", - "ƒ": "f", - "™": "(TM)", - "©": "(C)", - "œ": "oe", - "Œ": "OE", - "®": "(R)", - "†": "+", - "℠": "(SM)", - "…": "...", - "˚": "o", - "º": "o", - "ª": "a", - "•": "*", - "၊": ",", - "။": ".", - "$": "USD", - "€": "EUR", - "₢": "BRN", - "₣": "FRF", - "£": "GBP", - "₤": "ITL", - "₦": "NGN", - "₧": "ESP", - "₩": "KRW", - "₪": "ILS", - "₫": "VND", - "₭": "LAK", - "₮": "MNT", - "₯": "GRD", - "₱": "ARS", - "₲": "PYG", - "₳": "ARA", - "₴": "UAH", - "₵": "GHS", - "¢": "cent", - "¥": "CNY", - "元": "CNY", - "円": "YEN", - "﷼": "IRR", - "₠": "EWE", - "฿": "THB", - "₨": "INR", - "₹": "INR", - "₰": "PF", - "₺": "TRY", - "؋": "AFN", - "₼": "AZN", - "лв": "BGN", - "៛": "KHR", - "₡": "CRC", - "₸": "KZT", - "ден": "MKD", - "zł": "PLN", - "₽": "RUB", - "₾": "GEL" - }; - /** - * special look ahead character array - * These characters form with consonants to become 'single'/consonant combo - * @type [Array] - */ - var lookAheadCharArray = ["်", "ް"]; - /** - * diatricMap for languages where transliteration changes entirely as more diatrics are added - * @type {Object} - */ - var diatricMap = { - "ာ": "a", - "ါ": "a", - "ေ": "e", - "ဲ": "e", - "ိ": "i", - "ီ": "i", - "ို": "o", - "ု": "u", - "ူ": "u", - "ေါင်": "aung", - "ော": "aw", - "ော်": "aw", - "ေါ": "aw", - "ေါ်": "aw", - "်": "်", - "က်": "et", - "ိုက်": "aik", - "ောက်": "auk", - "င်": "in", - "ိုင်": "aing", - "ောင်": "aung", - "စ်": "it", - "ည်": "i", - "တ်": "at", - "ိတ်": "eik", - "ုတ်": "ok", - "ွတ်": "ut", - "ေတ်": "it", - "ဒ်": "d", - "ိုဒ်": "ok", - "ုဒ်": "ait", - "န်": "an", - "ာန်": "an", - "ိန်": "ein", - "ုန်": "on", - "ွန်": "un", - "ပ်": "at", - "ိပ်": "eik", - "ုပ်": "ok", - "ွပ်": "ut", - "န်ုပ်": "nub", - "မ်": "an", - "ိမ်": "ein", - "ုမ်": "on", - "ွမ်": "un", - "ယ်": "e", - "ိုလ်": "ol", - "ဉ်": "in", - "ံ": "an", - "ိံ": "ein", - "ုံ": "on", - "ައް": "ah", - "ަށް": "ah" - }; - /** - * langCharMap language specific characters translations - * @type {Object} - */ - var langCharMap = { - "en": {}, - "az": { - "ç": "c", - "ə": "e", - "ğ": "g", - "ı": "i", - "ö": "o", - "ş": "s", - "ü": "u", - "Ç": "C", - "Ə": "E", - "Ğ": "G", - "İ": "I", - "Ö": "O", - "Ş": "S", - "Ü": "U" - }, - "cs": { - "č": "c", - "ď": "d", - "ě": "e", - "ň": "n", - "ř": "r", - "š": "s", - "ť": "t", - "ů": "u", - "ž": "z", - "Č": "C", - "Ď": "D", - "Ě": "E", - "Ň": "N", - "Ř": "R", - "Š": "S", - "Ť": "T", - "Ů": "U", - "Ž": "Z" - }, - "fi": { - "ä": "a", - "Ä": "A", - "ö": "o", - "Ö": "O" - }, - "hu": { - "ä": "a", - "Ä": "A", - "ö": "o", - "Ö": "O", - "ü": "u", - "Ü": "U", - "ű": "u", - "Ű": "U" - }, - "lt": { - "ą": "a", - "č": "c", - "ę": "e", - "ė": "e", - "į": "i", - "š": "s", - "ų": "u", - "ū": "u", - "ž": "z", - "Ą": "A", - "Č": "C", - "Ę": "E", - "Ė": "E", - "Į": "I", - "Š": "S", - "Ų": "U", - "Ū": "U" - }, - "lv": { - "ā": "a", - "č": "c", - "ē": "e", - "ģ": "g", - "ī": "i", - "ķ": "k", - "ļ": "l", - "ņ": "n", - "š": "s", - "ū": "u", - "ž": "z", - "Ā": "A", - "Č": "C", - "Ē": "E", - "Ģ": "G", - "Ī": "i", - "Ķ": "k", - "Ļ": "L", - "Ņ": "N", - "Š": "S", - "Ū": "u", - "Ž": "Z" - }, - "pl": { - "ą": "a", - "ć": "c", - "ę": "e", - "ł": "l", - "ń": "n", - "ó": "o", - "ś": "s", - "ź": "z", - "ż": "z", - "Ą": "A", - "Ć": "C", - "Ę": "e", - "Ł": "L", - "Ń": "N", - "Ó": "O", - "Ś": "S", - "Ź": "Z", - "Ż": "Z" - }, - "sv": { - "ä": "a", - "Ä": "A", - "ö": "o", - "Ö": "O" - }, - "sk": { - "ä": "a", - "Ä": "A" - }, - "sr": { - "љ": "lj", - "њ": "nj", - "Љ": "Lj", - "Њ": "Nj", - "đ": "dj", - "Đ": "Dj" - }, - "tr": { - "Ü": "U", - "Ö": "O", - "ü": "u", - "ö": "o" - } - }; - /** - * symbolMap language specific symbol translations - * translations must be transliterated already - * @type {Object} - */ - var symbolMap = { - "ar": { - "∆": "delta", - "∞": "la-nihaya", - "♥": "hob", - "&": "wa", - "|": "aw", - "<": "aqal-men", - ">": "akbar-men", - "∑": "majmou", - "¤": "omla" - }, - "az": {}, - "ca": { - "∆": "delta", - "∞": "infinit", - "♥": "amor", - "&": "i", - "|": "o", - "<": "menys que", - ">": "mes que", - "∑": "suma dels", - "¤": "moneda" - }, - "cs": { - "∆": "delta", - "∞": "nekonecno", - "♥": "laska", - "&": "a", - "|": "nebo", - "<": "mensi nez", - ">": "vetsi nez", - "∑": "soucet", - "¤": "mena" - }, - "de": { - "∆": "delta", - "∞": "unendlich", - "♥": "Liebe", - "&": "und", - "|": "oder", - "<": "kleiner als", - ">": "groesser als", - "∑": "Summe von", - "¤": "Waehrung" - }, - "dv": { - "∆": "delta", - "∞": "kolunulaa", - "♥": "loabi", - "&": "aai", - "|": "noonee", - "<": "ah vure kuda", - ">": "ah vure bodu", - "∑": "jumula", - "¤": "faisaa" - }, - "en": { - "∆": "delta", - "∞": "infinity", - "♥": "love", - "&": "and", - "|": "or", - "<": "less than", - ">": "greater than", - "∑": "sum", - "¤": "currency" - }, - "es": { - "∆": "delta", - "∞": "infinito", - "♥": "amor", - "&": "y", - "|": "u", - "<": "menos que", - ">": "mas que", - "∑": "suma de los", - "¤": "moneda" - }, - "fa": { - "∆": "delta", - "∞": "bi-nahayat", - "♥": "eshgh", - "&": "va", - "|": "ya", - "<": "kamtar-az", - ">": "bishtar-az", - "∑": "majmooe", - "¤": "vahed" - }, - "fi": { - "∆": "delta", - "∞": "aarettomyys", - "♥": "rakkaus", - "&": "ja", - "|": "tai", - "<": "pienempi kuin", - ">": "suurempi kuin", - "∑": "summa", - "¤": "valuutta" - }, - "fr": { - "∆": "delta", - "∞": "infiniment", - "♥": "Amour", - "&": "et", - "|": "ou", - "<": "moins que", - ">": "superieure a", - "∑": "somme des", - "¤": "monnaie" - }, - "ge": { - "∆": "delta", - "∞": "usasruloba", - "♥": "siqvaruli", - "&": "da", - "|": "an", - "<": "naklebi", - ">": "meti", - "∑": "jami", - "¤": "valuta" - }, - "gr": {}, - "hu": { - "∆": "delta", - "∞": "vegtelen", - "♥": "szerelem", - "&": "es", - "|": "vagy", - "<": "kisebb mint", - ">": "nagyobb mint", - "∑": "szumma", - "¤": "penznem" - }, - "it": { - "∆": "delta", - "∞": "infinito", - "♥": "amore", - "&": "e", - "|": "o", - "<": "minore di", - ">": "maggiore di", - "∑": "somma", - "¤": "moneta" - }, - "lt": { - "∆": "delta", - "∞": "begalybe", - "♥": "meile", - "&": "ir", - "|": "ar", - "<": "maziau nei", - ">": "daugiau nei", - "∑": "suma", - "¤": "valiuta" - }, - "lv": { - "∆": "delta", - "∞": "bezgaliba", - "♥": "milestiba", - "&": "un", - "|": "vai", - "<": "mazak neka", - ">": "lielaks neka", - "∑": "summa", - "¤": "valuta" - }, - "my": { - "∆": "kwahkhyaet", - "∞": "asaonasme", - "♥": "akhyait", - "&": "nhin", - "|": "tho", - "<": "ngethaw", - ">": "kyithaw", - "∑": "paungld", - "¤": "ngwekye" - }, - "mk": {}, - "nl": { - "∆": "delta", - "∞": "oneindig", - "♥": "liefde", - "&": "en", - "|": "of", - "<": "kleiner dan", - ">": "groter dan", - "∑": "som", - "¤": "valuta" - }, - "pl": { - "∆": "delta", - "∞": "nieskonczonosc", - "♥": "milosc", - "&": "i", - "|": "lub", - "<": "mniejsze niz", - ">": "wieksze niz", - "∑": "suma", - "¤": "waluta" - }, - "pt": { - "∆": "delta", - "∞": "infinito", - "♥": "amor", - "&": "e", - "|": "ou", - "<": "menor que", - ">": "maior que", - "∑": "soma", - "¤": "moeda" - }, - "ro": { - "∆": "delta", - "∞": "infinit", - "♥": "dragoste", - "&": "si", - "|": "sau", - "<": "mai mic ca", - ">": "mai mare ca", - "∑": "suma", - "¤": "valuta" - }, - "ru": { - "∆": "delta", - "∞": "beskonechno", - "♥": "lubov", - "&": "i", - "|": "ili", - "<": "menshe", - ">": "bolshe", - "∑": "summa", - "¤": "valjuta" - }, - "sk": { - "∆": "delta", - "∞": "nekonecno", - "♥": "laska", - "&": "a", - "|": "alebo", - "<": "menej ako", - ">": "viac ako", - "∑": "sucet", - "¤": "mena" - }, - "sr": {}, - "tr": { - "∆": "delta", - "∞": "sonsuzluk", - "♥": "ask", - "&": "ve", - "|": "veya", - "<": "kucuktur", - ">": "buyuktur", - "∑": "toplam", - "¤": "para birimi" - }, - "uk": { - "∆": "delta", - "∞": "bezkinechnist", - "♥": "lubov", - "&": "i", - "|": "abo", - "<": "menshe", - ">": "bilshe", - "∑": "suma", - "¤": "valjuta" - }, - "vn": { - "∆": "delta", - "∞": "vo cuc", - "♥": "yeu", - "&": "va", - "|": "hoac", - "<": "nho hon", - ">": "lon hon", - "∑": "tong", - "¤": "tien te" - } - }; - var uricChars = [ - ";", - "?", - ":", - "@", - "&", - "=", - "+", - "$", - ",", - "/" - ].join(""); - var uricNoSlashChars = [ - ";", - "?", - ":", - "@", - "&", - "=", - "+", - "$", - "," - ].join(""); - var markChars = [ - ".", - "!", - "~", - "*", - "'", - "(", - ")" - ].join(""); - /** - * getSlug - * @param {string} input input string - * @param {object|string} opts config object or separator string/char - * @api public - * @return {string} sluggified string - */ - var getSlug = function getSlug(input, opts) { - var separator = "-"; - var result = ""; - var diatricString = ""; - var convertSymbols = true; - var customReplacements = {}; - var maintainCase; - var titleCase; - var truncate; - var uricFlag; - var uricNoSlashFlag; - var markFlag; - var symbol; - var langChar; - var lucky; - var i; - var ch; - var l; - var lastCharWasSymbol; - var lastCharWasDiatric; - var allowedChars = ""; - if (typeof input !== "string") return ""; - if (typeof opts === "string") separator = opts; - symbol = symbolMap.en; - langChar = langCharMap.en; - if (typeof opts === "object") { - maintainCase = opts.maintainCase || false; - customReplacements = opts.custom && typeof opts.custom === "object" ? opts.custom : customReplacements; - truncate = +opts.truncate > 1 && opts.truncate || false; - uricFlag = opts.uric || false; - uricNoSlashFlag = opts.uricNoSlash || false; - markFlag = opts.mark || false; - convertSymbols = opts.symbols === false || opts.lang === false ? false : true; - separator = opts.separator || separator; - if (uricFlag) allowedChars += uricChars; - if (uricNoSlashFlag) allowedChars += uricNoSlashChars; - if (markFlag) allowedChars += markChars; - symbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {}; - langChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en; - if (opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) { - opts.titleCase.forEach(function(v) { - customReplacements[v + ""] = v + ""; - }); - titleCase = true; - } else titleCase = !!opts.titleCase; - if (opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) opts.custom.forEach(function(v) { - customReplacements[v + ""] = v + ""; - }); - Object.keys(customReplacements).forEach(function(v) { - var r; - if (v.length > 1) r = new RegExp("\\b" + escapeChars(v) + "\\b", "gi"); - else r = new RegExp(escapeChars(v), "gi"); - input = input.replace(r, customReplacements[v]); - }); - for (ch in customReplacements) allowedChars += ch; - } - allowedChars += separator; - allowedChars = escapeChars(allowedChars); - input = input.replace(/(^\s+|\s+$)/g, ""); - lastCharWasSymbol = false; - lastCharWasDiatric = false; - for (i = 0, l = input.length; i < l; i++) { - ch = input[i]; - if (isReplacedCustomChar(ch, customReplacements)) lastCharWasSymbol = false; - else if (langChar[ch]) { - ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? " " + langChar[ch] : langChar[ch]; - lastCharWasSymbol = false; - } else if (ch in charMap) { - if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) { - diatricString += ch; - ch = ""; - } else if (lastCharWasDiatric === true) { - ch = diatricMap[diatricString] + charMap[ch]; - diatricString = ""; - } else ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? " " + charMap[ch] : charMap[ch]; - lastCharWasSymbol = false; - lastCharWasDiatric = false; - } else if (ch in diatricMap) { - diatricString += ch; - ch = ""; - if (i === l - 1) ch = diatricMap[diatricString]; - lastCharWasDiatric = true; - } else if (symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1)) { - ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; - ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ""; - lastCharWasSymbol = true; - } else { - if (lastCharWasDiatric === true) { - ch = diatricMap[diatricString] + ch; - diatricString = ""; - lastCharWasDiatric = false; - } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) ch = " " + ch; - lastCharWasSymbol = false; - } - result += ch.replace(new RegExp("[^\\w\\s" + allowedChars + "_-]", "g"), separator); - } - if (titleCase) result = result.replace(/(\w)(\S*)/g, function(_, i, r) { - var j = i.toUpperCase() + (r !== null ? r : ""); - return Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase(); - }); - result = result.replace(/\s+/g, separator).replace(new RegExp("\\" + separator + "+", "g"), separator).replace(new RegExp("(^\\" + separator + "+|\\" + separator + "+$)", "g"), ""); - if (truncate && result.length > truncate) { - lucky = result.charAt(truncate) === separator; - result = result.slice(0, truncate); - if (!lucky) result = result.slice(0, result.lastIndexOf(separator)); - } - if (!maintainCase && !titleCase) result = result.toLowerCase(); - return result; - }; - /** - * createSlug curried(opts)(input) - * @param {object|string} opts config object or input string - * @return {Function} function getSlugWithConfig() - **/ - var createSlug = function createSlug(opts) { - /** - * getSlugWithConfig - * @param {string} input string - * @return {string} slug string - */ - return function getSlugWithConfig(input) { - return getSlug(input, opts); - }; - }; - /** - * escape Chars - * @param {string} input string - */ - var escapeChars = function escapeChars(input) { - return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, "\\$&"); - }; - /** - * check if the char is an already converted char from custom list - * @param {char} ch character to check - * @param {object} customReplacements custom translation map - */ - var isReplacedCustomChar = function(ch, customReplacements) { - for (var c in customReplacements) if (customReplacements[c] === ch) return true; - }; - if (typeof module !== "undefined" && module.exports) { - module.exports = getSlug; - module.exports.createSlug = createSlug; - } else if (typeof define !== "undefined" && define.amd) define([], function() { - return getSlug; - }); - else try { - if (root.getSlug || root.createSlug) throw "speakingurl: globals exists /(getSlug|createSlug)/"; - else { - root.getSlug = getSlug; - root.createSlug = createSlug; - } - } catch (e) {} - })(exports); -})); -(/* @__PURE__ */ __commonJSMin(((exports, module) => { - module.exports = require_speakingurl$1(); -})))(); -target.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ ??= { - id: 0, - appIds: /* @__PURE__ */ new Set() -}; -function onDevToolsClientConnected(fn) { - return new Promise((resolve) => { - if (devtoolsState.connected && devtoolsState.clientConnected) { - fn(); - resolve(); - return; - } - devtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => { - if (state.connected && state.clientConnected) { - fn(); - resolve(); - } - }); - }); -} -function toggleHighPerfMode(state) { - devtoolsState.highPerfModeEnabled = state ?? !devtoolsState.highPerfModeEnabled; - if (!state && activeAppRecord.value) registerDevToolsPlugin(activeAppRecord.value.app); -} -function updateDevToolsClientDetected(params) { - devtoolsState.devtoolsClientDetected = { - ...devtoolsState.devtoolsClientDetected, - ...params - }; - toggleHighPerfMode(!Object.values(devtoolsState.devtoolsClientDetected).some(Boolean)); -} -target.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ ??= updateDevToolsClientDetected; -var DoubleIndexedKV = class { - constructor() { - this.keyToValue = /* @__PURE__ */ new Map(); - this.valueToKey = /* @__PURE__ */ new Map(); - } - set(key, value) { - this.keyToValue.set(key, value); - this.valueToKey.set(value, key); - } - getByKey(key) { - return this.keyToValue.get(key); - } - getByValue(value) { - return this.valueToKey.get(value); - } - clear() { - this.keyToValue.clear(); - this.valueToKey.clear(); - } -}; -var Registry = class { - constructor(generateIdentifier) { - this.generateIdentifier = generateIdentifier; - this.kv = new DoubleIndexedKV(); - } - register(value, identifier) { - if (this.kv.getByValue(value)) return; - if (!identifier) identifier = this.generateIdentifier(value); - this.kv.set(identifier, value); - } - clear() { - this.kv.clear(); - } - getIdentifier(value) { - return this.kv.getByValue(value); - } - getValue(identifier) { - return this.kv.getByKey(identifier); - } -}; -var ClassRegistry = class extends Registry { - constructor() { - super((c) => c.name); - this.classToAllowedProps = /* @__PURE__ */ new Map(); - } - register(value, options) { - if (typeof options === "object") { - if (options.allowProps) this.classToAllowedProps.set(value, options.allowProps); - super.register(value, options.identifier); - } else super.register(value, options); - } - getAllowedProps(value) { - return this.classToAllowedProps.get(value); - } -}; -function valuesOfObj(record) { - if ("values" in Object) return Object.values(record); - const values = []; - for (const key in record) if (record.hasOwnProperty(key)) values.push(record[key]); - return values; -} -function find(record, predicate) { - const values = valuesOfObj(record); - if ("find" in values) return values.find(predicate); - const valuesNotNever = values; - for (let i = 0; i < valuesNotNever.length; i++) { - const value = valuesNotNever[i]; - if (predicate(value)) return value; - } -} -function forEach(record, run) { - Object.entries(record).forEach(([key, value]) => run(value, key)); -} -function includes(arr, value) { - return arr.indexOf(value) !== -1; -} -function findArr(record, predicate) { - for (let i = 0; i < record.length; i++) { - const value = record[i]; - if (predicate(value)) return value; - } -} -var CustomTransformerRegistry = class { - constructor() { - this.transfomers = {}; - } - register(transformer) { - this.transfomers[transformer.name] = transformer; - } - findApplicable(v) { - return find(this.transfomers, (transformer) => transformer.isApplicable(v)); - } - findByName(name) { - return this.transfomers[name]; - } -}; -var getType$1 = (payload) => Object.prototype.toString.call(payload).slice(8, -1); -var isUndefined$1 = (payload) => typeof payload === "undefined"; -var isNull$1 = (payload) => payload === null; -var isPlainObject$2 = (payload) => { - if (typeof payload !== "object" || payload === null) return false; - if (payload === Object.prototype) return false; - if (Object.getPrototypeOf(payload) === null) return true; - return Object.getPrototypeOf(payload) === Object.prototype; -}; -var isEmptyObject = (payload) => isPlainObject$2(payload) && Object.keys(payload).length === 0; -var isArray$2 = (payload) => Array.isArray(payload); -var isString = (payload) => typeof payload === "string"; -var isNumber = (payload) => typeof payload === "number" && !isNaN(payload); -var isBoolean = (payload) => typeof payload === "boolean"; -var isRegExp = (payload) => payload instanceof RegExp; -var isMap = (payload) => payload instanceof Map; -var isSet = (payload) => payload instanceof Set; -var isSymbol = (payload) => getType$1(payload) === "Symbol"; -var isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf()); -var isError = (payload) => payload instanceof Error; -var isNaNValue = (payload) => typeof payload === "number" && isNaN(payload); -var isPrimitive = (payload) => isBoolean(payload) || isNull$1(payload) || isUndefined$1(payload) || isNumber(payload) || isString(payload) || isSymbol(payload); -var isBigint = (payload) => typeof payload === "bigint"; -var isInfinite = (payload) => payload === Infinity || payload === -Infinity; -var isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView); -var isURL = (payload) => payload instanceof URL; -var escapeKey = (key) => key.replace(/\./g, "\\."); -var stringifyPath = (path) => path.map(String).map(escapeKey).join("."); -var parsePath = (string) => { - const result = []; - let segment = ""; - for (let i = 0; i < string.length; i++) { - let char = string.charAt(i); - if (char === "\\" && string.charAt(i + 1) === ".") { - segment += "."; - i++; - continue; - } - if (char === ".") { - result.push(segment); - segment = ""; - continue; - } - segment += char; - } - const lastSegment = segment; - result.push(lastSegment); - return result; -}; -function simpleTransformation(isApplicable, annotation, transform, untransform) { - return { - isApplicable, - annotation, - transform, - untransform - }; -} -var simpleRules = [ - simpleTransformation(isUndefined$1, "undefined", () => null, () => void 0), - simpleTransformation(isBigint, "bigint", (v) => v.toString(), (v) => { - if (typeof BigInt !== "undefined") return BigInt(v); - console.error("Please add a BigInt polyfill."); - return v; - }), - simpleTransformation(isDate, "Date", (v) => v.toISOString(), (v) => new Date(v)), - simpleTransformation(isError, "Error", (v, superJson) => { - const baseError = { - name: v.name, - message: v.message - }; - superJson.allowedErrorProps.forEach((prop) => { - baseError[prop] = v[prop]; - }); - return baseError; - }, (v, superJson) => { - const e = new Error(v.message); - e.name = v.name; - e.stack = v.stack; - superJson.allowedErrorProps.forEach((prop) => { - e[prop] = v[prop]; - }); - return e; - }), - simpleTransformation(isRegExp, "regexp", (v) => "" + v, (regex) => { - const body = regex.slice(1, regex.lastIndexOf("/")); - const flags = regex.slice(regex.lastIndexOf("/") + 1); - return new RegExp(body, flags); - }), - simpleTransformation(isSet, "set", (v) => [...v.values()], (v) => new Set(v)), - simpleTransformation(isMap, "map", (v) => [...v.entries()], (v) => new Map(v)), - simpleTransformation((v) => isNaNValue(v) || isInfinite(v), "number", (v) => { - if (isNaNValue(v)) return "NaN"; - if (v > 0) return "Infinity"; - else return "-Infinity"; - }, Number), - simpleTransformation((v) => v === 0 && 1 / v === -Infinity, "number", () => { - return "-0"; - }, Number), - simpleTransformation(isURL, "URL", (v) => v.toString(), (v) => new URL(v)) -]; -function compositeTransformation(isApplicable, annotation, transform, untransform) { - return { - isApplicable, - annotation, - transform, - untransform - }; -} -var symbolRule = compositeTransformation((s, superJson) => { - if (isSymbol(s)) return !!superJson.symbolRegistry.getIdentifier(s); - return false; -}, (s, superJson) => { - return ["symbol", superJson.symbolRegistry.getIdentifier(s)]; -}, (v) => v.description, (_, a, superJson) => { - const value = superJson.symbolRegistry.getValue(a[1]); - if (!value) throw new Error("Trying to deserialize unknown symbol"); - return value; -}); -var constructorToName = [ - Int8Array, - Uint8Array, - Int16Array, - Uint16Array, - Int32Array, - Uint32Array, - Float32Array, - Float64Array, - Uint8ClampedArray -].reduce((obj, ctor) => { - obj[ctor.name] = ctor; - return obj; -}, {}); -var typedArrayRule = compositeTransformation(isTypedArray, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a) => { - const ctor = constructorToName[a[1]]; - if (!ctor) throw new Error("Trying to deserialize unknown typed array"); - return new ctor(v); -}); -function isInstanceOfRegisteredClass(potentialClass, superJson) { - if (potentialClass?.constructor) return !!superJson.classRegistry.getIdentifier(potentialClass.constructor); - return false; -} -var classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => { - return ["class", superJson.classRegistry.getIdentifier(clazz.constructor)]; -}, (clazz, superJson) => { - const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor); - if (!allowedProps) return { ...clazz }; - const result = {}; - allowedProps.forEach((prop) => { - result[prop] = clazz[prop]; - }); - return result; -}, (v, a, superJson) => { - const clazz = superJson.classRegistry.getValue(a[1]); - if (!clazz) throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`); - return Object.assign(Object.create(clazz.prototype), v); -}); -var customRule = compositeTransformation((value, superJson) => { - return !!superJson.customTransformerRegistry.findApplicable(value); -}, (value, superJson) => { - return ["custom", superJson.customTransformerRegistry.findApplicable(value).name]; -}, (value, superJson) => { - return superJson.customTransformerRegistry.findApplicable(value).serialize(value); -}, (v, a, superJson) => { - const transformer = superJson.customTransformerRegistry.findByName(a[1]); - if (!transformer) throw new Error("Trying to deserialize unknown custom value"); - return transformer.deserialize(v); -}); -var compositeRules = [ - classRule, - symbolRule, - customRule, - typedArrayRule -]; -var transformValue = (value, superJson) => { - const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson)); - if (applicableCompositeRule) return { - value: applicableCompositeRule.transform(value, superJson), - type: applicableCompositeRule.annotation(value, superJson) - }; - const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson)); - if (applicableSimpleRule) return { - value: applicableSimpleRule.transform(value, superJson), - type: applicableSimpleRule.annotation - }; -}; -var simpleRulesByAnnotation = {}; -simpleRules.forEach((rule) => { - simpleRulesByAnnotation[rule.annotation] = rule; -}); -var untransformValue = (json, type, superJson) => { - if (isArray$2(type)) switch (type[0]) { - case "symbol": return symbolRule.untransform(json, type, superJson); - case "class": return classRule.untransform(json, type, superJson); - case "custom": return customRule.untransform(json, type, superJson); - case "typed-array": return typedArrayRule.untransform(json, type, superJson); - default: throw new Error("Unknown transformation: " + type); - } - else { - const transformation = simpleRulesByAnnotation[type]; - if (!transformation) throw new Error("Unknown transformation: " + type); - return transformation.untransform(json, superJson); - } -}; -var getNthKey = (value, n) => { - if (n > value.size) throw new Error("index out of bounds"); - const keys = value.keys(); - while (n > 0) { - keys.next(); - n--; - } - return keys.next().value; -}; -function validatePath(path) { - if (includes(path, "__proto__")) throw new Error("__proto__ is not allowed as a property"); - if (includes(path, "prototype")) throw new Error("prototype is not allowed as a property"); - if (includes(path, "constructor")) throw new Error("constructor is not allowed as a property"); -} -var getDeep = (object, path) => { - validatePath(path); - for (let i = 0; i < path.length; i++) { - const key = path[i]; - if (isSet(object)) object = getNthKey(object, +key); - else if (isMap(object)) { - const row = +key; - const type = +path[++i] === 0 ? "key" : "value"; - const keyOfRow = getNthKey(object, row); - switch (type) { - case "key": - object = keyOfRow; - break; - case "value": - object = object.get(keyOfRow); - break; - } - } else object = object[key]; - } - return object; -}; -var setDeep = (object, path, mapper) => { - validatePath(path); - if (path.length === 0) return mapper(object); - let parent = object; - for (let i = 0; i < path.length - 1; i++) { - const key = path[i]; - if (isArray$2(parent)) { - const index = +key; - parent = parent[index]; - } else if (isPlainObject$2(parent)) parent = parent[key]; - else if (isSet(parent)) { - const row = +key; - parent = getNthKey(parent, row); - } else if (isMap(parent)) { - if (i === path.length - 2) break; - const row = +key; - const type = +path[++i] === 0 ? "key" : "value"; - const keyOfRow = getNthKey(parent, row); - switch (type) { - case "key": - parent = keyOfRow; - break; - case "value": - parent = parent.get(keyOfRow); - break; - } - } - } - const lastKey = path[path.length - 1]; - if (isArray$2(parent)) parent[+lastKey] = mapper(parent[+lastKey]); - else if (isPlainObject$2(parent)) parent[lastKey] = mapper(parent[lastKey]); - if (isSet(parent)) { - const oldValue = getNthKey(parent, +lastKey); - const newValue = mapper(oldValue); - if (oldValue !== newValue) { - parent.delete(oldValue); - parent.add(newValue); - } - } - if (isMap(parent)) { - const row = +path[path.length - 2]; - const keyToRow = getNthKey(parent, row); - switch (+lastKey === 0 ? "key" : "value") { - case "key": { - const newKey = mapper(keyToRow); - parent.set(newKey, parent.get(keyToRow)); - if (newKey !== keyToRow) parent.delete(keyToRow); - break; - } - case "value": - parent.set(keyToRow, mapper(parent.get(keyToRow))); - break; - } - } - return object; -}; -function traverse(tree, walker, origin = []) { - if (!tree) return; - if (!isArray$2(tree)) { - forEach(tree, (subtree, key) => traverse(subtree, walker, [...origin, ...parsePath(key)])); - return; - } - const [nodeValue, children] = tree; - if (children) forEach(children, (child, key) => { - traverse(child, walker, [...origin, ...parsePath(key)]); - }); - walker(nodeValue, origin); -} -function applyValueAnnotations(plain, annotations, superJson) { - traverse(annotations, (type, path) => { - plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson)); - }); - return plain; -} -function applyReferentialEqualityAnnotations(plain, annotations) { - function apply(identicalPaths, path) { - const object = getDeep(plain, parsePath(path)); - identicalPaths.map(parsePath).forEach((identicalObjectPath) => { - plain = setDeep(plain, identicalObjectPath, () => object); - }); - } - if (isArray$2(annotations)) { - const [root, other] = annotations; - root.forEach((identicalPath) => { - plain = setDeep(plain, parsePath(identicalPath), () => plain); - }); - if (other) forEach(other, apply); - } else forEach(annotations, apply); - return plain; -} -var isDeep = (object, superJson) => isPlainObject$2(object) || isArray$2(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson); -function addIdentity(object, path, identities) { - const existingSet = identities.get(object); - if (existingSet) existingSet.push(path); - else identities.set(object, [path]); -} -function generateReferentialEqualityAnnotations(identitites, dedupe) { - const result = {}; - let rootEqualityPaths = void 0; - identitites.forEach((paths) => { - if (paths.length <= 1) return; - if (!dedupe) paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length); - const [representativePath, ...identicalPaths] = paths; - if (representativePath.length === 0) rootEqualityPaths = identicalPaths.map(stringifyPath); - else result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath); - }); - if (rootEqualityPaths) if (isEmptyObject(result)) return [rootEqualityPaths]; - else return [rootEqualityPaths, result]; - else return isEmptyObject(result) ? void 0 : result; -} -var walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => { - const primitive = isPrimitive(object); - if (!primitive) { - addIdentity(object, path, identities); - const seen = seenObjects.get(object); - if (seen) return dedupe ? { transformedValue: null } : seen; - } - if (!isDeep(object, superJson)) { - const transformed = transformValue(object, superJson); - const result = transformed ? { - transformedValue: transformed.value, - annotations: [transformed.type] - } : { transformedValue: object }; - if (!primitive) seenObjects.set(object, result); - return result; - } - if (includes(objectsInThisPath, object)) return { transformedValue: null }; - const transformationResult = transformValue(object, superJson); - const transformed = transformationResult?.value ?? object; - const transformedValue = isArray$2(transformed) ? [] : {}; - const innerAnnotations = {}; - forEach(transformed, (value, index) => { - if (index === "__proto__" || index === "constructor" || index === "prototype") throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`); - const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects); - transformedValue[index] = recursiveResult.transformedValue; - if (isArray$2(recursiveResult.annotations)) innerAnnotations[index] = recursiveResult.annotations; - else if (isPlainObject$2(recursiveResult.annotations)) forEach(recursiveResult.annotations, (tree, key) => { - innerAnnotations[escapeKey(index) + "." + key] = tree; - }); - }); - const result = isEmptyObject(innerAnnotations) ? { - transformedValue, - annotations: !!transformationResult ? [transformationResult.type] : void 0 - } : { - transformedValue, - annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations - }; - if (!primitive) seenObjects.set(object, result); - return result; -}; -function getType(payload) { - return Object.prototype.toString.call(payload).slice(8, -1); -} -function isArray$1(payload) { - return getType(payload) === "Array"; -} -function isPlainObject$1(payload) { - if (getType(payload) !== "Object") return false; - const prototype = Object.getPrototypeOf(payload); - return !!prototype && prototype.constructor === Object && prototype === Object.prototype; -} -function isNull(payload) { - return getType(payload) === "Null"; -} -function isOneOf(a, b, c, d, e) { - return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value); -} -function isUndefined(payload) { - return getType(payload) === "Undefined"; -} -isOneOf(isNull, isUndefined); -function assignProp(carry, key, newVal, originalObject, includeNonenumerable) { - const propType = {}.propertyIsEnumerable.call(originalObject, key) ? "enumerable" : "nonenumerable"; - if (propType === "enumerable") carry[key] = newVal; - if (includeNonenumerable && propType === "nonenumerable") Object.defineProperty(carry, key, { - value: newVal, - enumerable: false, - writable: true, - configurable: true - }); -} -function copy(target, options = {}) { - if (isArray$1(target)) return target.map((item) => copy(item, options)); - if (!isPlainObject$1(target)) return target; - const props = Object.getOwnPropertyNames(target); - const symbols = Object.getOwnPropertySymbols(target); - return [...props, ...symbols].reduce((carry, key) => { - if (isArray$1(options.props) && !options.props.includes(key)) return carry; - const val = target[key]; - assignProp(carry, key, copy(val, options), target, options.nonenumerable); - return carry; - }, {}); -} -var SuperJSON = class { - /** - * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`. - */ - constructor({ dedupe = false } = {}) { - this.classRegistry = new ClassRegistry(); - this.symbolRegistry = new Registry((s) => s.description ?? ""); - this.customTransformerRegistry = new CustomTransformerRegistry(); - this.allowedErrorProps = []; - this.dedupe = dedupe; - } - serialize(object) { - const identities = /* @__PURE__ */ new Map(); - const output = walker(object, identities, this, this.dedupe); - const res = { json: output.transformedValue }; - if (output.annotations) res.meta = { - ...res.meta, - values: output.annotations - }; - const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe); - if (equalityAnnotations) res.meta = { - ...res.meta, - referentialEqualities: equalityAnnotations - }; - return res; - } - deserialize(payload) { - const { json, meta } = payload; - let result = copy(json); - if (meta?.values) result = applyValueAnnotations(result, meta.values, this); - if (meta?.referentialEqualities) result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities); - return result; - } - stringify(object) { - return JSON.stringify(this.serialize(object)); - } - parse(string) { - return this.deserialize(JSON.parse(string)); - } - registerClass(v, options) { - this.classRegistry.register(v, options); - } - registerSymbol(v, identifier) { - this.symbolRegistry.register(v, identifier); - } - registerCustom(transformer, name) { - this.customTransformerRegistry.register({ - name, - ...transformer - }); - } - allowErrorProps(...props) { - this.allowedErrorProps.push(...props); - } -}; -SuperJSON.defaultInstance = new SuperJSON(); -SuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance); -SuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance); -SuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance); -SuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance); -SuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance); -SuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance); -SuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance); -SuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance); -SuperJSON.serialize; -SuperJSON.deserialize; -SuperJSON.stringify; -SuperJSON.parse; -SuperJSON.registerClass; -SuperJSON.registerCustom; -SuperJSON.registerSymbol; -SuperJSON.allowErrorProps; -target.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ ??= []; -target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ ??= null; -target.__VUE_DEVTOOLS_KIT_RPC_SERVER__ ??= null; -target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ ??= null; -target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ ??= null; -target.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ ??= null; -//#endregion -export { removeCustomCommand as a, onDevToolsConnected as i, addCustomTab as n, setupDevToolsPlugin as o, onDevToolsClientConnected as r, addCustomCommand as t }; - -//# sourceMappingURL=dist-jlnTmUNc.js.map \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/dist-jlnTmUNc.js.map b/src/.vuepress/.cache/deps/dist-jlnTmUNc.js.map deleted file mode 100644 index b345a5792..000000000 --- a/src/.vuepress/.cache/deps/dist-jlnTmUNc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"dist-jlnTmUNc.js","names":["__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","__commonJSMin","__copyProps","__toESM"],"sources":["../../../../node_modules/@vue/devtools-shared/dist/index.js","../../../../node_modules/perfect-debounce/dist/index.mjs","../../../../node_modules/hookable/dist/index.mjs","../../../../node_modules/birpc/dist/index.mjs","../../../../node_modules/@vue/devtools-kit/dist/index.js"],"sourcesContent":["//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n//#endregion\n//#region src/constants.ts\nconst VIEW_MODE_STORAGE_KEY = \"__vue-devtools-view-mode__\";\nconst VITE_PLUGIN_DETECTED_STORAGE_KEY = \"__vue-devtools-vite-plugin-detected__\";\nconst VITE_PLUGIN_CLIENT_URL_STORAGE_KEY = \"__vue-devtools-vite-plugin-client-url__\";\nconst BROADCAST_CHANNEL_NAME = \"__vue-devtools-broadcast-channel__\";\n//#endregion\n//#region src/env.ts\nconst isBrowser = typeof navigator !== \"undefined\";\nconst target = typeof window !== \"undefined\" ? window : typeof globalThis !== \"undefined\" ? globalThis : typeof global !== \"undefined\" ? global : {};\nconst isInChromePanel = typeof target.chrome !== \"undefined\" && !!target.chrome.devtools;\nconst isInIframe = isBrowser && target.self !== target.top;\nconst isInElectron = typeof navigator !== \"undefined\" && navigator.userAgent?.toLowerCase().includes(\"electron\");\nconst isNuxtApp = typeof window !== \"undefined\" && !!window.__NUXT__;\nconst isInSeparateWindow = !isInIframe && !isInChromePanel && !isInElectron;\n//#endregion\n//#region src/general.ts\nvar import_rfdc = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = rfdc;\n\tfunction copyBuffer(cur) {\n\t\tif (cur instanceof Buffer) return Buffer.from(cur);\n\t\treturn new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length);\n\t}\n\tfunction rfdc(opts) {\n\t\topts = opts || {};\n\t\tif (opts.circles) return rfdcCircles(opts);\n\t\tconst constructorHandlers = /* @__PURE__ */ new Map();\n\t\tconstructorHandlers.set(Date, (o) => new Date(o));\n\t\tconstructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));\n\t\tconstructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));\n\t\tif (opts.constructorHandlers) for (const handler of opts.constructorHandlers) constructorHandlers.set(handler[0], handler[1]);\n\t\tlet handler = null;\n\t\treturn opts.proto ? cloneProto : clone;\n\t\tfunction cloneArray(a, fn) {\n\t\t\tconst keys = Object.keys(a);\n\t\t\tconst a2 = new Array(keys.length);\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst k = keys[i];\n\t\t\t\tconst cur = a[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) a2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur);\n\t\t\t\telse a2[k] = fn(cur);\n\t\t\t}\n\t\t\treturn a2;\n\t\t}\n\t\tfunction clone(o) {\n\t\t\tif (typeof o !== \"object\" || o === null) return o;\n\t\t\tif (Array.isArray(o)) return cloneArray(o, clone);\n\t\t\tif (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone);\n\t\t\tconst o2 = {};\n\t\t\tfor (const k in o) {\n\t\t\t\tif (Object.hasOwnProperty.call(o, k) === false) continue;\n\t\t\t\tconst cur = o[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) o2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);\n\t\t\t\telse o2[k] = clone(cur);\n\t\t\t}\n\t\t\treturn o2;\n\t\t}\n\t\tfunction cloneProto(o) {\n\t\t\tif (typeof o !== \"object\" || o === null) return o;\n\t\t\tif (Array.isArray(o)) return cloneArray(o, cloneProto);\n\t\t\tif (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto);\n\t\t\tconst o2 = {};\n\t\t\tfor (const k in o) {\n\t\t\t\tconst cur = o[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) o2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);\n\t\t\t\telse o2[k] = cloneProto(cur);\n\t\t\t}\n\t\t\treturn o2;\n\t\t}\n\t}\n\tfunction rfdcCircles(opts) {\n\t\tconst refs = [];\n\t\tconst refsNew = [];\n\t\tconst constructorHandlers = /* @__PURE__ */ new Map();\n\t\tconstructorHandlers.set(Date, (o) => new Date(o));\n\t\tconstructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));\n\t\tconstructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));\n\t\tif (opts.constructorHandlers) for (const handler of opts.constructorHandlers) constructorHandlers.set(handler[0], handler[1]);\n\t\tlet handler = null;\n\t\treturn opts.proto ? cloneProto : clone;\n\t\tfunction cloneArray(a, fn) {\n\t\t\tconst keys = Object.keys(a);\n\t\t\tconst a2 = new Array(keys.length);\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst k = keys[i];\n\t\t\t\tconst cur = a[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) a2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur);\n\t\t\t\telse {\n\t\t\t\t\tconst index = refs.indexOf(cur);\n\t\t\t\t\tif (index !== -1) a2[k] = refsNew[index];\n\t\t\t\t\telse a2[k] = fn(cur);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn a2;\n\t\t}\n\t\tfunction clone(o) {\n\t\t\tif (typeof o !== \"object\" || o === null) return o;\n\t\t\tif (Array.isArray(o)) return cloneArray(o, clone);\n\t\t\tif (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone);\n\t\t\tconst o2 = {};\n\t\t\trefs.push(o);\n\t\t\trefsNew.push(o2);\n\t\t\tfor (const k in o) {\n\t\t\t\tif (Object.hasOwnProperty.call(o, k) === false) continue;\n\t\t\t\tconst cur = o[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) o2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);\n\t\t\t\telse {\n\t\t\t\t\tconst i = refs.indexOf(cur);\n\t\t\t\t\tif (i !== -1) o2[k] = refsNew[i];\n\t\t\t\t\telse o2[k] = clone(cur);\n\t\t\t\t}\n\t\t\t}\n\t\t\trefs.pop();\n\t\t\trefsNew.pop();\n\t\t\treturn o2;\n\t\t}\n\t\tfunction cloneProto(o) {\n\t\t\tif (typeof o !== \"object\" || o === null) return o;\n\t\t\tif (Array.isArray(o)) return cloneArray(o, cloneProto);\n\t\t\tif (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto);\n\t\t\tconst o2 = {};\n\t\t\trefs.push(o);\n\t\t\trefsNew.push(o2);\n\t\t\tfor (const k in o) {\n\t\t\t\tconst cur = o[k];\n\t\t\t\tif (typeof cur !== \"object\" || cur === null) o2[k] = cur;\n\t\t\t\telse if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto);\n\t\t\t\telse if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);\n\t\t\t\telse {\n\t\t\t\t\tconst i = refs.indexOf(cur);\n\t\t\t\t\tif (i !== -1) o2[k] = refsNew[i];\n\t\t\t\t\telse o2[k] = cloneProto(cur);\n\t\t\t\t}\n\t\t\t}\n\t\t\trefs.pop();\n\t\t\trefsNew.pop();\n\t\t\treturn o2;\n\t\t}\n\t}\n})))(), 1);\nfunction NOOP() {}\nconst isNumeric = (str) => `${+str}` === str;\nconst isMacOS = () => navigator?.platform ? navigator?.platform.toLowerCase().includes(\"mac\") : /Macintosh/.test(navigator.userAgent);\nconst classifyRE = /(?:^|[-_/])(\\w)/g;\nconst camelizeRE = /-(\\w)/g;\nconst kebabizeRE = /([a-z0-9])([A-Z])/g;\nfunction toUpper(_, c) {\n\treturn c ? c.toUpperCase() : \"\";\n}\nfunction classify(str) {\n\treturn str && `${str}`.replace(classifyRE, toUpper);\n}\nfunction camelize(str) {\n\treturn str && str.replace(camelizeRE, toUpper);\n}\nfunction kebabize(str) {\n\treturn str && str.replace(kebabizeRE, (_, lowerCaseCharacter, upperCaseLetter) => {\n\t\treturn `${lowerCaseCharacter}-${upperCaseLetter}`;\n\t}).toLowerCase();\n}\nfunction basename(filename, ext) {\n\tlet normalizedFilename = filename.replace(/^[a-z]:/i, \"\").replace(/\\\\/g, \"/\");\n\tif (normalizedFilename.endsWith(`index${ext}`)) normalizedFilename = normalizedFilename.replace(`/index${ext}`, ext);\n\tconst lastSlashIndex = normalizedFilename.lastIndexOf(\"/\");\n\tconst baseNameWithExt = normalizedFilename.substring(lastSlashIndex + 1);\n\tif (ext) {\n\t\tconst extIndex = baseNameWithExt.lastIndexOf(ext);\n\t\treturn baseNameWithExt.substring(0, extIndex);\n\t}\n\treturn \"\";\n}\nfunction sortByKey(state) {\n\treturn state && state.slice().sort((a, b) => {\n\t\tif (a.key < b.key) return -1;\n\t\tif (a.key > b.key) return 1;\n\t\treturn 0;\n\t});\n}\nconst HTTP_URL_RE = /^https?:\\/\\//;\n/**\n* Check a string is start with `/` or a valid http url\n*/\nfunction isUrlString(str) {\n\treturn str.startsWith(\"/\") || HTTP_URL_RE.test(str);\n}\n/**\n* @copyright [rfdc](https://github.com/davidmarkclements/rfdc)\n* @description A really fast deep clone alternative\n*/\nconst deepClone = (0, import_rfdc.default)({ circles: true });\nfunction randomStr() {\n\treturn Math.random().toString(36).slice(2);\n}\nfunction isObject(value) {\n\treturn typeof value === \"object\" && !Array.isArray(value) && value !== null;\n}\nfunction isArray(value) {\n\treturn Array.isArray(value);\n}\nfunction isSet(value) {\n\treturn value instanceof Set;\n}\nfunction isMap(value) {\n\treturn value instanceof Map;\n}\n//#endregion\nexport { BROADCAST_CHANNEL_NAME, NOOP, VIEW_MODE_STORAGE_KEY, VITE_PLUGIN_CLIENT_URL_STORAGE_KEY, VITE_PLUGIN_DETECTED_STORAGE_KEY, basename, camelize, classify, deepClone, isArray, isBrowser, isInChromePanel, isInElectron, isInIframe, isInSeparateWindow, isMacOS, isMap, isNumeric, isNuxtApp, isObject, isSet, isUrlString, kebabize, randomStr, sortByKey, target };\n","//#region src/index.ts\nconst DEBOUNCE_DEFAULTS = { trailing: true };\n/**\nDebounce functions\n@param fn - Promise-returning/async function to debounce.\n@param wait - Milliseconds to wait before calling `fn`. Default value is 25ms\n@returns A function that delays calling `fn` until after `wait` milliseconds have elapsed since the last time it was called.\n@example\n```\nimport { debounce } from 'perfect-debounce';\nconst expensiveCall = async input => input;\nconst debouncedFn = debounce(expensiveCall, 200);\nfor (const number of [1, 2, 3]) {\nconsole.log(await debouncedFn(number));\n}\n//=> 1\n//=> 2\n//=> 3\n```\n*/\nfunction debounce(fn, wait = 25, options = {}) {\n\toptions = {\n\t\t...DEBOUNCE_DEFAULTS,\n\t\t...options\n\t};\n\tif (!Number.isFinite(wait)) throw new TypeError(\"Expected `wait` to be a finite number\");\n\tlet leadingValue;\n\tlet timeout;\n\tlet resolveList = [];\n\tlet currentPromise;\n\tlet trailingArgs;\n\tconst applyFn = (_this, args) => {\n\t\tcurrentPromise = _applyPromised(fn, _this, args);\n\t\tcurrentPromise.finally(() => {\n\t\t\tcurrentPromise = null;\n\t\t\tif (options.trailing && trailingArgs && !timeout) {\n\t\t\t\tconst promise = applyFn(_this, trailingArgs);\n\t\t\t\ttrailingArgs = null;\n\t\t\t\treturn promise;\n\t\t\t}\n\t\t});\n\t\treturn currentPromise;\n\t};\n\tconst debounced = function(...args) {\n\t\tif (options.trailing) trailingArgs = args;\n\t\tif (currentPromise) return currentPromise;\n\t\treturn new Promise((resolve) => {\n\t\t\tconst shouldCallNow = !timeout && options.leading;\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\ttimeout = null;\n\t\t\t\tconst promise = options.leading ? leadingValue : applyFn(this, args);\n\t\t\t\ttrailingArgs = null;\n\t\t\t\tfor (const _resolve of resolveList) _resolve(promise);\n\t\t\t\tresolveList = [];\n\t\t\t}, wait);\n\t\t\tif (shouldCallNow) {\n\t\t\t\tleadingValue = applyFn(this, args);\n\t\t\t\tresolve(leadingValue);\n\t\t\t} else resolveList.push(resolve);\n\t\t});\n\t};\n\tconst _clearTimeout = (timer) => {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimeout = null;\n\t\t}\n\t};\n\tdebounced.isPending = () => !!timeout;\n\tdebounced.cancel = () => {\n\t\t_clearTimeout(timeout);\n\t\tresolveList = [];\n\t\ttrailingArgs = null;\n\t};\n\tdebounced.flush = () => {\n\t\t_clearTimeout(timeout);\n\t\tif (!trailingArgs || currentPromise) return;\n\t\tconst args = trailingArgs;\n\t\ttrailingArgs = null;\n\t\treturn applyFn(this, args);\n\t};\n\treturn debounced;\n}\nasync function _applyPromised(fn, _this, args) {\n\treturn await fn.apply(_this, args);\n}\n\n//#endregion\nexport { debounce };","function flatHooks(configHooks, hooks = {}, parentName) {\n for (const key in configHooks) {\n const subHook = configHooks[key];\n const name = parentName ? `${parentName}:${key}` : key;\n if (typeof subHook === \"object\" && subHook !== null) {\n flatHooks(subHook, hooks, name);\n } else if (typeof subHook === \"function\") {\n hooks[name] = subHook;\n }\n }\n return hooks;\n}\nfunction mergeHooks(...hooks) {\n const finalHooks = {};\n for (const hook of hooks) {\n const flatenHook = flatHooks(hook);\n for (const key in flatenHook) {\n if (finalHooks[key]) {\n finalHooks[key].push(flatenHook[key]);\n } else {\n finalHooks[key] = [flatenHook[key]];\n }\n }\n }\n for (const key in finalHooks) {\n if (finalHooks[key].length > 1) {\n const array = finalHooks[key];\n finalHooks[key] = (...arguments_) => serial(array, (function_) => function_(...arguments_));\n } else {\n finalHooks[key] = finalHooks[key][0];\n }\n }\n return finalHooks;\n}\nfunction serial(tasks, function_) {\n return tasks.reduce(\n (promise, task) => promise.then(() => function_(task)),\n Promise.resolve()\n );\n}\nconst defaultTask = { run: (function_) => function_() };\nconst _createTask = () => defaultTask;\nconst createTask = typeof console.createTask !== \"undefined\" ? console.createTask : _createTask;\nfunction serialTaskCaller(hooks, args) {\n const name = args.shift();\n const task = createTask(name);\n return hooks.reduce(\n (promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))),\n Promise.resolve()\n );\n}\nfunction parallelTaskCaller(hooks, args) {\n const name = args.shift();\n const task = createTask(name);\n return Promise.all(hooks.map((hook) => task.run(() => hook(...args))));\n}\nfunction serialCaller(hooks, arguments_) {\n return hooks.reduce(\n (promise, hookFunction) => promise.then(() => hookFunction(...arguments_ || [])),\n Promise.resolve()\n );\n}\nfunction parallelCaller(hooks, args) {\n return Promise.all(hooks.map((hook) => hook(...args || [])));\n}\nfunction callEachWith(callbacks, arg0) {\n for (const callback of [...callbacks]) {\n callback(arg0);\n }\n}\n\nclass Hookable {\n constructor() {\n this._hooks = {};\n this._before = void 0;\n this._after = void 0;\n this._deprecatedMessages = void 0;\n this._deprecatedHooks = {};\n this.hook = this.hook.bind(this);\n this.callHook = this.callHook.bind(this);\n this.callHookWith = this.callHookWith.bind(this);\n }\n hook(name, function_, options = {}) {\n if (!name || typeof function_ !== \"function\") {\n return () => {\n };\n }\n const originalName = name;\n let dep;\n while (this._deprecatedHooks[name]) {\n dep = this._deprecatedHooks[name];\n name = dep.to;\n }\n if (dep && !options.allowDeprecated) {\n let message = dep.message;\n if (!message) {\n message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : \"\");\n }\n if (!this._deprecatedMessages) {\n this._deprecatedMessages = /* @__PURE__ */ new Set();\n }\n if (!this._deprecatedMessages.has(message)) {\n console.warn(message);\n this._deprecatedMessages.add(message);\n }\n }\n if (!function_.name) {\n try {\n Object.defineProperty(function_, \"name\", {\n get: () => \"_\" + name.replace(/\\W+/g, \"_\") + \"_hook_cb\",\n configurable: true\n });\n } catch {\n }\n }\n this._hooks[name] = this._hooks[name] || [];\n this._hooks[name].push(function_);\n return () => {\n if (function_) {\n this.removeHook(name, function_);\n function_ = void 0;\n }\n };\n }\n hookOnce(name, function_) {\n let _unreg;\n let _function = (...arguments_) => {\n if (typeof _unreg === \"function\") {\n _unreg();\n }\n _unreg = void 0;\n _function = void 0;\n return function_(...arguments_);\n };\n _unreg = this.hook(name, _function);\n return _unreg;\n }\n removeHook(name, function_) {\n if (this._hooks[name]) {\n const index = this._hooks[name].indexOf(function_);\n if (index !== -1) {\n this._hooks[name].splice(index, 1);\n }\n if (this._hooks[name].length === 0) {\n delete this._hooks[name];\n }\n }\n }\n deprecateHook(name, deprecated) {\n this._deprecatedHooks[name] = typeof deprecated === \"string\" ? { to: deprecated } : deprecated;\n const _hooks = this._hooks[name] || [];\n delete this._hooks[name];\n for (const hook of _hooks) {\n this.hook(name, hook);\n }\n }\n deprecateHooks(deprecatedHooks) {\n Object.assign(this._deprecatedHooks, deprecatedHooks);\n for (const name in deprecatedHooks) {\n this.deprecateHook(name, deprecatedHooks[name]);\n }\n }\n addHooks(configHooks) {\n const hooks = flatHooks(configHooks);\n const removeFns = Object.keys(hooks).map(\n (key) => this.hook(key, hooks[key])\n );\n return () => {\n for (const unreg of removeFns.splice(0, removeFns.length)) {\n unreg();\n }\n };\n }\n removeHooks(configHooks) {\n const hooks = flatHooks(configHooks);\n for (const key in hooks) {\n this.removeHook(key, hooks[key]);\n }\n }\n removeAllHooks() {\n for (const key in this._hooks) {\n delete this._hooks[key];\n }\n }\n callHook(name, ...arguments_) {\n arguments_.unshift(name);\n return this.callHookWith(serialTaskCaller, name, ...arguments_);\n }\n callHookParallel(name, ...arguments_) {\n arguments_.unshift(name);\n return this.callHookWith(parallelTaskCaller, name, ...arguments_);\n }\n callHookWith(caller, name, ...arguments_) {\n const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0;\n if (this._before) {\n callEachWith(this._before, event);\n }\n const result = caller(\n name in this._hooks ? [...this._hooks[name]] : [],\n arguments_\n );\n if (result instanceof Promise) {\n return result.finally(() => {\n if (this._after && event) {\n callEachWith(this._after, event);\n }\n });\n }\n if (this._after && event) {\n callEachWith(this._after, event);\n }\n return result;\n }\n beforeEach(function_) {\n this._before = this._before || [];\n this._before.push(function_);\n return () => {\n if (this._before !== void 0) {\n const index = this._before.indexOf(function_);\n if (index !== -1) {\n this._before.splice(index, 1);\n }\n }\n };\n }\n afterEach(function_) {\n this._after = this._after || [];\n this._after.push(function_);\n return () => {\n if (this._after !== void 0) {\n const index = this._after.indexOf(function_);\n if (index !== -1) {\n this._after.splice(index, 1);\n }\n }\n };\n }\n}\nfunction createHooks() {\n return new Hookable();\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nfunction createDebugger(hooks, _options = {}) {\n const options = {\n inspect: isBrowser,\n group: isBrowser,\n filter: () => true,\n ..._options\n };\n const _filter = options.filter;\n const filter = typeof _filter === \"string\" ? (name) => name.startsWith(_filter) : _filter;\n const _tag = options.tag ? `[${options.tag}] ` : \"\";\n const logPrefix = (event) => _tag + event.name + \"\".padEnd(event._id, \"\\0\");\n const _idCtr = {};\n const unsubscribeBefore = hooks.beforeEach((event) => {\n if (filter !== void 0 && !filter(event.name)) {\n return;\n }\n _idCtr[event.name] = _idCtr[event.name] || 0;\n event._id = _idCtr[event.name]++;\n console.time(logPrefix(event));\n });\n const unsubscribeAfter = hooks.afterEach((event) => {\n if (filter !== void 0 && !filter(event.name)) {\n return;\n }\n if (options.group) {\n console.groupCollapsed(event.name);\n }\n if (options.inspect) {\n console.timeLog(logPrefix(event), event.args);\n } else {\n console.timeEnd(logPrefix(event));\n }\n if (options.group) {\n console.groupEnd();\n }\n _idCtr[event.name]--;\n });\n return {\n /** Stop debugging and remove listeners */\n close: () => {\n unsubscribeBefore();\n unsubscribeAfter();\n }\n };\n}\n\nexport { Hookable, createDebugger, createHooks, flatHooks, mergeHooks, parallelCaller, serial, serialCaller };\n","const TYPE_REQUEST = \"q\";\nconst TYPE_RESPONSE = \"s\";\nconst DEFAULT_TIMEOUT = 6e4;\nfunction defaultSerialize(i) {\n return i;\n}\nconst defaultDeserialize = defaultSerialize;\nconst { clearTimeout, setTimeout } = globalThis;\nconst random = Math.random.bind(Math);\nfunction createBirpc($functions, options) {\n const {\n post,\n on,\n off = () => {\n },\n eventNames = [],\n serialize = defaultSerialize,\n deserialize = defaultDeserialize,\n resolver,\n bind = \"rpc\",\n timeout = DEFAULT_TIMEOUT\n } = options;\n let $closed = false;\n const _rpcPromiseMap = /* @__PURE__ */ new Map();\n let _promiseInit;\n let rpc;\n async function _call(method, args, event, optional) {\n if ($closed)\n throw new Error(`[birpc] rpc is closed, cannot call \"${method}\"`);\n const req = { m: method, a: args, t: TYPE_REQUEST };\n if (optional)\n req.o = true;\n const send = async (_req) => post(serialize(_req));\n if (event) {\n await send(req);\n return;\n }\n if (_promiseInit) {\n try {\n await _promiseInit;\n } finally {\n _promiseInit = void 0;\n }\n }\n let { promise, resolve, reject } = createPromiseWithResolvers();\n const id = nanoid();\n req.i = id;\n let timeoutId;\n async function handler(newReq = req) {\n if (timeout >= 0) {\n timeoutId = setTimeout(() => {\n try {\n const handleResult = options.onTimeoutError?.call(rpc, method, args);\n if (handleResult !== true)\n throw new Error(`[birpc] timeout on calling \"${method}\"`);\n } catch (e) {\n reject(e);\n }\n _rpcPromiseMap.delete(id);\n }, timeout);\n if (typeof timeoutId === \"object\")\n timeoutId = timeoutId.unref?.();\n }\n _rpcPromiseMap.set(id, { resolve, reject, timeoutId, method });\n await send(newReq);\n return promise;\n }\n try {\n if (options.onRequest)\n await options.onRequest.call(rpc, req, handler, resolve);\n else\n await handler();\n } catch (e) {\n if (options.onGeneralError?.call(rpc, e) !== true)\n throw e;\n return;\n } finally {\n clearTimeout(timeoutId);\n _rpcPromiseMap.delete(id);\n }\n return promise;\n }\n const $call = (method, ...args) => _call(method, args, false);\n const $callOptional = (method, ...args) => _call(method, args, false, true);\n const $callEvent = (method, ...args) => _call(method, args, true);\n const $callRaw = (options2) => _call(options2.method, options2.args, options2.event, options2.optional);\n const builtinMethods = {\n $call,\n $callOptional,\n $callEvent,\n $callRaw,\n $rejectPendingCalls,\n get $closed() {\n return $closed;\n },\n get $meta() {\n return options.meta;\n },\n $close,\n $functions\n };\n rpc = new Proxy({}, {\n get(_, method) {\n if (Object.prototype.hasOwnProperty.call(builtinMethods, method))\n return builtinMethods[method];\n if (method === \"then\" && !eventNames.includes(\"then\") && !(\"then\" in $functions))\n return void 0;\n const sendEvent = (...args) => _call(method, args, true);\n if (eventNames.includes(method)) {\n sendEvent.asEvent = sendEvent;\n return sendEvent;\n }\n const sendCall = (...args) => _call(method, args, false);\n sendCall.asEvent = sendEvent;\n return sendCall;\n }\n });\n function $close(customError) {\n $closed = true;\n _rpcPromiseMap.forEach(({ reject, method }) => {\n const error = new Error(`[birpc] rpc is closed, cannot call \"${method}\"`);\n if (customError) {\n customError.cause ??= error;\n return reject(customError);\n }\n reject(error);\n });\n _rpcPromiseMap.clear();\n off(onMessage);\n }\n function $rejectPendingCalls(handler) {\n const entries = Array.from(_rpcPromiseMap.values());\n const handlerResults = entries.map(({ method, reject }) => {\n if (!handler) {\n return reject(new Error(`[birpc]: rejected pending call \"${method}\".`));\n }\n return handler({ method, reject });\n });\n _rpcPromiseMap.clear();\n return handlerResults;\n }\n async function onMessage(data, ...extra) {\n let msg;\n try {\n msg = deserialize(data);\n } catch (e) {\n if (options.onGeneralError?.call(rpc, e) !== true)\n throw e;\n return;\n }\n if (msg.t === TYPE_REQUEST) {\n const { m: method, a: args, o: optional } = msg;\n let result, error;\n let fn = await (resolver ? resolver.call(rpc, method, $functions[method]) : $functions[method]);\n if (optional)\n fn ||= () => void 0;\n if (!fn) {\n error = new Error(`[birpc] function \"${method}\" not found`);\n } else {\n try {\n result = await fn.apply(bind === \"rpc\" ? rpc : $functions, args);\n } catch (e) {\n error = e;\n }\n }\n if (msg.i) {\n if (error && options.onError)\n options.onError.call(rpc, error, method, args);\n if (error && options.onFunctionError) {\n if (options.onFunctionError.call(rpc, error, method, args) === true)\n return;\n }\n if (!error) {\n try {\n await post(serialize({ t: TYPE_RESPONSE, i: msg.i, r: result }), ...extra);\n return;\n } catch (e) {\n error = e;\n if (options.onGeneralError?.call(rpc, e, method, args) !== true)\n throw e;\n }\n }\n try {\n await post(serialize({ t: TYPE_RESPONSE, i: msg.i, e: error }), ...extra);\n } catch (e) {\n if (options.onGeneralError?.call(rpc, e, method, args) !== true)\n throw e;\n }\n }\n } else {\n const { i: ack, r: result, e: error } = msg;\n const promise = _rpcPromiseMap.get(ack);\n if (promise) {\n clearTimeout(promise.timeoutId);\n if (error)\n promise.reject(error);\n else\n promise.resolve(result);\n }\n _rpcPromiseMap.delete(ack);\n }\n }\n _promiseInit = on(onMessage);\n return rpc;\n}\nconst cacheMap = /* @__PURE__ */ new WeakMap();\nfunction cachedMap(items, fn) {\n return items.map((i) => {\n let r = cacheMap.get(i);\n if (!r) {\n r = fn(i);\n cacheMap.set(i, r);\n }\n return r;\n });\n}\nfunction createBirpcGroup(functions, channels, options = {}) {\n const getChannels = () => typeof channels === \"function\" ? channels() : channels;\n const getClients = (channels2 = getChannels()) => cachedMap(channels2, (s) => createBirpc(functions, { ...options, ...s }));\n function _boardcast(method, args, event, optional) {\n const clients = getClients();\n return Promise.all(clients.map((c) => c.$callRaw({ method, args, event, optional })));\n }\n function $call(method, ...args) {\n return _boardcast(method, args, false);\n }\n function $callOptional(method, ...args) {\n return _boardcast(method, args, false, true);\n }\n function $callEvent(method, ...args) {\n return _boardcast(method, args, true);\n }\n const broadcastBuiltin = {\n $call,\n $callOptional,\n $callEvent\n };\n const broadcastProxy = new Proxy({}, {\n get(_, method) {\n if (Object.prototype.hasOwnProperty.call(broadcastBuiltin, method))\n return broadcastBuiltin[method];\n const client = getClients();\n const callbacks = client.map((c) => c[method]);\n const sendCall = (...args) => {\n return Promise.all(callbacks.map((i) => i(...args)));\n };\n sendCall.asEvent = async (...args) => {\n await Promise.all(callbacks.map((i) => i.asEvent(...args)));\n };\n return sendCall;\n }\n });\n function updateChannels(fn) {\n const channels2 = getChannels();\n fn?.(channels2);\n return getClients(channels2);\n }\n getClients();\n return {\n get clients() {\n return getClients();\n },\n functions,\n updateChannels,\n broadcast: broadcastProxy,\n /**\n * @deprecated use `broadcast`\n */\n // @ts-expect-error deprecated\n boardcast: broadcastProxy\n };\n}\nfunction createPromiseWithResolvers() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n}\nconst urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nfunction nanoid(size = 21) {\n let id = \"\";\n let i = size;\n while (i--)\n id += urlAlphabet[random() * 64 | 0];\n return id;\n}\n\nexport { DEFAULT_TIMEOUT, cachedMap, createBirpc, createBirpcGroup };\n","import { basename, camelize, classify, deepClone, isBrowser, isNuxtApp, isUrlString, kebabize, target } from \"@vue/devtools-shared\";\nimport { debounce } from \"perfect-debounce\";\nimport { createHooks } from \"hookable\";\nimport { createBirpc, createBirpcGroup } from \"birpc\";\n//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n//#endregion\n//#region src/compat/index.ts\nfunction onLegacyDevToolsPluginApiAvailable(cb) {\n\tif (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__) {\n\t\tcb();\n\t\treturn;\n\t}\n\tObject.defineProperty(target, \"__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__\", {\n\t\tset(value) {\n\t\t\tif (value) cb();\n\t\t},\n\t\tconfigurable: true\n\t});\n}\n//#endregion\n//#region src/core/component/utils/index.ts\nfunction getComponentTypeName(options) {\n\tif (typeof options === \"function\") return options.displayName || options.name || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || \"\";\n\tconst name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name;\n\tif (name === \"index\" && options.__file?.endsWith(\"index.vue\")) return \"\";\n\treturn name;\n}\nfunction getComponentFileName(options) {\n\tconst file = options.__file;\n\tif (file) return classify(basename(file, \".vue\"));\n}\nfunction getComponentName(options) {\n\tconst name = options.displayName || options.name || options._componentTag;\n\tif (name) return name;\n\treturn getComponentFileName(options);\n}\nfunction saveComponentGussedName(instance, name) {\n\tinstance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name;\n\treturn name;\n}\nfunction getAppRecord(instance) {\n\tif (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__) return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n\telse if (instance.root) return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n}\nasync function getComponentId(options) {\n\tconst { app, uid, instance } = options;\n\ttry {\n\t\tif (instance.__VUE_DEVTOOLS_NEXT_UID__) return instance.__VUE_DEVTOOLS_NEXT_UID__;\n\t\tconst appRecord = await getAppRecord(app);\n\t\tif (!appRecord) return null;\n\t\tconst isRoot = appRecord.rootInstance === instance;\n\t\treturn `${appRecord.id}:${isRoot ? \"root\" : uid}`;\n\t} catch (e) {}\n}\nfunction isFragment(instance) {\n\tconst subTreeType = instance.subTree?.type;\n\tconst appRecord = getAppRecord(instance);\n\tif (appRecord) return appRecord?.types?.Fragment === subTreeType;\n\treturn false;\n}\nfunction isBeingDestroyed(instance) {\n\treturn instance._isBeingDestroyed || instance.isUnmounted;\n}\n/**\n* Get the appropriate display name for an instance.\n*\n* @param {Vue} instance\n* @return {string}\n*/\nfunction getInstanceName(instance) {\n\tconst name = getComponentTypeName(instance?.type || {});\n\tif (name) return name;\n\tif (instance?.root === instance) return \"Root\";\n\tfor (const key in instance.parent?.type?.components) if (instance.parent.type.components[key] === instance?.type) return saveComponentGussedName(instance, key);\n\tfor (const key in instance.appContext?.components) if (instance.appContext.components[key] === instance?.type) return saveComponentGussedName(instance, key);\n\tconst fileName = getComponentFileName(instance?.type || {});\n\tif (fileName) return fileName;\n\treturn \"Anonymous Component\";\n}\n/**\n* Returns a devtools unique id for instance.\n* @param {Vue} instance\n*/\nfunction getUniqueComponentId(instance) {\n\treturn `${instance?.appContext?.app?.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ ?? 0}:${instance === instance?.root ? \"root\" : instance.uid}`;\n}\nfunction getRenderKey(value) {\n\tif (value == null) return \"\";\n\tif (typeof value === \"number\") return value;\n\telse if (typeof value === \"string\") return `'${value}'`;\n\telse if (Array.isArray(value)) return \"Array\";\n\telse return \"Object\";\n}\nfunction returnError(cb) {\n\ttry {\n\t\treturn cb();\n\t} catch (e) {\n\t\treturn e;\n\t}\n}\nfunction getComponentInstance(appRecord, instanceId) {\n\tinstanceId = instanceId || `${appRecord.id}:root`;\n\treturn appRecord.instanceMap.get(instanceId) || appRecord.instanceMap.get(\":root\");\n}\nfunction ensurePropertyExists(obj, key, skipObjCheck = false) {\n\treturn skipObjCheck ? key in obj : typeof obj === \"object\" && obj !== null ? key in obj : false;\n}\n//#endregion\n//#region src/core/component/state/bounding-rect.ts\nfunction createRect() {\n\tconst rect = {\n\t\ttop: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tget width() {\n\t\t\treturn rect.right - rect.left;\n\t\t},\n\t\tget height() {\n\t\t\treturn rect.bottom - rect.top;\n\t\t}\n\t};\n\treturn rect;\n}\nlet range;\nfunction getTextRect(node) {\n\tif (!range) range = document.createRange();\n\trange.selectNode(node);\n\treturn range.getBoundingClientRect();\n}\nfunction getFragmentRect(vnode) {\n\tconst rect = createRect();\n\tif (!vnode.children) return rect;\n\tfor (let i = 0, l = vnode.children.length; i < l; i++) {\n\t\tconst childVnode = vnode.children[i];\n\t\tlet childRect;\n\t\tif (childVnode.component) childRect = getComponentBoundingRect(childVnode.component);\n\t\telse if (childVnode.el) {\n\t\t\tconst el = childVnode.el;\n\t\t\tif (el.nodeType === 1 || el.getBoundingClientRect) childRect = el.getBoundingClientRect();\n\t\t\telse if (el.nodeType === 3 && el.data.trim()) childRect = getTextRect(el);\n\t\t}\n\t\tif (childRect) mergeRects(rect, childRect);\n\t}\n\treturn rect;\n}\nfunction mergeRects(a, b) {\n\tif (!a.top || b.top < a.top) a.top = b.top;\n\tif (!a.bottom || b.bottom > a.bottom) a.bottom = b.bottom;\n\tif (!a.left || b.left < a.left) a.left = b.left;\n\tif (!a.right || b.right > a.right) a.right = b.right;\n\treturn a;\n}\nconst DEFAULT_RECT = {\n\ttop: 0,\n\tleft: 0,\n\tright: 0,\n\tbottom: 0,\n\twidth: 0,\n\theight: 0\n};\nfunction getComponentBoundingRect(instance) {\n\tconst el = instance.subTree.el;\n\tif (typeof window === \"undefined\") return DEFAULT_RECT;\n\tif (isFragment(instance)) return getFragmentRect(instance.subTree);\n\telse if (el?.nodeType === 1) return el?.getBoundingClientRect();\n\telse if (instance.subTree.component) return getComponentBoundingRect(instance.subTree.component);\n\telse return DEFAULT_RECT;\n}\n//#endregion\n//#region src/core/component/tree/el.ts\nfunction getRootElementsFromComponentInstance(instance) {\n\tif (isFragment(instance)) return getFragmentRootElements(instance.subTree);\n\tif (!instance.subTree) return [];\n\treturn [instance.subTree.el];\n}\nfunction getFragmentRootElements(vnode) {\n\tif (!vnode.children) return [];\n\tconst list = [];\n\tvnode.children.forEach((childVnode) => {\n\t\tif (childVnode.component) list.push(...getRootElementsFromComponentInstance(childVnode.component));\n\t\telse if (childVnode?.el) list.push(childVnode.el);\n\t});\n\treturn list;\n}\n//#endregion\n//#region src/core/component-highlighter/index.ts\nconst CONTAINER_ELEMENT_ID = \"__vue-devtools-component-inspector__\";\nconst CARD_ELEMENT_ID = \"__vue-devtools-component-inspector__card__\";\nconst COMPONENT_NAME_ELEMENT_ID = \"__vue-devtools-component-inspector__name__\";\nconst INDICATOR_ELEMENT_ID = \"__vue-devtools-component-inspector__indicator__\";\nconst containerStyles = {\n\tdisplay: \"block\",\n\tzIndex: 2147483640,\n\tposition: \"fixed\",\n\tbackgroundColor: \"#42b88325\",\n\tborder: \"1px solid #42b88350\",\n\tborderRadius: \"5px\",\n\ttransition: \"all 0.1s ease-in\",\n\tpointerEvents: \"none\"\n};\nconst cardStyles = {\n\tfontFamily: \"Arial, Helvetica, sans-serif\",\n\tpadding: \"5px 8px\",\n\tborderRadius: \"4px\",\n\ttextAlign: \"left\",\n\tposition: \"absolute\",\n\tleft: 0,\n\tcolor: \"#e9e9e9\",\n\tfontSize: \"14px\",\n\tfontWeight: 600,\n\tlineHeight: \"24px\",\n\tbackgroundColor: \"#42b883\",\n\tboxShadow: \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\"\n};\nconst indicatorStyles = {\n\tdisplay: \"inline-block\",\n\tfontWeight: 400,\n\tfontStyle: \"normal\",\n\tfontSize: \"12px\",\n\topacity: .7\n};\nfunction getContainerElement() {\n\treturn document.getElementById(CONTAINER_ELEMENT_ID);\n}\nfunction getCardElement() {\n\treturn document.getElementById(CARD_ELEMENT_ID);\n}\nfunction getIndicatorElement() {\n\treturn document.getElementById(INDICATOR_ELEMENT_ID);\n}\nfunction getNameElement() {\n\treturn document.getElementById(COMPONENT_NAME_ELEMENT_ID);\n}\nfunction getStyles(bounds) {\n\treturn {\n\t\tleft: `${Math.round(bounds.left * 100) / 100}px`,\n\t\ttop: `${Math.round(bounds.top * 100) / 100}px`,\n\t\twidth: `${Math.round(bounds.width * 100) / 100}px`,\n\t\theight: `${Math.round(bounds.height * 100) / 100}px`\n\t};\n}\nfunction create(options) {\n\tconst containerEl = document.createElement(\"div\");\n\tcontainerEl.id = options.elementId ?? CONTAINER_ELEMENT_ID;\n\tObject.assign(containerEl.style, {\n\t\t...containerStyles,\n\t\t...getStyles(options.bounds),\n\t\t...options.style\n\t});\n\tconst cardEl = document.createElement(\"span\");\n\tcardEl.id = CARD_ELEMENT_ID;\n\tObject.assign(cardEl.style, {\n\t\t...cardStyles,\n\t\ttop: options.bounds.top < 35 ? 0 : \"-35px\"\n\t});\n\tconst nameEl = document.createElement(\"span\");\n\tnameEl.id = COMPONENT_NAME_ELEMENT_ID;\n\tnameEl.innerHTML = `<${options.name}>  `;\n\tconst indicatorEl = document.createElement(\"i\");\n\tindicatorEl.id = INDICATOR_ELEMENT_ID;\n\tindicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;\n\tObject.assign(indicatorEl.style, indicatorStyles);\n\tcardEl.appendChild(nameEl);\n\tcardEl.appendChild(indicatorEl);\n\tcontainerEl.appendChild(cardEl);\n\tdocument.body.appendChild(containerEl);\n\treturn containerEl;\n}\nfunction update(options) {\n\tconst containerEl = getContainerElement();\n\tconst cardEl = getCardElement();\n\tconst nameEl = getNameElement();\n\tconst indicatorEl = getIndicatorElement();\n\tif (containerEl) {\n\t\tObject.assign(containerEl.style, {\n\t\t\t...containerStyles,\n\t\t\t...getStyles(options.bounds)\n\t\t});\n\t\tObject.assign(cardEl.style, { top: options.bounds.top < 35 ? 0 : \"-35px\" });\n\t\tnameEl.innerHTML = `<${options.name}>  `;\n\t\tindicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;\n\t}\n}\nfunction highlight(instance) {\n\tconst bounds = getComponentBoundingRect(instance);\n\tif (!bounds.width && !bounds.height) return;\n\tconst name = getInstanceName(instance);\n\tgetContainerElement() ? update({\n\t\tbounds,\n\t\tname\n\t}) : create({\n\t\tbounds,\n\t\tname\n\t});\n}\nfunction unhighlight() {\n\tconst el = getContainerElement();\n\tif (el) el.style.display = \"none\";\n}\nlet inspectInstance = null;\nfunction inspectFn(e) {\n\tconst target = e.target;\n\tif (target) {\n\t\tconst instance = target.__vueParentComponent;\n\t\tif (instance) {\n\t\t\tinspectInstance = instance;\n\t\t\tif (instance.vnode.el) {\n\t\t\t\tconst bounds = getComponentBoundingRect(instance);\n\t\t\t\tconst name = getInstanceName(instance);\n\t\t\t\tgetContainerElement() ? update({\n\t\t\t\t\tbounds,\n\t\t\t\t\tname\n\t\t\t\t}) : create({\n\t\t\t\t\tbounds,\n\t\t\t\t\tname\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\nfunction selectComponentFn(e, cb) {\n\te.preventDefault();\n\te.stopPropagation();\n\tif (inspectInstance) cb(getUniqueComponentId(inspectInstance));\n}\nlet inspectComponentHighLighterSelectFn = null;\nfunction cancelInspectComponentHighLighter() {\n\tunhighlight();\n\twindow.removeEventListener(\"mouseover\", inspectFn);\n\twindow.removeEventListener(\"click\", inspectComponentHighLighterSelectFn, true);\n\tinspectComponentHighLighterSelectFn = null;\n}\nfunction inspectComponentHighLighter() {\n\twindow.addEventListener(\"mouseover\", inspectFn);\n\treturn new Promise((resolve) => {\n\t\tfunction onSelect(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tselectComponentFn(e, (id) => {\n\t\t\t\twindow.removeEventListener(\"click\", onSelect, true);\n\t\t\t\tinspectComponentHighLighterSelectFn = null;\n\t\t\t\twindow.removeEventListener(\"mouseover\", inspectFn);\n\t\t\t\tconst el = getContainerElement();\n\t\t\t\tif (el) el.style.display = \"none\";\n\t\t\t\tresolve(JSON.stringify({ id }));\n\t\t\t});\n\t\t}\n\t\tinspectComponentHighLighterSelectFn = onSelect;\n\t\twindow.addEventListener(\"click\", onSelect, true);\n\t});\n}\nfunction scrollToComponent(options) {\n\tconst instance = getComponentInstance(activeAppRecord.value, options.id);\n\tif (instance) {\n\t\tconst [el] = getRootElementsFromComponentInstance(instance);\n\t\tif (typeof el.scrollIntoView === \"function\") el.scrollIntoView({ behavior: \"smooth\" });\n\t\telse {\n\t\t\tconst bounds = getComponentBoundingRect(instance);\n\t\t\tconst scrollTarget = document.createElement(\"div\");\n\t\t\tconst styles = {\n\t\t\t\t...getStyles(bounds),\n\t\t\t\tposition: \"absolute\"\n\t\t\t};\n\t\t\tObject.assign(scrollTarget.style, styles);\n\t\t\tdocument.body.appendChild(scrollTarget);\n\t\t\tscrollTarget.scrollIntoView({ behavior: \"smooth\" });\n\t\t\tsetTimeout(() => {\n\t\t\t\tdocument.body.removeChild(scrollTarget);\n\t\t\t}, 2e3);\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tconst bounds = getComponentBoundingRect(instance);\n\t\t\tif (bounds.width || bounds.height) {\n\t\t\t\tconst name = getInstanceName(instance);\n\t\t\t\tconst el = getContainerElement();\n\t\t\t\tel ? update({\n\t\t\t\t\t...options,\n\t\t\t\t\tname,\n\t\t\t\t\tbounds\n\t\t\t\t}) : create({\n\t\t\t\t\t...options,\n\t\t\t\t\tname,\n\t\t\t\t\tbounds\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (el) el.style.display = \"none\";\n\t\t\t\t}, 1500);\n\t\t\t}\n\t\t}, 1200);\n\t}\n}\n//#endregion\n//#region src/core/component-inspector/index.ts\ntarget.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ ??= true;\nfunction toggleComponentInspectorEnabled(enabled) {\n\ttarget.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = enabled;\n}\nfunction waitForInspectorInit(cb) {\n\tlet total = 0;\n\tconst timer = setInterval(() => {\n\t\tif (target.__VUE_INSPECTOR__) {\n\t\t\tclearInterval(timer);\n\t\t\ttotal += 30;\n\t\t\tcb();\n\t\t}\n\t\tif (total >= 5e3) clearInterval(timer);\n\t}, 30);\n}\nfunction setupInspector() {\n\tconst inspector = target.__VUE_INSPECTOR__;\n\tconst _openInEditor = inspector.openInEditor;\n\tinspector.openInEditor = async (...params) => {\n\t\tinspector.disable();\n\t\t_openInEditor(...params);\n\t};\n}\nfunction getComponentInspector() {\n\treturn new Promise((resolve) => {\n\t\tfunction setup() {\n\t\t\tsetupInspector();\n\t\t\tresolve(target.__VUE_INSPECTOR__);\n\t\t}\n\t\tif (!target.__VUE_INSPECTOR__) waitForInspectorInit(() => {\n\t\t\tsetup();\n\t\t});\n\t\telse setup();\n\t});\n}\n//#endregion\n//#region src/shared/stub-vue.ts\n/**\n* To prevent include a **HUGE** vue package in the final bundle of chrome ext / electron\n* we stub the necessary vue module.\n* This implementation is based on the 1c3327a0fa5983aa9078e3f7bb2330f572435425 commit\n*/\n/**\n* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/constants.ts#L17-L23)\n*/\nlet ReactiveFlags = /* @__PURE__ */ function(ReactiveFlags) {\n\tReactiveFlags[\"SKIP\"] = \"__v_skip\";\n\tReactiveFlags[\"IS_REACTIVE\"] = \"__v_isReactive\";\n\tReactiveFlags[\"IS_READONLY\"] = \"__v_isReadonly\";\n\tReactiveFlags[\"IS_SHALLOW\"] = \"__v_isShallow\";\n\tReactiveFlags[\"RAW\"] = \"__v_raw\";\n\treturn ReactiveFlags;\n}({});\n/**\n* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L330-L332)\n*/\nfunction isReadonly(value) {\n\treturn !!(value && value[ReactiveFlags.IS_READONLY]);\n}\n/**\n* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L312-L317)\n*/\nfunction isReactive$1(value) {\n\tif (isReadonly(value)) return isReactive$1(value[ReactiveFlags.RAW]);\n\treturn !!(value && value[ReactiveFlags.IS_REACTIVE]);\n}\nfunction isRef$1(r) {\n\treturn !!(r && r.__v_isRef === true);\n}\n/**\n* @from [@vue/reactivity](https://github.com/vuejs/core/blob/1c3327a0fa5983aa9078e3f7bb2330f572435425/packages/reactivity/src/reactive.ts#L372-L375)\n*/\nfunction toRaw$1(observed) {\n\tconst raw = observed && observed[ReactiveFlags.RAW];\n\treturn raw ? toRaw$1(raw) : observed;\n}\n//#endregion\n//#region src/core/component/state/editor.ts\nvar StateEditor = class {\n\tconstructor() {\n\t\tthis.refEditor = new RefStateEditor();\n\t}\n\tset(object, path, value, cb) {\n\t\tconst sections = Array.isArray(path) ? path : path.split(\".\");\n\t\twhile (sections.length > 1) {\n\t\t\tconst section = sections.shift();\n\t\t\tif (object instanceof Map) object = object.get(section);\n\t\t\telse if (object instanceof Set) object = Array.from(object.values())[section];\n\t\t\telse object = object[section];\n\t\t\tif (this.refEditor.isRef(object)) object = this.refEditor.get(object);\n\t\t}\n\t\tconst field = sections[0];\n\t\tconst item = this.refEditor.get(object)[field];\n\t\tif (cb) cb(object, field, value);\n\t\telse if (this.refEditor.isRef(item)) this.refEditor.set(item, value);\n\t\telse object[field] = value;\n\t}\n\tget(object, path) {\n\t\tconst sections = Array.isArray(path) ? path : path.split(\".\");\n\t\tfor (let i = 0; i < sections.length; i++) {\n\t\t\tif (object instanceof Map) object = object.get(sections[i]);\n\t\t\telse object = object[sections[i]];\n\t\t\tif (this.refEditor.isRef(object)) object = this.refEditor.get(object);\n\t\t\tif (!object) return void 0;\n\t\t}\n\t\treturn object;\n\t}\n\thas(object, path, parent = false) {\n\t\tif (typeof object === \"undefined\") return false;\n\t\tconst sections = Array.isArray(path) ? path.slice() : path.split(\".\");\n\t\tconst size = !parent ? 1 : 2;\n\t\twhile (object && sections.length > size) {\n\t\t\tconst section = sections.shift();\n\t\t\tobject = object[section];\n\t\t\tif (this.refEditor.isRef(object)) object = this.refEditor.get(object);\n\t\t}\n\t\treturn object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);\n\t}\n\tcreateDefaultSetCallback(state) {\n\t\treturn (object, field, value) => {\n\t\t\tif (state.remove || state.newKey) if (Array.isArray(object)) object.splice(field, 1);\n\t\t\telse if (toRaw$1(object) instanceof Map) object.delete(field);\n\t\t\telse if (toRaw$1(object) instanceof Set) object.delete(Array.from(object.values())[field]);\n\t\t\telse Reflect.deleteProperty(object, field);\n\t\t\tif (!state.remove) {\n\t\t\t\tconst target = object[state.newKey || field];\n\t\t\t\tif (this.refEditor.isRef(target)) this.refEditor.set(target, value);\n\t\t\t\telse if (toRaw$1(object) instanceof Map) object.set(state.newKey || field, value);\n\t\t\t\telse if (toRaw$1(object) instanceof Set) object.add(value);\n\t\t\t\telse object[state.newKey || field] = value;\n\t\t\t}\n\t\t};\n\t}\n};\nvar RefStateEditor = class {\n\tset(ref, value) {\n\t\tif (isRef$1(ref)) ref.value = value;\n\t\telse {\n\t\t\tif (ref instanceof Set && Array.isArray(value)) {\n\t\t\t\tref.clear();\n\t\t\t\tvalue.forEach((v) => ref.add(v));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst currentKeys = Object.keys(value);\n\t\t\tif (ref instanceof Map) {\n\t\t\t\tconst previousKeysSet = new Set(ref.keys());\n\t\t\t\tcurrentKeys.forEach((key) => {\n\t\t\t\t\tref.set(key, Reflect.get(value, key));\n\t\t\t\t\tpreviousKeysSet.delete(key);\n\t\t\t\t});\n\t\t\t\tpreviousKeysSet.forEach((key) => ref.delete(key));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst previousKeysSet = new Set(Object.keys(ref));\n\t\t\tcurrentKeys.forEach((key) => {\n\t\t\t\tReflect.set(ref, key, Reflect.get(value, key));\n\t\t\t\tpreviousKeysSet.delete(key);\n\t\t\t});\n\t\t\tpreviousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key));\n\t\t}\n\t}\n\tget(ref) {\n\t\treturn isRef$1(ref) ? ref.value : ref;\n\t}\n\tisRef(ref) {\n\t\treturn isRef$1(ref) || isReactive$1(ref);\n\t}\n};\nasync function editComponentState(payload, stateEditor) {\n\tconst { path, nodeId, state, type } = payload;\n\tconst instance = getComponentInstance(activeAppRecord.value, nodeId);\n\tif (!instance) return;\n\tconst targetPath = path.slice();\n\tlet target;\n\tif (Object.keys(instance.props).includes(path[0])) target = instance.props;\n\telse if (instance.devtoolsRawSetupState && Object.keys(instance.devtoolsRawSetupState).includes(path[0])) target = instance.devtoolsRawSetupState;\n\telse if (instance.data && Object.keys(instance.data).includes(path[0])) target = instance.data;\n\telse target = instance.proxy;\n\tif (target && targetPath) {\n\t\tif (state.type === \"object\" && type === \"reactive\") {}\n\t\tstateEditor.set(target, targetPath, state.value, stateEditor.createDefaultSetCallback(state));\n\t}\n}\nconst stateEditor = new StateEditor();\nasync function editState(payload) {\n\teditComponentState(payload, stateEditor);\n}\n//#endregion\n//#region src/core/timeline/storage.ts\nconst TIMELINE_LAYERS_STATE_STORAGE_ID = \"__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__\";\nfunction addTimelineLayersStateToStorage(state) {\n\tif (!isBrowser || typeof localStorage === \"undefined\" || localStorage === null) return;\n\tlocalStorage.setItem(TIMELINE_LAYERS_STATE_STORAGE_ID, JSON.stringify(state));\n}\nfunction getTimelineLayersStateFromStorage() {\n\tif (typeof window === \"undefined\" || !isBrowser || typeof localStorage === \"undefined\" || localStorage === null) return {\n\t\trecordingState: false,\n\t\tmouseEventEnabled: false,\n\t\tkeyboardEventEnabled: false,\n\t\tcomponentEventEnabled: false,\n\t\tperformanceEventEnabled: false,\n\t\tselected: \"\"\n\t};\n\tconst state = typeof localStorage.getItem !== \"undefined\" ? localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID) : null;\n\treturn state ? JSON.parse(state) : {\n\t\trecordingState: false,\n\t\tmouseEventEnabled: false,\n\t\tkeyboardEventEnabled: false,\n\t\tcomponentEventEnabled: false,\n\t\tperformanceEventEnabled: false,\n\t\tselected: \"\"\n\t};\n}\n//#endregion\n//#region src/ctx/timeline.ts\ntarget.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS ??= [];\nconst devtoolsTimelineLayers = new Proxy(target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, { get(target, prop, receiver) {\n\treturn Reflect.get(target, prop, receiver);\n} });\nfunction addTimelineLayer(options, descriptor) {\n\tdevtoolsState.timelineLayersState[descriptor.id] = false;\n\tdevtoolsTimelineLayers.push({\n\t\t...options,\n\t\tdescriptorId: descriptor.id,\n\t\tappRecord: getAppRecord(descriptor.app)\n\t});\n}\nfunction updateTimelineLayersState(state) {\n\tconst updatedState = {\n\t\t...devtoolsState.timelineLayersState,\n\t\t...state\n\t};\n\taddTimelineLayersStateToStorage(updatedState);\n\tupdateDevToolsState({ timelineLayersState: updatedState });\n}\n//#endregion\n//#region src/ctx/inspector.ts\ntarget.__VUE_DEVTOOLS_KIT_INSPECTOR__ ??= [];\nconst devtoolsInspector = new Proxy(target.__VUE_DEVTOOLS_KIT_INSPECTOR__, { get(target, prop, receiver) {\n\treturn Reflect.get(target, prop, receiver);\n} });\nconst callInspectorUpdatedHook = debounce(() => {\n\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.SEND_INSPECTOR_TO_CLIENT, getActiveInspectors());\n});\nfunction addInspector(inspector, descriptor) {\n\tdevtoolsInspector.push({\n\t\toptions: inspector,\n\t\tdescriptor,\n\t\ttreeFilterPlaceholder: inspector.treeFilterPlaceholder ?? \"Search tree...\",\n\t\tstateFilterPlaceholder: inspector.stateFilterPlaceholder ?? \"Search state...\",\n\t\ttreeFilter: \"\",\n\t\tselectedNodeId: \"\",\n\t\tappRecord: getAppRecord(descriptor.app)\n\t});\n\tcallInspectorUpdatedHook();\n}\nfunction getActiveInspectors() {\n\treturn devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== \"components\").map((inspector) => {\n\t\tconst descriptor = inspector.descriptor;\n\t\tconst options = inspector.options;\n\t\treturn {\n\t\t\tid: options.id,\n\t\t\tlabel: options.label,\n\t\t\tlogo: descriptor.logo,\n\t\t\ticon: `custom-ic-baseline-${options?.icon?.replace(/_/g, \"-\")}`,\n\t\t\tpackageName: descriptor.packageName,\n\t\t\thomepage: descriptor.homepage,\n\t\t\tpluginId: descriptor.id\n\t\t};\n\t});\n}\nfunction getInspectorInfo(id) {\n\tconst inspector = getInspector(id, activeAppRecord.value.app);\n\tif (!inspector) return;\n\tconst descriptor = inspector.descriptor;\n\tconst options = inspector.options;\n\tconst timelineLayers = devtoolsTimelineLayers.filter((layer) => layer.descriptorId === descriptor.id).map((item) => ({\n\t\tid: item.id,\n\t\tlabel: item.label,\n\t\tcolor: item.color\n\t}));\n\treturn {\n\t\tid: options.id,\n\t\tlabel: options.label,\n\t\tlogo: descriptor.logo,\n\t\tpackageName: descriptor.packageName,\n\t\thomepage: descriptor.homepage,\n\t\ttimelineLayers,\n\t\ttreeFilterPlaceholder: inspector.treeFilterPlaceholder,\n\t\tstateFilterPlaceholder: inspector.stateFilterPlaceholder\n\t};\n}\nfunction getInspector(id, app) {\n\treturn devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true));\n}\nfunction getInspectorActions(id) {\n\treturn getInspector(id)?.options.actions;\n}\nfunction getInspectorNodeActions(id) {\n\treturn getInspector(id)?.options.nodeActions;\n}\n//#endregion\n//#region src/ctx/hook.ts\nlet DevToolsV6PluginAPIHookKeys = /* @__PURE__ */ function(DevToolsV6PluginAPIHookKeys) {\n\tDevToolsV6PluginAPIHookKeys[\"VISIT_COMPONENT_TREE\"] = \"visitComponentTree\";\n\tDevToolsV6PluginAPIHookKeys[\"INSPECT_COMPONENT\"] = \"inspectComponent\";\n\tDevToolsV6PluginAPIHookKeys[\"EDIT_COMPONENT_STATE\"] = \"editComponentState\";\n\tDevToolsV6PluginAPIHookKeys[\"GET_INSPECTOR_TREE\"] = \"getInspectorTree\";\n\tDevToolsV6PluginAPIHookKeys[\"GET_INSPECTOR_STATE\"] = \"getInspectorState\";\n\tDevToolsV6PluginAPIHookKeys[\"EDIT_INSPECTOR_STATE\"] = \"editInspectorState\";\n\tDevToolsV6PluginAPIHookKeys[\"INSPECT_TIMELINE_EVENT\"] = \"inspectTimelineEvent\";\n\tDevToolsV6PluginAPIHookKeys[\"TIMELINE_CLEARED\"] = \"timelineCleared\";\n\tDevToolsV6PluginAPIHookKeys[\"SET_PLUGIN_SETTINGS\"] = \"setPluginSettings\";\n\treturn DevToolsV6PluginAPIHookKeys;\n}({});\nlet DevToolsContextHookKeys = /* @__PURE__ */ function(DevToolsContextHookKeys) {\n\tDevToolsContextHookKeys[\"ADD_INSPECTOR\"] = \"addInspector\";\n\tDevToolsContextHookKeys[\"SEND_INSPECTOR_TREE\"] = \"sendInspectorTree\";\n\tDevToolsContextHookKeys[\"SEND_INSPECTOR_STATE\"] = \"sendInspectorState\";\n\tDevToolsContextHookKeys[\"CUSTOM_INSPECTOR_SELECT_NODE\"] = \"customInspectorSelectNode\";\n\tDevToolsContextHookKeys[\"TIMELINE_LAYER_ADDED\"] = \"timelineLayerAdded\";\n\tDevToolsContextHookKeys[\"TIMELINE_EVENT_ADDED\"] = \"timelineEventAdded\";\n\tDevToolsContextHookKeys[\"GET_COMPONENT_INSTANCES\"] = \"getComponentInstances\";\n\tDevToolsContextHookKeys[\"GET_COMPONENT_BOUNDS\"] = \"getComponentBounds\";\n\tDevToolsContextHookKeys[\"GET_COMPONENT_NAME\"] = \"getComponentName\";\n\tDevToolsContextHookKeys[\"COMPONENT_HIGHLIGHT\"] = \"componentHighlight\";\n\tDevToolsContextHookKeys[\"COMPONENT_UNHIGHLIGHT\"] = \"componentUnhighlight\";\n\treturn DevToolsContextHookKeys;\n}({});\nlet DevToolsMessagingHookKeys = /* @__PURE__ */ function(DevToolsMessagingHookKeys) {\n\tDevToolsMessagingHookKeys[\"SEND_INSPECTOR_TREE_TO_CLIENT\"] = \"sendInspectorTreeToClient\";\n\tDevToolsMessagingHookKeys[\"SEND_INSPECTOR_STATE_TO_CLIENT\"] = \"sendInspectorStateToClient\";\n\tDevToolsMessagingHookKeys[\"SEND_TIMELINE_EVENT_TO_CLIENT\"] = \"sendTimelineEventToClient\";\n\tDevToolsMessagingHookKeys[\"SEND_INSPECTOR_TO_CLIENT\"] = \"sendInspectorToClient\";\n\tDevToolsMessagingHookKeys[\"SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT\"] = \"sendActiveAppUpdatedToClient\";\n\tDevToolsMessagingHookKeys[\"DEVTOOLS_STATE_UPDATED\"] = \"devtoolsStateUpdated\";\n\tDevToolsMessagingHookKeys[\"DEVTOOLS_CONNECTED_UPDATED\"] = \"devtoolsConnectedUpdated\";\n\tDevToolsMessagingHookKeys[\"ROUTER_INFO_UPDATED\"] = \"routerInfoUpdated\";\n\treturn DevToolsMessagingHookKeys;\n}({});\nfunction createDevToolsCtxHooks() {\n\tconst hooks = createHooks();\n\thooks.hook(DevToolsContextHookKeys.ADD_INSPECTOR, ({ inspector, plugin }) => {\n\t\taddInspector(inspector, plugin.descriptor);\n\t});\n\tconst debounceSendInspectorTree = debounce(async ({ inspectorId, plugin }) => {\n\t\tif (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return;\n\t\tconst inspector = getInspector(inspectorId, plugin.descriptor.app);\n\t\tconst _payload = {\n\t\t\tapp: plugin.descriptor.app,\n\t\t\tinspectorId,\n\t\t\tfilter: inspector?.treeFilter || \"\",\n\t\t\trootNodes: []\n\t\t};\n\t\tawait new Promise((resolve) => {\n\t\t\thooks.callHookWith(async (callbacks) => {\n\t\t\t\tawait Promise.all(callbacks.map((cb) => cb(_payload)));\n\t\t\t\tresolve();\n\t\t\t}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE);\n\t\t});\n\t\thooks.callHookWith(async (callbacks) => {\n\t\t\tawait Promise.all(callbacks.map((cb) => cb({\n\t\t\t\tinspectorId,\n\t\t\t\trootNodes: _payload.rootNodes\n\t\t\t})));\n\t\t}, DevToolsMessagingHookKeys.SEND_INSPECTOR_TREE_TO_CLIENT);\n\t}, 120);\n\thooks.hook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, debounceSendInspectorTree);\n\tconst debounceSendInspectorState = debounce(async ({ inspectorId, plugin }) => {\n\t\tif (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return;\n\t\tconst inspector = getInspector(inspectorId, plugin.descriptor.app);\n\t\tconst _payload = {\n\t\t\tapp: plugin.descriptor.app,\n\t\t\tinspectorId,\n\t\t\tnodeId: inspector?.selectedNodeId || \"\",\n\t\t\tstate: null\n\t\t};\n\t\tconst ctx = { currentTab: `custom-inspector:${inspectorId}` };\n\t\tif (_payload.nodeId) await new Promise((resolve) => {\n\t\t\thooks.callHookWith(async (callbacks) => {\n\t\t\t\tawait Promise.all(callbacks.map((cb) => cb(_payload, ctx)));\n\t\t\t\tresolve();\n\t\t\t}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE);\n\t\t});\n\t\thooks.callHookWith(async (callbacks) => {\n\t\t\tawait Promise.all(callbacks.map((cb) => cb({\n\t\t\t\tinspectorId,\n\t\t\t\tnodeId: _payload.nodeId,\n\t\t\t\tstate: _payload.state\n\t\t\t})));\n\t\t}, DevToolsMessagingHookKeys.SEND_INSPECTOR_STATE_TO_CLIENT);\n\t}, 120);\n\thooks.hook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, debounceSendInspectorState);\n\thooks.hook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, ({ inspectorId, nodeId, plugin }) => {\n\t\tconst inspector = getInspector(inspectorId, plugin.descriptor.app);\n\t\tif (!inspector) return;\n\t\tinspector.selectedNodeId = nodeId;\n\t});\n\thooks.hook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, ({ options, plugin }) => {\n\t\taddTimelineLayer(options, plugin.descriptor);\n\t});\n\thooks.hook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, ({ options, plugin }) => {\n\t\tif (devtoolsState.highPerfModeEnabled || !devtoolsState.timelineLayersState?.[plugin.descriptor.id] && ![\n\t\t\t\"performance\",\n\t\t\t\"component-event\",\n\t\t\t\"keyboard\",\n\t\t\t\"mouse\"\n\t\t].includes(options.layerId)) return;\n\t\thooks.callHookWith(async (callbacks) => {\n\t\t\tawait Promise.all(callbacks.map((cb) => cb(options)));\n\t\t}, DevToolsMessagingHookKeys.SEND_TIMELINE_EVENT_TO_CLIENT);\n\t});\n\thooks.hook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, async ({ app }) => {\n\t\tconst appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n\t\tif (!appRecord) return null;\n\t\tconst appId = appRecord.id.toString();\n\t\treturn [...appRecord.instanceMap].filter(([key]) => key.split(\":\")[0] === appId).map(([, instance]) => instance);\n\t});\n\thooks.hook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, async ({ instance }) => {\n\t\treturn getComponentBoundingRect(instance);\n\t});\n\thooks.hook(DevToolsContextHookKeys.GET_COMPONENT_NAME, ({ instance }) => {\n\t\treturn getInstanceName(instance);\n\t});\n\thooks.hook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, ({ uid }) => {\n\t\tconst instance = activeAppRecord.value.instanceMap.get(uid);\n\t\tif (instance) highlight(instance);\n\t});\n\thooks.hook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT, () => {\n\t\tunhighlight();\n\t});\n\treturn hooks;\n}\n//#endregion\n//#region src/ctx/state.ts\ntarget.__VUE_DEVTOOLS_KIT_APP_RECORDS__ ??= [];\ntarget.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ ??= {};\ntarget.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ ??= \"\";\ntarget.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ ??= [];\ntarget.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ ??= [];\nconst STATE_KEY = \"__VUE_DEVTOOLS_KIT_GLOBAL_STATE__\";\nfunction initStateFactory() {\n\treturn {\n\t\tconnected: false,\n\t\tclientConnected: false,\n\t\tvitePluginDetected: true,\n\t\tappRecords: [],\n\t\tactiveAppRecordId: \"\",\n\t\ttabs: [],\n\t\tcommands: [],\n\t\thighPerfModeEnabled: true,\n\t\tdevtoolsClientDetected: {},\n\t\tperfUniqueGroupId: 0,\n\t\ttimelineLayersState: getTimelineLayersStateFromStorage()\n\t};\n}\ntarget[STATE_KEY] ??= initStateFactory();\nconst callStateUpdatedHook = debounce((state) => {\n\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_STATE_UPDATED, { state });\n});\nconst callConnectedUpdatedHook = debounce((state, oldState) => {\n\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, {\n\t\tstate,\n\t\toldState\n\t});\n});\nconst devtoolsAppRecords = new Proxy(target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, { get(_target, prop, receiver) {\n\tif (prop === \"value\") return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__;\n\treturn target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop];\n} });\nconst addDevToolsAppRecord = (app) => {\n\ttarget.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [...target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, app];\n};\nconst removeDevToolsAppRecord = (app) => {\n\ttarget.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = devtoolsAppRecords.value.filter((record) => record.app !== app);\n};\nconst activeAppRecord = new Proxy(target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, { get(_target, prop, receiver) {\n\tif (prop === \"value\") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__;\n\telse if (prop === \"id\") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__;\n\treturn target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop];\n} });\nfunction updateAllStates() {\n\tcallStateUpdatedHook({\n\t\t...target[STATE_KEY],\n\t\tappRecords: devtoolsAppRecords.value,\n\t\tactiveAppRecordId: activeAppRecord.id,\n\t\ttabs: target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,\n\t\tcommands: target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__\n\t});\n}\nfunction setActiveAppRecord(app) {\n\ttarget.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app;\n\tupdateAllStates();\n}\nfunction setActiveAppRecordId(id) {\n\ttarget.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id;\n\tupdateAllStates();\n}\nconst devtoolsState = new Proxy(target[STATE_KEY], {\n\tget(target$3, property) {\n\t\tif (property === \"appRecords\") return devtoolsAppRecords;\n\t\telse if (property === \"activeAppRecordId\") return activeAppRecord.id;\n\t\telse if (property === \"tabs\") return target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;\n\t\telse if (property === \"commands\") return target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;\n\t\treturn target[STATE_KEY][property];\n\t},\n\tdeleteProperty(target, property) {\n\t\tdelete target[property];\n\t\treturn true;\n\t},\n\tset(target$4, property, value) {\n\t\ttarget$4[property] = value;\n\t\ttarget[STATE_KEY][property] = value;\n\t\treturn true;\n\t}\n});\nfunction resetDevToolsState() {\n\tObject.assign(target[STATE_KEY], initStateFactory());\n}\nfunction updateDevToolsState(state) {\n\tconst oldState = {\n\t\t...target[STATE_KEY],\n\t\tappRecords: devtoolsAppRecords.value,\n\t\tactiveAppRecordId: activeAppRecord.id\n\t};\n\tif (oldState.connected !== state.connected && state.connected || oldState.clientConnected !== state.clientConnected && state.clientConnected) callConnectedUpdatedHook(target[STATE_KEY], oldState);\n\tObject.assign(target[STATE_KEY], state);\n\tupdateAllStates();\n}\nfunction onDevToolsConnected(fn) {\n\treturn new Promise((resolve) => {\n\t\tif (devtoolsState.connected) {\n\t\t\tfn();\n\t\t\tresolve();\n\t\t}\n\t\tdevtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => {\n\t\t\tif (state.connected) {\n\t\t\t\tfn();\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n}\nconst resolveIcon = (icon) => {\n\tif (!icon) return;\n\tif (icon.startsWith(\"baseline-\")) return `custom-ic-${icon}`;\n\tif (icon.startsWith(\"i-\") || isUrlString(icon)) return icon;\n\treturn `custom-ic-baseline-${icon}`;\n};\nfunction addCustomTab(tab) {\n\tconst tabs = target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;\n\tif (tabs.some((t) => t.name === tab.name)) return;\n\ttabs.push({\n\t\t...tab,\n\t\ticon: resolveIcon(tab.icon)\n\t});\n\tupdateAllStates();\n}\nfunction addCustomCommand(action) {\n\tconst commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;\n\tif (commands.some((t) => t.id === action.id)) return;\n\tcommands.push({\n\t\t...action,\n\t\ticon: resolveIcon(action.icon),\n\t\tchildren: action.children ? action.children.map((child) => ({\n\t\t\t...child,\n\t\t\ticon: resolveIcon(child.icon)\n\t\t})) : void 0\n\t});\n\tupdateAllStates();\n}\nfunction removeCustomCommand(actionId) {\n\tconst commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;\n\tconst index = commands.findIndex((t) => t.id === actionId);\n\tif (index === -1) return;\n\tcommands.splice(index, 1);\n\tupdateAllStates();\n}\nfunction toggleClientConnected(state) {\n\tupdateDevToolsState({ clientConnected: state });\n}\n//#endregion\n//#region src/core/open-in-editor/index.ts\nfunction setOpenInEditorBaseUrl(url) {\n\ttarget.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ = url;\n}\nfunction openInEditor(options = {}) {\n\tconst { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options;\n\tif (file) {\n\t\tif (host === \"chrome-extension\") {\n\t\t\tconst fileName = file.replace(/\\\\/g, \"\\\\\\\\\");\n\t\t\tconst _baseUrl = window.VUE_DEVTOOLS_CONFIG?.openInEditorHost ?? \"/\";\n\t\t\tfetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => {\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tconst msg = `Opening component ${fileName} failed`;\n\t\t\t\t\tconsole.log(`%c${msg}`, \"color:red\");\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (devtoolsState.vitePluginDetected) {\n\t\t\tconst _baseUrl = target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ ?? baseUrl;\n\t\t\ttarget.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column);\n\t\t}\n\t}\n}\n//#endregion\n//#region src/ctx/plugin.ts\ntarget.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ ??= [];\nconst devtoolsPluginBuffer = new Proxy(target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, { get(target, prop, receiver) {\n\treturn Reflect.get(target, prop, receiver);\n} });\nfunction addDevToolsPluginToBuffer(pluginDescriptor, setupFn) {\n\tdevtoolsPluginBuffer.push([pluginDescriptor, setupFn]);\n}\n//#endregion\n//#region src/core/plugin/plugin-settings.ts\nfunction _getSettings(settings) {\n\tconst _settings = {};\n\tObject.keys(settings).forEach((key) => {\n\t\t_settings[key] = settings[key].defaultValue;\n\t});\n\treturn _settings;\n}\nfunction getPluginLocalKey(pluginId) {\n\treturn `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`;\n}\nfunction getPluginSettingsOptions(pluginId) {\n\treturn (devtoolsPluginBuffer.find((item) => item[0].id === pluginId && !!item[0]?.settings)?.[0] ?? null)?.settings ?? null;\n}\nfunction getPluginSettings(pluginId, fallbackValue) {\n\tconst localKey = getPluginLocalKey(pluginId);\n\tif (localKey) {\n\t\tconst localSettings = localStorage.getItem(localKey);\n\t\tif (localSettings) return JSON.parse(localSettings);\n\t}\n\tif (pluginId) return _getSettings((devtoolsPluginBuffer.find((item) => item[0].id === pluginId)?.[0] ?? null)?.settings ?? {});\n\treturn _getSettings(fallbackValue);\n}\nfunction initPluginSettings(pluginId, settings) {\n\tconst localKey = getPluginLocalKey(pluginId);\n\tif (!localStorage.getItem(localKey)) localStorage.setItem(localKey, JSON.stringify(_getSettings(settings)));\n}\nfunction setPluginSettings(pluginId, key, value) {\n\tconst localKey = getPluginLocalKey(pluginId);\n\tconst localSettings = localStorage.getItem(localKey);\n\tconst parsedLocalSettings = JSON.parse(localSettings || \"{}\");\n\tconst updated = {\n\t\t...parsedLocalSettings,\n\t\t[key]: value\n\t};\n\tlocalStorage.setItem(localKey, JSON.stringify(updated));\n\tdevtoolsContext.hooks.callHookWith((callbacks) => {\n\t\tcallbacks.forEach((cb) => cb({\n\t\t\tpluginId,\n\t\t\tkey,\n\t\t\toldValue: parsedLocalSettings[key],\n\t\t\tnewValue: value,\n\t\t\tsettings: updated\n\t\t}));\n\t}, DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS);\n}\n//#endregion\n//#region src/types/hook.ts\nlet DevToolsHooks = /* @__PURE__ */ function(DevToolsHooks) {\n\tDevToolsHooks[\"APP_INIT\"] = \"app:init\";\n\tDevToolsHooks[\"APP_UNMOUNT\"] = \"app:unmount\";\n\tDevToolsHooks[\"COMPONENT_UPDATED\"] = \"component:updated\";\n\tDevToolsHooks[\"COMPONENT_ADDED\"] = \"component:added\";\n\tDevToolsHooks[\"COMPONENT_REMOVED\"] = \"component:removed\";\n\tDevToolsHooks[\"COMPONENT_EMIT\"] = \"component:emit\";\n\tDevToolsHooks[\"PERFORMANCE_START\"] = \"perf:start\";\n\tDevToolsHooks[\"PERFORMANCE_END\"] = \"perf:end\";\n\tDevToolsHooks[\"ADD_ROUTE\"] = \"router:add-route\";\n\tDevToolsHooks[\"REMOVE_ROUTE\"] = \"router:remove-route\";\n\tDevToolsHooks[\"RENDER_TRACKED\"] = \"render:tracked\";\n\tDevToolsHooks[\"RENDER_TRIGGERED\"] = \"render:triggered\";\n\tDevToolsHooks[\"APP_CONNECTED\"] = \"app:connected\";\n\tDevToolsHooks[\"SETUP_DEVTOOLS_PLUGIN\"] = \"devtools-plugin:setup\";\n\treturn DevToolsHooks;\n}({});\n//#endregion\n//#region src/hook/index.ts\nconst devtoolsHooks = target.__VUE_DEVTOOLS_HOOK ??= createHooks();\nconst on = {\n\tvueAppInit(fn) {\n\t\tdevtoolsHooks.hook(DevToolsHooks.APP_INIT, fn);\n\t},\n\tvueAppUnmount(fn) {\n\t\tdevtoolsHooks.hook(DevToolsHooks.APP_UNMOUNT, fn);\n\t},\n\tvueAppConnected(fn) {\n\t\tdevtoolsHooks.hook(DevToolsHooks.APP_CONNECTED, fn);\n\t},\n\tcomponentAdded(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.COMPONENT_ADDED, fn);\n\t},\n\tcomponentEmit(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.COMPONENT_EMIT, fn);\n\t},\n\tcomponentUpdated(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.COMPONENT_UPDATED, fn);\n\t},\n\tcomponentRemoved(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.COMPONENT_REMOVED, fn);\n\t},\n\tsetupDevtoolsPlugin(fn) {\n\t\tdevtoolsHooks.hook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, fn);\n\t},\n\tperfStart(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_START, fn);\n\t},\n\tperfEnd(fn) {\n\t\treturn devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_END, fn);\n\t}\n};\nfunction createDevToolsHook() {\n\treturn {\n\t\tid: \"vue-devtools-next\",\n\t\tdevtoolsVersion: \"7.0\",\n\t\tenabled: false,\n\t\tappRecords: [],\n\t\tapps: [],\n\t\tevents: /* @__PURE__ */ new Map(),\n\t\ton(event, fn) {\n\t\t\tif (!this.events.has(event)) this.events.set(event, []);\n\t\t\tthis.events.get(event)?.push(fn);\n\t\t\treturn () => this.off(event, fn);\n\t\t},\n\t\tonce(event, fn) {\n\t\t\tconst onceFn = (...args) => {\n\t\t\t\tthis.off(event, onceFn);\n\t\t\t\tfn(...args);\n\t\t\t};\n\t\t\tthis.on(event, onceFn);\n\t\t\treturn [event, onceFn];\n\t\t},\n\t\toff(event, fn) {\n\t\t\tif (this.events.has(event)) {\n\t\t\t\tconst eventCallbacks = this.events.get(event);\n\t\t\t\tconst index = eventCallbacks.indexOf(fn);\n\t\t\t\tif (index !== -1) eventCallbacks.splice(index, 1);\n\t\t\t}\n\t\t},\n\t\temit(event, ...payload) {\n\t\t\tif (this.events.has(event)) this.events.get(event).forEach((fn) => fn(...payload));\n\t\t}\n\t};\n}\nfunction subscribeDevToolsHook(hook) {\n\thook.on(DevToolsHooks.APP_INIT, (app, version, types) => {\n\t\tif (app?._instance?.type?.devtools?.hide) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.APP_INIT, app, version, types);\n\t});\n\thook.on(DevToolsHooks.APP_UNMOUNT, (app) => {\n\t\tdevtoolsHooks.callHook(DevToolsHooks.APP_UNMOUNT, app);\n\t});\n\thook.on(DevToolsHooks.COMPONENT_ADDED, async (app, uid, parentUid, component) => {\n\t\tif (app?._instance?.type?.devtools?.hide || devtoolsState.highPerfModeEnabled) return;\n\t\tif (!app || typeof uid !== \"number\" && !uid || !component) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_ADDED, app, uid, parentUid, component);\n\t});\n\thook.on(DevToolsHooks.COMPONENT_UPDATED, (app, uid, parentUid, component) => {\n\t\tif (!app || typeof uid !== \"number\" && !uid || !component || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED, app, uid, parentUid, component);\n\t});\n\thook.on(DevToolsHooks.COMPONENT_REMOVED, async (app, uid, parentUid, component) => {\n\t\tif (!app || typeof uid !== \"number\" && !uid || !component || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_REMOVED, app, uid, parentUid, component);\n\t});\n\thook.on(DevToolsHooks.COMPONENT_EMIT, async (app, instance, event, params) => {\n\t\tif (!app || !instance || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_EMIT, app, instance, event, params);\n\t});\n\thook.on(DevToolsHooks.PERFORMANCE_START, (app, uid, vm, type, time) => {\n\t\tif (!app || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.PERFORMANCE_START, app, uid, vm, type, time);\n\t});\n\thook.on(DevToolsHooks.PERFORMANCE_END, (app, uid, vm, type, time) => {\n\t\tif (!app || devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.PERFORMANCE_END, app, uid, vm, type, time);\n\t});\n\thook.on(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, (pluginDescriptor, setupFn, options) => {\n\t\tif (options?.target === \"legacy\") return;\n\t\tdevtoolsHooks.callHook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn);\n\t});\n}\nconst hook = {\n\ton,\n\tsetupDevToolsPlugin(pluginDescriptor, setupFn) {\n\t\treturn devtoolsHooks.callHook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn);\n\t}\n};\n//#endregion\n//#region src/api/v6/index.ts\nvar DevToolsV6PluginAPI = class {\n\tconstructor({ plugin, ctx }) {\n\t\tthis.hooks = ctx.hooks;\n\t\tthis.plugin = plugin;\n\t}\n\tget on() {\n\t\treturn {\n\t\t\tvisitComponentTree: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, handler);\n\t\t\t},\n\t\t\tinspectComponent: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_COMPONENT, handler);\n\t\t\t},\n\t\t\teditComponentState: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_COMPONENT_STATE, handler);\n\t\t\t},\n\t\t\tgetInspectorTree: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE, handler);\n\t\t\t},\n\t\t\tgetInspectorState: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE, handler);\n\t\t\t},\n\t\t\teditInspectorState: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE, handler);\n\t\t\t},\n\t\t\tinspectTimelineEvent: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_TIMELINE_EVENT, handler);\n\t\t\t},\n\t\t\ttimelineCleared: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.TIMELINE_CLEARED, handler);\n\t\t\t},\n\t\t\tsetPluginSettings: (handler) => {\n\t\t\t\tthis.hooks.hook(DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS, handler);\n\t\t\t}\n\t\t};\n\t}\n\tnotifyComponentUpdate(instance) {\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tconst inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName);\n\t\tif (inspector?.id) {\n\t\t\tif (instance) {\n\t\t\t\tconst args = [\n\t\t\t\t\tinstance.appContext.app,\n\t\t\t\t\tinstance.uid,\n\t\t\t\t\tinstance.parent?.uid,\n\t\t\t\t\tinstance\n\t\t\t\t];\n\t\t\t\tdevtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED, ...args);\n\t\t\t} else devtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED);\n\t\t\tthis.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {\n\t\t\t\tinspectorId: inspector.id,\n\t\t\t\tplugin: this.plugin\n\t\t\t});\n\t\t}\n\t}\n\taddInspector(options) {\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.ADD_INSPECTOR, {\n\t\t\tinspector: options,\n\t\t\tplugin: this.plugin\n\t\t});\n\t\tif (this.plugin.descriptor.settings) initPluginSettings(options.id, this.plugin.descriptor.settings);\n\t}\n\tsendInspectorTree(inspectorId) {\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, {\n\t\t\tinspectorId,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\tsendInspectorState(inspectorId) {\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {\n\t\t\tinspectorId,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\tselectInspectorNode(inspectorId, nodeId) {\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, {\n\t\t\tinspectorId,\n\t\t\tnodeId,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\tvisitComponentTree(payload) {\n\t\treturn this.hooks.callHook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, payload);\n\t}\n\tnow() {\n\t\tif (devtoolsState.highPerfModeEnabled) return 0;\n\t\treturn Date.now();\n\t}\n\taddTimelineLayer(options) {\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, {\n\t\t\toptions,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\taddTimelineEvent(options) {\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tthis.hooks.callHook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, {\n\t\t\toptions,\n\t\t\tplugin: this.plugin\n\t\t});\n\t}\n\tgetSettings(pluginId) {\n\t\treturn getPluginSettings(pluginId ?? this.plugin.descriptor.id, this.plugin.descriptor.settings);\n\t}\n\tgetComponentInstances(app) {\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, { app });\n\t}\n\tgetComponentBounds(instance) {\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, { instance });\n\t}\n\tgetComponentName(instance) {\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_NAME, { instance });\n\t}\n\thighlightElement(instance) {\n\t\tconst uid = instance.__VUE_DEVTOOLS_NEXT_UID__;\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, { uid });\n\t}\n\tunhighlightElement() {\n\t\treturn this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT);\n\t}\n};\n//#endregion\n//#region src/api/index.ts\nconst DevToolsPluginAPI = DevToolsV6PluginAPI;\n//#endregion\n//#region src/core/component/state/constants.ts\nconst vueBuiltins = new Set([\n\t\"nextTick\",\n\t\"defineComponent\",\n\t\"defineAsyncComponent\",\n\t\"defineCustomElement\",\n\t\"ref\",\n\t\"computed\",\n\t\"reactive\",\n\t\"readonly\",\n\t\"watchEffect\",\n\t\"watchPostEffect\",\n\t\"watchSyncEffect\",\n\t\"watch\",\n\t\"isRef\",\n\t\"unref\",\n\t\"toRef\",\n\t\"toRefs\",\n\t\"isProxy\",\n\t\"isReactive\",\n\t\"isReadonly\",\n\t\"shallowRef\",\n\t\"triggerRef\",\n\t\"customRef\",\n\t\"shallowReactive\",\n\t\"shallowReadonly\",\n\t\"toRaw\",\n\t\"markRaw\",\n\t\"effectScope\",\n\t\"getCurrentScope\",\n\t\"onScopeDispose\",\n\t\"onMounted\",\n\t\"onUpdated\",\n\t\"onUnmounted\",\n\t\"onBeforeMount\",\n\t\"onBeforeUpdate\",\n\t\"onBeforeUnmount\",\n\t\"onErrorCaptured\",\n\t\"onRenderTracked\",\n\t\"onRenderTriggered\",\n\t\"onActivated\",\n\t\"onDeactivated\",\n\t\"onServerPrefetch\",\n\t\"provide\",\n\t\"inject\",\n\t\"h\",\n\t\"mergeProps\",\n\t\"cloneVNode\",\n\t\"isVNode\",\n\t\"resolveComponent\",\n\t\"resolveDirective\",\n\t\"withDirectives\",\n\t\"withModifiers\"\n]);\nconst symbolRE = /^\\[native Symbol Symbol\\((.*)\\)\\]$/;\nconst rawTypeRE = /^\\[object (\\w+)\\]$/;\nconst specialTypeRE = /^\\[native (\\w+) (.*?)(<>(([\\s\\S])*))?\\]$/;\nconst fnTypeRE = /^(?:function|class) (\\w+)/;\nconst MAX_STRING_SIZE = 1e4;\nconst MAX_ARRAY_SIZE = 5e3;\nconst UNDEFINED = \"__vue_devtool_undefined__\";\nconst INFINITY = \"__vue_devtool_infinity__\";\nconst NEGATIVE_INFINITY = \"__vue_devtool_negative_infinity__\";\nconst NAN = \"__vue_devtool_nan__\";\nconst ESC = {\n\t\"<\": \"<\",\n\t\">\": \">\",\n\t\"\\\"\": \""\",\n\t\"&\": \"&\"\n};\n//#endregion\n//#region src/core/component/state/is.ts\nfunction isVueInstance(value) {\n\tif (!ensurePropertyExists(value, \"_\")) return false;\n\tif (!isPlainObject(value._)) return false;\n\treturn Object.keys(value._).includes(\"vnode\");\n}\nfunction isPlainObject(obj) {\n\treturn Object.prototype.toString.call(obj) === \"[object Object]\";\n}\nfunction isPrimitive$1(data) {\n\tif (data == null) return true;\n\tconst type = typeof data;\n\treturn type === \"string\" || type === \"number\" || type === \"boolean\";\n}\nfunction isRef(raw) {\n\treturn !!raw.__v_isRef;\n}\nfunction isComputed(raw) {\n\treturn isRef(raw) && !!raw.effect;\n}\nfunction isReactive(raw) {\n\treturn !!raw.__v_isReactive;\n}\nfunction isReadOnly(raw) {\n\treturn !!raw.__v_isReadonly;\n}\n//#endregion\n//#region src/core/component/state/util.ts\nconst tokenMap = {\n\t[UNDEFINED]: \"undefined\",\n\t[NAN]: \"NaN\",\n\t[INFINITY]: \"Infinity\",\n\t[NEGATIVE_INFINITY]: \"-Infinity\"\n};\nconst reversedTokenMap = Object.entries(tokenMap).reduce((acc, [key, value]) => {\n\tacc[value] = key;\n\treturn acc;\n}, {});\nfunction internalStateTokenToString(value) {\n\tif (value === null) return \"null\";\n\treturn typeof value === \"string\" && tokenMap[value] || false;\n}\nfunction replaceTokenToString(value) {\n\tconst replaceRegex = new RegExp(`\"(${Object.keys(tokenMap).join(\"|\")})\"`, \"g\");\n\treturn value.replace(replaceRegex, (_, g1) => tokenMap[g1]);\n}\nfunction replaceStringToToken(value) {\n\tconst literalValue = reversedTokenMap[value.trim()];\n\tif (literalValue) return `\"${literalValue}\"`;\n\tconst replaceRegex = new RegExp(`:\\\\s*(${Object.keys(reversedTokenMap).join(\"|\")})`, \"g\");\n\treturn value.replace(replaceRegex, (_, g1) => `:\"${reversedTokenMap[g1]}\"`);\n}\n/**\n* Convert prop type constructor to string.\n*/\nfunction getPropType(type) {\n\tif (Array.isArray(type)) return type.map((t) => getPropType(t)).join(\" or \");\n\tif (type == null) return \"null\";\n\tconst match = type.toString().match(fnTypeRE);\n\treturn typeof type === \"function\" ? match && match[1] || \"any\" : \"any\";\n}\n/**\n* Sanitize data to be posted to the other side.\n* Since the message posted is sent with structured clone,\n* we need to filter out any types that might cause an error.\n*/\nfunction sanitize(data) {\n\tif (!isPrimitive$1(data) && !Array.isArray(data) && !isPlainObject(data)) return Object.prototype.toString.call(data);\n\telse return data;\n}\nfunction getSetupStateType(raw) {\n\ttry {\n\t\treturn {\n\t\t\tref: isRef(raw),\n\t\t\tcomputed: isComputed(raw),\n\t\t\treactive: isReactive(raw),\n\t\t\treadonly: isReadOnly(raw)\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tref: false,\n\t\t\tcomputed: false,\n\t\t\treactive: false,\n\t\t\treadonly: false\n\t\t};\n\t}\n}\nfunction toRaw(value) {\n\tif (value?.__v_raw) return value.__v_raw;\n\treturn value;\n}\nfunction escape(s) {\n\treturn s.replace(/[<>\"&]/g, (s) => {\n\t\treturn ESC[s] || s;\n\t});\n}\n//#endregion\n//#region src/core/component/state/process.ts\nfunction mergeOptions(to, from, instance) {\n\tif (typeof from === \"function\") from = from.options;\n\tif (!from) return to;\n\tconst { mixins, extends: extendsOptions } = from;\n\textendsOptions && mergeOptions(to, extendsOptions, instance);\n\tmixins && mixins.forEach((m) => mergeOptions(to, m, instance));\n\tfor (const key of [\"computed\", \"inject\"]) if (Object.prototype.hasOwnProperty.call(from, key)) {\n\t\tto[key] ??= {};\n\t\tObject.assign(to[key], from[key]);\n\t}\n\treturn to;\n}\nfunction resolveMergedOptions(instance) {\n\tconst raw = instance?.type;\n\tif (!raw) return {};\n\tconst { mixins, extends: extendsOptions } = raw;\n\tconst globalMixins = instance.appContext.mixins;\n\tif (!globalMixins.length && !mixins && !extendsOptions) return raw;\n\tconst options = {};\n\tglobalMixins.forEach((m) => mergeOptions(options, m, instance));\n\tmergeOptions(options, raw, instance);\n\treturn options;\n}\n/**\n* Process the props of an instance.\n* Make sure return a plain object because window.postMessage()\n* will throw an Error if the passed object contains Functions.\n*\n*/\nfunction processProps(instance) {\n\tconst props = [];\n\tconst propDefinitions = instance?.type?.props;\n\tfor (const key in instance?.props) {\n\t\tconst propDefinition = propDefinitions ? propDefinitions[key] : null;\n\t\tconst camelizeKey = camelize(key);\n\t\tprops.push({\n\t\t\ttype: \"props\",\n\t\t\tkey: camelizeKey,\n\t\t\tvalue: returnError(() => instance.props[key]),\n\t\t\teditable: true,\n\t\t\tmeta: propDefinition ? {\n\t\t\t\ttype: propDefinition.type ? getPropType(propDefinition.type) : \"any\",\n\t\t\t\trequired: !!propDefinition.required,\n\t\t\t\t...propDefinition.default ? { default: propDefinition.default.toString() } : {}\n\t\t\t} : { type: \"invalid\" }\n\t\t});\n\t}\n\treturn props;\n}\n/**\n* Process state, filtering out props and \"clean\" the result\n* with a JSON dance. This removes functions which can cause\n* errors during structured clone used by window.postMessage.\n*\n*/\nfunction processState(instance) {\n\tconst type = instance.type;\n\tconst props = type?.props;\n\tconst getters = type.vuex && type.vuex.getters;\n\tconst computedDefs = type.computed;\n\tconst data = {\n\t\t...instance.data,\n\t\t...instance.renderContext\n\t};\n\treturn Object.keys(data).filter((key) => !(props && key in props) && !(getters && key in getters) && !(computedDefs && key in computedDefs)).map((key) => ({\n\t\tkey,\n\t\ttype: \"data\",\n\t\tvalue: returnError(() => data[key]),\n\t\teditable: true\n\t}));\n}\nfunction getStateTypeAndName(info) {\n\tconst stateType = info.computed ? \"computed\" : info.ref ? \"ref\" : info.reactive ? \"reactive\" : null;\n\treturn {\n\t\tstateType,\n\t\tstateTypeName: stateType ? `${stateType.charAt(0).toUpperCase()}${stateType.slice(1)}` : null\n\t};\n}\nfunction processSetupState(instance) {\n\tconst raw = instance.devtoolsRawSetupState || {};\n\treturn Object.keys(instance.setupState).filter((key) => !vueBuiltins.has(key) && key.split(/(?=[A-Z])/)[0] !== \"use\").map((key) => {\n\t\tconst value = returnError(() => toRaw(instance.setupState[key]));\n\t\tconst accessError = value instanceof Error;\n\t\tconst rawData = raw[key];\n\t\tlet result;\n\t\tlet isOtherType = accessError || typeof value === \"function\" || ensurePropertyExists(value, \"render\") && typeof value.render === \"function\" || ensurePropertyExists(value, \"__asyncLoader\") && typeof value.__asyncLoader === \"function\" || typeof value === \"object\" && value && (\"setup\" in value || \"props\" in value) || /^v[A-Z]/.test(key);\n\t\tif (rawData && !accessError) {\n\t\t\tconst info = getSetupStateType(rawData);\n\t\t\tconst { stateType, stateTypeName } = getStateTypeAndName(info);\n\t\t\tconst isState = info.ref || info.computed || info.reactive;\n\t\t\tconst raw = ensurePropertyExists(rawData, \"effect\") ? rawData.effect?.raw?.toString() || rawData.effect?.fn?.toString() : null;\n\t\t\tif (stateType) isOtherType = false;\n\t\t\tresult = {\n\t\t\t\t...stateType ? {\n\t\t\t\t\tstateType,\n\t\t\t\t\tstateTypeName\n\t\t\t\t} : {},\n\t\t\t\t...raw ? { raw } : {},\n\t\t\t\teditable: isState && !info.readonly\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tkey,\n\t\t\tvalue,\n\t\t\ttype: isOtherType ? \"setup (other)\" : \"setup\",\n\t\t\t...result\n\t\t};\n\t});\n}\n/**\n* Process the computed properties of an instance.\n*/\nfunction processComputed(instance, mergedType) {\n\tconst type = mergedType;\n\tconst computed = [];\n\tconst defs = type.computed || {};\n\tfor (const key in defs) {\n\t\tconst def = defs[key];\n\t\tconst type = typeof def === \"function\" && def.vuex ? \"vuex bindings\" : \"computed\";\n\t\tcomputed.push({\n\t\t\ttype,\n\t\t\tkey,\n\t\t\tvalue: returnError(() => instance?.proxy?.[key]),\n\t\t\teditable: typeof def.set === \"function\"\n\t\t});\n\t}\n\treturn computed;\n}\nfunction processAttrs(instance) {\n\treturn Object.keys(instance.attrs).map((key) => ({\n\t\ttype: \"attrs\",\n\t\tkey,\n\t\tvalue: returnError(() => instance.attrs[key])\n\t}));\n}\nfunction processProvide(instance) {\n\treturn Reflect.ownKeys(instance.provides).map((key) => ({\n\t\ttype: \"provided\",\n\t\tkey: key.toString(),\n\t\tvalue: returnError(() => instance.provides[key])\n\t}));\n}\nfunction processInject(instance, mergedType) {\n\tif (!mergedType?.inject) return [];\n\tlet keys = [];\n\tlet defaultValue;\n\tif (Array.isArray(mergedType.inject)) keys = mergedType.inject.map((key) => ({\n\t\tkey,\n\t\toriginalKey: key\n\t}));\n\telse keys = Reflect.ownKeys(mergedType.inject).map((key) => {\n\t\tconst value = mergedType.inject[key];\n\t\tlet originalKey;\n\t\tif (typeof value === \"string\" || typeof value === \"symbol\") originalKey = value;\n\t\telse {\n\t\t\toriginalKey = value.from;\n\t\t\tdefaultValue = value.default;\n\t\t}\n\t\treturn {\n\t\t\tkey,\n\t\t\toriginalKey\n\t\t};\n\t});\n\treturn keys.map(({ key, originalKey }) => ({\n\t\ttype: \"injected\",\n\t\tkey: originalKey && key !== originalKey ? `${originalKey.toString()} ➞ ${key.toString()}` : key.toString(),\n\t\tvalue: returnError(() => instance.ctx.hasOwnProperty(key) ? instance.ctx[key] : instance.provides.hasOwnProperty(originalKey) ? instance.provides[originalKey] : defaultValue)\n\t}));\n}\nfunction processRefs(instance) {\n\treturn Object.keys(instance.refs).map((key) => ({\n\t\ttype: \"template refs\",\n\t\tkey,\n\t\tvalue: returnError(() => instance.refs[key])\n\t}));\n}\nconst vnodeEvents = new Set([\n\t\"vnode-before-mount\",\n\t\"vnode-mounted\",\n\t\"vnode-before-update\",\n\t\"vnode-updated\",\n\t\"vnode-before-unmount\",\n\t\"vnode-unmounted\"\n]);\nfunction processEventListeners(instance) {\n\tconst emitsDefinition = instance.type.emits;\n\tconst declaredEmits = Array.isArray(emitsDefinition) ? emitsDefinition : Object.keys(emitsDefinition ?? {});\n\tconst keys = Object.keys(instance?.vnode?.props ?? {});\n\tconst result = [];\n\tfor (const key of keys) {\n\t\tconst [prefix, ...eventNameParts] = key.split(/(?=[A-Z])/);\n\t\tif (prefix === \"on\") {\n\t\t\tconst eventName = eventNameParts.join(\"-\").toLowerCase();\n\t\t\tconst isBuiltIn = vnodeEvents.has(eventName);\n\t\t\tconst isDeclared = declaredEmits.includes(eventName) || declaredEmits.includes(camelize(eventName));\n\t\t\tconst text = isBuiltIn ? \"✅ Built-in\" : isDeclared ? \"✅ Declared\" : \"⚠️ Not declared\";\n\t\t\tresult.push({\n\t\t\t\ttype: \"event listeners\",\n\t\t\t\tkey: eventName,\n\t\t\t\tvalue: { _custom: {\n\t\t\t\t\tdisplayText: text,\n\t\t\t\t\tkey: text,\n\t\t\t\t\tvalue: text,\n\t\t\t\t\ttooltipText: isBuiltIn ? `The event ${escape(eventName)} is part of Vue and doesn't need to be declared by the component` : !isDeclared ? `The event ${escape(eventName)} is not declared in the emits option. It will leak into the component's attributes ($attrs).` : null\n\t\t\t\t} }\n\t\t\t});\n\t\t}\n\t}\n\treturn result;\n}\nfunction processInstanceState(instance) {\n\tconst mergedType = resolveMergedOptions(instance);\n\treturn processProps(instance).concat(processState(instance), processSetupState(instance), processComputed(instance, mergedType), processAttrs(instance), processProvide(instance), processInject(instance, mergedType), processRefs(instance), processEventListeners(instance));\n}\n//#endregion\n//#region src/core/component/state/index.ts\nfunction getInstanceState(params) {\n\tconst instance = getComponentInstance(activeAppRecord.value, params.instanceId);\n\treturn {\n\t\tid: getUniqueComponentId(instance),\n\t\tname: getInstanceName(instance),\n\t\tfile: instance?.type?.__file,\n\t\tstate: processInstanceState(instance),\n\t\tinstance\n\t};\n}\n//#endregion\n//#region src/core/component/tree/filter.ts\nvar ComponentFilter = class {\n\tconstructor(filter) {\n\t\tthis.filter = filter || \"\";\n\t}\n\t/**\n\t* Check if an instance is qualified.\n\t*\n\t* @param {Vue|Vnode} instance\n\t* @return {boolean}\n\t*/\n\tisQualified(instance) {\n\t\tconst name = getInstanceName(instance);\n\t\treturn classify(name).toLowerCase().includes(this.filter) || kebabize(name).toLowerCase().includes(this.filter);\n\t}\n};\nfunction createComponentFilter(filterText) {\n\treturn new ComponentFilter(filterText);\n}\n//#endregion\n//#region src/core/component/tree/walker.ts\nvar ComponentWalker = class {\n\tconstructor(options) {\n\t\tthis.captureIds = /* @__PURE__ */ new Map();\n\t\tconst { filterText = \"\", maxDepth, recursively, api } = options;\n\t\tthis.componentFilter = createComponentFilter(filterText);\n\t\tthis.maxDepth = maxDepth;\n\t\tthis.recursively = recursively;\n\t\tthis.api = api;\n\t}\n\tgetComponentTree(instance) {\n\t\tthis.captureIds = /* @__PURE__ */ new Map();\n\t\treturn this.findQualifiedChildren(instance, 0);\n\t}\n\tgetComponentParents(instance) {\n\t\tthis.captureIds = /* @__PURE__ */ new Map();\n\t\tconst parents = [];\n\t\tthis.captureId(instance);\n\t\tlet parent = instance;\n\t\twhile (parent = parent.parent) {\n\t\t\tthis.captureId(parent);\n\t\t\tparents.push(parent);\n\t\t}\n\t\treturn parents;\n\t}\n\tcaptureId(instance) {\n\t\tif (!instance) return null;\n\t\tconst id = instance.__VUE_DEVTOOLS_NEXT_UID__ != null ? instance.__VUE_DEVTOOLS_NEXT_UID__ : getUniqueComponentId(instance);\n\t\tinstance.__VUE_DEVTOOLS_NEXT_UID__ = id;\n\t\tif (this.captureIds.has(id)) return null;\n\t\telse this.captureIds.set(id, void 0);\n\t\tthis.mark(instance);\n\t\treturn id;\n\t}\n\t/**\n\t* Capture the meta information of an instance. (recursive)\n\t*\n\t* @param {Vue} instance\n\t* @return {object}\n\t*/\n\tasync capture(instance, depth) {\n\t\tif (!instance) return null;\n\t\tconst id = this.captureId(instance);\n\t\tconst name = getInstanceName(instance);\n\t\tconst children = this.getInternalInstanceChildren(instance.subTree).filter((child) => !isBeingDestroyed(child));\n\t\tconst parents = this.getComponentParents(instance) || [];\n\t\tconst inactive = !!instance.isDeactivated || parents.some((parent) => parent.isDeactivated);\n\t\tconst treeNode = {\n\t\t\tuid: instance.uid,\n\t\t\tid,\n\t\t\tname,\n\t\t\trenderKey: getRenderKey(instance.vnode ? instance.vnode.key : null),\n\t\t\tinactive,\n\t\t\tchildren: [],\n\t\t\thasChildren: !!children.length,\n\t\t\tisFragment: isFragment(instance),\n\t\t\ttags: typeof instance.type !== \"function\" ? [] : [{\n\t\t\t\tlabel: \"functional\",\n\t\t\t\ttextColor: 5592405,\n\t\t\t\tbackgroundColor: 15658734\n\t\t\t}],\n\t\t\tautoOpen: this.recursively,\n\t\t\tfile: instance.type.__file || \"\"\n\t\t};\n\t\tif (depth < this.maxDepth || instance.type.__isKeepAlive || parents.some((parent) => parent.type.__isKeepAlive)) treeNode.children = await Promise.all(children.map((child) => this.capture(child, depth + 1)).filter(Boolean));\n\t\tif (this.isKeepAlive(instance)) {\n\t\t\tconst cachedComponents = this.getKeepAliveCachedInstances(instance);\n\t\t\tconst childrenIds = children.map((child) => child.__VUE_DEVTOOLS_NEXT_UID__);\n\t\t\tfor (const cachedChild of cachedComponents) if (!childrenIds.includes(cachedChild.__VUE_DEVTOOLS_NEXT_UID__)) {\n\t\t\t\tconst node = await this.capture({\n\t\t\t\t\t...cachedChild,\n\t\t\t\t\tisDeactivated: true\n\t\t\t\t}, depth + 1);\n\t\t\t\tif (node) treeNode.children.push(node);\n\t\t\t}\n\t\t}\n\t\tconst firstElement = getRootElementsFromComponentInstance(instance)[0];\n\t\tif (firstElement?.parentElement) {\n\t\t\tconst parentInstance = instance.parent;\n\t\t\tconst parentRootElements = parentInstance ? getRootElementsFromComponentInstance(parentInstance) : [];\n\t\t\tlet el = firstElement;\n\t\t\tconst indexList = [];\n\t\t\tdo {\n\t\t\t\tindexList.push(Array.from(el.parentElement.childNodes).indexOf(el));\n\t\t\t\tel = el.parentElement;\n\t\t\t} while (el.parentElement && parentRootElements.length && !parentRootElements.includes(el));\n\t\t\ttreeNode.domOrder = indexList.reverse();\n\t\t} else treeNode.domOrder = [-1];\n\t\tif (instance.suspense?.suspenseKey) {\n\t\t\ttreeNode.tags.push({\n\t\t\t\tlabel: instance.suspense.suspenseKey,\n\t\t\t\tbackgroundColor: 14979812,\n\t\t\t\ttextColor: 16777215\n\t\t\t});\n\t\t\tthis.mark(instance, true);\n\t\t}\n\t\tthis.api.visitComponentTree({\n\t\t\ttreeNode,\n\t\t\tcomponentInstance: instance,\n\t\t\tapp: instance.appContext.app,\n\t\t\tfilter: this.componentFilter.filter\n\t\t});\n\t\treturn treeNode;\n\t}\n\t/**\n\t* Find qualified children from a single instance.\n\t* If the instance itself is qualified, just return itself.\n\t* This is ok because [].concat works in both cases.\n\t*\n\t* @param {Vue|Vnode} instance\n\t* @return {Vue|Array}\n\t*/\n\tasync findQualifiedChildren(instance, depth) {\n\t\tif (this.componentFilter.isQualified(instance) && !instance.type.devtools?.hide) return [await this.capture(instance, depth)];\n\t\telse if (instance.subTree) {\n\t\t\tconst list = this.isKeepAlive(instance) ? this.getKeepAliveCachedInstances(instance) : this.getInternalInstanceChildren(instance.subTree);\n\t\t\treturn this.findQualifiedChildrenFromList(list, depth);\n\t\t} else return [];\n\t}\n\t/**\n\t* Iterate through an array of instances and flatten it into\n\t* an array of qualified instances. This is a depth-first\n\t* traversal - e.g. if an instance is not matched, we will\n\t* recursively go deeper until a qualified child is found.\n\t*\n\t* @param {Array} instances\n\t* @return {Array}\n\t*/\n\tasync findQualifiedChildrenFromList(instances, depth) {\n\t\tinstances = instances.filter((child) => !isBeingDestroyed(child) && !child.type.devtools?.hide);\n\t\tif (!this.componentFilter.filter) return Promise.all(instances.map((child) => this.capture(child, depth)));\n\t\telse return Array.prototype.concat.apply([], await Promise.all(instances.map((i) => this.findQualifiedChildren(i, depth))));\n\t}\n\t/**\n\t* Get children from a component instance.\n\t*/\n\tgetInternalInstanceChildren(subTree, suspense = null) {\n\t\tconst list = [];\n\t\tif (subTree) {\n\t\t\tif (subTree.component) !suspense ? list.push(subTree.component) : list.push({\n\t\t\t\t...subTree.component,\n\t\t\t\tsuspense\n\t\t\t});\n\t\t\telse if (subTree.suspense) {\n\t\t\t\tconst suspenseKey = !subTree.suspense.isInFallback ? \"suspense default\" : \"suspense fallback\";\n\t\t\t\tlist.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, {\n\t\t\t\t\t...subTree.suspense,\n\t\t\t\t\tsuspenseKey\n\t\t\t\t}));\n\t\t\t} else if (Array.isArray(subTree.children)) subTree.children.forEach((childSubTree) => {\n\t\t\t\tif (childSubTree.component) !suspense ? list.push(childSubTree.component) : list.push({\n\t\t\t\t\t...childSubTree.component,\n\t\t\t\t\tsuspense\n\t\t\t\t});\n\t\t\t\telse list.push(...this.getInternalInstanceChildren(childSubTree, suspense));\n\t\t\t});\n\t\t}\n\t\treturn list.filter((child) => !isBeingDestroyed(child) && !child.type.devtools?.hide);\n\t}\n\t/**\n\t* Mark an instance as captured and store it in the instance map.\n\t*\n\t* @param {Vue} instance\n\t*/\n\tmark(instance, force = false) {\n\t\tconst instanceMap = getAppRecord(instance).instanceMap;\n\t\tif (force || !instanceMap.has(instance.__VUE_DEVTOOLS_NEXT_UID__)) {\n\t\t\tinstanceMap.set(instance.__VUE_DEVTOOLS_NEXT_UID__, instance);\n\t\t\tactiveAppRecord.value.instanceMap = instanceMap;\n\t\t}\n\t}\n\tisKeepAlive(instance) {\n\t\treturn instance.type.__isKeepAlive && instance.__v_cache;\n\t}\n\tgetKeepAliveCachedInstances(instance) {\n\t\treturn Array.from(instance.__v_cache.values()).map((vnode) => vnode.component).filter(Boolean);\n\t}\n};\n//#endregion\n//#region src/core/timeline/perf.ts\nconst markEndQueue = /* @__PURE__ */ new Map();\nconst PERFORMANCE_EVENT_LAYER_ID = \"performance\";\nasync function performanceMarkStart(api, app, uid, vm, type, time) {\n\tconst appRecord = await getAppRecord(app);\n\tif (!appRecord) return;\n\tconst componentName = getInstanceName(vm) || \"Unknown Component\";\n\tconst groupId = devtoolsState.perfUniqueGroupId++;\n\tconst groupKey = `${uid}-${type}`;\n\tappRecord.perfGroupIds.set(groupKey, {\n\t\tgroupId,\n\t\ttime\n\t});\n\tawait api.addTimelineEvent({\n\t\tlayerId: PERFORMANCE_EVENT_LAYER_ID,\n\t\tevent: {\n\t\t\ttime: Date.now(),\n\t\t\tdata: {\n\t\t\t\tcomponent: componentName,\n\t\t\t\ttype,\n\t\t\t\tmeasure: \"start\"\n\t\t\t},\n\t\t\ttitle: componentName,\n\t\t\tsubtitle: type,\n\t\t\tgroupId\n\t\t}\n\t});\n\tif (markEndQueue.has(groupKey)) {\n\t\tconst { app, uid, instance, type, time } = markEndQueue.get(groupKey);\n\t\tmarkEndQueue.delete(groupKey);\n\t\tawait performanceMarkEnd(api, app, uid, instance, type, time);\n\t}\n}\nfunction performanceMarkEnd(api, app, uid, vm, type, time) {\n\tconst appRecord = getAppRecord(app);\n\tif (!appRecord) return;\n\tconst componentName = getInstanceName(vm) || \"Unknown Component\";\n\tconst groupKey = `${uid}-${type}`;\n\tconst groupInfo = appRecord.perfGroupIds.get(groupKey);\n\tif (groupInfo) {\n\t\tconst groupId = groupInfo.groupId;\n\t\tconst duration = time - groupInfo.time;\n\t\tapi.addTimelineEvent({\n\t\t\tlayerId: PERFORMANCE_EVENT_LAYER_ID,\n\t\t\tevent: {\n\t\t\t\ttime: Date.now(),\n\t\t\t\tdata: {\n\t\t\t\t\tcomponent: componentName,\n\t\t\t\t\ttype,\n\t\t\t\t\tmeasure: \"end\",\n\t\t\t\t\tduration: { _custom: {\n\t\t\t\t\t\ttype: \"Duration\",\n\t\t\t\t\t\tvalue: duration,\n\t\t\t\t\t\tdisplay: `${duration} ms`\n\t\t\t\t\t} }\n\t\t\t\t},\n\t\t\t\ttitle: componentName,\n\t\t\t\tsubtitle: type,\n\t\t\t\tgroupId\n\t\t\t}\n\t\t});\n\t} else markEndQueue.set(groupKey, {\n\t\tapp,\n\t\tuid,\n\t\tinstance: vm,\n\t\ttype,\n\t\ttime\n\t});\n}\n//#endregion\n//#region src/core/timeline/index.ts\nconst COMPONENT_EVENT_LAYER_ID = \"component-event\";\nfunction setupBuiltinTimelineLayers(api) {\n\tif (!isBrowser) return;\n\tapi.addTimelineLayer({\n\t\tid: \"mouse\",\n\t\tlabel: \"Mouse\",\n\t\tcolor: 10768815\n\t});\n\t[\n\t\t\"mousedown\",\n\t\t\"mouseup\",\n\t\t\"click\",\n\t\t\"dblclick\"\n\t].forEach((eventType) => {\n\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.mouseEventEnabled) return;\n\t\twindow.addEventListener(eventType, async (event) => {\n\t\t\tawait api.addTimelineEvent({\n\t\t\t\tlayerId: \"mouse\",\n\t\t\t\tevent: {\n\t\t\t\t\ttime: Date.now(),\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttype: eventType,\n\t\t\t\t\t\tx: event.clientX,\n\t\t\t\t\t\ty: event.clientY\n\t\t\t\t\t},\n\t\t\t\t\ttitle: eventType\n\t\t\t\t}\n\t\t\t});\n\t\t}, {\n\t\t\tcapture: true,\n\t\t\tpassive: true\n\t\t});\n\t});\n\tapi.addTimelineLayer({\n\t\tid: \"keyboard\",\n\t\tlabel: \"Keyboard\",\n\t\tcolor: 8475055\n\t});\n\t[\n\t\t\"keyup\",\n\t\t\"keydown\",\n\t\t\"keypress\"\n\t].forEach((eventType) => {\n\t\twindow.addEventListener(eventType, async (event) => {\n\t\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.keyboardEventEnabled) return;\n\t\t\tawait api.addTimelineEvent({\n\t\t\t\tlayerId: \"keyboard\",\n\t\t\t\tevent: {\n\t\t\t\t\ttime: Date.now(),\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttype: eventType,\n\t\t\t\t\t\tkey: event.key,\n\t\t\t\t\t\tctrlKey: event.ctrlKey,\n\t\t\t\t\t\tshiftKey: event.shiftKey,\n\t\t\t\t\t\taltKey: event.altKey,\n\t\t\t\t\t\tmetaKey: event.metaKey\n\t\t\t\t\t},\n\t\t\t\t\ttitle: event.key\n\t\t\t\t}\n\t\t\t});\n\t\t}, {\n\t\t\tcapture: true,\n\t\t\tpassive: true\n\t\t});\n\t});\n\tapi.addTimelineLayer({\n\t\tid: COMPONENT_EVENT_LAYER_ID,\n\t\tlabel: \"Component events\",\n\t\tcolor: 5226637\n\t});\n\thook.on.componentEmit(async (app, instance, event, params) => {\n\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.componentEventEnabled) return;\n\t\tconst appRecord = await getAppRecord(app);\n\t\tif (!appRecord) return;\n\t\tconst componentId = `${appRecord.id}:${instance.uid}`;\n\t\tconst componentName = getInstanceName(instance) || \"Unknown Component\";\n\t\tapi.addTimelineEvent({\n\t\t\tlayerId: COMPONENT_EVENT_LAYER_ID,\n\t\t\tevent: {\n\t\t\t\ttime: Date.now(),\n\t\t\t\tdata: {\n\t\t\t\t\tcomponent: { _custom: {\n\t\t\t\t\t\ttype: \"component-definition\",\n\t\t\t\t\t\tdisplay: componentName\n\t\t\t\t\t} },\n\t\t\t\t\tevent,\n\t\t\t\t\tparams\n\t\t\t\t},\n\t\t\t\ttitle: event,\n\t\t\t\tsubtitle: `by ${componentName}`,\n\t\t\t\tmeta: { componentId }\n\t\t\t}\n\t\t});\n\t});\n\tapi.addTimelineLayer({\n\t\tid: \"performance\",\n\t\tlabel: PERFORMANCE_EVENT_LAYER_ID,\n\t\tcolor: 4307050\n\t});\n\thook.on.perfStart((app, uid, vm, type, time) => {\n\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled) return;\n\t\tperformanceMarkStart(api, app, uid, vm, type, time);\n\t});\n\thook.on.perfEnd((app, uid, vm, type, time) => {\n\t\tif (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled) return;\n\t\tperformanceMarkEnd(api, app, uid, vm, type, time);\n\t});\n}\n//#endregion\n//#region src/core/vm/index.ts\nconst MAX_$VM = 10;\nconst $vmQueue = [];\nfunction exposeInstanceToWindow(componentInstance) {\n\tif (typeof window === \"undefined\") return;\n\tconst win = window;\n\tif (!componentInstance) return;\n\twin.$vm = componentInstance;\n\tif ($vmQueue[0] !== componentInstance) {\n\t\tif ($vmQueue.length >= MAX_$VM) $vmQueue.pop();\n\t\tfor (let i = $vmQueue.length; i > 0; i--) win[`$vm${i}`] = $vmQueue[i] = $vmQueue[i - 1];\n\t\twin.$vm0 = $vmQueue[0] = componentInstance;\n\t}\n}\n//#endregion\n//#region src/core/plugin/components.ts\nconst INSPECTOR_ID = \"components\";\nfunction createComponentsDevToolsPlugin(app) {\n\tconst descriptor = {\n\t\tid: INSPECTOR_ID,\n\t\tlabel: \"Components\",\n\t\tapp\n\t};\n\tconst setupFn = (api) => {\n\t\tapi.addInspector({\n\t\t\tid: INSPECTOR_ID,\n\t\t\tlabel: \"Components\",\n\t\t\ttreeFilterPlaceholder: \"Search components\"\n\t\t});\n\t\tsetupBuiltinTimelineLayers(api);\n\t\tapi.on.getInspectorTree(async (payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tconst instance = getComponentInstance(activeAppRecord.value, payload.instanceId);\n\t\t\t\tif (instance) payload.rootNodes = await new ComponentWalker({\n\t\t\t\t\tfilterText: payload.filter,\n\t\t\t\t\tmaxDepth: 100,\n\t\t\t\t\trecursively: false,\n\t\t\t\t\tapi\n\t\t\t\t}).getComponentTree(instance);\n\t\t\t}\n\t\t});\n\t\tapi.on.getInspectorState(async (payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tconst result = getInstanceState({ instanceId: payload.nodeId });\n\t\t\t\tconst componentInstance = result.instance;\n\t\t\t\tconst _payload = {\n\t\t\t\t\tcomponentInstance,\n\t\t\t\t\tapp: result.instance?.appContext.app,\n\t\t\t\t\tinstanceData: result\n\t\t\t\t};\n\t\t\t\tdevtoolsContext.hooks.callHookWith((callbacks) => {\n\t\t\t\t\tcallbacks.forEach((cb) => cb(_payload));\n\t\t\t\t}, DevToolsV6PluginAPIHookKeys.INSPECT_COMPONENT);\n\t\t\t\tpayload.state = result;\n\t\t\t\texposeInstanceToWindow(componentInstance);\n\t\t\t}\n\t\t});\n\t\tapi.on.editInspectorState(async (payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\teditState(payload);\n\t\t\t\tawait api.sendInspectorState(\"components\");\n\t\t\t}\n\t\t});\n\t\tconst debounceSendInspectorTree = debounce(() => {\n\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t}, 120);\n\t\tconst debounceSendInspectorState = debounce(() => {\n\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t}, 120);\n\t\thook.on.componentAdded(async (app, uid, parentUid, component) => {\n\t\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\t\tif (app?._instance?.type?.devtools?.hide) return;\n\t\t\tif (!app || typeof uid !== \"number\" && !uid || !component) return;\n\t\t\tconst id = await getComponentId({\n\t\t\t\tapp,\n\t\t\t\tuid,\n\t\t\t\tinstance: component\n\t\t\t});\n\t\t\tconst appRecord = await getAppRecord(app);\n\t\t\tif (component) {\n\t\t\t\tif (component.__VUE_DEVTOOLS_NEXT_UID__ == null) component.__VUE_DEVTOOLS_NEXT_UID__ = id;\n\t\t\t\tif (!appRecord?.instanceMap.has(id)) {\n\t\t\t\t\tappRecord?.instanceMap.set(id, component);\n\t\t\t\t\tif (activeAppRecord.value.id === appRecord?.id) activeAppRecord.value.instanceMap = appRecord.instanceMap;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!appRecord) return;\n\t\t\tdebounceSendInspectorTree();\n\t\t});\n\t\thook.on.componentUpdated(async (app, uid, parentUid, component) => {\n\t\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\t\tif (app?._instance?.type?.devtools?.hide) return;\n\t\t\tif (!app || typeof uid !== \"number\" && !uid || !component) return;\n\t\t\tconst id = await getComponentId({\n\t\t\t\tapp,\n\t\t\t\tuid,\n\t\t\t\tinstance: component\n\t\t\t});\n\t\t\tconst appRecord = await getAppRecord(app);\n\t\t\tif (component) {\n\t\t\t\tif (component.__VUE_DEVTOOLS_NEXT_UID__ == null) component.__VUE_DEVTOOLS_NEXT_UID__ = id;\n\t\t\t\tif (!appRecord?.instanceMap.has(id)) {\n\t\t\t\t\tappRecord?.instanceMap.set(id, component);\n\t\t\t\t\tif (activeAppRecord.value.id === appRecord?.id) activeAppRecord.value.instanceMap = appRecord.instanceMap;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!appRecord) return;\n\t\t\tdebounceSendInspectorTree();\n\t\t\tdebounceSendInspectorState();\n\t\t});\n\t\thook.on.componentRemoved(async (app, uid, parentUid, component) => {\n\t\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\t\tif (app?._instance?.type?.devtools?.hide) return;\n\t\t\tif (!app || typeof uid !== \"number\" && !uid || !component) return;\n\t\t\tconst appRecord = await getAppRecord(app);\n\t\t\tif (!appRecord) return;\n\t\t\tconst id = await getComponentId({\n\t\t\t\tapp,\n\t\t\t\tuid,\n\t\t\t\tinstance: component\n\t\t\t});\n\t\t\tappRecord?.instanceMap.delete(id);\n\t\t\tif (activeAppRecord.value.id === appRecord?.id) activeAppRecord.value.instanceMap = appRecord.instanceMap;\n\t\t\tdebounceSendInspectorTree();\n\t\t});\n\t};\n\treturn [descriptor, setupFn];\n}\n//#endregion\n//#region src/core/plugin/index.ts\ntarget.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ ??= /* @__PURE__ */ new Set();\nfunction setupDevToolsPlugin(pluginDescriptor, setupFn) {\n\treturn hook.setupDevToolsPlugin(pluginDescriptor, setupFn);\n}\nfunction callDevToolsPluginSetupFn(plugin, app) {\n\tconst [pluginDescriptor, setupFn] = plugin;\n\tif (pluginDescriptor.app !== app) return;\n\tconst api = new DevToolsPluginAPI({\n\t\tplugin: {\n\t\t\tsetupFn,\n\t\t\tdescriptor: pluginDescriptor\n\t\t},\n\t\tctx: devtoolsContext\n\t});\n\tif (pluginDescriptor.packageName === \"vuex\") api.on.editInspectorState((payload) => {\n\t\tapi.sendInspectorState(payload.inspectorId);\n\t});\n\tsetupFn(api);\n}\nfunction removeRegisteredPluginApp(app) {\n\ttarget.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.delete(app);\n}\nfunction registerDevToolsPlugin(app, options) {\n\tif (target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) return;\n\tif (devtoolsState.highPerfModeEnabled && !options?.inspectingComponent) return;\n\ttarget.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app);\n\tdevtoolsPluginBuffer.forEach((plugin) => {\n\t\tcallDevToolsPluginSetupFn(plugin, app);\n\t});\n}\n//#endregion\n//#region src/ctx/router.ts\nconst ROUTER_KEY = \"__VUE_DEVTOOLS_ROUTER__\";\nconst ROUTER_INFO_KEY = \"__VUE_DEVTOOLS_ROUTER_INFO__\";\ntarget[ROUTER_INFO_KEY] ??= {\n\tcurrentRoute: null,\n\troutes: []\n};\ntarget[ROUTER_KEY] ??= {};\nconst devtoolsRouterInfo = new Proxy(target[ROUTER_INFO_KEY], { get(target$1, property) {\n\treturn target[ROUTER_INFO_KEY][property];\n} });\nconst devtoolsRouter = new Proxy(target[ROUTER_KEY], { get(target$2, property) {\n\tif (property === \"value\") return target[ROUTER_KEY];\n} });\n//#endregion\n//#region src/core/router/index.ts\nfunction getRoutes(router) {\n\tconst routesMap = /* @__PURE__ */ new Map();\n\treturn (router?.getRoutes() || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));\n}\nfunction filterRoutes(routes) {\n\treturn routes.map((item) => {\n\t\tlet { path, name, children, meta } = item;\n\t\tif (children?.length) children = filterRoutes(children);\n\t\treturn {\n\t\t\tpath,\n\t\t\tname,\n\t\t\tchildren,\n\t\t\tmeta\n\t\t};\n\t});\n}\nfunction filterCurrentRoute(route) {\n\tif (route) {\n\t\tconst { fullPath, hash, href, path, name, matched, params, query } = route;\n\t\treturn {\n\t\t\tfullPath,\n\t\t\thash,\n\t\t\thref,\n\t\t\tpath,\n\t\t\tname,\n\t\t\tparams,\n\t\t\tquery,\n\t\t\tmatched: filterRoutes(matched)\n\t\t};\n\t}\n\treturn route;\n}\nfunction normalizeRouterInfo(appRecord, activeAppRecord) {\n\tfunction init() {\n\t\tconst router = appRecord.app?.config.globalProperties.$router;\n\t\tconst currentRoute = filterCurrentRoute(router?.currentRoute.value);\n\t\tconst routes = filterRoutes(getRoutes(router));\n\t\tconst c = console.warn;\n\t\tconsole.warn = () => {};\n\t\ttarget[ROUTER_INFO_KEY] = {\n\t\t\tcurrentRoute: currentRoute ? deepClone(currentRoute) : {},\n\t\t\troutes: deepClone(routes)\n\t\t};\n\t\ttarget[ROUTER_KEY] = router;\n\t\tconsole.warn = c;\n\t}\n\tinit();\n\thook.on.componentUpdated(debounce(() => {\n\t\tif (activeAppRecord.value?.app !== appRecord.app) return;\n\t\tinit();\n\t\tif (devtoolsState.highPerfModeEnabled) return;\n\t\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.ROUTER_INFO_UPDATED, { state: target[ROUTER_INFO_KEY] });\n\t}, 200));\n}\n//#endregion\n//#region src/ctx/api.ts\nfunction createDevToolsApi(hooks) {\n\treturn {\n\t\tasync getInspectorTree(payload) {\n\t\t\tconst _payload = {\n\t\t\t\t...payload,\n\t\t\t\tapp: activeAppRecord.value.app,\n\t\t\t\trootNodes: []\n\t\t\t};\n\t\t\tawait new Promise((resolve) => {\n\t\t\t\thooks.callHookWith(async (callbacks) => {\n\t\t\t\t\tawait Promise.all(callbacks.map((cb) => cb(_payload)));\n\t\t\t\t\tresolve();\n\t\t\t\t}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE);\n\t\t\t});\n\t\t\treturn _payload.rootNodes;\n\t\t},\n\t\tasync getInspectorState(payload) {\n\t\t\tconst _payload = {\n\t\t\t\t...payload,\n\t\t\t\tapp: activeAppRecord.value.app,\n\t\t\t\tstate: null\n\t\t\t};\n\t\t\tconst ctx = { currentTab: `custom-inspector:${payload.inspectorId}` };\n\t\t\tawait new Promise((resolve) => {\n\t\t\t\thooks.callHookWith(async (callbacks) => {\n\t\t\t\t\tawait Promise.all(callbacks.map((cb) => cb(_payload, ctx)));\n\t\t\t\t\tresolve();\n\t\t\t\t}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE);\n\t\t\t});\n\t\t\treturn _payload.state;\n\t\t},\n\t\teditInspectorState(payload) {\n\t\t\tconst stateEditor = new StateEditor();\n\t\t\tconst _payload = {\n\t\t\t\t...payload,\n\t\t\t\tapp: activeAppRecord.value.app,\n\t\t\t\tset: (obj, path = payload.path, value = payload.state.value, cb) => {\n\t\t\t\t\tstateEditor.set(obj, path, value, cb || stateEditor.createDefaultSetCallback(payload.state));\n\t\t\t\t}\n\t\t\t};\n\t\t\thooks.callHookWith((callbacks) => {\n\t\t\t\tcallbacks.forEach((cb) => cb(_payload));\n\t\t\t}, DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE);\n\t\t},\n\t\tsendInspectorState(inspectorId) {\n\t\t\tconst inspector = getInspector(inspectorId);\n\t\t\thooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {\n\t\t\t\tinspectorId,\n\t\t\t\tplugin: {\n\t\t\t\t\tdescriptor: inspector.descriptor,\n\t\t\t\t\tsetupFn: () => ({})\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tinspectComponentInspector() {\n\t\t\treturn inspectComponentHighLighter();\n\t\t},\n\t\tcancelInspectComponentInspector() {\n\t\t\treturn cancelInspectComponentHighLighter();\n\t\t},\n\t\tgetComponentRenderCode(id) {\n\t\t\tconst instance = getComponentInstance(activeAppRecord.value, id);\n\t\t\tif (instance) return !(typeof instance?.type === \"function\") ? instance.render.toString() : instance.type.toString();\n\t\t},\n\t\tscrollToComponent(id) {\n\t\t\treturn scrollToComponent({ id });\n\t\t},\n\t\topenInEditor,\n\t\tgetVueInspector: getComponentInspector,\n\t\ttoggleApp(id, options) {\n\t\t\tconst appRecord = devtoolsAppRecords.value.find((record) => record.id === id);\n\t\t\tif (appRecord) {\n\t\t\t\tsetActiveAppRecordId(id);\n\t\t\t\tsetActiveAppRecord(appRecord);\n\t\t\t\tnormalizeRouterInfo(appRecord, activeAppRecord);\n\t\t\t\tcallInspectorUpdatedHook();\n\t\t\t\tregisterDevToolsPlugin(appRecord.app, options);\n\t\t\t}\n\t\t},\n\t\tinspectDOM(instanceId) {\n\t\t\tconst instance = getComponentInstance(activeAppRecord.value, instanceId);\n\t\t\tif (instance) {\n\t\t\t\tconst [el] = getRootElementsFromComponentInstance(instance);\n\t\t\t\tif (el) target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el;\n\t\t\t}\n\t\t},\n\t\tupdatePluginSettings(pluginId, key, value) {\n\t\t\tsetPluginSettings(pluginId, key, value);\n\t\t},\n\t\tgetPluginSettings(pluginId) {\n\t\t\treturn {\n\t\t\t\toptions: getPluginSettingsOptions(pluginId),\n\t\t\t\tvalues: getPluginSettings(pluginId)\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/ctx/env.ts\ntarget.__VUE_DEVTOOLS_ENV__ ??= { vitePluginDetected: false };\nfunction getDevToolsEnv() {\n\treturn target.__VUE_DEVTOOLS_ENV__;\n}\nfunction setDevToolsEnv(env) {\n\ttarget.__VUE_DEVTOOLS_ENV__ = {\n\t\t...target.__VUE_DEVTOOLS_ENV__,\n\t\t...env\n\t};\n}\n//#endregion\n//#region src/ctx/index.ts\nconst hooks = createDevToolsCtxHooks();\ntarget.__VUE_DEVTOOLS_KIT_CONTEXT__ ??= {\n\thooks,\n\tget state() {\n\t\treturn {\n\t\t\t...devtoolsState,\n\t\t\tactiveAppRecordId: activeAppRecord.id,\n\t\t\tactiveAppRecord: activeAppRecord.value,\n\t\t\tappRecords: devtoolsAppRecords.value\n\t\t};\n\t},\n\tapi: createDevToolsApi(hooks)\n};\nconst devtoolsContext = target.__VUE_DEVTOOLS_KIT_CONTEXT__;\n//#endregion\n//#region ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js\nvar require_speakingurl$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\t(function(root) {\n\t\t\"use strict\";\n\t\t/**\n\t\t* charMap\n\t\t* @type {Object}\n\t\t*/\n\t\tvar charMap = {\n\t\t\t\"À\": \"A\",\n\t\t\t\"Á\": \"A\",\n\t\t\t\"Â\": \"A\",\n\t\t\t\"Ã\": \"A\",\n\t\t\t\"Ä\": \"Ae\",\n\t\t\t\"Å\": \"A\",\n\t\t\t\"Æ\": \"AE\",\n\t\t\t\"Ç\": \"C\",\n\t\t\t\"È\": \"E\",\n\t\t\t\"É\": \"E\",\n\t\t\t\"Ê\": \"E\",\n\t\t\t\"Ë\": \"E\",\n\t\t\t\"Ì\": \"I\",\n\t\t\t\"Í\": \"I\",\n\t\t\t\"Î\": \"I\",\n\t\t\t\"Ï\": \"I\",\n\t\t\t\"Ð\": \"D\",\n\t\t\t\"Ñ\": \"N\",\n\t\t\t\"Ò\": \"O\",\n\t\t\t\"Ó\": \"O\",\n\t\t\t\"Ô\": \"O\",\n\t\t\t\"Õ\": \"O\",\n\t\t\t\"Ö\": \"Oe\",\n\t\t\t\"Ő\": \"O\",\n\t\t\t\"Ø\": \"O\",\n\t\t\t\"Ù\": \"U\",\n\t\t\t\"Ú\": \"U\",\n\t\t\t\"Û\": \"U\",\n\t\t\t\"Ü\": \"Ue\",\n\t\t\t\"Ű\": \"U\",\n\t\t\t\"Ý\": \"Y\",\n\t\t\t\"Þ\": \"TH\",\n\t\t\t\"ß\": \"ss\",\n\t\t\t\"à\": \"a\",\n\t\t\t\"á\": \"a\",\n\t\t\t\"â\": \"a\",\n\t\t\t\"ã\": \"a\",\n\t\t\t\"ä\": \"ae\",\n\t\t\t\"å\": \"a\",\n\t\t\t\"æ\": \"ae\",\n\t\t\t\"ç\": \"c\",\n\t\t\t\"è\": \"e\",\n\t\t\t\"é\": \"e\",\n\t\t\t\"ê\": \"e\",\n\t\t\t\"ë\": \"e\",\n\t\t\t\"ì\": \"i\",\n\t\t\t\"í\": \"i\",\n\t\t\t\"î\": \"i\",\n\t\t\t\"ï\": \"i\",\n\t\t\t\"ð\": \"d\",\n\t\t\t\"ñ\": \"n\",\n\t\t\t\"ò\": \"o\",\n\t\t\t\"ó\": \"o\",\n\t\t\t\"ô\": \"o\",\n\t\t\t\"õ\": \"o\",\n\t\t\t\"ö\": \"oe\",\n\t\t\t\"ő\": \"o\",\n\t\t\t\"ø\": \"o\",\n\t\t\t\"ù\": \"u\",\n\t\t\t\"ú\": \"u\",\n\t\t\t\"û\": \"u\",\n\t\t\t\"ü\": \"ue\",\n\t\t\t\"ű\": \"u\",\n\t\t\t\"ý\": \"y\",\n\t\t\t\"þ\": \"th\",\n\t\t\t\"ÿ\": \"y\",\n\t\t\t\"ẞ\": \"SS\",\n\t\t\t\"ا\": \"a\",\n\t\t\t\"أ\": \"a\",\n\t\t\t\"إ\": \"i\",\n\t\t\t\"آ\": \"aa\",\n\t\t\t\"ؤ\": \"u\",\n\t\t\t\"ئ\": \"e\",\n\t\t\t\"ء\": \"a\",\n\t\t\t\"ب\": \"b\",\n\t\t\t\"ت\": \"t\",\n\t\t\t\"ث\": \"th\",\n\t\t\t\"ج\": \"j\",\n\t\t\t\"ح\": \"h\",\n\t\t\t\"خ\": \"kh\",\n\t\t\t\"د\": \"d\",\n\t\t\t\"ذ\": \"th\",\n\t\t\t\"ر\": \"r\",\n\t\t\t\"ز\": \"z\",\n\t\t\t\"س\": \"s\",\n\t\t\t\"ش\": \"sh\",\n\t\t\t\"ص\": \"s\",\n\t\t\t\"ض\": \"dh\",\n\t\t\t\"ط\": \"t\",\n\t\t\t\"ظ\": \"z\",\n\t\t\t\"ع\": \"a\",\n\t\t\t\"غ\": \"gh\",\n\t\t\t\"ف\": \"f\",\n\t\t\t\"ق\": \"q\",\n\t\t\t\"ك\": \"k\",\n\t\t\t\"ل\": \"l\",\n\t\t\t\"م\": \"m\",\n\t\t\t\"ن\": \"n\",\n\t\t\t\"ه\": \"h\",\n\t\t\t\"و\": \"w\",\n\t\t\t\"ي\": \"y\",\n\t\t\t\"ى\": \"a\",\n\t\t\t\"ة\": \"h\",\n\t\t\t\"ﻻ\": \"la\",\n\t\t\t\"ﻷ\": \"laa\",\n\t\t\t\"ﻹ\": \"lai\",\n\t\t\t\"ﻵ\": \"laa\",\n\t\t\t\"گ\": \"g\",\n\t\t\t\"چ\": \"ch\",\n\t\t\t\"پ\": \"p\",\n\t\t\t\"ژ\": \"zh\",\n\t\t\t\"ک\": \"k\",\n\t\t\t\"ی\": \"y\",\n\t\t\t\"َ\": \"a\",\n\t\t\t\"ً\": \"an\",\n\t\t\t\"ِ\": \"e\",\n\t\t\t\"ٍ\": \"en\",\n\t\t\t\"ُ\": \"u\",\n\t\t\t\"ٌ\": \"on\",\n\t\t\t\"ْ\": \"\",\n\t\t\t\"٠\": \"0\",\n\t\t\t\"١\": \"1\",\n\t\t\t\"٢\": \"2\",\n\t\t\t\"٣\": \"3\",\n\t\t\t\"٤\": \"4\",\n\t\t\t\"٥\": \"5\",\n\t\t\t\"٦\": \"6\",\n\t\t\t\"٧\": \"7\",\n\t\t\t\"٨\": \"8\",\n\t\t\t\"٩\": \"9\",\n\t\t\t\"۰\": \"0\",\n\t\t\t\"۱\": \"1\",\n\t\t\t\"۲\": \"2\",\n\t\t\t\"۳\": \"3\",\n\t\t\t\"۴\": \"4\",\n\t\t\t\"۵\": \"5\",\n\t\t\t\"۶\": \"6\",\n\t\t\t\"۷\": \"7\",\n\t\t\t\"۸\": \"8\",\n\t\t\t\"۹\": \"9\",\n\t\t\t\"က\": \"k\",\n\t\t\t\"ခ\": \"kh\",\n\t\t\t\"ဂ\": \"g\",\n\t\t\t\"ဃ\": \"ga\",\n\t\t\t\"င\": \"ng\",\n\t\t\t\"စ\": \"s\",\n\t\t\t\"ဆ\": \"sa\",\n\t\t\t\"ဇ\": \"z\",\n\t\t\t\"စျ\": \"za\",\n\t\t\t\"ည\": \"ny\",\n\t\t\t\"ဋ\": \"t\",\n\t\t\t\"ဌ\": \"ta\",\n\t\t\t\"ဍ\": \"d\",\n\t\t\t\"ဎ\": \"da\",\n\t\t\t\"ဏ\": \"na\",\n\t\t\t\"တ\": \"t\",\n\t\t\t\"ထ\": \"ta\",\n\t\t\t\"ဒ\": \"d\",\n\t\t\t\"ဓ\": \"da\",\n\t\t\t\"န\": \"n\",\n\t\t\t\"ပ\": \"p\",\n\t\t\t\"ဖ\": \"pa\",\n\t\t\t\"ဗ\": \"b\",\n\t\t\t\"ဘ\": \"ba\",\n\t\t\t\"မ\": \"m\",\n\t\t\t\"ယ\": \"y\",\n\t\t\t\"ရ\": \"ya\",\n\t\t\t\"လ\": \"l\",\n\t\t\t\"ဝ\": \"w\",\n\t\t\t\"သ\": \"th\",\n\t\t\t\"ဟ\": \"h\",\n\t\t\t\"ဠ\": \"la\",\n\t\t\t\"အ\": \"a\",\n\t\t\t\"ြ\": \"y\",\n\t\t\t\"ျ\": \"ya\",\n\t\t\t\"ွ\": \"w\",\n\t\t\t\"ြွ\": \"yw\",\n\t\t\t\"ျွ\": \"ywa\",\n\t\t\t\"ှ\": \"h\",\n\t\t\t\"ဧ\": \"e\",\n\t\t\t\"၏\": \"-e\",\n\t\t\t\"ဣ\": \"i\",\n\t\t\t\"ဤ\": \"-i\",\n\t\t\t\"ဉ\": \"u\",\n\t\t\t\"ဦ\": \"-u\",\n\t\t\t\"ဩ\": \"aw\",\n\t\t\t\"သြော\": \"aw\",\n\t\t\t\"ဪ\": \"aw\",\n\t\t\t\"၀\": \"0\",\n\t\t\t\"၁\": \"1\",\n\t\t\t\"၂\": \"2\",\n\t\t\t\"၃\": \"3\",\n\t\t\t\"၄\": \"4\",\n\t\t\t\"၅\": \"5\",\n\t\t\t\"၆\": \"6\",\n\t\t\t\"၇\": \"7\",\n\t\t\t\"၈\": \"8\",\n\t\t\t\"၉\": \"9\",\n\t\t\t\"္\": \"\",\n\t\t\t\"့\": \"\",\n\t\t\t\"း\": \"\",\n\t\t\t\"č\": \"c\",\n\t\t\t\"ď\": \"d\",\n\t\t\t\"ě\": \"e\",\n\t\t\t\"ň\": \"n\",\n\t\t\t\"ř\": \"r\",\n\t\t\t\"š\": \"s\",\n\t\t\t\"ť\": \"t\",\n\t\t\t\"ů\": \"u\",\n\t\t\t\"ž\": \"z\",\n\t\t\t\"Č\": \"C\",\n\t\t\t\"Ď\": \"D\",\n\t\t\t\"Ě\": \"E\",\n\t\t\t\"Ň\": \"N\",\n\t\t\t\"Ř\": \"R\",\n\t\t\t\"Š\": \"S\",\n\t\t\t\"Ť\": \"T\",\n\t\t\t\"Ů\": \"U\",\n\t\t\t\"Ž\": \"Z\",\n\t\t\t\"ހ\": \"h\",\n\t\t\t\"ށ\": \"sh\",\n\t\t\t\"ނ\": \"n\",\n\t\t\t\"ރ\": \"r\",\n\t\t\t\"ބ\": \"b\",\n\t\t\t\"ޅ\": \"lh\",\n\t\t\t\"ކ\": \"k\",\n\t\t\t\"އ\": \"a\",\n\t\t\t\"ވ\": \"v\",\n\t\t\t\"މ\": \"m\",\n\t\t\t\"ފ\": \"f\",\n\t\t\t\"ދ\": \"dh\",\n\t\t\t\"ތ\": \"th\",\n\t\t\t\"ލ\": \"l\",\n\t\t\t\"ގ\": \"g\",\n\t\t\t\"ޏ\": \"gn\",\n\t\t\t\"ސ\": \"s\",\n\t\t\t\"ޑ\": \"d\",\n\t\t\t\"ޒ\": \"z\",\n\t\t\t\"ޓ\": \"t\",\n\t\t\t\"ޔ\": \"y\",\n\t\t\t\"ޕ\": \"p\",\n\t\t\t\"ޖ\": \"j\",\n\t\t\t\"ޗ\": \"ch\",\n\t\t\t\"ޘ\": \"tt\",\n\t\t\t\"ޙ\": \"hh\",\n\t\t\t\"ޚ\": \"kh\",\n\t\t\t\"ޛ\": \"th\",\n\t\t\t\"ޜ\": \"z\",\n\t\t\t\"ޝ\": \"sh\",\n\t\t\t\"ޞ\": \"s\",\n\t\t\t\"ޟ\": \"d\",\n\t\t\t\"ޠ\": \"t\",\n\t\t\t\"ޡ\": \"z\",\n\t\t\t\"ޢ\": \"a\",\n\t\t\t\"ޣ\": \"gh\",\n\t\t\t\"ޤ\": \"q\",\n\t\t\t\"ޥ\": \"w\",\n\t\t\t\"ަ\": \"a\",\n\t\t\t\"ާ\": \"aa\",\n\t\t\t\"ި\": \"i\",\n\t\t\t\"ީ\": \"ee\",\n\t\t\t\"ު\": \"u\",\n\t\t\t\"ޫ\": \"oo\",\n\t\t\t\"ެ\": \"e\",\n\t\t\t\"ޭ\": \"ey\",\n\t\t\t\"ޮ\": \"o\",\n\t\t\t\"ޯ\": \"oa\",\n\t\t\t\"ް\": \"\",\n\t\t\t\"ა\": \"a\",\n\t\t\t\"ბ\": \"b\",\n\t\t\t\"გ\": \"g\",\n\t\t\t\"დ\": \"d\",\n\t\t\t\"ე\": \"e\",\n\t\t\t\"ვ\": \"v\",\n\t\t\t\"ზ\": \"z\",\n\t\t\t\"თ\": \"t\",\n\t\t\t\"ი\": \"i\",\n\t\t\t\"კ\": \"k\",\n\t\t\t\"ლ\": \"l\",\n\t\t\t\"მ\": \"m\",\n\t\t\t\"ნ\": \"n\",\n\t\t\t\"ო\": \"o\",\n\t\t\t\"პ\": \"p\",\n\t\t\t\"ჟ\": \"zh\",\n\t\t\t\"რ\": \"r\",\n\t\t\t\"ს\": \"s\",\n\t\t\t\"ტ\": \"t\",\n\t\t\t\"უ\": \"u\",\n\t\t\t\"ფ\": \"p\",\n\t\t\t\"ქ\": \"k\",\n\t\t\t\"ღ\": \"gh\",\n\t\t\t\"ყ\": \"q\",\n\t\t\t\"შ\": \"sh\",\n\t\t\t\"ჩ\": \"ch\",\n\t\t\t\"ც\": \"ts\",\n\t\t\t\"ძ\": \"dz\",\n\t\t\t\"წ\": \"ts\",\n\t\t\t\"ჭ\": \"ch\",\n\t\t\t\"ხ\": \"kh\",\n\t\t\t\"ჯ\": \"j\",\n\t\t\t\"ჰ\": \"h\",\n\t\t\t\"α\": \"a\",\n\t\t\t\"β\": \"v\",\n\t\t\t\"γ\": \"g\",\n\t\t\t\"δ\": \"d\",\n\t\t\t\"ε\": \"e\",\n\t\t\t\"ζ\": \"z\",\n\t\t\t\"η\": \"i\",\n\t\t\t\"θ\": \"th\",\n\t\t\t\"ι\": \"i\",\n\t\t\t\"κ\": \"k\",\n\t\t\t\"λ\": \"l\",\n\t\t\t\"μ\": \"m\",\n\t\t\t\"ν\": \"n\",\n\t\t\t\"ξ\": \"ks\",\n\t\t\t\"ο\": \"o\",\n\t\t\t\"π\": \"p\",\n\t\t\t\"ρ\": \"r\",\n\t\t\t\"σ\": \"s\",\n\t\t\t\"τ\": \"t\",\n\t\t\t\"υ\": \"y\",\n\t\t\t\"φ\": \"f\",\n\t\t\t\"χ\": \"x\",\n\t\t\t\"ψ\": \"ps\",\n\t\t\t\"ω\": \"o\",\n\t\t\t\"ά\": \"a\",\n\t\t\t\"έ\": \"e\",\n\t\t\t\"ί\": \"i\",\n\t\t\t\"ό\": \"o\",\n\t\t\t\"ύ\": \"y\",\n\t\t\t\"ή\": \"i\",\n\t\t\t\"ώ\": \"o\",\n\t\t\t\"ς\": \"s\",\n\t\t\t\"ϊ\": \"i\",\n\t\t\t\"ΰ\": \"y\",\n\t\t\t\"ϋ\": \"y\",\n\t\t\t\"ΐ\": \"i\",\n\t\t\t\"Α\": \"A\",\n\t\t\t\"Β\": \"B\",\n\t\t\t\"Γ\": \"G\",\n\t\t\t\"Δ\": \"D\",\n\t\t\t\"Ε\": \"E\",\n\t\t\t\"Ζ\": \"Z\",\n\t\t\t\"Η\": \"I\",\n\t\t\t\"Θ\": \"TH\",\n\t\t\t\"Ι\": \"I\",\n\t\t\t\"Κ\": \"K\",\n\t\t\t\"Λ\": \"L\",\n\t\t\t\"Μ\": \"M\",\n\t\t\t\"Ν\": \"N\",\n\t\t\t\"Ξ\": \"KS\",\n\t\t\t\"Ο\": \"O\",\n\t\t\t\"Π\": \"P\",\n\t\t\t\"Ρ\": \"R\",\n\t\t\t\"Σ\": \"S\",\n\t\t\t\"Τ\": \"T\",\n\t\t\t\"Υ\": \"Y\",\n\t\t\t\"Φ\": \"F\",\n\t\t\t\"Χ\": \"X\",\n\t\t\t\"Ψ\": \"PS\",\n\t\t\t\"Ω\": \"O\",\n\t\t\t\"Ά\": \"A\",\n\t\t\t\"Έ\": \"E\",\n\t\t\t\"Ί\": \"I\",\n\t\t\t\"Ό\": \"O\",\n\t\t\t\"Ύ\": \"Y\",\n\t\t\t\"Ή\": \"I\",\n\t\t\t\"Ώ\": \"O\",\n\t\t\t\"Ϊ\": \"I\",\n\t\t\t\"Ϋ\": \"Y\",\n\t\t\t\"ā\": \"a\",\n\t\t\t\"ē\": \"e\",\n\t\t\t\"ģ\": \"g\",\n\t\t\t\"ī\": \"i\",\n\t\t\t\"ķ\": \"k\",\n\t\t\t\"ļ\": \"l\",\n\t\t\t\"ņ\": \"n\",\n\t\t\t\"ū\": \"u\",\n\t\t\t\"Ā\": \"A\",\n\t\t\t\"Ē\": \"E\",\n\t\t\t\"Ģ\": \"G\",\n\t\t\t\"Ī\": \"I\",\n\t\t\t\"Ķ\": \"k\",\n\t\t\t\"Ļ\": \"L\",\n\t\t\t\"Ņ\": \"N\",\n\t\t\t\"Ū\": \"U\",\n\t\t\t\"Ќ\": \"Kj\",\n\t\t\t\"ќ\": \"kj\",\n\t\t\t\"Љ\": \"Lj\",\n\t\t\t\"љ\": \"lj\",\n\t\t\t\"Њ\": \"Nj\",\n\t\t\t\"њ\": \"nj\",\n\t\t\t\"Тс\": \"Ts\",\n\t\t\t\"тс\": \"ts\",\n\t\t\t\"ą\": \"a\",\n\t\t\t\"ć\": \"c\",\n\t\t\t\"ę\": \"e\",\n\t\t\t\"ł\": \"l\",\n\t\t\t\"ń\": \"n\",\n\t\t\t\"ś\": \"s\",\n\t\t\t\"ź\": \"z\",\n\t\t\t\"ż\": \"z\",\n\t\t\t\"Ą\": \"A\",\n\t\t\t\"Ć\": \"C\",\n\t\t\t\"Ę\": \"E\",\n\t\t\t\"Ł\": \"L\",\n\t\t\t\"Ń\": \"N\",\n\t\t\t\"Ś\": \"S\",\n\t\t\t\"Ź\": \"Z\",\n\t\t\t\"Ż\": \"Z\",\n\t\t\t\"Є\": \"Ye\",\n\t\t\t\"І\": \"I\",\n\t\t\t\"Ї\": \"Yi\",\n\t\t\t\"Ґ\": \"G\",\n\t\t\t\"є\": \"ye\",\n\t\t\t\"і\": \"i\",\n\t\t\t\"ї\": \"yi\",\n\t\t\t\"ґ\": \"g\",\n\t\t\t\"ă\": \"a\",\n\t\t\t\"Ă\": \"A\",\n\t\t\t\"ș\": \"s\",\n\t\t\t\"Ș\": \"S\",\n\t\t\t\"ț\": \"t\",\n\t\t\t\"Ț\": \"T\",\n\t\t\t\"ţ\": \"t\",\n\t\t\t\"Ţ\": \"T\",\n\t\t\t\"а\": \"a\",\n\t\t\t\"б\": \"b\",\n\t\t\t\"в\": \"v\",\n\t\t\t\"г\": \"g\",\n\t\t\t\"д\": \"d\",\n\t\t\t\"е\": \"e\",\n\t\t\t\"ё\": \"yo\",\n\t\t\t\"ж\": \"zh\",\n\t\t\t\"з\": \"z\",\n\t\t\t\"и\": \"i\",\n\t\t\t\"й\": \"i\",\n\t\t\t\"к\": \"k\",\n\t\t\t\"л\": \"l\",\n\t\t\t\"м\": \"m\",\n\t\t\t\"н\": \"n\",\n\t\t\t\"о\": \"o\",\n\t\t\t\"п\": \"p\",\n\t\t\t\"р\": \"r\",\n\t\t\t\"с\": \"s\",\n\t\t\t\"т\": \"t\",\n\t\t\t\"у\": \"u\",\n\t\t\t\"ф\": \"f\",\n\t\t\t\"х\": \"kh\",\n\t\t\t\"ц\": \"c\",\n\t\t\t\"ч\": \"ch\",\n\t\t\t\"ш\": \"sh\",\n\t\t\t\"щ\": \"sh\",\n\t\t\t\"ъ\": \"\",\n\t\t\t\"ы\": \"y\",\n\t\t\t\"ь\": \"\",\n\t\t\t\"э\": \"e\",\n\t\t\t\"ю\": \"yu\",\n\t\t\t\"я\": \"ya\",\n\t\t\t\"А\": \"A\",\n\t\t\t\"Б\": \"B\",\n\t\t\t\"В\": \"V\",\n\t\t\t\"Г\": \"G\",\n\t\t\t\"Д\": \"D\",\n\t\t\t\"Е\": \"E\",\n\t\t\t\"Ё\": \"Yo\",\n\t\t\t\"Ж\": \"Zh\",\n\t\t\t\"З\": \"Z\",\n\t\t\t\"И\": \"I\",\n\t\t\t\"Й\": \"I\",\n\t\t\t\"К\": \"K\",\n\t\t\t\"Л\": \"L\",\n\t\t\t\"М\": \"M\",\n\t\t\t\"Н\": \"N\",\n\t\t\t\"О\": \"O\",\n\t\t\t\"П\": \"P\",\n\t\t\t\"Р\": \"R\",\n\t\t\t\"С\": \"S\",\n\t\t\t\"Т\": \"T\",\n\t\t\t\"У\": \"U\",\n\t\t\t\"Ф\": \"F\",\n\t\t\t\"Х\": \"Kh\",\n\t\t\t\"Ц\": \"C\",\n\t\t\t\"Ч\": \"Ch\",\n\t\t\t\"Ш\": \"Sh\",\n\t\t\t\"Щ\": \"Sh\",\n\t\t\t\"Ъ\": \"\",\n\t\t\t\"Ы\": \"Y\",\n\t\t\t\"Ь\": \"\",\n\t\t\t\"Э\": \"E\",\n\t\t\t\"Ю\": \"Yu\",\n\t\t\t\"Я\": \"Ya\",\n\t\t\t\"ђ\": \"dj\",\n\t\t\t\"ј\": \"j\",\n\t\t\t\"ћ\": \"c\",\n\t\t\t\"џ\": \"dz\",\n\t\t\t\"Ђ\": \"Dj\",\n\t\t\t\"Ј\": \"j\",\n\t\t\t\"Ћ\": \"C\",\n\t\t\t\"Џ\": \"Dz\",\n\t\t\t\"ľ\": \"l\",\n\t\t\t\"ĺ\": \"l\",\n\t\t\t\"ŕ\": \"r\",\n\t\t\t\"Ľ\": \"L\",\n\t\t\t\"Ĺ\": \"L\",\n\t\t\t\"Ŕ\": \"R\",\n\t\t\t\"ş\": \"s\",\n\t\t\t\"Ş\": \"S\",\n\t\t\t\"ı\": \"i\",\n\t\t\t\"İ\": \"I\",\n\t\t\t\"ğ\": \"g\",\n\t\t\t\"Ğ\": \"G\",\n\t\t\t\"ả\": \"a\",\n\t\t\t\"Ả\": \"A\",\n\t\t\t\"ẳ\": \"a\",\n\t\t\t\"Ẳ\": \"A\",\n\t\t\t\"ẩ\": \"a\",\n\t\t\t\"Ẩ\": \"A\",\n\t\t\t\"đ\": \"d\",\n\t\t\t\"Đ\": \"D\",\n\t\t\t\"ẹ\": \"e\",\n\t\t\t\"Ẹ\": \"E\",\n\t\t\t\"ẽ\": \"e\",\n\t\t\t\"Ẽ\": \"E\",\n\t\t\t\"ẻ\": \"e\",\n\t\t\t\"Ẻ\": \"E\",\n\t\t\t\"ế\": \"e\",\n\t\t\t\"Ế\": \"E\",\n\t\t\t\"ề\": \"e\",\n\t\t\t\"Ề\": \"E\",\n\t\t\t\"ệ\": \"e\",\n\t\t\t\"Ệ\": \"E\",\n\t\t\t\"ễ\": \"e\",\n\t\t\t\"Ễ\": \"E\",\n\t\t\t\"ể\": \"e\",\n\t\t\t\"Ể\": \"E\",\n\t\t\t\"ỏ\": \"o\",\n\t\t\t\"ọ\": \"o\",\n\t\t\t\"Ọ\": \"o\",\n\t\t\t\"ố\": \"o\",\n\t\t\t\"Ố\": \"O\",\n\t\t\t\"ồ\": \"o\",\n\t\t\t\"Ồ\": \"O\",\n\t\t\t\"ổ\": \"o\",\n\t\t\t\"Ổ\": \"O\",\n\t\t\t\"ộ\": \"o\",\n\t\t\t\"Ộ\": \"O\",\n\t\t\t\"ỗ\": \"o\",\n\t\t\t\"Ỗ\": \"O\",\n\t\t\t\"ơ\": \"o\",\n\t\t\t\"Ơ\": \"O\",\n\t\t\t\"ớ\": \"o\",\n\t\t\t\"Ớ\": \"O\",\n\t\t\t\"ờ\": \"o\",\n\t\t\t\"Ờ\": \"O\",\n\t\t\t\"ợ\": \"o\",\n\t\t\t\"Ợ\": \"O\",\n\t\t\t\"ỡ\": \"o\",\n\t\t\t\"Ỡ\": \"O\",\n\t\t\t\"Ở\": \"o\",\n\t\t\t\"ở\": \"o\",\n\t\t\t\"ị\": \"i\",\n\t\t\t\"Ị\": \"I\",\n\t\t\t\"ĩ\": \"i\",\n\t\t\t\"Ĩ\": \"I\",\n\t\t\t\"ỉ\": \"i\",\n\t\t\t\"Ỉ\": \"i\",\n\t\t\t\"ủ\": \"u\",\n\t\t\t\"Ủ\": \"U\",\n\t\t\t\"ụ\": \"u\",\n\t\t\t\"Ụ\": \"U\",\n\t\t\t\"ũ\": \"u\",\n\t\t\t\"Ũ\": \"U\",\n\t\t\t\"ư\": \"u\",\n\t\t\t\"Ư\": \"U\",\n\t\t\t\"ứ\": \"u\",\n\t\t\t\"Ứ\": \"U\",\n\t\t\t\"ừ\": \"u\",\n\t\t\t\"Ừ\": \"U\",\n\t\t\t\"ự\": \"u\",\n\t\t\t\"Ự\": \"U\",\n\t\t\t\"ữ\": \"u\",\n\t\t\t\"Ữ\": \"U\",\n\t\t\t\"ử\": \"u\",\n\t\t\t\"Ử\": \"ư\",\n\t\t\t\"ỷ\": \"y\",\n\t\t\t\"Ỷ\": \"y\",\n\t\t\t\"ỳ\": \"y\",\n\t\t\t\"Ỳ\": \"Y\",\n\t\t\t\"ỵ\": \"y\",\n\t\t\t\"Ỵ\": \"Y\",\n\t\t\t\"ỹ\": \"y\",\n\t\t\t\"Ỹ\": \"Y\",\n\t\t\t\"ạ\": \"a\",\n\t\t\t\"Ạ\": \"A\",\n\t\t\t\"ấ\": \"a\",\n\t\t\t\"Ấ\": \"A\",\n\t\t\t\"ầ\": \"a\",\n\t\t\t\"Ầ\": \"A\",\n\t\t\t\"ậ\": \"a\",\n\t\t\t\"Ậ\": \"A\",\n\t\t\t\"ẫ\": \"a\",\n\t\t\t\"Ẫ\": \"A\",\n\t\t\t\"ắ\": \"a\",\n\t\t\t\"Ắ\": \"A\",\n\t\t\t\"ằ\": \"a\",\n\t\t\t\"Ằ\": \"A\",\n\t\t\t\"ặ\": \"a\",\n\t\t\t\"Ặ\": \"A\",\n\t\t\t\"ẵ\": \"a\",\n\t\t\t\"Ẵ\": \"A\",\n\t\t\t\"⓪\": \"0\",\n\t\t\t\"①\": \"1\",\n\t\t\t\"②\": \"2\",\n\t\t\t\"③\": \"3\",\n\t\t\t\"④\": \"4\",\n\t\t\t\"⑤\": \"5\",\n\t\t\t\"⑥\": \"6\",\n\t\t\t\"⑦\": \"7\",\n\t\t\t\"⑧\": \"8\",\n\t\t\t\"⑨\": \"9\",\n\t\t\t\"⑩\": \"10\",\n\t\t\t\"⑪\": \"11\",\n\t\t\t\"⑫\": \"12\",\n\t\t\t\"⑬\": \"13\",\n\t\t\t\"⑭\": \"14\",\n\t\t\t\"⑮\": \"15\",\n\t\t\t\"⑯\": \"16\",\n\t\t\t\"⑰\": \"17\",\n\t\t\t\"⑱\": \"18\",\n\t\t\t\"⑲\": \"18\",\n\t\t\t\"⑳\": \"18\",\n\t\t\t\"⓵\": \"1\",\n\t\t\t\"⓶\": \"2\",\n\t\t\t\"⓷\": \"3\",\n\t\t\t\"⓸\": \"4\",\n\t\t\t\"⓹\": \"5\",\n\t\t\t\"⓺\": \"6\",\n\t\t\t\"⓻\": \"7\",\n\t\t\t\"⓼\": \"8\",\n\t\t\t\"⓽\": \"9\",\n\t\t\t\"⓾\": \"10\",\n\t\t\t\"⓿\": \"0\",\n\t\t\t\"⓫\": \"11\",\n\t\t\t\"⓬\": \"12\",\n\t\t\t\"⓭\": \"13\",\n\t\t\t\"⓮\": \"14\",\n\t\t\t\"⓯\": \"15\",\n\t\t\t\"⓰\": \"16\",\n\t\t\t\"⓱\": \"17\",\n\t\t\t\"⓲\": \"18\",\n\t\t\t\"⓳\": \"19\",\n\t\t\t\"⓴\": \"20\",\n\t\t\t\"Ⓐ\": \"A\",\n\t\t\t\"Ⓑ\": \"B\",\n\t\t\t\"Ⓒ\": \"C\",\n\t\t\t\"Ⓓ\": \"D\",\n\t\t\t\"Ⓔ\": \"E\",\n\t\t\t\"Ⓕ\": \"F\",\n\t\t\t\"Ⓖ\": \"G\",\n\t\t\t\"Ⓗ\": \"H\",\n\t\t\t\"Ⓘ\": \"I\",\n\t\t\t\"Ⓙ\": \"J\",\n\t\t\t\"Ⓚ\": \"K\",\n\t\t\t\"Ⓛ\": \"L\",\n\t\t\t\"Ⓜ\": \"M\",\n\t\t\t\"Ⓝ\": \"N\",\n\t\t\t\"Ⓞ\": \"O\",\n\t\t\t\"Ⓟ\": \"P\",\n\t\t\t\"Ⓠ\": \"Q\",\n\t\t\t\"Ⓡ\": \"R\",\n\t\t\t\"Ⓢ\": \"S\",\n\t\t\t\"Ⓣ\": \"T\",\n\t\t\t\"Ⓤ\": \"U\",\n\t\t\t\"Ⓥ\": \"V\",\n\t\t\t\"Ⓦ\": \"W\",\n\t\t\t\"Ⓧ\": \"X\",\n\t\t\t\"Ⓨ\": \"Y\",\n\t\t\t\"Ⓩ\": \"Z\",\n\t\t\t\"ⓐ\": \"a\",\n\t\t\t\"ⓑ\": \"b\",\n\t\t\t\"ⓒ\": \"c\",\n\t\t\t\"ⓓ\": \"d\",\n\t\t\t\"ⓔ\": \"e\",\n\t\t\t\"ⓕ\": \"f\",\n\t\t\t\"ⓖ\": \"g\",\n\t\t\t\"ⓗ\": \"h\",\n\t\t\t\"ⓘ\": \"i\",\n\t\t\t\"ⓙ\": \"j\",\n\t\t\t\"ⓚ\": \"k\",\n\t\t\t\"ⓛ\": \"l\",\n\t\t\t\"ⓜ\": \"m\",\n\t\t\t\"ⓝ\": \"n\",\n\t\t\t\"ⓞ\": \"o\",\n\t\t\t\"ⓟ\": \"p\",\n\t\t\t\"ⓠ\": \"q\",\n\t\t\t\"ⓡ\": \"r\",\n\t\t\t\"ⓢ\": \"s\",\n\t\t\t\"ⓣ\": \"t\",\n\t\t\t\"ⓤ\": \"u\",\n\t\t\t\"ⓦ\": \"v\",\n\t\t\t\"ⓥ\": \"w\",\n\t\t\t\"ⓧ\": \"x\",\n\t\t\t\"ⓨ\": \"y\",\n\t\t\t\"ⓩ\": \"z\",\n\t\t\t\"“\": \"\\\"\",\n\t\t\t\"”\": \"\\\"\",\n\t\t\t\"‘\": \"'\",\n\t\t\t\"’\": \"'\",\n\t\t\t\"∂\": \"d\",\n\t\t\t\"ƒ\": \"f\",\n\t\t\t\"™\": \"(TM)\",\n\t\t\t\"©\": \"(C)\",\n\t\t\t\"œ\": \"oe\",\n\t\t\t\"Œ\": \"OE\",\n\t\t\t\"®\": \"(R)\",\n\t\t\t\"†\": \"+\",\n\t\t\t\"℠\": \"(SM)\",\n\t\t\t\"…\": \"...\",\n\t\t\t\"˚\": \"o\",\n\t\t\t\"º\": \"o\",\n\t\t\t\"ª\": \"a\",\n\t\t\t\"•\": \"*\",\n\t\t\t\"၊\": \",\",\n\t\t\t\"။\": \".\",\n\t\t\t\"$\": \"USD\",\n\t\t\t\"€\": \"EUR\",\n\t\t\t\"₢\": \"BRN\",\n\t\t\t\"₣\": \"FRF\",\n\t\t\t\"£\": \"GBP\",\n\t\t\t\"₤\": \"ITL\",\n\t\t\t\"₦\": \"NGN\",\n\t\t\t\"₧\": \"ESP\",\n\t\t\t\"₩\": \"KRW\",\n\t\t\t\"₪\": \"ILS\",\n\t\t\t\"₫\": \"VND\",\n\t\t\t\"₭\": \"LAK\",\n\t\t\t\"₮\": \"MNT\",\n\t\t\t\"₯\": \"GRD\",\n\t\t\t\"₱\": \"ARS\",\n\t\t\t\"₲\": \"PYG\",\n\t\t\t\"₳\": \"ARA\",\n\t\t\t\"₴\": \"UAH\",\n\t\t\t\"₵\": \"GHS\",\n\t\t\t\"¢\": \"cent\",\n\t\t\t\"¥\": \"CNY\",\n\t\t\t\"元\": \"CNY\",\n\t\t\t\"円\": \"YEN\",\n\t\t\t\"﷼\": \"IRR\",\n\t\t\t\"₠\": \"EWE\",\n\t\t\t\"฿\": \"THB\",\n\t\t\t\"₨\": \"INR\",\n\t\t\t\"₹\": \"INR\",\n\t\t\t\"₰\": \"PF\",\n\t\t\t\"₺\": \"TRY\",\n\t\t\t\"؋\": \"AFN\",\n\t\t\t\"₼\": \"AZN\",\n\t\t\t\"лв\": \"BGN\",\n\t\t\t\"៛\": \"KHR\",\n\t\t\t\"₡\": \"CRC\",\n\t\t\t\"₸\": \"KZT\",\n\t\t\t\"ден\": \"MKD\",\n\t\t\t\"zł\": \"PLN\",\n\t\t\t\"₽\": \"RUB\",\n\t\t\t\"₾\": \"GEL\"\n\t\t};\n\t\t/**\n\t\t* special look ahead character array\n\t\t* These characters form with consonants to become 'single'/consonant combo\n\t\t* @type [Array]\n\t\t*/\n\t\tvar lookAheadCharArray = [\"်\", \"ް\"];\n\t\t/**\n\t\t* diatricMap for languages where transliteration changes entirely as more diatrics are added\n\t\t* @type {Object}\n\t\t*/\n\t\tvar diatricMap = {\n\t\t\t\"ာ\": \"a\",\n\t\t\t\"ါ\": \"a\",\n\t\t\t\"ေ\": \"e\",\n\t\t\t\"ဲ\": \"e\",\n\t\t\t\"ိ\": \"i\",\n\t\t\t\"ီ\": \"i\",\n\t\t\t\"ို\": \"o\",\n\t\t\t\"ု\": \"u\",\n\t\t\t\"ူ\": \"u\",\n\t\t\t\"ေါင်\": \"aung\",\n\t\t\t\"ော\": \"aw\",\n\t\t\t\"ော်\": \"aw\",\n\t\t\t\"ေါ\": \"aw\",\n\t\t\t\"ေါ်\": \"aw\",\n\t\t\t\"်\": \"်\",\n\t\t\t\"က်\": \"et\",\n\t\t\t\"ိုက်\": \"aik\",\n\t\t\t\"ောက်\": \"auk\",\n\t\t\t\"င်\": \"in\",\n\t\t\t\"ိုင်\": \"aing\",\n\t\t\t\"ောင်\": \"aung\",\n\t\t\t\"စ်\": \"it\",\n\t\t\t\"ည်\": \"i\",\n\t\t\t\"တ်\": \"at\",\n\t\t\t\"ိတ်\": \"eik\",\n\t\t\t\"ုတ်\": \"ok\",\n\t\t\t\"ွတ်\": \"ut\",\n\t\t\t\"ေတ်\": \"it\",\n\t\t\t\"ဒ်\": \"d\",\n\t\t\t\"ိုဒ်\": \"ok\",\n\t\t\t\"ုဒ်\": \"ait\",\n\t\t\t\"န်\": \"an\",\n\t\t\t\"ာန်\": \"an\",\n\t\t\t\"ိန်\": \"ein\",\n\t\t\t\"ုန်\": \"on\",\n\t\t\t\"ွန်\": \"un\",\n\t\t\t\"ပ်\": \"at\",\n\t\t\t\"ိပ်\": \"eik\",\n\t\t\t\"ုပ်\": \"ok\",\n\t\t\t\"ွပ်\": \"ut\",\n\t\t\t\"န်ုပ်\": \"nub\",\n\t\t\t\"မ်\": \"an\",\n\t\t\t\"ိမ်\": \"ein\",\n\t\t\t\"ုမ်\": \"on\",\n\t\t\t\"ွမ်\": \"un\",\n\t\t\t\"ယ်\": \"e\",\n\t\t\t\"ိုလ်\": \"ol\",\n\t\t\t\"ဉ်\": \"in\",\n\t\t\t\"ံ\": \"an\",\n\t\t\t\"ိံ\": \"ein\",\n\t\t\t\"ုံ\": \"on\",\n\t\t\t\"ައް\": \"ah\",\n\t\t\t\"ަށް\": \"ah\"\n\t\t};\n\t\t/**\n\t\t* langCharMap language specific characters translations\n\t\t* @type {Object}\n\t\t*/\n\t\tvar langCharMap = {\n\t\t\t\"en\": {},\n\t\t\t\"az\": {\n\t\t\t\t\"ç\": \"c\",\n\t\t\t\t\"ə\": \"e\",\n\t\t\t\t\"ğ\": \"g\",\n\t\t\t\t\"ı\": \"i\",\n\t\t\t\t\"ö\": \"o\",\n\t\t\t\t\"ş\": \"s\",\n\t\t\t\t\"ü\": \"u\",\n\t\t\t\t\"Ç\": \"C\",\n\t\t\t\t\"Ə\": \"E\",\n\t\t\t\t\"Ğ\": \"G\",\n\t\t\t\t\"İ\": \"I\",\n\t\t\t\t\"Ö\": \"O\",\n\t\t\t\t\"Ş\": \"S\",\n\t\t\t\t\"Ü\": \"U\"\n\t\t\t},\n\t\t\t\"cs\": {\n\t\t\t\t\"č\": \"c\",\n\t\t\t\t\"ď\": \"d\",\n\t\t\t\t\"ě\": \"e\",\n\t\t\t\t\"ň\": \"n\",\n\t\t\t\t\"ř\": \"r\",\n\t\t\t\t\"š\": \"s\",\n\t\t\t\t\"ť\": \"t\",\n\t\t\t\t\"ů\": \"u\",\n\t\t\t\t\"ž\": \"z\",\n\t\t\t\t\"Č\": \"C\",\n\t\t\t\t\"Ď\": \"D\",\n\t\t\t\t\"Ě\": \"E\",\n\t\t\t\t\"Ň\": \"N\",\n\t\t\t\t\"Ř\": \"R\",\n\t\t\t\t\"Š\": \"S\",\n\t\t\t\t\"Ť\": \"T\",\n\t\t\t\t\"Ů\": \"U\",\n\t\t\t\t\"Ž\": \"Z\"\n\t\t\t},\n\t\t\t\"fi\": {\n\t\t\t\t\"ä\": \"a\",\n\t\t\t\t\"Ä\": \"A\",\n\t\t\t\t\"ö\": \"o\",\n\t\t\t\t\"Ö\": \"O\"\n\t\t\t},\n\t\t\t\"hu\": {\n\t\t\t\t\"ä\": \"a\",\n\t\t\t\t\"Ä\": \"A\",\n\t\t\t\t\"ö\": \"o\",\n\t\t\t\t\"Ö\": \"O\",\n\t\t\t\t\"ü\": \"u\",\n\t\t\t\t\"Ü\": \"U\",\n\t\t\t\t\"ű\": \"u\",\n\t\t\t\t\"Ű\": \"U\"\n\t\t\t},\n\t\t\t\"lt\": {\n\t\t\t\t\"ą\": \"a\",\n\t\t\t\t\"č\": \"c\",\n\t\t\t\t\"ę\": \"e\",\n\t\t\t\t\"ė\": \"e\",\n\t\t\t\t\"į\": \"i\",\n\t\t\t\t\"š\": \"s\",\n\t\t\t\t\"ų\": \"u\",\n\t\t\t\t\"ū\": \"u\",\n\t\t\t\t\"ž\": \"z\",\n\t\t\t\t\"Ą\": \"A\",\n\t\t\t\t\"Č\": \"C\",\n\t\t\t\t\"Ę\": \"E\",\n\t\t\t\t\"Ė\": \"E\",\n\t\t\t\t\"Į\": \"I\",\n\t\t\t\t\"Š\": \"S\",\n\t\t\t\t\"Ų\": \"U\",\n\t\t\t\t\"Ū\": \"U\"\n\t\t\t},\n\t\t\t\"lv\": {\n\t\t\t\t\"ā\": \"a\",\n\t\t\t\t\"č\": \"c\",\n\t\t\t\t\"ē\": \"e\",\n\t\t\t\t\"ģ\": \"g\",\n\t\t\t\t\"ī\": \"i\",\n\t\t\t\t\"ķ\": \"k\",\n\t\t\t\t\"ļ\": \"l\",\n\t\t\t\t\"ņ\": \"n\",\n\t\t\t\t\"š\": \"s\",\n\t\t\t\t\"ū\": \"u\",\n\t\t\t\t\"ž\": \"z\",\n\t\t\t\t\"Ā\": \"A\",\n\t\t\t\t\"Č\": \"C\",\n\t\t\t\t\"Ē\": \"E\",\n\t\t\t\t\"Ģ\": \"G\",\n\t\t\t\t\"Ī\": \"i\",\n\t\t\t\t\"Ķ\": \"k\",\n\t\t\t\t\"Ļ\": \"L\",\n\t\t\t\t\"Ņ\": \"N\",\n\t\t\t\t\"Š\": \"S\",\n\t\t\t\t\"Ū\": \"u\",\n\t\t\t\t\"Ž\": \"Z\"\n\t\t\t},\n\t\t\t\"pl\": {\n\t\t\t\t\"ą\": \"a\",\n\t\t\t\t\"ć\": \"c\",\n\t\t\t\t\"ę\": \"e\",\n\t\t\t\t\"ł\": \"l\",\n\t\t\t\t\"ń\": \"n\",\n\t\t\t\t\"ó\": \"o\",\n\t\t\t\t\"ś\": \"s\",\n\t\t\t\t\"ź\": \"z\",\n\t\t\t\t\"ż\": \"z\",\n\t\t\t\t\"Ą\": \"A\",\n\t\t\t\t\"Ć\": \"C\",\n\t\t\t\t\"Ę\": \"e\",\n\t\t\t\t\"Ł\": \"L\",\n\t\t\t\t\"Ń\": \"N\",\n\t\t\t\t\"Ó\": \"O\",\n\t\t\t\t\"Ś\": \"S\",\n\t\t\t\t\"Ź\": \"Z\",\n\t\t\t\t\"Ż\": \"Z\"\n\t\t\t},\n\t\t\t\"sv\": {\n\t\t\t\t\"ä\": \"a\",\n\t\t\t\t\"Ä\": \"A\",\n\t\t\t\t\"ö\": \"o\",\n\t\t\t\t\"Ö\": \"O\"\n\t\t\t},\n\t\t\t\"sk\": {\n\t\t\t\t\"ä\": \"a\",\n\t\t\t\t\"Ä\": \"A\"\n\t\t\t},\n\t\t\t\"sr\": {\n\t\t\t\t\"љ\": \"lj\",\n\t\t\t\t\"њ\": \"nj\",\n\t\t\t\t\"Љ\": \"Lj\",\n\t\t\t\t\"Њ\": \"Nj\",\n\t\t\t\t\"đ\": \"dj\",\n\t\t\t\t\"Đ\": \"Dj\"\n\t\t\t},\n\t\t\t\"tr\": {\n\t\t\t\t\"Ü\": \"U\",\n\t\t\t\t\"Ö\": \"O\",\n\t\t\t\t\"ü\": \"u\",\n\t\t\t\t\"ö\": \"o\"\n\t\t\t}\n\t\t};\n\t\t/**\n\t\t* symbolMap language specific symbol translations\n\t\t* translations must be transliterated already\n\t\t* @type {Object}\n\t\t*/\n\t\tvar symbolMap = {\n\t\t\t\"ar\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"la-nihaya\",\n\t\t\t\t\"♥\": \"hob\",\n\t\t\t\t\"&\": \"wa\",\n\t\t\t\t\"|\": \"aw\",\n\t\t\t\t\"<\": \"aqal-men\",\n\t\t\t\t\">\": \"akbar-men\",\n\t\t\t\t\"∑\": \"majmou\",\n\t\t\t\t\"¤\": \"omla\"\n\t\t\t},\n\t\t\t\"az\": {},\n\t\t\t\"ca\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinit\",\n\t\t\t\t\"♥\": \"amor\",\n\t\t\t\t\"&\": \"i\",\n\t\t\t\t\"|\": \"o\",\n\t\t\t\t\"<\": \"menys que\",\n\t\t\t\t\">\": \"mes que\",\n\t\t\t\t\"∑\": \"suma dels\",\n\t\t\t\t\"¤\": \"moneda\"\n\t\t\t},\n\t\t\t\"cs\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"nekonecno\",\n\t\t\t\t\"♥\": \"laska\",\n\t\t\t\t\"&\": \"a\",\n\t\t\t\t\"|\": \"nebo\",\n\t\t\t\t\"<\": \"mensi nez\",\n\t\t\t\t\">\": \"vetsi nez\",\n\t\t\t\t\"∑\": \"soucet\",\n\t\t\t\t\"¤\": \"mena\"\n\t\t\t},\n\t\t\t\"de\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"unendlich\",\n\t\t\t\t\"♥\": \"Liebe\",\n\t\t\t\t\"&\": \"und\",\n\t\t\t\t\"|\": \"oder\",\n\t\t\t\t\"<\": \"kleiner als\",\n\t\t\t\t\">\": \"groesser als\",\n\t\t\t\t\"∑\": \"Summe von\",\n\t\t\t\t\"¤\": \"Waehrung\"\n\t\t\t},\n\t\t\t\"dv\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"kolunulaa\",\n\t\t\t\t\"♥\": \"loabi\",\n\t\t\t\t\"&\": \"aai\",\n\t\t\t\t\"|\": \"noonee\",\n\t\t\t\t\"<\": \"ah vure kuda\",\n\t\t\t\t\">\": \"ah vure bodu\",\n\t\t\t\t\"∑\": \"jumula\",\n\t\t\t\t\"¤\": \"faisaa\"\n\t\t\t},\n\t\t\t\"en\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinity\",\n\t\t\t\t\"♥\": \"love\",\n\t\t\t\t\"&\": \"and\",\n\t\t\t\t\"|\": \"or\",\n\t\t\t\t\"<\": \"less than\",\n\t\t\t\t\">\": \"greater than\",\n\t\t\t\t\"∑\": \"sum\",\n\t\t\t\t\"¤\": \"currency\"\n\t\t\t},\n\t\t\t\"es\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinito\",\n\t\t\t\t\"♥\": \"amor\",\n\t\t\t\t\"&\": \"y\",\n\t\t\t\t\"|\": \"u\",\n\t\t\t\t\"<\": \"menos que\",\n\t\t\t\t\">\": \"mas que\",\n\t\t\t\t\"∑\": \"suma de los\",\n\t\t\t\t\"¤\": \"moneda\"\n\t\t\t},\n\t\t\t\"fa\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"bi-nahayat\",\n\t\t\t\t\"♥\": \"eshgh\",\n\t\t\t\t\"&\": \"va\",\n\t\t\t\t\"|\": \"ya\",\n\t\t\t\t\"<\": \"kamtar-az\",\n\t\t\t\t\">\": \"bishtar-az\",\n\t\t\t\t\"∑\": \"majmooe\",\n\t\t\t\t\"¤\": \"vahed\"\n\t\t\t},\n\t\t\t\"fi\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"aarettomyys\",\n\t\t\t\t\"♥\": \"rakkaus\",\n\t\t\t\t\"&\": \"ja\",\n\t\t\t\t\"|\": \"tai\",\n\t\t\t\t\"<\": \"pienempi kuin\",\n\t\t\t\t\">\": \"suurempi kuin\",\n\t\t\t\t\"∑\": \"summa\",\n\t\t\t\t\"¤\": \"valuutta\"\n\t\t\t},\n\t\t\t\"fr\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infiniment\",\n\t\t\t\t\"♥\": \"Amour\",\n\t\t\t\t\"&\": \"et\",\n\t\t\t\t\"|\": \"ou\",\n\t\t\t\t\"<\": \"moins que\",\n\t\t\t\t\">\": \"superieure a\",\n\t\t\t\t\"∑\": \"somme des\",\n\t\t\t\t\"¤\": \"monnaie\"\n\t\t\t},\n\t\t\t\"ge\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"usasruloba\",\n\t\t\t\t\"♥\": \"siqvaruli\",\n\t\t\t\t\"&\": \"da\",\n\t\t\t\t\"|\": \"an\",\n\t\t\t\t\"<\": \"naklebi\",\n\t\t\t\t\">\": \"meti\",\n\t\t\t\t\"∑\": \"jami\",\n\t\t\t\t\"¤\": \"valuta\"\n\t\t\t},\n\t\t\t\"gr\": {},\n\t\t\t\"hu\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"vegtelen\",\n\t\t\t\t\"♥\": \"szerelem\",\n\t\t\t\t\"&\": \"es\",\n\t\t\t\t\"|\": \"vagy\",\n\t\t\t\t\"<\": \"kisebb mint\",\n\t\t\t\t\">\": \"nagyobb mint\",\n\t\t\t\t\"∑\": \"szumma\",\n\t\t\t\t\"¤\": \"penznem\"\n\t\t\t},\n\t\t\t\"it\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinito\",\n\t\t\t\t\"♥\": \"amore\",\n\t\t\t\t\"&\": \"e\",\n\t\t\t\t\"|\": \"o\",\n\t\t\t\t\"<\": \"minore di\",\n\t\t\t\t\">\": \"maggiore di\",\n\t\t\t\t\"∑\": \"somma\",\n\t\t\t\t\"¤\": \"moneta\"\n\t\t\t},\n\t\t\t\"lt\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"begalybe\",\n\t\t\t\t\"♥\": \"meile\",\n\t\t\t\t\"&\": \"ir\",\n\t\t\t\t\"|\": \"ar\",\n\t\t\t\t\"<\": \"maziau nei\",\n\t\t\t\t\">\": \"daugiau nei\",\n\t\t\t\t\"∑\": \"suma\",\n\t\t\t\t\"¤\": \"valiuta\"\n\t\t\t},\n\t\t\t\"lv\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"bezgaliba\",\n\t\t\t\t\"♥\": \"milestiba\",\n\t\t\t\t\"&\": \"un\",\n\t\t\t\t\"|\": \"vai\",\n\t\t\t\t\"<\": \"mazak neka\",\n\t\t\t\t\">\": \"lielaks neka\",\n\t\t\t\t\"∑\": \"summa\",\n\t\t\t\t\"¤\": \"valuta\"\n\t\t\t},\n\t\t\t\"my\": {\n\t\t\t\t\"∆\": \"kwahkhyaet\",\n\t\t\t\t\"∞\": \"asaonasme\",\n\t\t\t\t\"♥\": \"akhyait\",\n\t\t\t\t\"&\": \"nhin\",\n\t\t\t\t\"|\": \"tho\",\n\t\t\t\t\"<\": \"ngethaw\",\n\t\t\t\t\">\": \"kyithaw\",\n\t\t\t\t\"∑\": \"paungld\",\n\t\t\t\t\"¤\": \"ngwekye\"\n\t\t\t},\n\t\t\t\"mk\": {},\n\t\t\t\"nl\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"oneindig\",\n\t\t\t\t\"♥\": \"liefde\",\n\t\t\t\t\"&\": \"en\",\n\t\t\t\t\"|\": \"of\",\n\t\t\t\t\"<\": \"kleiner dan\",\n\t\t\t\t\">\": \"groter dan\",\n\t\t\t\t\"∑\": \"som\",\n\t\t\t\t\"¤\": \"valuta\"\n\t\t\t},\n\t\t\t\"pl\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"nieskonczonosc\",\n\t\t\t\t\"♥\": \"milosc\",\n\t\t\t\t\"&\": \"i\",\n\t\t\t\t\"|\": \"lub\",\n\t\t\t\t\"<\": \"mniejsze niz\",\n\t\t\t\t\">\": \"wieksze niz\",\n\t\t\t\t\"∑\": \"suma\",\n\t\t\t\t\"¤\": \"waluta\"\n\t\t\t},\n\t\t\t\"pt\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinito\",\n\t\t\t\t\"♥\": \"amor\",\n\t\t\t\t\"&\": \"e\",\n\t\t\t\t\"|\": \"ou\",\n\t\t\t\t\"<\": \"menor que\",\n\t\t\t\t\">\": \"maior que\",\n\t\t\t\t\"∑\": \"soma\",\n\t\t\t\t\"¤\": \"moeda\"\n\t\t\t},\n\t\t\t\"ro\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"infinit\",\n\t\t\t\t\"♥\": \"dragoste\",\n\t\t\t\t\"&\": \"si\",\n\t\t\t\t\"|\": \"sau\",\n\t\t\t\t\"<\": \"mai mic ca\",\n\t\t\t\t\">\": \"mai mare ca\",\n\t\t\t\t\"∑\": \"suma\",\n\t\t\t\t\"¤\": \"valuta\"\n\t\t\t},\n\t\t\t\"ru\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"beskonechno\",\n\t\t\t\t\"♥\": \"lubov\",\n\t\t\t\t\"&\": \"i\",\n\t\t\t\t\"|\": \"ili\",\n\t\t\t\t\"<\": \"menshe\",\n\t\t\t\t\">\": \"bolshe\",\n\t\t\t\t\"∑\": \"summa\",\n\t\t\t\t\"¤\": \"valjuta\"\n\t\t\t},\n\t\t\t\"sk\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"nekonecno\",\n\t\t\t\t\"♥\": \"laska\",\n\t\t\t\t\"&\": \"a\",\n\t\t\t\t\"|\": \"alebo\",\n\t\t\t\t\"<\": \"menej ako\",\n\t\t\t\t\">\": \"viac ako\",\n\t\t\t\t\"∑\": \"sucet\",\n\t\t\t\t\"¤\": \"mena\"\n\t\t\t},\n\t\t\t\"sr\": {},\n\t\t\t\"tr\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"sonsuzluk\",\n\t\t\t\t\"♥\": \"ask\",\n\t\t\t\t\"&\": \"ve\",\n\t\t\t\t\"|\": \"veya\",\n\t\t\t\t\"<\": \"kucuktur\",\n\t\t\t\t\">\": \"buyuktur\",\n\t\t\t\t\"∑\": \"toplam\",\n\t\t\t\t\"¤\": \"para birimi\"\n\t\t\t},\n\t\t\t\"uk\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"bezkinechnist\",\n\t\t\t\t\"♥\": \"lubov\",\n\t\t\t\t\"&\": \"i\",\n\t\t\t\t\"|\": \"abo\",\n\t\t\t\t\"<\": \"menshe\",\n\t\t\t\t\">\": \"bilshe\",\n\t\t\t\t\"∑\": \"suma\",\n\t\t\t\t\"¤\": \"valjuta\"\n\t\t\t},\n\t\t\t\"vn\": {\n\t\t\t\t\"∆\": \"delta\",\n\t\t\t\t\"∞\": \"vo cuc\",\n\t\t\t\t\"♥\": \"yeu\",\n\t\t\t\t\"&\": \"va\",\n\t\t\t\t\"|\": \"hoac\",\n\t\t\t\t\"<\": \"nho hon\",\n\t\t\t\t\">\": \"lon hon\",\n\t\t\t\t\"∑\": \"tong\",\n\t\t\t\t\"¤\": \"tien te\"\n\t\t\t}\n\t\t};\n\t\tvar uricChars = [\n\t\t\t\";\",\n\t\t\t\"?\",\n\t\t\t\":\",\n\t\t\t\"@\",\n\t\t\t\"&\",\n\t\t\t\"=\",\n\t\t\t\"+\",\n\t\t\t\"$\",\n\t\t\t\",\",\n\t\t\t\"/\"\n\t\t].join(\"\");\n\t\tvar uricNoSlashChars = [\n\t\t\t\";\",\n\t\t\t\"?\",\n\t\t\t\":\",\n\t\t\t\"@\",\n\t\t\t\"&\",\n\t\t\t\"=\",\n\t\t\t\"+\",\n\t\t\t\"$\",\n\t\t\t\",\"\n\t\t].join(\"\");\n\t\tvar markChars = [\n\t\t\t\".\",\n\t\t\t\"!\",\n\t\t\t\"~\",\n\t\t\t\"*\",\n\t\t\t\"'\",\n\t\t\t\"(\",\n\t\t\t\")\"\n\t\t].join(\"\");\n\t\t/**\n\t\t* getSlug\n\t\t* @param {string} input input string\n\t\t* @param {object|string} opts config object or separator string/char\n\t\t* @api public\n\t\t* @return {string} sluggified string\n\t\t*/\n\t\tvar getSlug = function getSlug(input, opts) {\n\t\t\tvar separator = \"-\";\n\t\t\tvar result = \"\";\n\t\t\tvar diatricString = \"\";\n\t\t\tvar convertSymbols = true;\n\t\t\tvar customReplacements = {};\n\t\t\tvar maintainCase;\n\t\t\tvar titleCase;\n\t\t\tvar truncate;\n\t\t\tvar uricFlag;\n\t\t\tvar uricNoSlashFlag;\n\t\t\tvar markFlag;\n\t\t\tvar symbol;\n\t\t\tvar langChar;\n\t\t\tvar lucky;\n\t\t\tvar i;\n\t\t\tvar ch;\n\t\t\tvar l;\n\t\t\tvar lastCharWasSymbol;\n\t\t\tvar lastCharWasDiatric;\n\t\t\tvar allowedChars = \"\";\n\t\t\tif (typeof input !== \"string\") return \"\";\n\t\t\tif (typeof opts === \"string\") separator = opts;\n\t\t\tsymbol = symbolMap.en;\n\t\t\tlangChar = langCharMap.en;\n\t\t\tif (typeof opts === \"object\") {\n\t\t\t\tmaintainCase = opts.maintainCase || false;\n\t\t\t\tcustomReplacements = opts.custom && typeof opts.custom === \"object\" ? opts.custom : customReplacements;\n\t\t\t\ttruncate = +opts.truncate > 1 && opts.truncate || false;\n\t\t\t\turicFlag = opts.uric || false;\n\t\t\t\turicNoSlashFlag = opts.uricNoSlash || false;\n\t\t\t\tmarkFlag = opts.mark || false;\n\t\t\t\tconvertSymbols = opts.symbols === false || opts.lang === false ? false : true;\n\t\t\t\tseparator = opts.separator || separator;\n\t\t\t\tif (uricFlag) allowedChars += uricChars;\n\t\t\t\tif (uricNoSlashFlag) allowedChars += uricNoSlashChars;\n\t\t\t\tif (markFlag) allowedChars += markChars;\n\t\t\t\tsymbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {};\n\t\t\t\tlangChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en;\n\t\t\t\tif (opts.titleCase && typeof opts.titleCase.length === \"number\" && Array.prototype.toString.call(opts.titleCase)) {\n\t\t\t\t\topts.titleCase.forEach(function(v) {\n\t\t\t\t\t\tcustomReplacements[v + \"\"] = v + \"\";\n\t\t\t\t\t});\n\t\t\t\t\ttitleCase = true;\n\t\t\t\t} else titleCase = !!opts.titleCase;\n\t\t\t\tif (opts.custom && typeof opts.custom.length === \"number\" && Array.prototype.toString.call(opts.custom)) opts.custom.forEach(function(v) {\n\t\t\t\t\tcustomReplacements[v + \"\"] = v + \"\";\n\t\t\t\t});\n\t\t\t\tObject.keys(customReplacements).forEach(function(v) {\n\t\t\t\t\tvar r;\n\t\t\t\t\tif (v.length > 1) r = new RegExp(\"\\\\b\" + escapeChars(v) + \"\\\\b\", \"gi\");\n\t\t\t\t\telse r = new RegExp(escapeChars(v), \"gi\");\n\t\t\t\t\tinput = input.replace(r, customReplacements[v]);\n\t\t\t\t});\n\t\t\t\tfor (ch in customReplacements) allowedChars += ch;\n\t\t\t}\n\t\t\tallowedChars += separator;\n\t\t\tallowedChars = escapeChars(allowedChars);\n\t\t\tinput = input.replace(/(^\\s+|\\s+$)/g, \"\");\n\t\t\tlastCharWasSymbol = false;\n\t\t\tlastCharWasDiatric = false;\n\t\t\tfor (i = 0, l = input.length; i < l; i++) {\n\t\t\t\tch = input[i];\n\t\t\t\tif (isReplacedCustomChar(ch, customReplacements)) lastCharWasSymbol = false;\n\t\t\t\telse if (langChar[ch]) {\n\t\t\t\t\tch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? \" \" + langChar[ch] : langChar[ch];\n\t\t\t\t\tlastCharWasSymbol = false;\n\t\t\t\t} else if (ch in charMap) {\n\t\t\t\t\tif (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) {\n\t\t\t\t\t\tdiatricString += ch;\n\t\t\t\t\t\tch = \"\";\n\t\t\t\t\t} else if (lastCharWasDiatric === true) {\n\t\t\t\t\t\tch = diatricMap[diatricString] + charMap[ch];\n\t\t\t\t\t\tdiatricString = \"\";\n\t\t\t\t\t} else ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? \" \" + charMap[ch] : charMap[ch];\n\t\t\t\t\tlastCharWasSymbol = false;\n\t\t\t\t\tlastCharWasDiatric = false;\n\t\t\t\t} else if (ch in diatricMap) {\n\t\t\t\t\tdiatricString += ch;\n\t\t\t\t\tch = \"\";\n\t\t\t\t\tif (i === l - 1) ch = diatricMap[diatricString];\n\t\t\t\t\tlastCharWasDiatric = true;\n\t\t\t\t} else if (symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1)) {\n\t\t\t\t\tch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch];\n\t\t\t\t\tch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : \"\";\n\t\t\t\t\tlastCharWasSymbol = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (lastCharWasDiatric === true) {\n\t\t\t\t\t\tch = diatricMap[diatricString] + ch;\n\t\t\t\t\t\tdiatricString = \"\";\n\t\t\t\t\t\tlastCharWasDiatric = false;\n\t\t\t\t\t} else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) ch = \" \" + ch;\n\t\t\t\t\tlastCharWasSymbol = false;\n\t\t\t\t}\n\t\t\t\tresult += ch.replace(new RegExp(\"[^\\\\w\\\\s\" + allowedChars + \"_-]\", \"g\"), separator);\n\t\t\t}\n\t\t\tif (titleCase) result = result.replace(/(\\w)(\\S*)/g, function(_, i, r) {\n\t\t\t\tvar j = i.toUpperCase() + (r !== null ? r : \"\");\n\t\t\t\treturn Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase();\n\t\t\t});\n\t\t\tresult = result.replace(/\\s+/g, separator).replace(new RegExp(\"\\\\\" + separator + \"+\", \"g\"), separator).replace(new RegExp(\"(^\\\\\" + separator + \"+|\\\\\" + separator + \"+$)\", \"g\"), \"\");\n\t\t\tif (truncate && result.length > truncate) {\n\t\t\t\tlucky = result.charAt(truncate) === separator;\n\t\t\t\tresult = result.slice(0, truncate);\n\t\t\t\tif (!lucky) result = result.slice(0, result.lastIndexOf(separator));\n\t\t\t}\n\t\t\tif (!maintainCase && !titleCase) result = result.toLowerCase();\n\t\t\treturn result;\n\t\t};\n\t\t/**\n\t\t* createSlug curried(opts)(input)\n\t\t* @param {object|string} opts config object or input string\n\t\t* @return {Function} function getSlugWithConfig()\n\t\t**/\n\t\tvar createSlug = function createSlug(opts) {\n\t\t\t/**\n\t\t\t* getSlugWithConfig\n\t\t\t* @param {string} input string\n\t\t\t* @return {string} slug string\n\t\t\t*/\n\t\t\treturn function getSlugWithConfig(input) {\n\t\t\t\treturn getSlug(input, opts);\n\t\t\t};\n\t\t};\n\t\t/**\n\t\t* escape Chars\n\t\t* @param {string} input string\n\t\t*/\n\t\tvar escapeChars = function escapeChars(input) {\n\t\t\treturn input.replace(/[-\\\\^$*+?.()|[\\]{}\\/]/g, \"\\\\$&\");\n\t\t};\n\t\t/**\n\t\t* check if the char is an already converted char from custom list\n\t\t* @param {char} ch character to check\n\t\t* @param {object} customReplacements custom translation map\n\t\t*/\n\t\tvar isReplacedCustomChar = function(ch, customReplacements) {\n\t\t\tfor (var c in customReplacements) if (customReplacements[c] === ch) return true;\n\t\t};\n\t\tif (typeof module !== \"undefined\" && module.exports) {\n\t\t\tmodule.exports = getSlug;\n\t\t\tmodule.exports.createSlug = createSlug;\n\t\t} else if (typeof define !== \"undefined\" && define.amd) define([], function() {\n\t\t\treturn getSlug;\n\t\t});\n\t\telse try {\n\t\t\tif (root.getSlug || root.createSlug) throw \"speakingurl: globals exists /(getSlug|createSlug)/\";\n\t\t\telse {\n\t\t\t\troot.getSlug = getSlug;\n\t\t\t\troot.createSlug = createSlug;\n\t\t\t}\n\t\t} catch (e) {}\n\t})(exports);\n}));\n//#endregion\n//#region src/core/app/index.ts\nvar import_speakingurl = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = require_speakingurl$1();\n})))(), 1);\nconst appRecordInfo = target.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ ??= {\n\tid: 0,\n\tappIds: /* @__PURE__ */ new Set()\n};\nfunction getAppRecordName(app, fallbackName) {\n\treturn app?._component?.name || `App ${fallbackName}`;\n}\nfunction getAppRootInstance(app) {\n\tif (app._instance) return app._instance;\n\telse if (app._container?._vnode?.component) return app._container?._vnode?.component;\n}\nfunction removeAppRecordId(app) {\n\tconst id = app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__;\n\tif (id != null) {\n\t\tappRecordInfo.appIds.delete(id);\n\t\tappRecordInfo.id--;\n\t}\n}\nfunction getAppRecordId(app, defaultId) {\n\tif (app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ != null) return app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__;\n\tlet id = defaultId ?? (appRecordInfo.id++).toString();\n\tif (defaultId && appRecordInfo.appIds.has(id)) {\n\t\tlet count = 1;\n\t\twhile (appRecordInfo.appIds.has(`${defaultId}_${count}`)) count++;\n\t\tid = `${defaultId}_${count}`;\n\t}\n\tappRecordInfo.appIds.add(id);\n\tapp.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ = id;\n\treturn id;\n}\nfunction createAppRecord(app, types) {\n\tconst rootInstance = getAppRootInstance(app);\n\tif (rootInstance) {\n\t\tappRecordInfo.id++;\n\t\tconst name = getAppRecordName(app, appRecordInfo.id.toString());\n\t\tconst id = getAppRecordId(app, (0, import_speakingurl.default)(name));\n\t\tconst [el] = getRootElementsFromComponentInstance(rootInstance);\n\t\tconst record = {\n\t\t\tid,\n\t\t\tname,\n\t\t\ttypes,\n\t\t\tinstanceMap: /* @__PURE__ */ new Map(),\n\t\t\tperfGroupIds: /* @__PURE__ */ new Map(),\n\t\t\trootInstance,\n\t\t\tiframe: isBrowser && document !== el?.ownerDocument ? el?.ownerDocument?.location?.pathname : void 0\n\t\t};\n\t\tapp.__VUE_DEVTOOLS_NEXT_APP_RECORD__ = record;\n\t\tconst rootId = `${record.id}:root`;\n\t\trecord.instanceMap.set(rootId, record.rootInstance);\n\t\trecord.rootInstance.__VUE_DEVTOOLS_NEXT_UID__ = rootId;\n\t\treturn record;\n\t} else return {};\n}\n//#endregion\n//#region src/core/iframe/index.ts\nfunction detectIframeApp(target, inIframe = false) {\n\tif (inIframe) {\n\t\tfunction sendEventToParent(cb) {\n\t\t\ttry {\n\t\t\t\tconst hook = window.parent.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\t\t\t\tif (hook) cb(hook);\n\t\t\t} catch (e) {}\n\t\t}\n\t\tconst hook = {\n\t\t\tid: \"vue-devtools-next\",\n\t\t\tdevtoolsVersion: \"7.0\",\n\t\t\ton: (event, cb) => {\n\t\t\t\tsendEventToParent((hook) => {\n\t\t\t\t\thook.on(event, cb);\n\t\t\t\t});\n\t\t\t},\n\t\t\tonce: (event, cb) => {\n\t\t\t\tsendEventToParent((hook) => {\n\t\t\t\t\thook.once(event, cb);\n\t\t\t\t});\n\t\t\t},\n\t\t\toff: (event, cb) => {\n\t\t\t\tsendEventToParent((hook) => {\n\t\t\t\t\thook.off(event, cb);\n\t\t\t\t});\n\t\t\t},\n\t\t\temit: (event, ...payload) => {\n\t\t\t\tsendEventToParent((hook) => {\n\t\t\t\t\thook.emit(event, ...payload);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tObject.defineProperty(target, \"__VUE_DEVTOOLS_GLOBAL_HOOK__\", {\n\t\t\tget() {\n\t\t\t\treturn hook;\n\t\t\t},\n\t\t\tconfigurable: true\n\t\t});\n\t}\n\tfunction injectVueHookToIframe(iframe) {\n\t\tif (iframe.__vdevtools__injected) return;\n\t\ttry {\n\t\t\tiframe.__vdevtools__injected = true;\n\t\t\tconst inject = () => {\n\t\t\t\ttry {\n\t\t\t\t\tiframe.contentWindow.__VUE_DEVTOOLS_IFRAME__ = iframe;\n\t\t\t\t\tconst script = iframe.contentDocument.createElement(\"script\");\n\t\t\t\t\tscript.textContent = `;(${detectIframeApp.toString()})(window, true)`;\n\t\t\t\t\tiframe.contentDocument.documentElement.appendChild(script);\n\t\t\t\t\tscript.parentNode.removeChild(script);\n\t\t\t\t} catch (e) {}\n\t\t\t};\n\t\t\tinject();\n\t\t\tiframe.addEventListener(\"load\", () => inject());\n\t\t} catch (e) {}\n\t}\n\tfunction injectVueHookToIframes() {\n\t\tif (typeof window === \"undefined\") return;\n\t\tconst iframes = Array.from(document.querySelectorAll(\"iframe:not([data-vue-devtools-ignore])\"));\n\t\tfor (const iframe of iframes) injectVueHookToIframe(iframe);\n\t}\n\tinjectVueHookToIframes();\n\tlet iframeAppChecks = 0;\n\tconst iframeAppCheckTimer = setInterval(() => {\n\t\tinjectVueHookToIframes();\n\t\tiframeAppChecks++;\n\t\tif (iframeAppChecks >= 5) clearInterval(iframeAppCheckTimer);\n\t}, 1e3);\n}\n//#endregion\n//#region src/core/index.ts\nfunction initDevTools() {\n\tdetectIframeApp(target);\n\tupdateDevToolsState({ vitePluginDetected: getDevToolsEnv().vitePluginDetected });\n\tconst isDevToolsNext = target.__VUE_DEVTOOLS_GLOBAL_HOOK__?.id === \"vue-devtools-next\";\n\tif (target.__VUE_DEVTOOLS_GLOBAL_HOOK__ && isDevToolsNext) return;\n\tconst _devtoolsHook = createDevToolsHook();\n\tif (target.__VUE_DEVTOOLS_HOOK_REPLAY__) try {\n\t\ttarget.__VUE_DEVTOOLS_HOOK_REPLAY__.forEach((cb) => cb(_devtoolsHook));\n\t\ttarget.__VUE_DEVTOOLS_HOOK_REPLAY__ = [];\n\t} catch (e) {\n\t\tconsole.error(\"[vue-devtools] Error during hook replay\", e);\n\t}\n\t_devtoolsHook.once(\"init\", (Vue) => {\n\t\ttarget.__VUE_DEVTOOLS_VUE2_APP_DETECTED__ = true;\n\t\tconsole.log(\"%c[_____Vue DevTools v7 log_____]\", \"color: red; font-bold: 600; font-size: 16px;\");\n\t\tconsole.log(\"%cVue DevTools v7 detected in your Vue2 project. v7 only supports Vue3 and will not work.\", \"font-bold: 500; font-size: 14px;\");\n\t\tconst legacyChromeUrl = \"https://chromewebstore.google.com/detail/vuejs-devtools/iaajmlceplecbljialhhkmedjlpdblhp\";\n\t\tconst legacyFirefoxUrl = \"https://addons.mozilla.org/firefox/addon/vue-js-devtools-v6-legacy\";\n\t\tconsole.log(`%cThe legacy version of chrome extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyChromeUrl}`, \"font-size: 14px;\", \"text-decoration: underline; cursor: pointer;font-size: 14px;\");\n\t\tconsole.log(`%cThe legacy version of firefox extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyFirefoxUrl}`, \"font-size: 14px;\", \"text-decoration: underline; cursor: pointer;font-size: 14px;\");\n\t\tconsole.log(\"%cPlease install and enable only the legacy version for your Vue2 app.\", \"font-bold: 500; font-size: 14px;\");\n\t\tconsole.log(\"%c[_____Vue DevTools v7 log_____]\", \"color: red; font-bold: 600; font-size: 16px;\");\n\t});\n\thook.on.setupDevtoolsPlugin((pluginDescriptor, setupFn) => {\n\t\taddDevToolsPluginToBuffer(pluginDescriptor, setupFn);\n\t\tconst { app } = activeAppRecord ?? {};\n\t\tif (pluginDescriptor.settings) initPluginSettings(pluginDescriptor.id, pluginDescriptor.settings);\n\t\tif (!app) return;\n\t\tcallDevToolsPluginSetupFn([pluginDescriptor, setupFn], app);\n\t});\n\tonLegacyDevToolsPluginApiAvailable(() => {\n\t\tdevtoolsPluginBuffer.filter(([item]) => item.id !== \"components\").forEach(([pluginDescriptor, setupFn]) => {\n\t\t\t_devtoolsHook.emit(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn, { target: \"legacy\" });\n\t\t});\n\t});\n\thook.on.vueAppInit(async (app, version, types) => {\n\t\tconst normalizedAppRecord = {\n\t\t\t...createAppRecord(app, types),\n\t\t\tapp,\n\t\t\tversion\n\t\t};\n\t\taddDevToolsAppRecord(normalizedAppRecord);\n\t\tif (devtoolsAppRecords.value.length === 1) {\n\t\t\tsetActiveAppRecord(normalizedAppRecord);\n\t\t\tsetActiveAppRecordId(normalizedAppRecord.id);\n\t\t\tnormalizeRouterInfo(normalizedAppRecord, activeAppRecord);\n\t\t\tregisterDevToolsPlugin(normalizedAppRecord.app);\n\t\t}\n\t\tsetupDevToolsPlugin(...createComponentsDevToolsPlugin(normalizedAppRecord.app));\n\t\tupdateDevToolsState({ connected: true });\n\t\t_devtoolsHook.apps.push(app);\n\t});\n\thook.on.vueAppUnmount(async (app) => {\n\t\tconst activeRecords = devtoolsAppRecords.value.filter((appRecord) => appRecord.app !== app);\n\t\tif (activeRecords.length === 0) updateDevToolsState({ connected: false });\n\t\tremoveDevToolsAppRecord(app);\n\t\tremoveAppRecordId(app);\n\t\tif (activeAppRecord.value.app === app) {\n\t\t\tsetActiveAppRecord(activeRecords[0]);\n\t\t\tdevtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT);\n\t\t}\n\t\ttarget.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.splice(target.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.indexOf(app), 1);\n\t\tremoveRegisteredPluginApp(app);\n\t});\n\tsubscribeDevToolsHook(_devtoolsHook);\n\tif (!target.__VUE_DEVTOOLS_GLOBAL_HOOK__) Object.defineProperty(target, \"__VUE_DEVTOOLS_GLOBAL_HOOK__\", {\n\t\tget() {\n\t\t\treturn _devtoolsHook;\n\t\t},\n\t\tconfigurable: true\n\t});\n\telse if (!isNuxtApp) Object.assign(__VUE_DEVTOOLS_GLOBAL_HOOK__, _devtoolsHook);\n}\nfunction onDevToolsClientConnected(fn) {\n\treturn new Promise((resolve) => {\n\t\tif (devtoolsState.connected && devtoolsState.clientConnected) {\n\t\t\tfn();\n\t\t\tresolve();\n\t\t\treturn;\n\t\t}\n\t\tdevtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => {\n\t\t\tif (state.connected && state.clientConnected) {\n\t\t\t\tfn();\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n}\n//#endregion\n//#region src/core/high-perf-mode/index.ts\nfunction toggleHighPerfMode(state) {\n\tdevtoolsState.highPerfModeEnabled = state ?? !devtoolsState.highPerfModeEnabled;\n\tif (!state && activeAppRecord.value) registerDevToolsPlugin(activeAppRecord.value.app);\n}\n//#endregion\n//#region src/core/component/state/reviver.ts\nfunction reviveSet(val) {\n\tconst result = /* @__PURE__ */ new Set();\n\tconst list = val._custom.value;\n\tfor (let i = 0; i < list.length; i++) {\n\t\tconst value = list[i];\n\t\tresult.add(revive(value));\n\t}\n\treturn result;\n}\nfunction reviveMap(val) {\n\tconst result = /* @__PURE__ */ new Map();\n\tconst list = val._custom.value;\n\tfor (let i = 0; i < list.length; i++) {\n\t\tconst { key, value } = list[i];\n\t\tresult.set(key, revive(value));\n\t}\n\treturn result;\n}\nfunction revive(val) {\n\tif (val === \"__vue_devtool_undefined__\") return;\n\telse if (val === \"__vue_devtool_infinity__\") return Number.POSITIVE_INFINITY;\n\telse if (val === \"__vue_devtool_negative_infinity__\") return Number.NEGATIVE_INFINITY;\n\telse if (val === \"__vue_devtool_nan__\") return NaN;\n\telse if (val && val._custom) {\n\t\tconst { _custom: custom } = val;\n\t\tif (custom.type === \"component\") return activeAppRecord.value.instanceMap.get(custom.id);\n\t\telse if (custom.type === \"map\") return reviveMap(val);\n\t\telse if (custom.type === \"set\") return reviveSet(val);\n\t\telse if (custom.type === \"bigint\") return BigInt(custom.value);\n\t\telse return revive(custom.value);\n\t} else if (symbolRE.test(val)) {\n\t\tconst [, string] = symbolRE.exec(val);\n\t\treturn Symbol.for(string);\n\t} else if (specialTypeRE.test(val)) {\n\t\tconst [, type, string, , details] = specialTypeRE.exec(val);\n\t\tconst result = new target[type](string);\n\t\tif (type === \"Error\" && details) result.stack = details;\n\t\treturn result;\n\t} else return val;\n}\nfunction reviver(key, value) {\n\treturn revive(value);\n}\n//#endregion\n//#region src/core/component/state/format.ts\nfunction getInspectorStateValueType(value, raw = true) {\n\tconst type = typeof value;\n\tif (value == null || value === \"__vue_devtool_undefined__\" || value === \"undefined\") return \"null\";\n\telse if (type === \"boolean\" || type === \"number\" || value === \"__vue_devtool_infinity__\" || value === \"__vue_devtool_negative_infinity__\" || value === \"__vue_devtool_nan__\") return \"literal\";\n\telse if (value?._custom) if (raw || value._custom.display != null || value._custom.displayText != null) return \"custom\";\n\telse return getInspectorStateValueType(value._custom.value);\n\telse if (typeof value === \"string\") {\n\t\tconst typeMatch = specialTypeRE.exec(value);\n\t\tif (typeMatch) {\n\t\t\tconst [, type] = typeMatch;\n\t\t\treturn `native ${type}`;\n\t\t} else return \"string\";\n\t} else if (Array.isArray(value) || value?._isArray) return \"array\";\n\telse if (isPlainObject(value)) return \"plain-object\";\n\telse return \"unknown\";\n}\nfunction formatInspectorStateValue(value, quotes = false, options) {\n\tconst { customClass } = options ?? {};\n\tlet result;\n\tconst type = getInspectorStateValueType(value, false);\n\tif (type !== \"custom\" && value?._custom) value = value._custom.value;\n\tif (result = internalStateTokenToString(value)) return result;\n\telse if (type === \"custom\") return value._custom.value?._custom && formatInspectorStateValue(value._custom.value, quotes, options) || value._custom.displayText || value._custom.display;\n\telse if (type === \"array\") return `Array[${value.length}]`;\n\telse if (type === \"plain-object\") return `Object${Object.keys(value).length ? \"\" : \" (empty)\"}`;\n\telse if (type?.includes(\"native\")) return escape(specialTypeRE.exec(value)?.[2]);\n\telse if (typeof value === \"string\") {\n\t\tconst typeMatch = value.match(rawTypeRE);\n\t\tif (typeMatch) value = escapeString(typeMatch[1]);\n\t\telse if (quotes) value = `\"${customClass?.string ? `${escapeString(value)}` : escapeString(value)}\"`;\n\t\telse value = customClass?.string ? `${escapeString(value)}` : escapeString(value);\n\t}\n\treturn value;\n}\nfunction escapeString(value) {\n\treturn escape(value).replace(/ /g, \" \").replace(/\\n/g, \"\\\\n\");\n}\nfunction getRaw(value) {\n\tlet customType;\n\tconst isCustom = getInspectorStateValueType(value) === \"custom\";\n\tlet inherit = {};\n\tif (isCustom) {\n\t\tconst data = value;\n\t\tconst customValue = data._custom?.value;\n\t\tconst currentCustomType = data._custom?.type;\n\t\tconst nestedCustom = typeof customValue === \"object\" && customValue !== null && \"_custom\" in customValue ? getRaw(customValue) : {\n\t\t\tinherit: void 0,\n\t\t\tvalue: void 0,\n\t\t\tcustomType: void 0\n\t\t};\n\t\tinherit = nestedCustom.inherit || data._custom?.fields || {};\n\t\tvalue = nestedCustom.value || customValue;\n\t\tcustomType = nestedCustom.customType || currentCustomType;\n\t}\n\tif (value && value._isArray) value = value.items;\n\treturn {\n\t\tvalue,\n\t\tinherit,\n\t\tcustomType\n\t};\n}\nfunction toEdit(value, customType) {\n\tif (customType === \"bigint\") return value;\n\tif (customType === \"date\") return value;\n\treturn replaceTokenToString(JSON.stringify(value));\n}\nfunction toSubmit(value, customType) {\n\tif (customType === \"bigint\") return BigInt(value);\n\tif (customType === \"date\") return new Date(value);\n\treturn JSON.parse(replaceStringToToken(value), reviver);\n}\n//#endregion\n//#region src/core/devtools-client/detected.ts\nfunction updateDevToolsClientDetected(params) {\n\tdevtoolsState.devtoolsClientDetected = {\n\t\t...devtoolsState.devtoolsClientDetected,\n\t\t...params\n\t};\n\ttoggleHighPerfMode(!Object.values(devtoolsState.devtoolsClientDetected).some(Boolean));\n}\ntarget.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ ??= updateDevToolsClientDetected;\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js\nvar DoubleIndexedKV = class {\n\tconstructor() {\n\t\tthis.keyToValue = /* @__PURE__ */ new Map();\n\t\tthis.valueToKey = /* @__PURE__ */ new Map();\n\t}\n\tset(key, value) {\n\t\tthis.keyToValue.set(key, value);\n\t\tthis.valueToKey.set(value, key);\n\t}\n\tgetByKey(key) {\n\t\treturn this.keyToValue.get(key);\n\t}\n\tgetByValue(value) {\n\t\treturn this.valueToKey.get(value);\n\t}\n\tclear() {\n\t\tthis.keyToValue.clear();\n\t\tthis.valueToKey.clear();\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js\nvar Registry = class {\n\tconstructor(generateIdentifier) {\n\t\tthis.generateIdentifier = generateIdentifier;\n\t\tthis.kv = new DoubleIndexedKV();\n\t}\n\tregister(value, identifier) {\n\t\tif (this.kv.getByValue(value)) return;\n\t\tif (!identifier) identifier = this.generateIdentifier(value);\n\t\tthis.kv.set(identifier, value);\n\t}\n\tclear() {\n\t\tthis.kv.clear();\n\t}\n\tgetIdentifier(value) {\n\t\treturn this.kv.getByValue(value);\n\t}\n\tgetValue(identifier) {\n\t\treturn this.kv.getByKey(identifier);\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js\nvar ClassRegistry = class extends Registry {\n\tconstructor() {\n\t\tsuper((c) => c.name);\n\t\tthis.classToAllowedProps = /* @__PURE__ */ new Map();\n\t}\n\tregister(value, options) {\n\t\tif (typeof options === \"object\") {\n\t\t\tif (options.allowProps) this.classToAllowedProps.set(value, options.allowProps);\n\t\t\tsuper.register(value, options.identifier);\n\t\t} else super.register(value, options);\n\t}\n\tgetAllowedProps(value) {\n\t\treturn this.classToAllowedProps.get(value);\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js\nfunction valuesOfObj(record) {\n\tif (\"values\" in Object) return Object.values(record);\n\tconst values = [];\n\tfor (const key in record) if (record.hasOwnProperty(key)) values.push(record[key]);\n\treturn values;\n}\nfunction find(record, predicate) {\n\tconst values = valuesOfObj(record);\n\tif (\"find\" in values) return values.find(predicate);\n\tconst valuesNotNever = values;\n\tfor (let i = 0; i < valuesNotNever.length; i++) {\n\t\tconst value = valuesNotNever[i];\n\t\tif (predicate(value)) return value;\n\t}\n}\nfunction forEach(record, run) {\n\tObject.entries(record).forEach(([key, value]) => run(value, key));\n}\nfunction includes(arr, value) {\n\treturn arr.indexOf(value) !== -1;\n}\nfunction findArr(record, predicate) {\n\tfor (let i = 0; i < record.length; i++) {\n\t\tconst value = record[i];\n\t\tif (predicate(value)) return value;\n\t}\n}\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js\nvar CustomTransformerRegistry = class {\n\tconstructor() {\n\t\tthis.transfomers = {};\n\t}\n\tregister(transformer) {\n\t\tthis.transfomers[transformer.name] = transformer;\n\t}\n\tfindApplicable(v) {\n\t\treturn find(this.transfomers, (transformer) => transformer.isApplicable(v));\n\t}\n\tfindByName(name) {\n\t\treturn this.transfomers[name];\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js\nconst getType$1 = (payload) => Object.prototype.toString.call(payload).slice(8, -1);\nconst isUndefined$1 = (payload) => typeof payload === \"undefined\";\nconst isNull$1 = (payload) => payload === null;\nconst isPlainObject$2 = (payload) => {\n\tif (typeof payload !== \"object\" || payload === null) return false;\n\tif (payload === Object.prototype) return false;\n\tif (Object.getPrototypeOf(payload) === null) return true;\n\treturn Object.getPrototypeOf(payload) === Object.prototype;\n};\nconst isEmptyObject = (payload) => isPlainObject$2(payload) && Object.keys(payload).length === 0;\nconst isArray$2 = (payload) => Array.isArray(payload);\nconst isString = (payload) => typeof payload === \"string\";\nconst isNumber = (payload) => typeof payload === \"number\" && !isNaN(payload);\nconst isBoolean = (payload) => typeof payload === \"boolean\";\nconst isRegExp = (payload) => payload instanceof RegExp;\nconst isMap = (payload) => payload instanceof Map;\nconst isSet = (payload) => payload instanceof Set;\nconst isSymbol = (payload) => getType$1(payload) === \"Symbol\";\nconst isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());\nconst isError = (payload) => payload instanceof Error;\nconst isNaNValue = (payload) => typeof payload === \"number\" && isNaN(payload);\nconst isPrimitive = (payload) => isBoolean(payload) || isNull$1(payload) || isUndefined$1(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);\nconst isBigint = (payload) => typeof payload === \"bigint\";\nconst isInfinite = (payload) => payload === Infinity || payload === -Infinity;\nconst isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);\nconst isURL = (payload) => payload instanceof URL;\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js\nconst escapeKey = (key) => key.replace(/\\./g, \"\\\\.\");\nconst stringifyPath = (path) => path.map(String).map(escapeKey).join(\".\");\nconst parsePath = (string) => {\n\tconst result = [];\n\tlet segment = \"\";\n\tfor (let i = 0; i < string.length; i++) {\n\t\tlet char = string.charAt(i);\n\t\tif (char === \"\\\\\" && string.charAt(i + 1) === \".\") {\n\t\t\tsegment += \".\";\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \".\") {\n\t\t\tresult.push(segment);\n\t\t\tsegment = \"\";\n\t\t\tcontinue;\n\t\t}\n\t\tsegment += char;\n\t}\n\tconst lastSegment = segment;\n\tresult.push(lastSegment);\n\treturn result;\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js\nfunction simpleTransformation(isApplicable, annotation, transform, untransform) {\n\treturn {\n\t\tisApplicable,\n\t\tannotation,\n\t\ttransform,\n\t\tuntransform\n\t};\n}\nconst simpleRules = [\n\tsimpleTransformation(isUndefined$1, \"undefined\", () => null, () => void 0),\n\tsimpleTransformation(isBigint, \"bigint\", (v) => v.toString(), (v) => {\n\t\tif (typeof BigInt !== \"undefined\") return BigInt(v);\n\t\tconsole.error(\"Please add a BigInt polyfill.\");\n\t\treturn v;\n\t}),\n\tsimpleTransformation(isDate, \"Date\", (v) => v.toISOString(), (v) => new Date(v)),\n\tsimpleTransformation(isError, \"Error\", (v, superJson) => {\n\t\tconst baseError = {\n\t\t\tname: v.name,\n\t\t\tmessage: v.message\n\t\t};\n\t\tsuperJson.allowedErrorProps.forEach((prop) => {\n\t\t\tbaseError[prop] = v[prop];\n\t\t});\n\t\treturn baseError;\n\t}, (v, superJson) => {\n\t\tconst e = new Error(v.message);\n\t\te.name = v.name;\n\t\te.stack = v.stack;\n\t\tsuperJson.allowedErrorProps.forEach((prop) => {\n\t\t\te[prop] = v[prop];\n\t\t});\n\t\treturn e;\n\t}),\n\tsimpleTransformation(isRegExp, \"regexp\", (v) => \"\" + v, (regex) => {\n\t\tconst body = regex.slice(1, regex.lastIndexOf(\"/\"));\n\t\tconst flags = regex.slice(regex.lastIndexOf(\"/\") + 1);\n\t\treturn new RegExp(body, flags);\n\t}),\n\tsimpleTransformation(isSet, \"set\", (v) => [...v.values()], (v) => new Set(v)),\n\tsimpleTransformation(isMap, \"map\", (v) => [...v.entries()], (v) => new Map(v)),\n\tsimpleTransformation((v) => isNaNValue(v) || isInfinite(v), \"number\", (v) => {\n\t\tif (isNaNValue(v)) return \"NaN\";\n\t\tif (v > 0) return \"Infinity\";\n\t\telse return \"-Infinity\";\n\t}, Number),\n\tsimpleTransformation((v) => v === 0 && 1 / v === -Infinity, \"number\", () => {\n\t\treturn \"-0\";\n\t}, Number),\n\tsimpleTransformation(isURL, \"URL\", (v) => v.toString(), (v) => new URL(v))\n];\nfunction compositeTransformation(isApplicable, annotation, transform, untransform) {\n\treturn {\n\t\tisApplicable,\n\t\tannotation,\n\t\ttransform,\n\t\tuntransform\n\t};\n}\nconst symbolRule = compositeTransformation((s, superJson) => {\n\tif (isSymbol(s)) return !!superJson.symbolRegistry.getIdentifier(s);\n\treturn false;\n}, (s, superJson) => {\n\treturn [\"symbol\", superJson.symbolRegistry.getIdentifier(s)];\n}, (v) => v.description, (_, a, superJson) => {\n\tconst value = superJson.symbolRegistry.getValue(a[1]);\n\tif (!value) throw new Error(\"Trying to deserialize unknown symbol\");\n\treturn value;\n});\nconst constructorToName = [\n\tInt8Array,\n\tUint8Array,\n\tInt16Array,\n\tUint16Array,\n\tInt32Array,\n\tUint32Array,\n\tFloat32Array,\n\tFloat64Array,\n\tUint8ClampedArray\n].reduce((obj, ctor) => {\n\tobj[ctor.name] = ctor;\n\treturn obj;\n}, {});\nconst typedArrayRule = compositeTransformation(isTypedArray, (v) => [\"typed-array\", v.constructor.name], (v) => [...v], (v, a) => {\n\tconst ctor = constructorToName[a[1]];\n\tif (!ctor) throw new Error(\"Trying to deserialize unknown typed array\");\n\treturn new ctor(v);\n});\nfunction isInstanceOfRegisteredClass(potentialClass, superJson) {\n\tif (potentialClass?.constructor) return !!superJson.classRegistry.getIdentifier(potentialClass.constructor);\n\treturn false;\n}\nconst classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {\n\treturn [\"class\", superJson.classRegistry.getIdentifier(clazz.constructor)];\n}, (clazz, superJson) => {\n\tconst allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);\n\tif (!allowedProps) return { ...clazz };\n\tconst result = {};\n\tallowedProps.forEach((prop) => {\n\t\tresult[prop] = clazz[prop];\n\t});\n\treturn result;\n}, (v, a, superJson) => {\n\tconst clazz = superJson.classRegistry.getValue(a[1]);\n\tif (!clazz) throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);\n\treturn Object.assign(Object.create(clazz.prototype), v);\n});\nconst customRule = compositeTransformation((value, superJson) => {\n\treturn !!superJson.customTransformerRegistry.findApplicable(value);\n}, (value, superJson) => {\n\treturn [\"custom\", superJson.customTransformerRegistry.findApplicable(value).name];\n}, (value, superJson) => {\n\treturn superJson.customTransformerRegistry.findApplicable(value).serialize(value);\n}, (v, a, superJson) => {\n\tconst transformer = superJson.customTransformerRegistry.findByName(a[1]);\n\tif (!transformer) throw new Error(\"Trying to deserialize unknown custom value\");\n\treturn transformer.deserialize(v);\n});\nconst compositeRules = [\n\tclassRule,\n\tsymbolRule,\n\tcustomRule,\n\ttypedArrayRule\n];\nconst transformValue = (value, superJson) => {\n\tconst applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson));\n\tif (applicableCompositeRule) return {\n\t\tvalue: applicableCompositeRule.transform(value, superJson),\n\t\ttype: applicableCompositeRule.annotation(value, superJson)\n\t};\n\tconst applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson));\n\tif (applicableSimpleRule) return {\n\t\tvalue: applicableSimpleRule.transform(value, superJson),\n\t\ttype: applicableSimpleRule.annotation\n\t};\n};\nconst simpleRulesByAnnotation = {};\nsimpleRules.forEach((rule) => {\n\tsimpleRulesByAnnotation[rule.annotation] = rule;\n});\nconst untransformValue = (json, type, superJson) => {\n\tif (isArray$2(type)) switch (type[0]) {\n\t\tcase \"symbol\": return symbolRule.untransform(json, type, superJson);\n\t\tcase \"class\": return classRule.untransform(json, type, superJson);\n\t\tcase \"custom\": return customRule.untransform(json, type, superJson);\n\t\tcase \"typed-array\": return typedArrayRule.untransform(json, type, superJson);\n\t\tdefault: throw new Error(\"Unknown transformation: \" + type);\n\t}\n\telse {\n\t\tconst transformation = simpleRulesByAnnotation[type];\n\t\tif (!transformation) throw new Error(\"Unknown transformation: \" + type);\n\t\treturn transformation.untransform(json, superJson);\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js\nconst getNthKey = (value, n) => {\n\tif (n > value.size) throw new Error(\"index out of bounds\");\n\tconst keys = value.keys();\n\twhile (n > 0) {\n\t\tkeys.next();\n\t\tn--;\n\t}\n\treturn keys.next().value;\n};\nfunction validatePath(path) {\n\tif (includes(path, \"__proto__\")) throw new Error(\"__proto__ is not allowed as a property\");\n\tif (includes(path, \"prototype\")) throw new Error(\"prototype is not allowed as a property\");\n\tif (includes(path, \"constructor\")) throw new Error(\"constructor is not allowed as a property\");\n}\nconst getDeep = (object, path) => {\n\tvalidatePath(path);\n\tfor (let i = 0; i < path.length; i++) {\n\t\tconst key = path[i];\n\t\tif (isSet(object)) object = getNthKey(object, +key);\n\t\telse if (isMap(object)) {\n\t\t\tconst row = +key;\n\t\t\tconst type = +path[++i] === 0 ? \"key\" : \"value\";\n\t\t\tconst keyOfRow = getNthKey(object, row);\n\t\t\tswitch (type) {\n\t\t\t\tcase \"key\":\n\t\t\t\t\tobject = keyOfRow;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"value\":\n\t\t\t\t\tobject = object.get(keyOfRow);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else object = object[key];\n\t}\n\treturn object;\n};\nconst setDeep = (object, path, mapper) => {\n\tvalidatePath(path);\n\tif (path.length === 0) return mapper(object);\n\tlet parent = object;\n\tfor (let i = 0; i < path.length - 1; i++) {\n\t\tconst key = path[i];\n\t\tif (isArray$2(parent)) {\n\t\t\tconst index = +key;\n\t\t\tparent = parent[index];\n\t\t} else if (isPlainObject$2(parent)) parent = parent[key];\n\t\telse if (isSet(parent)) {\n\t\t\tconst row = +key;\n\t\t\tparent = getNthKey(parent, row);\n\t\t} else if (isMap(parent)) {\n\t\t\tif (i === path.length - 2) break;\n\t\t\tconst row = +key;\n\t\t\tconst type = +path[++i] === 0 ? \"key\" : \"value\";\n\t\t\tconst keyOfRow = getNthKey(parent, row);\n\t\t\tswitch (type) {\n\t\t\t\tcase \"key\":\n\t\t\t\t\tparent = keyOfRow;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"value\":\n\t\t\t\t\tparent = parent.get(keyOfRow);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tconst lastKey = path[path.length - 1];\n\tif (isArray$2(parent)) parent[+lastKey] = mapper(parent[+lastKey]);\n\telse if (isPlainObject$2(parent)) parent[lastKey] = mapper(parent[lastKey]);\n\tif (isSet(parent)) {\n\t\tconst oldValue = getNthKey(parent, +lastKey);\n\t\tconst newValue = mapper(oldValue);\n\t\tif (oldValue !== newValue) {\n\t\t\tparent.delete(oldValue);\n\t\t\tparent.add(newValue);\n\t\t}\n\t}\n\tif (isMap(parent)) {\n\t\tconst row = +path[path.length - 2];\n\t\tconst keyToRow = getNthKey(parent, row);\n\t\tswitch (+lastKey === 0 ? \"key\" : \"value\") {\n\t\t\tcase \"key\": {\n\t\t\t\tconst newKey = mapper(keyToRow);\n\t\t\t\tparent.set(newKey, parent.get(keyToRow));\n\t\t\t\tif (newKey !== keyToRow) parent.delete(keyToRow);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"value\":\n\t\t\t\tparent.set(keyToRow, mapper(parent.get(keyToRow)));\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn object;\n};\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js\nfunction traverse(tree, walker, origin = []) {\n\tif (!tree) return;\n\tif (!isArray$2(tree)) {\n\t\tforEach(tree, (subtree, key) => traverse(subtree, walker, [...origin, ...parsePath(key)]));\n\t\treturn;\n\t}\n\tconst [nodeValue, children] = tree;\n\tif (children) forEach(children, (child, key) => {\n\t\ttraverse(child, walker, [...origin, ...parsePath(key)]);\n\t});\n\twalker(nodeValue, origin);\n}\nfunction applyValueAnnotations(plain, annotations, superJson) {\n\ttraverse(annotations, (type, path) => {\n\t\tplain = setDeep(plain, path, (v) => untransformValue(v, type, superJson));\n\t});\n\treturn plain;\n}\nfunction applyReferentialEqualityAnnotations(plain, annotations) {\n\tfunction apply(identicalPaths, path) {\n\t\tconst object = getDeep(plain, parsePath(path));\n\t\tidenticalPaths.map(parsePath).forEach((identicalObjectPath) => {\n\t\t\tplain = setDeep(plain, identicalObjectPath, () => object);\n\t\t});\n\t}\n\tif (isArray$2(annotations)) {\n\t\tconst [root, other] = annotations;\n\t\troot.forEach((identicalPath) => {\n\t\t\tplain = setDeep(plain, parsePath(identicalPath), () => plain);\n\t\t});\n\t\tif (other) forEach(other, apply);\n\t} else forEach(annotations, apply);\n\treturn plain;\n}\nconst isDeep = (object, superJson) => isPlainObject$2(object) || isArray$2(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);\nfunction addIdentity(object, path, identities) {\n\tconst existingSet = identities.get(object);\n\tif (existingSet) existingSet.push(path);\n\telse identities.set(object, [path]);\n}\nfunction generateReferentialEqualityAnnotations(identitites, dedupe) {\n\tconst result = {};\n\tlet rootEqualityPaths = void 0;\n\tidentitites.forEach((paths) => {\n\t\tif (paths.length <= 1) return;\n\t\tif (!dedupe) paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length);\n\t\tconst [representativePath, ...identicalPaths] = paths;\n\t\tif (representativePath.length === 0) rootEqualityPaths = identicalPaths.map(stringifyPath);\n\t\telse result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);\n\t});\n\tif (rootEqualityPaths) if (isEmptyObject(result)) return [rootEqualityPaths];\n\telse return [rootEqualityPaths, result];\n\telse return isEmptyObject(result) ? void 0 : result;\n}\nconst walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => {\n\tconst primitive = isPrimitive(object);\n\tif (!primitive) {\n\t\taddIdentity(object, path, identities);\n\t\tconst seen = seenObjects.get(object);\n\t\tif (seen) return dedupe ? { transformedValue: null } : seen;\n\t}\n\tif (!isDeep(object, superJson)) {\n\t\tconst transformed = transformValue(object, superJson);\n\t\tconst result = transformed ? {\n\t\t\ttransformedValue: transformed.value,\n\t\t\tannotations: [transformed.type]\n\t\t} : { transformedValue: object };\n\t\tif (!primitive) seenObjects.set(object, result);\n\t\treturn result;\n\t}\n\tif (includes(objectsInThisPath, object)) return { transformedValue: null };\n\tconst transformationResult = transformValue(object, superJson);\n\tconst transformed = transformationResult?.value ?? object;\n\tconst transformedValue = isArray$2(transformed) ? [] : {};\n\tconst innerAnnotations = {};\n\tforEach(transformed, (value, index) => {\n\t\tif (index === \"__proto__\" || index === \"constructor\" || index === \"prototype\") throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);\n\t\tconst recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);\n\t\ttransformedValue[index] = recursiveResult.transformedValue;\n\t\tif (isArray$2(recursiveResult.annotations)) innerAnnotations[index] = recursiveResult.annotations;\n\t\telse if (isPlainObject$2(recursiveResult.annotations)) forEach(recursiveResult.annotations, (tree, key) => {\n\t\t\tinnerAnnotations[escapeKey(index) + \".\" + key] = tree;\n\t\t});\n\t});\n\tconst result = isEmptyObject(innerAnnotations) ? {\n\t\ttransformedValue,\n\t\tannotations: !!transformationResult ? [transformationResult.type] : void 0\n\t} : {\n\t\ttransformedValue,\n\t\tannotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations\n\t};\n\tif (!primitive) seenObjects.set(object, result);\n\treturn result;\n};\n//#endregion\n//#region ../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js\nfunction getType(payload) {\n\treturn Object.prototype.toString.call(payload).slice(8, -1);\n}\nfunction isArray$1(payload) {\n\treturn getType(payload) === \"Array\";\n}\nfunction isPlainObject$1(payload) {\n\tif (getType(payload) !== \"Object\") return false;\n\tconst prototype = Object.getPrototypeOf(payload);\n\treturn !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\nfunction isNull(payload) {\n\treturn getType(payload) === \"Null\";\n}\nfunction isOneOf(a, b, c, d, e) {\n\treturn (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);\n}\nfunction isUndefined(payload) {\n\treturn getType(payload) === \"Undefined\";\n}\nisOneOf(isNull, isUndefined);\n//#endregion\n//#region ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js\nfunction assignProp(carry, key, newVal, originalObject, includeNonenumerable) {\n\tconst propType = {}.propertyIsEnumerable.call(originalObject, key) ? \"enumerable\" : \"nonenumerable\";\n\tif (propType === \"enumerable\") carry[key] = newVal;\n\tif (includeNonenumerable && propType === \"nonenumerable\") Object.defineProperty(carry, key, {\n\t\tvalue: newVal,\n\t\tenumerable: false,\n\t\twritable: true,\n\t\tconfigurable: true\n\t});\n}\nfunction copy(target, options = {}) {\n\tif (isArray$1(target)) return target.map((item) => copy(item, options));\n\tif (!isPlainObject$1(target)) return target;\n\tconst props = Object.getOwnPropertyNames(target);\n\tconst symbols = Object.getOwnPropertySymbols(target);\n\treturn [...props, ...symbols].reduce((carry, key) => {\n\t\tif (isArray$1(options.props) && !options.props.includes(key)) return carry;\n\t\tconst val = target[key];\n\t\tassignProp(carry, key, copy(val, options), target, options.nonenumerable);\n\t\treturn carry;\n\t}, {});\n}\n//#endregion\n//#region ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js\nvar SuperJSON = class {\n\t/**\n\t* @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.\n\t*/\n\tconstructor({ dedupe = false } = {}) {\n\t\tthis.classRegistry = new ClassRegistry();\n\t\tthis.symbolRegistry = new Registry((s) => s.description ?? \"\");\n\t\tthis.customTransformerRegistry = new CustomTransformerRegistry();\n\t\tthis.allowedErrorProps = [];\n\t\tthis.dedupe = dedupe;\n\t}\n\tserialize(object) {\n\t\tconst identities = /* @__PURE__ */ new Map();\n\t\tconst output = walker(object, identities, this, this.dedupe);\n\t\tconst res = { json: output.transformedValue };\n\t\tif (output.annotations) res.meta = {\n\t\t\t...res.meta,\n\t\t\tvalues: output.annotations\n\t\t};\n\t\tconst equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);\n\t\tif (equalityAnnotations) res.meta = {\n\t\t\t...res.meta,\n\t\t\treferentialEqualities: equalityAnnotations\n\t\t};\n\t\treturn res;\n\t}\n\tdeserialize(payload) {\n\t\tconst { json, meta } = payload;\n\t\tlet result = copy(json);\n\t\tif (meta?.values) result = applyValueAnnotations(result, meta.values, this);\n\t\tif (meta?.referentialEqualities) result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities);\n\t\treturn result;\n\t}\n\tstringify(object) {\n\t\treturn JSON.stringify(this.serialize(object));\n\t}\n\tparse(string) {\n\t\treturn this.deserialize(JSON.parse(string));\n\t}\n\tregisterClass(v, options) {\n\t\tthis.classRegistry.register(v, options);\n\t}\n\tregisterSymbol(v, identifier) {\n\t\tthis.symbolRegistry.register(v, identifier);\n\t}\n\tregisterCustom(transformer, name) {\n\t\tthis.customTransformerRegistry.register({\n\t\t\tname,\n\t\t\t...transformer\n\t\t});\n\t}\n\tallowErrorProps(...props) {\n\t\tthis.allowedErrorProps.push(...props);\n\t}\n};\nSuperJSON.defaultInstance = new SuperJSON();\nSuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);\nSuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);\nSuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);\nSuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);\nSuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);\nSuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);\nSuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);\nSuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);\nSuperJSON.serialize;\nSuperJSON.deserialize;\nSuperJSON.stringify;\nSuperJSON.parse;\nSuperJSON.registerClass;\nSuperJSON.registerCustom;\nSuperJSON.registerSymbol;\nSuperJSON.allowErrorProps;\n//#endregion\n//#region src/messaging/presets/broadcast-channel/context.ts\nconst __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY = \"__devtools-kit-broadcast-messaging-event-key__\";\n//#endregion\n//#region src/messaging/presets/broadcast-channel/index.ts\nconst BROADCAST_CHANNEL_NAME = \"__devtools-kit:broadcast-channel__\";\nfunction createBroadcastChannel() {\n\tconst channel = new BroadcastChannel(BROADCAST_CHANNEL_NAME);\n\treturn {\n\t\tpost: (data) => {\n\t\t\tchannel.postMessage(SuperJSON.stringify({\n\t\t\t\tevent: __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY,\n\t\t\t\tdata\n\t\t\t}));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tchannel.onmessage = (event) => {\n\t\t\t\tconst parsed = SuperJSON.parse(event.data);\n\t\t\t\tif (parsed.event === \"__devtools-kit-broadcast-messaging-event-key__\") handler(parsed.data);\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/electron/context.ts\nconst __ELECTRON_CLIENT_CONTEXT__ = \"electron:client-context\";\nconst __ELECTRON_RPOXY_CONTEXT__ = \"electron:proxy-context\";\nconst __ELECTRON_SERVER_CONTEXT__ = \"electron:server-context\";\nconst __DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__ = {\n\tCLIENT_TO_PROXY: \"client->proxy\",\n\tPROXY_TO_CLIENT: \"proxy->client\",\n\tPROXY_TO_SERVER: \"proxy->server\",\n\tSERVER_TO_PROXY: \"server->proxy\"\n};\nfunction getElectronClientContext() {\n\treturn target[__ELECTRON_CLIENT_CONTEXT__];\n}\nfunction setElectronClientContext(context) {\n\ttarget[__ELECTRON_CLIENT_CONTEXT__] = context;\n}\nfunction getElectronProxyContext() {\n\treturn target[__ELECTRON_RPOXY_CONTEXT__];\n}\nfunction setElectronProxyContext(context) {\n\ttarget[__ELECTRON_RPOXY_CONTEXT__] = context;\n}\nfunction getElectronServerContext() {\n\treturn target[__ELECTRON_SERVER_CONTEXT__];\n}\nfunction setElectronServerContext(context) {\n\ttarget[__ELECTRON_SERVER_CONTEXT__] = context;\n}\n//#endregion\n//#region src/messaging/presets/electron/client.ts\nfunction createElectronClientChannel() {\n\tconst socket = getElectronClientContext();\n\treturn {\n\t\tpost: (data) => {\n\t\t\tsocket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, SuperJSON.stringify(data));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tsocket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, (e) => {\n\t\t\t\thandler(SuperJSON.parse(e));\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/electron/proxy.ts\nfunction createElectronProxyChannel() {\n\tconst socket = getElectronProxyContext();\n\treturn {\n\t\tpost: (data) => {},\n\t\ton: (handler) => {\n\t\t\tsocket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, (data) => {\n\t\t\t\tsocket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, data);\n\t\t\t});\n\t\t\tsocket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, (data) => {\n\t\t\t\tsocket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, data);\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/electron/server.ts\nfunction createElectronServerChannel() {\n\tconst socket = getElectronServerContext();\n\treturn {\n\t\tpost: (data) => {\n\t\t\tsocket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, SuperJSON.stringify(data));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tsocket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, (data) => {\n\t\t\t\thandler(SuperJSON.parse(data));\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/extension/context.ts\nconst __EXTENSION_CLIENT_CONTEXT__ = \"electron:client-context\";\nconst __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__ = {\n\tCLIENT_TO_PROXY: \"client->proxy\",\n\tPROXY_TO_CLIENT: \"proxy->client\",\n\tPROXY_TO_SERVER: \"proxy->server\",\n\tSERVER_TO_PROXY: \"server->proxy\"\n};\nfunction getExtensionClientContext() {\n\treturn target[__EXTENSION_CLIENT_CONTEXT__];\n}\nfunction setExtensionClientContext(context) {\n\ttarget[__EXTENSION_CLIENT_CONTEXT__] = context;\n}\n//#endregion\n//#region src/messaging/presets/extension/client.ts\nfunction createExtensionClientChannel() {\n\tlet disconnected = false;\n\tlet port = null;\n\tlet reconnectTimer = null;\n\tlet onMessageHandler = null;\n\tfunction connect() {\n\t\ttry {\n\t\t\tclearTimeout(reconnectTimer);\n\t\t\tport = chrome.runtime.connect({ name: `${chrome.devtools.inspectedWindow.tabId}` });\n\t\t\tsetExtensionClientContext(port);\n\t\t\tdisconnected = false;\n\t\t\tport?.onMessage.addListener(onMessageHandler);\n\t\t\tport.onDisconnect.addListener(() => {\n\t\t\t\tdisconnected = true;\n\t\t\t\tport?.onMessage.removeListener(onMessageHandler);\n\t\t\t\treconnectTimer = setTimeout(connect, 1e3);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tdisconnected = true;\n\t\t}\n\t}\n\tconnect();\n\treturn {\n\t\tpost: (data) => {\n\t\t\tif (disconnected) return;\n\t\t\tport?.postMessage(SuperJSON.stringify(data));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tonMessageHandler = (data) => {\n\t\t\t\tif (disconnected) return;\n\t\t\t\thandler(SuperJSON.parse(data));\n\t\t\t};\n\t\t\tport?.onMessage.addListener(onMessageHandler);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/extension/proxy.ts\nfunction createExtensionProxyChannel() {\n\tconst port = chrome.runtime.connect({ name: \"content-script\" });\n\tfunction sendMessageToUserApp(payload) {\n\t\twindow.postMessage({\n\t\t\tsource: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER,\n\t\t\tpayload\n\t\t}, \"*\");\n\t}\n\tfunction sendMessageToDevToolsClient(e) {\n\t\tif (e.data && e.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY) try {\n\t\t\tport.postMessage(e.data.payload);\n\t\t} catch (e) {}\n\t}\n\tport.onMessage.addListener(sendMessageToUserApp);\n\twindow.addEventListener(\"message\", sendMessageToDevToolsClient);\n\tport.onDisconnect.addListener(() => {\n\t\twindow.removeEventListener(\"message\", sendMessageToDevToolsClient);\n\t\tsendMessageToUserApp(SuperJSON.stringify({ event: \"shutdown\" }));\n\t});\n\tsendMessageToUserApp(SuperJSON.stringify({ event: \"init\" }));\n\treturn {\n\t\tpost: (data) => {},\n\t\ton: (handler) => {}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/extension/server.ts\nfunction createExtensionServerChannel() {\n\treturn {\n\t\tpost: (data) => {\n\t\t\twindow.postMessage({\n\t\t\t\tsource: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY,\n\t\t\t\tpayload: SuperJSON.stringify(data)\n\t\t\t}, \"*\");\n\t\t},\n\t\ton: (handler) => {\n\t\t\tconst listener = (event) => {\n\t\t\t\tif (event.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER && event.data.payload) handler(SuperJSON.parse(event.data.payload));\n\t\t\t};\n\t\t\twindow.addEventListener(\"message\", listener);\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener(\"message\", listener);\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/iframe/context.ts\nconst __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY = \"__devtools-kit-iframe-messaging-event-key__\";\nconst __IFRAME_SERVER_CONTEXT__ = \"iframe:server-context\";\nfunction getIframeServerContext() {\n\treturn target[__IFRAME_SERVER_CONTEXT__];\n}\nfunction setIframeServerContext(context) {\n\ttarget[__IFRAME_SERVER_CONTEXT__] = context;\n}\n//#endregion\n//#region src/messaging/presets/iframe/client.ts\nfunction createIframeClientChannel() {\n\tif (!isBrowser) return {\n\t\tpost: (data) => {},\n\t\ton: (handler) => {}\n\t};\n\treturn {\n\t\tpost: (data) => window.parent.postMessage(SuperJSON.stringify({\n\t\t\tevent: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,\n\t\t\tdata\n\t\t}), \"*\"),\n\t\ton: (handler) => window.addEventListener(\"message\", (event) => {\n\t\t\ttry {\n\t\t\t\tconst parsed = SuperJSON.parse(event.data);\n\t\t\t\tif (event.source === window.parent && parsed.event === \"__devtools-kit-iframe-messaging-event-key__\") handler(parsed.data);\n\t\t\t} catch (e) {}\n\t\t})\n\t};\n}\n//#endregion\n//#region src/messaging/presets/iframe/server.ts\nfunction createIframeServerChannel() {\n\tif (!isBrowser) return {\n\t\tpost: (data) => {},\n\t\ton: (handler) => {}\n\t};\n\treturn {\n\t\tpost: (data) => {\n\t\t\tgetIframeServerContext()?.contentWindow?.postMessage(SuperJSON.stringify({\n\t\t\t\tevent: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,\n\t\t\t\tdata\n\t\t\t}), \"*\");\n\t\t},\n\t\ton: (handler) => {\n\t\t\twindow.addEventListener(\"message\", (event) => {\n\t\t\t\tconst iframe = getIframeServerContext();\n\t\t\t\ttry {\n\t\t\t\t\tconst parsed = SuperJSON.parse(event.data);\n\t\t\t\t\tif (event.source === iframe?.contentWindow && parsed.event === \"__devtools-kit-iframe-messaging-event-key__\") handler(parsed.data);\n\t\t\t\t} catch (e) {}\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/vite/context.ts\nconst __DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY = \"__devtools-kit-vite-messaging-event-key__\";\nconst __VITE_CLIENT_CONTEXT__ = \"vite:client-context\";\nconst __VITE_SERVER_CONTEXT__ = \"vite:server-context\";\nfunction getViteClientContext() {\n\treturn target[__VITE_CLIENT_CONTEXT__];\n}\nfunction setViteClientContext(context) {\n\ttarget[__VITE_CLIENT_CONTEXT__] = context;\n}\nfunction getViteServerContext() {\n\treturn target[__VITE_SERVER_CONTEXT__];\n}\nfunction setViteServerContext(context) {\n\ttarget[__VITE_SERVER_CONTEXT__] = context;\n}\n//#endregion\n//#region src/messaging/presets/vite/client.ts\nfunction createViteClientChannel() {\n\tconst client = getViteClientContext();\n\treturn {\n\t\tpost: (data) => {\n\t\t\tclient?.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data));\n\t\t},\n\t\ton: (handler) => {\n\t\t\tclient?.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {\n\t\t\t\thandler(SuperJSON.parse(event));\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/messaging/presets/vite/server.ts\nfunction createViteServerChannel() {\n\tconst viteServer = getViteServerContext();\n\tconst ws = viteServer.hot ?? viteServer.ws;\n\treturn {\n\t\tpost: (data) => ws?.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data)),\n\t\ton: (handler) => ws?.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {\n\t\t\thandler(SuperJSON.parse(event));\n\t\t})\n\t};\n}\n//#endregion\n//#region src/messaging/index.ts\ntarget.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ ??= [];\ntarget.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ ??= null;\ntarget.__VUE_DEVTOOLS_KIT_RPC_SERVER__ ??= null;\ntarget.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ ??= null;\ntarget.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ ??= null;\ntarget.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ ??= null;\nfunction setRpcClientToGlobal(rpc) {\n\ttarget.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = rpc;\n}\nfunction setRpcServerToGlobal(rpc) {\n\ttarget.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = rpc;\n}\nfunction getRpcClient() {\n\treturn target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__;\n}\nfunction getRpcServer() {\n\treturn target.__VUE_DEVTOOLS_KIT_RPC_SERVER__;\n}\nfunction setViteRpcClientToGlobal(rpc) {\n\ttarget.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = rpc;\n}\nfunction setViteRpcServerToGlobal(rpc) {\n\ttarget.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = rpc;\n}\nfunction getViteRpcClient() {\n\treturn target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__;\n}\nfunction getViteRpcServer() {\n\treturn target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__;\n}\nfunction getChannel(preset, host = \"client\") {\n\tconst channel = {\n\t\tiframe: {\n\t\t\tclient: createIframeClientChannel,\n\t\t\tserver: createIframeServerChannel\n\t\t}[host],\n\t\telectron: {\n\t\t\tclient: createElectronClientChannel,\n\t\t\tproxy: createElectronProxyChannel,\n\t\t\tserver: createElectronServerChannel\n\t\t}[host],\n\t\tvite: {\n\t\t\tclient: createViteClientChannel,\n\t\t\tserver: createViteServerChannel\n\t\t}[host],\n\t\tbroadcast: {\n\t\t\tclient: createBroadcastChannel,\n\t\t\tserver: createBroadcastChannel\n\t\t}[host],\n\t\textension: {\n\t\t\tclient: createExtensionClientChannel,\n\t\t\tproxy: createExtensionProxyChannel,\n\t\t\tserver: createExtensionServerChannel\n\t\t}[host]\n\t}[preset];\n\treturn channel();\n}\nfunction createRpcClient(functions, options = {}) {\n\tconst { channel: _channel, options: _options, preset } = options;\n\tconst channel = preset ? getChannel(preset) : _channel;\n\tconst rpc = createBirpc(functions, {\n\t\t..._options,\n\t\t...channel,\n\t\ttimeout: -1\n\t});\n\tif (preset === \"vite\") {\n\t\tsetViteRpcClientToGlobal(rpc);\n\t\treturn;\n\t}\n\tsetRpcClientToGlobal(rpc);\n\treturn rpc;\n}\nfunction createRpcServer(functions, options = {}) {\n\tconst { channel: _channel, options: _options, preset } = options;\n\tconst channel = preset ? getChannel(preset, \"server\") : _channel;\n\tconst rpcServer = getRpcServer();\n\tif (!rpcServer) {\n\t\tconst group = createBirpcGroup(functions, [channel], {\n\t\t\t..._options,\n\t\t\ttimeout: -1\n\t\t});\n\t\tif (preset === \"vite\") {\n\t\t\tsetViteRpcServerToGlobal(group);\n\t\t\treturn;\n\t\t}\n\t\tsetRpcServerToGlobal(group);\n\t} else rpcServer.updateChannels((channels) => {\n\t\tchannels.push(channel);\n\t});\n}\nfunction createRpcProxy(options = {}) {\n\tconst { channel: _channel, options: _options, preset } = options;\n\tconst channel = preset ? getChannel(preset, \"proxy\") : _channel;\n\treturn createBirpc({}, {\n\t\t..._options,\n\t\t...channel,\n\t\ttimeout: -1\n\t});\n}\n//#endregion\n//#region src/core/component/state/custom.ts\nfunction getFunctionDetails(func) {\n\tlet string = \"\";\n\tlet matches = null;\n\ttry {\n\t\tstring = Function.prototype.toString.call(func);\n\t\tmatches = String.prototype.match.call(string, /\\([\\s\\S]*?\\)/);\n\t} catch (e) {}\n\tconst match = matches && matches[0];\n\tconst args = typeof match === \"string\" ? match : \"(?)\";\n\treturn { _custom: {\n\t\ttype: \"function\",\n\t\tdisplayText: `function ${escape(typeof func.name === \"string\" ? func.name : \"\")}${args}`,\n\t\ttooltipText: string.trim() ? `
${escape(string)}
` : null\n\t} };\n}\nfunction getBigIntDetails(val) {\n\tconst stringifiedBigInt = BigInt.prototype.toString.call(val);\n\treturn { _custom: {\n\t\ttype: \"bigint\",\n\t\tdisplayText: `BigInt(${stringifiedBigInt})`,\n\t\tvalue: stringifiedBigInt\n\t} };\n}\nfunction getDateDetails(val) {\n\tconst date = new Date(val.getTime());\n\tdate.setMinutes(date.getMinutes() - date.getTimezoneOffset());\n\treturn { _custom: {\n\t\ttype: \"date\",\n\t\tdisplayText: Date.prototype.toString.call(val),\n\t\tvalue: date.toISOString().slice(0, -1)\n\t} };\n}\nfunction getMapDetails(val) {\n\treturn { _custom: {\n\t\ttype: \"map\",\n\t\tdisplayText: \"Map\",\n\t\tvalue: Object.fromEntries(val),\n\t\treadOnly: true,\n\t\tfields: { abstract: true }\n\t} };\n}\nfunction getSetDetails(val) {\n\tconst list = Array.from(val);\n\treturn { _custom: {\n\t\ttype: \"set\",\n\t\tdisplayText: `Set[${list.length}]`,\n\t\tvalue: list,\n\t\treadOnly: true\n\t} };\n}\nfunction getCaughtGetters(store) {\n\tconst getters = {};\n\tconst origGetters = store.getters || {};\n\tconst keys = Object.keys(origGetters);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key = keys[i];\n\t\tObject.defineProperty(getters, key, {\n\t\t\tenumerable: true,\n\t\t\tget: () => {\n\t\t\t\ttry {\n\t\t\t\t\treturn origGetters[key];\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn e;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn getters;\n}\nfunction reduceStateList(list) {\n\tif (!list.length) return void 0;\n\treturn list.reduce((map, item) => {\n\t\tconst key = item.type || \"data\";\n\t\tconst obj = map[key] = map[key] || {};\n\t\tobj[item.key] = item.value;\n\t\treturn map;\n\t}, {});\n}\nfunction namedNodeMapToObject(map) {\n\tconst result = {};\n\tconst l = map.length;\n\tfor (let i = 0; i < l; i++) {\n\t\tconst node = map.item(i);\n\t\tresult[node.name] = node.value;\n\t}\n\treturn result;\n}\nfunction getStoreDetails(store) {\n\treturn { _custom: {\n\t\ttype: \"store\",\n\t\tdisplayText: \"Store\",\n\t\tvalue: {\n\t\t\tstate: store.state,\n\t\t\tgetters: getCaughtGetters(store)\n\t\t},\n\t\tfields: { abstract: true }\n\t} };\n}\nfunction getRouterDetails(router) {\n\treturn { _custom: {\n\t\ttype: \"router\",\n\t\tdisplayText: \"VueRouter\",\n\t\tvalue: {\n\t\t\toptions: router.options,\n\t\t\tcurrentRoute: router.currentRoute\n\t\t},\n\t\tfields: { abstract: true }\n\t} };\n}\nfunction getInstanceDetails(instance) {\n\tif (instance._) instance = instance._;\n\tconst state = processInstanceState(instance);\n\treturn { _custom: {\n\t\ttype: \"component\",\n\t\tid: instance.__VUE_DEVTOOLS_NEXT_UID__,\n\t\tdisplayText: getInstanceName(instance),\n\t\ttooltipText: \"Component instance\",\n\t\tvalue: reduceStateList(state),\n\t\tfields: { abstract: true }\n\t} };\n}\nfunction getComponentDefinitionDetails(definition) {\n\tlet display = getComponentName(definition);\n\tif (display) {\n\t\tif (definition.name && definition.__file) display += ` (${definition.__file})`;\n\t} else display = \"Unknown Component\";\n\treturn { _custom: {\n\t\ttype: \"component-definition\",\n\t\tdisplayText: display,\n\t\ttooltipText: \"Component definition\",\n\t\t...definition.__file ? { file: definition.__file } : {}\n\t} };\n}\nfunction getHTMLElementDetails(value) {\n\ttry {\n\t\treturn { _custom: {\n\t\t\ttype: \"HTMLElement\",\n\t\t\tdisplayText: `<${value.tagName.toLowerCase()}>`,\n\t\t\tvalue: namedNodeMapToObject(value.attributes)\n\t\t} };\n\t} catch (e) {\n\t\treturn { _custom: {\n\t\t\ttype: \"HTMLElement\",\n\t\t\tdisplayText: `${String(value)}`\n\t\t} };\n\t}\n}\n/**\n* - ObjectRefImpl, toRef({ foo: 'foo' }, 'foo'), `_value` is the actual value, (since 3.5.0)\n* - GetterRefImpl, toRef(() => state.foo), `_value` is the actual value, (since 3.5.0)\n* - RefImpl, ref('foo') / computed(() => 'foo'), `_value` is the actual value\n*/\nfunction tryGetRefValue(ref) {\n\tif (ensurePropertyExists(ref, \"_value\", true)) return ref._value;\n\tif (ensurePropertyExists(ref, \"value\", true)) return ref.value;\n}\nfunction getObjectDetails(object) {\n\tconst info = getSetupStateType(object);\n\tif (info.ref || info.computed || info.reactive) {\n\t\tconst stateTypeName = info.computed ? \"Computed\" : info.ref ? \"Ref\" : info.reactive ? \"Reactive\" : null;\n\t\tconst value = toRaw(info.reactive ? object : tryGetRefValue(object));\n\t\tconst raw = ensurePropertyExists(object, \"effect\") ? object.effect?.raw?.toString() || object.effect?.fn?.toString() : null;\n\t\treturn { _custom: {\n\t\t\ttype: stateTypeName?.toLowerCase(),\n\t\t\tstateTypeName,\n\t\t\tvalue,\n\t\t\t...raw ? { tooltipText: `
${escape(raw)}
` } : {}\n\t\t} };\n\t}\n\tif (ensurePropertyExists(object, \"__asyncLoader\") && typeof object.__asyncLoader === \"function\") return { _custom: {\n\t\ttype: \"component-definition\",\n\t\tdisplay: \"Async component definition\"\n\t} };\n}\n//#endregion\n//#region src/core/component/state/replacer.ts\nfunction stringifyReplacer(key, _value, depth, seenInstance) {\n\tif (key === \"compilerOptions\") return;\n\tconst val = this[key];\n\tconst type = typeof val;\n\tif (Array.isArray(val)) {\n\t\tconst l = val.length;\n\t\tif (l > 5e3) return {\n\t\t\t_isArray: true,\n\t\t\tlength: l,\n\t\t\titems: val.slice(0, MAX_ARRAY_SIZE)\n\t\t};\n\t\treturn val;\n\t} else if (typeof val === \"string\") if (val.length > 1e4) return `${val.substring(0, MAX_STRING_SIZE)}... (${val.length} total length)`;\n\telse return val;\n\telse if (type === \"undefined\") return UNDEFINED;\n\telse if (val === Number.POSITIVE_INFINITY) return INFINITY;\n\telse if (val === Number.NEGATIVE_INFINITY) return NEGATIVE_INFINITY;\n\telse if (typeof val === \"function\") return getFunctionDetails(val);\n\telse if (type === \"symbol\") return `[native Symbol ${Symbol.prototype.toString.call(val)}]`;\n\telse if (typeof val === \"bigint\") return getBigIntDetails(val);\n\telse if (val !== null && typeof val === \"object\") {\n\t\tconst proto = Object.prototype.toString.call(val);\n\t\tif (proto === \"[object Map]\") return getMapDetails(val);\n\t\telse if (proto === \"[object Set]\") return getSetDetails(val);\n\t\telse if (proto === \"[object RegExp]\") return `[native RegExp ${RegExp.prototype.toString.call(val)}]`;\n\t\telse if (proto === \"[object Date]\") return getDateDetails(val);\n\t\telse if (proto === \"[object Error]\") return `[native Error ${val.message}<>${val.stack}]`;\n\t\telse if (ensurePropertyExists(val, \"state\", true) && ensurePropertyExists(val, \"_vm\", true)) return getStoreDetails(val);\n\t\telse if (val.constructor && val.constructor.name === \"VueRouter\") return getRouterDetails(val);\n\t\telse if (isVueInstance(val)) {\n\t\t\tconst componentVal = getInstanceDetails(val);\n\t\t\tconst parentInstanceDepth = seenInstance?.get(val);\n\t\t\tif (parentInstanceDepth && parentInstanceDepth < depth) return `[[CircularRef]] <${componentVal._custom.displayText}>`;\n\t\t\tseenInstance?.set(val, depth);\n\t\t\treturn componentVal;\n\t\t} else if (ensurePropertyExists(val, \"render\", true) && typeof val.render === \"function\") return getComponentDefinitionDetails(val);\n\t\telse if (val.constructor && val.constructor.name === \"VNode\") return `[native VNode <${val.tag}>]`;\n\t\telse if (typeof HTMLElement !== \"undefined\" && val instanceof HTMLElement) return getHTMLElementDetails(val);\n\t\telse if (val.constructor?.name === \"Store\" && \"_wrappedGetters\" in val) return \"[object Store]\";\n\t\telse if (ensurePropertyExists(val, \"currentRoute\", true)) return \"[object Router]\";\n\t\tconst customDetails = getObjectDetails(val);\n\t\tif (customDetails != null) return customDetails;\n\t} else if (Number.isNaN(val)) return NAN;\n\treturn sanitize(val);\n}\n//#endregion\n//#region src/shared/transfer.ts\nconst MAX_SERIALIZED_SIZE = 2 * 1024 * 1024;\nfunction isObject(_data, proto) {\n\treturn proto === \"[object Object]\";\n}\nfunction isArray(_data, proto) {\n\treturn proto === \"[object Array]\";\n}\nfunction isVueReactiveLinkNode(node) {\n\tconst constructorName = node?.constructor?.name;\n\treturn constructorName === \"Dep\" && \"activeLink\" in node || constructorName === \"Link\" && \"dep\" in node;\n}\n/**\n* This function is used to serialize object with handling circular references.\n*\n* ```ts\n* const obj = { a: 1, b: { c: 2 }, d: obj }\n* const result = stringifyCircularAutoChunks(obj) // call `encode` inside\n* console.log(result) // [{\"a\":1,\"b\":2,\"d\":0},1,{\"c\":4},2]\n* ```\n*\n* Each object is stored in a list and the index is used to reference the object.\n* With seen map, we can check if the object is already stored in the list to avoid circular references.\n*\n* Note: here we have a special case for Vue instance.\n* We check if a vue instance includes itself in its properties and skip it\n* by using `seenVueInstance` and `depth` to avoid infinite loop.\n*/\nfunction encode(data, replacer, list, seen, depth = 0, seenVueInstance = /* @__PURE__ */ new Map()) {\n\tlet stored;\n\tlet key;\n\tlet value;\n\tlet i;\n\tlet l;\n\tconst seenIndex = seen.get(data);\n\tif (seenIndex != null) return seenIndex;\n\tconst index = list.length;\n\tconst proto = Object.prototype.toString.call(data);\n\tif (isObject(data, proto)) {\n\t\tif (isVueReactiveLinkNode(data)) return index;\n\t\tstored = {};\n\t\tseen.set(data, index);\n\t\tlist.push(stored);\n\t\tconst keys = Object.keys(data);\n\t\tfor (i = 0, l = keys.length; i < l; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (key === \"compilerOptions\") return index;\n\t\t\tvalue = data[key];\n\t\t\tconst isVm = value != null && isObject(value, Object.prototype.toString.call(data)) && isVueInstance(value);\n\t\t\ttry {\n\t\t\t\tif (replacer) value = replacer.call(data, key, value, depth, seenVueInstance);\n\t\t\t} catch (e) {\n\t\t\t\tvalue = e;\n\t\t\t}\n\t\t\tstored[key] = encode(value, replacer, list, seen, depth + 1, seenVueInstance);\n\t\t\tif (isVm) seenVueInstance.delete(value);\n\t\t}\n\t} else if (isArray(data, proto)) {\n\t\tstored = [];\n\t\tseen.set(data, index);\n\t\tlist.push(stored);\n\t\tfor (i = 0, l = data.length; i < l; i++) {\n\t\t\ttry {\n\t\t\t\tvalue = data[i];\n\t\t\t\tif (replacer) value = replacer.call(data, i, value, depth, seenVueInstance);\n\t\t\t} catch (e) {\n\t\t\t\tvalue = e;\n\t\t\t}\n\t\t\tstored[i] = encode(value, replacer, list, seen, depth + 1, seenVueInstance);\n\t\t}\n\t} else list.push(data);\n\treturn index;\n}\nfunction decode(list, reviver = null) {\n\tlet i = list.length;\n\tlet j, k, data, key, value, proto;\n\twhile (i--) {\n\t\tdata = list[i];\n\t\tproto = Object.prototype.toString.call(data);\n\t\tif (proto === \"[object Object]\") {\n\t\t\tconst keys = Object.keys(data);\n\t\t\tfor (j = 0, k = keys.length; j < k; j++) {\n\t\t\t\tkey = keys[j];\n\t\t\t\tvalue = list[data[key]];\n\t\t\t\tif (reviver) value = reviver.call(data, key, value);\n\t\t\t\tdata[key] = value;\n\t\t\t}\n\t\t} else if (proto === \"[object Array]\") for (j = 0, k = data.length; j < k; j++) {\n\t\t\tvalue = list[data[j]];\n\t\t\tif (reviver) value = reviver.call(data, j, value);\n\t\t\tdata[j] = value;\n\t\t}\n\t}\n}\nfunction stringifyCircularAutoChunks(data, replacer = null, space = null) {\n\tlet result;\n\ttry {\n\t\tresult = arguments.length === 1 ? JSON.stringify(data) : JSON.stringify(data, (k, v) => replacer?.(k, v)?.call(this), space);\n\t} catch (e) {\n\t\tresult = stringifyStrictCircularAutoChunks(data, replacer, space);\n\t}\n\tif (result.length > MAX_SERIALIZED_SIZE) {\n\t\tconst chunkCount = Math.ceil(result.length / MAX_SERIALIZED_SIZE);\n\t\tconst chunks = [];\n\t\tfor (let i = 0; i < chunkCount; i++) chunks.push(result.slice(i * MAX_SERIALIZED_SIZE, (i + 1) * MAX_SERIALIZED_SIZE));\n\t\treturn chunks;\n\t}\n\treturn result;\n}\nfunction stringifyStrictCircularAutoChunks(data, replacer = null, space = null) {\n\tconst list = [];\n\tencode(data, replacer, list, /* @__PURE__ */ new Map());\n\treturn space ? ` ${JSON.stringify(list, null, space)}` : ` ${JSON.stringify(list)}`;\n}\nfunction parseCircularAutoChunks(data, reviver = null) {\n\tif (Array.isArray(data)) data = data.join(\"\");\n\tif (!/^\\s/.test(data)) return arguments.length === 1 ? JSON.parse(data) : JSON.parse(data, reviver);\n\telse {\n\t\tconst list = JSON.parse(data);\n\t\tdecode(list, reviver);\n\t\treturn list[0];\n\t}\n}\n//#endregion\n//#region src/shared/util.ts\nfunction stringify(data) {\n\treturn stringifyCircularAutoChunks(data, stringifyReplacer);\n}\nfunction parse(data, revive = false) {\n\tif (data == void 0) return {};\n\treturn revive ? parseCircularAutoChunks(data, reviver) : parseCircularAutoChunks(data);\n}\n//#endregion\n//#region src/index.ts\nconst devtools = {\n\thook,\n\tinit: () => {\n\t\tinitDevTools();\n\t},\n\tget ctx() {\n\t\treturn devtoolsContext;\n\t},\n\tget api() {\n\t\treturn devtoolsContext.api;\n\t}\n};\n//#endregion\nexport { DevToolsContextHookKeys, DevToolsMessagingHookKeys, DevToolsV6PluginAPIHookKeys, INFINITY, NAN, NEGATIVE_INFINITY, ROUTER_INFO_KEY, ROUTER_KEY, UNDEFINED, activeAppRecord, addCustomCommand, addCustomTab, addDevToolsAppRecord, addDevToolsPluginToBuffer, addInspector, callConnectedUpdatedHook, callDevToolsPluginSetupFn, callInspectorUpdatedHook, callStateUpdatedHook, createComponentsDevToolsPlugin, createDevToolsApi, createDevToolsCtxHooks, createRpcClient, createRpcProxy, createRpcServer, devtools, devtoolsAppRecords, devtoolsContext, devtoolsInspector, devtoolsPluginBuffer, devtoolsRouter, devtoolsRouterInfo, devtoolsState, escape, formatInspectorStateValue, getActiveInspectors, getDevToolsEnv, getExtensionClientContext, getInspector, getInspectorActions, getInspectorInfo, getInspectorNodeActions, getInspectorStateValueType, getRaw, getRpcClient, getRpcServer, getViteRpcClient, getViteRpcServer, initDevTools, isPlainObject, onDevToolsClientConnected, onDevToolsConnected, parse, registerDevToolsPlugin, removeCustomCommand, removeDevToolsAppRecord, removeRegisteredPluginApp, resetDevToolsState, setActiveAppRecord, setActiveAppRecordId, setDevToolsEnv, setElectronClientContext, setElectronProxyContext, setElectronServerContext, setExtensionClientContext, setIframeServerContext, setOpenInEditorBaseUrl, setRpcServerToGlobal, setViteClientContext, setViteRpcClientToGlobal, setViteRpcServerToGlobal, setViteServerContext, setupDevToolsPlugin, stringify, toEdit, toSubmit, toggleClientConnected, toggleComponentInspectorEnabled, toggleHighPerfMode, updateDevToolsClientDetected, updateDevToolsState, updateTimelineLayersState };\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,MAAM;GACN,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,QAAQ;GACR,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,MAAM;GACN,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,KAAK;GACL,KAAK;GACL,KAAK;GACL,OAAO;GACP,MAAM;GACN,KAAK;GACL,KAAK;GACL;;;;;;EAMD,IAAI,qBAAqB,CAAC,KAAK,IAAI;;;;;EAKnC,IAAI,aAAa;GAChB,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,MAAM;GACN,KAAK;GACL,KAAK;GACL,QAAQ;GACR,MAAM;GACN,OAAO;GACP,MAAM;GACN,OAAO;GACP,KAAK;GACL,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,MAAM;GACN,MAAM;GACN,OAAO;GACP,OAAO;GACP,OAAO;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,OAAO;GACP,MAAM;GACN,OAAO;GACP,OAAO;GACP,OAAO;GACP,OAAO;GACP,MAAM;GACN,OAAO;GACP,OAAO;GACP,OAAO;GACP,SAAS;GACT,MAAM;GACN,OAAO;GACP,OAAO;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,MAAM;GACN,KAAK;GACL,MAAM;GACN,MAAM;GACN,OAAO;GACP,OAAO;GACP;;;;;EAKD,IAAI,cAAc;GACjB,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD;;;;;;EAMD,IAAI,YAAY;GACf,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM,EAAE;GACR,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD,MAAM;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL;GACD;EACD,IAAI,YAAY;GACf;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,CAAC,KAAK,GAAG;EACV,IAAI,mBAAmB;GACtB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,CAAC,KAAK,GAAG;EACV,IAAI,YAAY;GACf;GACA;GACA;GACA;GACA;GACA;GACA;GACA,CAAC,KAAK,GAAG;;;;;;;;EAQV,IAAI,UAAU,SAAS,QAAQ,OAAO,MAAM;GAC3C,IAAI,YAAY;GAChB,IAAI,SAAS;GACb,IAAI,gBAAgB;GACpB,IAAI,iBAAiB;GACrB,IAAI,qBAAqB,EAAE;GAC3B,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,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"} \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/package.json b/src/.vuepress/.cache/deps/package.json deleted file mode 100644 index 3dbc1ca59..000000000 --- a/src/.vuepress/.cache/deps/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} diff --git a/src/.vuepress/.cache/deps/vue-router.js b/src/.vuepress/.cache/deps/vue-router.js deleted file mode 100644 index 65bc55370..000000000 --- a/src/.vuepress/.cache/deps/vue-router.js +++ /dev/null @@ -1,2697 +0,0 @@ -import { o as setupDevToolsPlugin } from "./dist-jlnTmUNc.js"; -import { Kn as ref, Nt as onDeactivated, Ot as nextTick, U as computed, Ut as provide, Wn as reactive, Yn as shallowRef, _n as watchEffect, gn as watch, kt as onActivated, nr as unref, nt as defineComponent, pt as h, qn as shallowReactive, ut as getCurrentInstance, xt as inject, zt as onUnmounted } from "./vue.runtime.esm-bundler-CJdF6Oq_.js"; -//#region node_modules/vue-router/dist/useApi-C8XBqGtv.js -/*! -* vue-router v5.0.4 -* (c) 2026 Eduardo San Martin Morote -* @license MIT -*/ -var isBrowser = typeof document !== "undefined"; -/** -* Allows differentiating lazy components from functional components and vue-class-component -* @internal -* -* @param component -*/ -function isRouteComponent(component) { - return typeof component === "object" || "displayName" in component || "props" in component || "__vccOpts" in component; -} -function isESModule(obj) { - return obj.__esModule || obj[Symbol.toStringTag] === "Module" || obj.default && isRouteComponent(obj.default); -} -var assign = Object.assign; -function applyToParams(fn, params) { - const newParams = {}; - for (const key in params) { - const value = params[key]; - newParams[key] = isArray(value) ? value.map(fn) : fn(value); - } - return newParams; -} -var noop = () => {}; -/** -* Typesafe alternative to Array.isArray -* https://github.com/microsoft/TypeScript/pull/48228 -* -* @internal -*/ -var isArray = Array.isArray; -function mergeOptions(defaults, partialOptions) { - const options = {}; - for (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key]; - return options; -} -/** -* Flags so we can combine them when checking for multiple errors. This is the internal version of -* {@link NavigationFailureType}. -* -* @internal -*/ -var ErrorTypes = /* @__PURE__ */ function(ErrorTypes) { - ErrorTypes[ErrorTypes["MATCHER_NOT_FOUND"] = 1] = "MATCHER_NOT_FOUND"; - ErrorTypes[ErrorTypes["NAVIGATION_GUARD_REDIRECT"] = 2] = "NAVIGATION_GUARD_REDIRECT"; - ErrorTypes[ErrorTypes["NAVIGATION_ABORTED"] = 4] = "NAVIGATION_ABORTED"; - ErrorTypes[ErrorTypes["NAVIGATION_CANCELLED"] = 8] = "NAVIGATION_CANCELLED"; - ErrorTypes[ErrorTypes["NAVIGATION_DUPLICATED"] = 16] = "NAVIGATION_DUPLICATED"; - return ErrorTypes; -}({}); -var NavigationFailureSymbol = Symbol("navigation failure"); -/** -* Enumeration with all possible types for navigation failures. Can be passed to -* {@link isNavigationFailure} to check for specific failures. -*/ -var NavigationFailureType = /* @__PURE__ */ function(NavigationFailureType) { - /** - * An aborted navigation is a navigation that failed because a navigation - * guard returned `false` or called `next(false)` - */ - NavigationFailureType[NavigationFailureType["aborted"] = 4] = "aborted"; - /** - * A cancelled navigation is a navigation that failed because a more recent - * navigation finished started (not necessarily finished). - */ - NavigationFailureType[NavigationFailureType["cancelled"] = 8] = "cancelled"; - /** - * A duplicated navigation is a navigation that failed because it was - * initiated while already being at the exact same location. - */ - NavigationFailureType[NavigationFailureType["duplicated"] = 16] = "duplicated"; - return NavigationFailureType; -}({}); -var ErrorTypeMessages = { - [ErrorTypes.MATCHER_NOT_FOUND]({ location, currentLocation }) { - return `No match for\n ${JSON.stringify(location)}${currentLocation ? "\nwhile being at\n" + JSON.stringify(currentLocation) : ""}`; - }, - [ErrorTypes.NAVIGATION_GUARD_REDIRECT]({ from, to }) { - return `Redirected from "${from.fullPath}" to "${stringifyRoute(to)}" via a navigation guard.`; - }, - [ErrorTypes.NAVIGATION_ABORTED]({ from, to }) { - return `Navigation aborted from "${from.fullPath}" to "${to.fullPath}" via a navigation guard.`; - }, - [ErrorTypes.NAVIGATION_CANCELLED]({ from, to }) { - return `Navigation cancelled from "${from.fullPath}" to "${to.fullPath}" with a new navigation.`; - }, - [ErrorTypes.NAVIGATION_DUPLICATED]({ from, to }) { - return `Avoided redundant navigation to current location: "${from.fullPath}".`; - } -}; -/** -* Creates a typed NavigationFailure object. -* @internal -* @param type - NavigationFailureType -* @param params - { from, to } -*/ -function createRouterError(type, params) { - return assign(new Error(ErrorTypeMessages[type](params)), { - type, - [NavigationFailureSymbol]: true - }, params); -} -function isNavigationFailure(error, type) { - return error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type)); -} -var propertiesToLog = [ - "params", - "query", - "hash" -]; -function stringifyRoute(to) { - if (typeof to === "string") return to; - if (to.path != null) return to.path; - const location = {}; - for (const key of propertiesToLog) if (key in to) location[key] = to[key]; - return JSON.stringify(location, null, 2); -} -/** -* RouteRecord being rendered by the closest ancestor Router View. Used for -* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View -* Location Matched -* -* @internal -*/ -var matchedRouteKey = Symbol("router view location matched"); -/** -* Allows overriding the router view depth to control which component in -* `matched` is rendered. rvd stands for Router View Depth -* -* @internal -*/ -var viewDepthKey = Symbol("router view depth"); -/** -* Allows overriding the router instance returned by `useRouter` in tests. r -* stands for router -* -* @internal -*/ -var routerKey = Symbol("router"); -/** -* Allows overriding the current route returned by `useRoute` in tests. rl -* stands for route location -* -* @internal -*/ -var routeLocationKey = Symbol("route location"); -/** -* Allows overriding the current route used by router-view. Internally this is -* used when the `route` prop is passed. -* -* @internal -*/ -var routerViewLocationKey = Symbol("router view location"); -/** -* Returns the router instance. Equivalent to using `$router` inside -* templates. -*/ -function useRouter() { - return inject(routerKey); -} -/** -* Returns the current route location. Equivalent to using `$route` inside -* templates. -*/ -function useRoute(_name) { - return inject(routeLocationKey); -} -//#endregion -//#region node_modules/vue-router/dist/devtools-DUDsFuj9.js -/*! -* vue-router v5.0.4 -* (c) 2026 Eduardo San Martin Morote -* @license MIT -*/ -function warn$1(msg) { - const args = Array.from(arguments).slice(1); - console.warn.apply(console, ["[Vue Router warn]: " + msg].concat(args)); -} -/** -* Encoding Rules (␣ = Space) -* - Path: ␣ " < > # ? { } -* - Query: ␣ " < > # & = -* - Hash: ␣ " < > ` -* -* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2) -* defines some extra characters to be encoded. Most browsers do not encode them -* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to -* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`) -* plus `-._~`. This extra safety should be applied to query by patching the -* string returned by encodeURIComponent encodeURI also encodes `[\]^`. `\` -* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\` -* into a `/` if directly typed in. The _backtick_ (`````) should also be -* encoded everywhere because some browsers like FF encode it when directly -* written while others don't. Safari and IE don't encode ``"<>{}``` in hash. -*/ -var HASH_RE = /#/g; -var AMPERSAND_RE = /&/g; -var SLASH_RE = /\//g; -var EQUAL_RE = /=/g; -var IM_RE = /\?/g; -var PLUS_RE = /\+/g; -/** -* NOTE: It's not clear to me if we should encode the + symbol in queries, it -* seems to be less flexible than not doing so and I can't find out the legacy -* systems requiring this for regular requests like text/html. In the standard, -* the encoding of the plus character is only mentioned for -* application/x-www-form-urlencoded -* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo -* leave the plus character as is in queries. To be more flexible, we allow the -* plus character on the query, but it can also be manually encoded by the user. -* -* Resources: -* - https://url.spec.whatwg.org/#urlencoded-parsing -* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20 -*/ -var ENC_BRACKET_OPEN_RE = /%5B/g; -var ENC_BRACKET_CLOSE_RE = /%5D/g; -var ENC_CARET_RE = /%5E/g; -var ENC_BACKTICK_RE = /%60/g; -var ENC_CURLY_OPEN_RE = /%7B/g; -var ENC_PIPE_RE = /%7C/g; -var ENC_CURLY_CLOSE_RE = /%7D/g; -var ENC_SPACE_RE = /%20/g; -/** -* Encode characters that need to be encoded on the path, search and hash -* sections of the URL. -* -* @internal -* @param text - string to encode -* @returns encoded string -*/ -function commonEncode(text) { - return text == null ? "" : encodeURI("" + text).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]"); -} -/** -* Encode characters that need to be encoded on the hash section of the URL. -* -* @param text - string to encode -* @returns encoded string -*/ -function encodeHash(text) { - return commonEncode(text).replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^"); -} -/** -* Encode characters that need to be encoded query values on the query -* section of the URL. -* -* @param text - string to encode -* @returns encoded string -*/ -function encodeQueryValue(text) { - return commonEncode(text).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^"); -} -/** -* Like `encodeQueryValue` but also encodes the `=` character. -* -* @param text - string to encode -*/ -function encodeQueryKey(text) { - return encodeQueryValue(text).replace(EQUAL_RE, "%3D"); -} -/** -* Encode characters that need to be encoded on the path section of the URL. -* -* @param text - string to encode -* @returns encoded string -*/ -function encodePath(text) { - return commonEncode(text).replace(HASH_RE, "%23").replace(IM_RE, "%3F"); -} -/** -* Encode characters that need to be encoded on the path section of the URL as a -* param. This function encodes everything {@link encodePath} does plus the -* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty -* string instead. -* -* @param text - string to encode -* @returns encoded string -*/ -function encodeParam(text) { - return encodePath(text).replace(SLASH_RE, "%2F"); -} -function decode(text) { - if (text == null) return null; - try { - return decodeURIComponent("" + text); - } catch (err) { - warn$1(`Error decoding "${text}". Using original value`); - } - return "" + text; -} -var TRAILING_SLASH_RE = /\/$/; -var removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, ""); -/** -* Transforms a URI into a normalized history location -* -* @param parseQuery -* @param location - URI to normalize -* @param currentLocation - current absolute location. Allows resolving relative -* paths. Must start with `/`. Defaults to `/` -* @returns a normalized history location -*/ -function parseURL(parseQuery, location, currentLocation = "/") { - let path, query = {}, searchString = "", hash = ""; - const hashPos = location.indexOf("#"); - let searchPos = location.indexOf("?"); - searchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos; - if (searchPos >= 0) { - path = location.slice(0, searchPos); - searchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length); - query = parseQuery(searchString.slice(1)); - } - if (hashPos >= 0) { - path = path || location.slice(0, hashPos); - hash = location.slice(hashPos, location.length); - } - path = resolveRelativePath(path != null ? path : location, currentLocation); - return { - fullPath: path + searchString + hash, - path, - query, - hash: decode(hash) - }; -} -/** -* Stringifies a URL object -* -* @param stringifyQuery -* @param location -*/ -function stringifyURL(stringifyQuery, location) { - const query = location.query ? stringifyQuery(location.query) : ""; - return location.path + (query && "?") + query + (location.hash || ""); -} -/** -* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way. -* -* @param pathname - location.pathname -* @param base - base to strip off -*/ -function stripBase(pathname, base) { - if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname; - return pathname.slice(base.length) || "/"; -} -/** -* Checks if two RouteLocation are equal. This means that both locations are -* pointing towards the same {@link RouteRecord} and that all `params`, `query` -* parameters and `hash` are the same -* -* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it. -* @param a - first {@link RouteLocation} -* @param b - second {@link RouteLocation} -*/ -function isSameRouteLocation(stringifyQuery, a, b) { - const aLastIndex = a.matched.length - 1; - const bLastIndex = b.matched.length - 1; - return aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery(a.query) === stringifyQuery(b.query) && a.hash === b.hash; -} -/** -* Check if two `RouteRecords` are equal. Takes into account aliases: they are -* considered equal to the `RouteRecord` they are aliasing. -* -* @param a - first {@link RouteRecord} -* @param b - second {@link RouteRecord} -*/ -function isSameRouteRecord(a, b) { - return (a.aliasOf || a) === (b.aliasOf || b); -} -function isSameRouteLocationParams(a, b) { - if (Object.keys(a).length !== Object.keys(b).length) return false; - for (var key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false; - return true; -} -function isSameRouteLocationParamsValue(a, b) { - return isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf()); -} -/** -* Check if two arrays are the same or if an array with one single entry is the -* same as another primitive value. Used to check query and parameters -* -* @param a - array of values -* @param b - array of values or a single value -*/ -function isEquivalentArray(a, b) { - return isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b; -} -/** -* Resolves a relative path that starts with `.`. -* -* @param to - path location we are resolving -* @param from - currentLocation.path, should start with `/` -*/ -function resolveRelativePath(to, from) { - if (to.startsWith("/")) return to; - if (!from.startsWith("/")) { - warn$1(`Cannot resolve a relative location without an absolute path. Trying to resolve "${to}" from "${from}". It should look like "/${from}".`); - return to; - } - if (!to) return from; - const fromSegments = from.split("/"); - const toSegments = to.split("/"); - const lastToSegment = toSegments[toSegments.length - 1]; - if (lastToSegment === ".." || lastToSegment === ".") toSegments.push(""); - let position = fromSegments.length - 1; - let toPosition; - let segment; - for (toPosition = 0; toPosition < toSegments.length; toPosition++) { - segment = toSegments[toPosition]; - if (segment === ".") continue; - if (segment === "..") { - if (position > 1) position--; - } else break; - } - return fromSegments.slice(0, position).join("/") + "/" + toSegments.slice(toPosition).join("/"); -} -/** -* Initial route location where the router is. Can be used in navigation guards -* to differentiate the initial navigation. -* -* @example -* ```js -* import { START_LOCATION } from 'vue-router' -* -* router.beforeEach((to, from) => { -* if (from === START_LOCATION) { -* // initial navigation -* } -* }) -* ``` -*/ -var START_LOCATION_NORMALIZED = { - path: "/", - name: void 0, - params: {}, - query: {}, - hash: "", - fullPath: "/", - matched: [], - meta: {}, - redirectedFrom: void 0 -}; -var NavigationType = /* @__PURE__ */ function(NavigationType) { - NavigationType["pop"] = "pop"; - NavigationType["push"] = "push"; - return NavigationType; -}({}); -var NavigationDirection = /* @__PURE__ */ function(NavigationDirection) { - NavigationDirection["back"] = "back"; - NavigationDirection["forward"] = "forward"; - NavigationDirection["unknown"] = ""; - return NavigationDirection; -}({}); -/** -* Normalizes a base by removing any trailing slash and reading the base tag if -* present. -* -* @param base - base to normalize -*/ -function normalizeBase(base) { - if (!base) if (isBrowser) { - const baseEl = document.querySelector("base"); - base = baseEl && baseEl.getAttribute("href") || "/"; - base = base.replace(/^\w+:\/\/[^\/]+/, ""); - } else base = "/"; - if (base[0] !== "/" && base[0] !== "#") base = "/" + base; - return removeTrailingSlash(base); -} -var BEFORE_HASH_RE = /^[^#]+#/; -function createHref(base, location) { - return base.replace(BEFORE_HASH_RE, "#") + location; -} -function getElementPosition(el, offset) { - const docRect = document.documentElement.getBoundingClientRect(); - const elRect = el.getBoundingClientRect(); - return { - behavior: offset.behavior, - left: elRect.left - docRect.left - (offset.left || 0), - top: elRect.top - docRect.top - (offset.top || 0) - }; -} -var computeScrollPosition = () => ({ - left: window.scrollX, - top: window.scrollY -}); -function scrollToPosition(position) { - let scrollToOptions; - if ("el" in position) { - const positionEl = position.el; - const isIdSelector = typeof positionEl === "string" && positionEl.startsWith("#"); - /** - * `id`s can accept pretty much any characters, including CSS combinators - * like `>` or `~`. It's still possible to retrieve elements using - * `document.getElementById('~')` but it needs to be escaped when using - * `document.querySelector('#\\~')` for it to be valid. The only - * requirements for `id`s are them to be unique on the page and to not be - * empty (`id=""`). Because of that, when passing an id selector, it should - * be properly escaped for it to work with `querySelector`. We could check - * for the id selector to be simple (no CSS combinators `+ >~`) but that - * would make things inconsistent since they are valid characters for an - * `id` but would need to be escaped when using `querySelector`, breaking - * their usage and ending up in no selector returned. Selectors need to be - * escaped: - * - * - `#1-thing` becomes `#\31 -thing` - * - `#with~symbols` becomes `#with\\~symbols` - * - * - More information about the topic can be found at - * https://mathiasbynens.be/notes/html5-id-class. - * - Practical example: https://mathiasbynens.be/demo/html5-id - */ - if (typeof position.el === "string") { - if (!isIdSelector || !document.getElementById(position.el.slice(1))) try { - const foundEl = document.querySelector(position.el); - if (isIdSelector && foundEl) { - warn$1(`The selector "${position.el}" should be passed as "el: document.querySelector('${position.el}')" because it starts with "#".`); - return; - } - } catch (err) { - warn$1(`The selector "${position.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`); - return; - } - } - const el = typeof positionEl === "string" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl; - if (!el) { - warn$1(`Couldn't find element using selector "${position.el}" returned by scrollBehavior.`); - return; - } - scrollToOptions = getElementPosition(el, position); - } else scrollToOptions = position; - if ("scrollBehavior" in document.documentElement.style) window.scrollTo(scrollToOptions); - else window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY); -} -function getScrollKey(path, delta) { - return (history.state ? history.state.position - delta : -1) + path; -} -var scrollPositions = /* @__PURE__ */ new Map(); -function saveScrollPosition(key, scrollPosition) { - scrollPositions.set(key, scrollPosition); -} -function getSavedScrollPosition(key) { - const scroll = scrollPositions.get(key); - scrollPositions.delete(key); - return scroll; -} -/** -* ScrollBehavior instance used by the router to compute and restore the scroll -* position when navigating. -*/ -function isRouteLocation(route) { - return typeof route === "string" || route && typeof route === "object"; -} -function isRouteName(name) { - return typeof name === "string" || typeof name === "symbol"; -} -/** -* Transforms a queryString into a {@link LocationQuery} object. Accept both, a -* version with the leading `?` and without Should work as URLSearchParams - -* @internal -* -* @param search - search string to parse -* @returns a query object -*/ -function parseQuery(search) { - const query = {}; - if (search === "" || search === "?") return query; - const searchParams = (search[0] === "?" ? search.slice(1) : search).split("&"); - for (let i = 0; i < searchParams.length; ++i) { - const searchParam = searchParams[i].replace(PLUS_RE, " "); - const eqPos = searchParam.indexOf("="); - const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos)); - const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1)); - if (key in query) { - let currentValue = query[key]; - if (!isArray(currentValue)) currentValue = query[key] = [currentValue]; - currentValue.push(value); - } else query[key] = value; - } - return query; -} -/** -* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it -* doesn't prepend a `?` -* -* @internal -* -* @param query - query object to stringify -* @returns string version of the query without the leading `?` -*/ -function stringifyQuery(query) { - let search = ""; - for (let key in query) { - const value = query[key]; - key = encodeQueryKey(key); - if (value == null) { - if (value !== void 0) search += (search.length ? "&" : "") + key; - continue; - } - (isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value) => { - if (value !== void 0) { - search += (search.length ? "&" : "") + key; - if (value != null) search += "=" + value; - } - }); - } - return search; -} -/** -* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting -* numbers into strings, removing keys with an undefined value and replacing -* undefined with null in arrays -* -* @param query - query object to normalize -* @returns a normalized query object -*/ -function normalizeQuery(query) { - const normalizedQuery = {}; - for (const key in query) { - const value = query[key]; - if (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : "" + v) : value == null ? value : "" + value; - } - return normalizedQuery; -} -/** -* Create a list of callbacks that can be reset. Used to create before and after navigation guards list -*/ -function useCallbacks() { - let handlers = []; - function add(handler) { - handlers.push(handler); - return () => { - const i = handlers.indexOf(handler); - if (i > -1) handlers.splice(i, 1); - }; - } - function reset() { - handlers = []; - } - return { - add, - list: () => handlers.slice(), - reset - }; -} -function registerGuard(activeRecordRef, name, guard) { - const record = activeRecordRef.value; - if (!record) { - warn$1(`No active route record was found when calling \`${name === "updateGuards" ? "onBeforeRouteUpdate" : "onBeforeRouteLeave"}()\`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?`); - return; - } - let currentRecord = record; - const removeFromList = () => { - currentRecord[name].delete(guard); - }; - onUnmounted(removeFromList); - onDeactivated(removeFromList); - onActivated(() => { - const newRecord = activeRecordRef.value; - if (!newRecord) warn$1("No active route record was found when reactivating component with navigation guard. This is likely a bug in vue-router. Please report it."); - if (newRecord) currentRecord = newRecord; - currentRecord[name].add(guard); - }); - currentRecord[name].add(guard); -} -/** -* Add a navigation guard that triggers whenever the component for the current -* location is about to be left. Similar to {@link beforeRouteLeave} but can be -* used in any component. The guard is removed when the component is unmounted. -* -* @param leaveGuard - {@link NavigationGuard} -*/ -function onBeforeRouteLeave(leaveGuard) { - if (!getCurrentInstance()) { - warn$1("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function"); - return; - } - registerGuard(inject(matchedRouteKey, {}), "leaveGuards", leaveGuard); -} -/** -* Add a navigation guard that triggers whenever the current location is about -* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any -* component. The guard is removed when the component is unmounted. -* -* @param updateGuard - {@link NavigationGuard} -*/ -function onBeforeRouteUpdate(updateGuard) { - if (!getCurrentInstance()) { - warn$1("getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function"); - return; - } - registerGuard(inject(matchedRouteKey, {}), "updateGuards", updateGuard); -} -function guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) { - const enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []); - return () => new Promise((resolve, reject) => { - const next = (valid) => { - if (valid === false) reject(createRouterError(ErrorTypes.NAVIGATION_ABORTED, { - from, - to - })); - else if (valid instanceof Error) reject(valid); - else if (isRouteLocation(valid)) reject(createRouterError(ErrorTypes.NAVIGATION_GUARD_REDIRECT, { - from: to, - to: valid - })); - else { - if (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === "function") enterCallbackArray.push(valid); - resolve(); - } - }; - const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, withDeprecationWarning(canOnlyBeCalledOnce(next, to, from)))); - let guardCall = Promise.resolve(guardReturn); - if (guard.length < 3) guardCall = guardCall.then(next); - if (guard.length > 2) { - const message = `The "next" callback was never called inside of ${guard.name ? "\"" + guard.name + "\"" : ""}:\n${guard.toString()}\n. If you are returning a value instead of calling "next", make sure to remove the "next" parameter from your function.`; - if (typeof guardReturn === "object" && "then" in guardReturn) guardCall = guardCall.then((resolvedValue) => { - if (!next._called) { - warn$1(message); - return Promise.reject(/* @__PURE__ */ new Error("Invalid navigation guard")); - } - return resolvedValue; - }); - else if (guardReturn !== void 0) { - if (!next._called) { - warn$1(message); - reject(/* @__PURE__ */ new Error("Invalid navigation guard")); - return; - } - } - } - guardCall.catch((err) => reject(err)); - }); -} -/** -* Wraps the next callback to warn when it is used. Dev-only: when __DEV__ is -* false (production builds), this branch is dead code and is stripped from the -* bundle. -* -* @internal -*/ -function withDeprecationWarning(next) { - let warned = false; - return function() { - if (!warned) { - warned = true; - warn$1("The `next()` callback in navigation guards is deprecated. Return the value instead of calling `next(value)`."); - } - return next.apply(this, arguments); - }; -} -function canOnlyBeCalledOnce(next, to, from) { - let called = 0; - return function() { - if (called++ === 1) warn$1(`The "next" callback was called more than once in one navigation guard when going from "${from.fullPath}" to "${to.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`); - next._called = true; - if (called === 1) next.apply(null, arguments); - }; -} -function extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) { - const guards = []; - for (const record of matched) { - if (!record.components && record.children && !record.children.length) warn$1(`Record with path "${record.path}" is either missing a "component(s)" or "children" property.`); - for (const name in record.components) { - let rawComponent = record.components[name]; - if (!rawComponent || typeof rawComponent !== "object" && typeof rawComponent !== "function") { - warn$1(`Component "${name}" in record with path "${record.path}" is not a valid component. Received "${String(rawComponent)}".`); - throw new Error("Invalid route component"); - } else if ("then" in rawComponent) { - warn$1(`Component "${name}" in record with path "${record.path}" is a Promise instead of a function that returns a Promise. Did you write "import('./MyPage.vue')" instead of "() => import('./MyPage.vue')" ? This will break in production if not fixed.`); - const promise = rawComponent; - rawComponent = () => promise; - } else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) { - rawComponent.__warnedDefineAsync = true; - warn$1(`Component "${name}" in record with path "${record.path}" is defined using "defineAsyncComponent()". Write "() => import('./MyPage.vue')" instead of "defineAsyncComponent(() => import('./MyPage.vue'))".`); - } - if (guardType !== "beforeRouteEnter" && !record.instances[name]) continue; - if (isRouteComponent(rawComponent)) { - const guard = (rawComponent.__vccOpts || rawComponent)[guardType]; - guard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext)); - } else { - let componentPromise = rawComponent(); - if (!("catch" in componentPromise)) { - warn$1(`Component "${name}" in record with path "${record.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`); - componentPromise = Promise.resolve(componentPromise); - } - guards.push(() => componentPromise.then((resolved) => { - if (!resolved) throw new Error(`Couldn't resolve component "${name}" at "${record.path}"`); - const resolvedComponent = isESModule(resolved) ? resolved.default : resolved; - record.mods[name] = resolved; - record.components[name] = resolvedComponent; - const guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType]; - return guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)(); - })); - } - } - } - return guards; -} -/** -* Ensures a route is loaded, so it can be passed as o prop to ``. -* -* @param route - resolved route to load -*/ -function loadRouteLocation(route) { - return route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error("Cannot load a route that redirects.")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => { - const rawComponent = record.components[name]; - if (typeof rawComponent === "function" && !("displayName" in rawComponent)) promises.push(rawComponent().then((resolved) => { - if (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component "${name}" at "${record.path}". Ensure you passed a function that returns a promise.`)); - const resolvedComponent = isESModule(resolved) ? resolved.default : resolved; - record.mods[name] = resolved; - record.components[name] = resolvedComponent; - })); - return promises; - }, [])))).then(() => route); -} -/** -* Split the leaving, updating, and entering records. -* @internal -* -* @param to - Location we are navigating to -* @param from - Location we are navigating from -*/ -function extractChangingRecords(to, from) { - const leavingRecords = []; - const updatingRecords = []; - const enteringRecords = []; - const len = Math.max(from.matched.length, to.matched.length); - for (let i = 0; i < len; i++) { - const recordFrom = from.matched[i]; - if (recordFrom) if (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom); - else leavingRecords.push(recordFrom); - const recordTo = to.matched[i]; - if (recordTo) { - if (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo); - } - } - return [ - leavingRecords, - updatingRecords, - enteringRecords - ]; -} -/** -* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances). -* -* @param routeLocation - routeLocation to format -* @param tooltip - optional tooltip -* @returns a copy of the routeLocation -*/ -function formatRouteLocation(routeLocation, tooltip) { - const copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [ - "instances", - "children", - "aliasOf" - ])) }); - return { _custom: { - type: null, - readOnly: true, - display: routeLocation.fullPath, - tooltip, - value: copy - } }; -} -function formatDisplay(display) { - return { _custom: { display } }; -} -var routerId = 0; -function addDevtools(app, router, matcher) { - if (router.__hasDevtools) return; - router.__hasDevtools = true; - const id = routerId++; - setupDevToolsPlugin({ - id: "org.vuejs.router" + (id ? "." + id : ""), - label: "Vue Router", - packageName: "vue-router", - homepage: "https://router.vuejs.org", - logo: "https://router.vuejs.org/logo.png", - componentStateTypes: ["Routing"], - app - }, (api) => { - api.on.inspectComponent((payload) => { - if (payload.instanceData) payload.instanceData.state.push({ - type: "Routing", - key: "$route", - editable: false, - value: formatRouteLocation(router.currentRoute.value, "Current Route") - }); - }); - api.on.visitComponentTree(({ treeNode: node, componentInstance }) => { - if (componentInstance.__vrv_devtools) { - const info = componentInstance.__vrv_devtools; - node.tags.push({ - label: (info.name ? `${info.name.toString()}: ` : "") + info.path, - textColor: 0, - tooltip: "This component is rendered by <router-view>", - backgroundColor: PINK_500 - }); - } - if (isArray(componentInstance.__vrl_devtools)) { - componentInstance.__devtoolsApi = api; - componentInstance.__vrl_devtools.forEach((devtoolsData) => { - let label = devtoolsData.route.path; - let backgroundColor = ORANGE_400; - let tooltip = ""; - let textColor = 0; - if (devtoolsData.error) { - label = devtoolsData.error; - backgroundColor = RED_100; - textColor = RED_700; - } else if (devtoolsData.isExactActive) { - backgroundColor = LIME_500; - tooltip = "This is exactly active"; - } else if (devtoolsData.isActive) { - backgroundColor = BLUE_600; - tooltip = "This link is active"; - } - node.tags.push({ - label, - textColor, - tooltip, - backgroundColor - }); - }); - } - }); - watch(router.currentRoute, () => { - refreshRoutesView(); - api.notifyComponentUpdate(); - api.sendInspectorTree(routerInspectorId); - api.sendInspectorState(routerInspectorId); - }); - const navigationsLayerId = "router:navigations:" + id; - api.addTimelineLayer({ - id: navigationsLayerId, - label: `Router${id ? " " + id : ""} Navigations`, - color: 4237508 - }); - router.onError((error, to) => { - api.addTimelineEvent({ - layerId: navigationsLayerId, - event: { - title: "Error during Navigation", - subtitle: to.fullPath, - logType: "error", - time: api.now(), - data: { error }, - groupId: to.meta.__navigationId - } - }); - }); - let navigationId = 0; - router.beforeEach((to, from) => { - const data = { - guard: formatDisplay("beforeEach"), - from: formatRouteLocation(from, "Current Location during this navigation"), - to: formatRouteLocation(to, "Target location") - }; - Object.defineProperty(to.meta, "__navigationId", { value: navigationId++ }); - api.addTimelineEvent({ - layerId: navigationsLayerId, - event: { - time: api.now(), - title: "Start of navigation", - subtitle: to.fullPath, - data, - groupId: to.meta.__navigationId - } - }); - }); - router.afterEach((to, from, failure) => { - const data = { guard: formatDisplay("afterEach") }; - if (failure) { - data.failure = { _custom: { - type: Error, - readOnly: true, - display: failure ? failure.message : "", - tooltip: "Navigation Failure", - value: failure - } }; - data.status = formatDisplay("❌"); - } else data.status = formatDisplay("✅"); - data.from = formatRouteLocation(from, "Current Location during this navigation"); - data.to = formatRouteLocation(to, "Target location"); - api.addTimelineEvent({ - layerId: navigationsLayerId, - event: { - title: "End of navigation", - subtitle: to.fullPath, - time: api.now(), - data, - logType: failure ? "warning" : "default", - groupId: to.meta.__navigationId - } - }); - }); - /** - * Inspector of Existing routes - */ - const routerInspectorId = "router-inspector:" + id; - api.addInspector({ - id: routerInspectorId, - label: "Routes" + (id ? " " + id : ""), - icon: "book", - treeFilterPlaceholder: "Search routes" - }); - function refreshRoutesView() { - if (!activeRoutesPayload) return; - const payload = activeRoutesPayload; - let routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components); - routes.forEach(resetMatchStateOnRouteRecord); - if (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase())); - routes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value)); - payload.rootNodes = routes.map(formatRouteRecordForInspector); - } - let activeRoutesPayload; - api.on.getInspectorTree((payload) => { - activeRoutesPayload = payload; - if (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView(); - }); - /** - * Display information about the currently selected route record - */ - api.on.getInspectorState((payload) => { - if (payload.app === app && payload.inspectorId === routerInspectorId) { - const route = matcher.getRoutes().find((route) => route.record.__vd_id === payload.nodeId); - if (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) }; - } - }); - api.sendInspectorTree(routerInspectorId); - api.sendInspectorState(routerInspectorId); - }); -} -function modifierForKey(key) { - if (key.optional) return key.repeatable ? "*" : "?"; - else return key.repeatable ? "+" : ""; -} -function formatRouteRecordMatcherForStateInspector(route) { - const { record } = route; - const fields = [{ - editable: false, - key: "path", - value: record.path - }]; - if (record.name != null) fields.push({ - editable: false, - key: "name", - value: record.name - }); - fields.push({ - editable: false, - key: "regexp", - value: route.re - }); - if (route.keys.length) fields.push({ - editable: false, - key: "keys", - value: { _custom: { - type: null, - readOnly: true, - display: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(" "), - tooltip: "Param keys", - value: route.keys - } } - }); - if (record.redirect != null) fields.push({ - editable: false, - key: "redirect", - value: record.redirect - }); - if (route.alias.length) fields.push({ - editable: false, - key: "aliases", - value: route.alias.map((alias) => alias.record.path) - }); - if (Object.keys(route.record.meta).length) fields.push({ - editable: false, - key: "meta", - value: route.record.meta - }); - fields.push({ - key: "score", - editable: false, - value: { _custom: { - type: null, - readOnly: true, - display: route.score.map((score) => score.join(", ")).join(" | "), - tooltip: "Score used to sort routes", - value: route.score - } } - }); - return fields; -} -/** -* Extracted from tailwind palette -*/ -var PINK_500 = 15485081; -var BLUE_600 = 2450411; -var LIME_500 = 8702998; -var CYAN_400 = 2282478; -var ORANGE_400 = 16486972; -var DARK = 6710886; -var RED_100 = 16704226; -var RED_700 = 12131356; -function formatRouteRecordForInspector(route) { - const tags = []; - const { record } = route; - if (record.name != null) tags.push({ - label: String(record.name), - textColor: 0, - backgroundColor: CYAN_400 - }); - if (record.aliasOf) tags.push({ - label: "alias", - textColor: 0, - backgroundColor: ORANGE_400 - }); - if (route.__vd_match) tags.push({ - label: "matches", - textColor: 0, - backgroundColor: PINK_500 - }); - if (route.__vd_exactActive) tags.push({ - label: "exact", - textColor: 0, - backgroundColor: LIME_500 - }); - if (route.__vd_active) tags.push({ - label: "active", - textColor: 0, - backgroundColor: BLUE_600 - }); - if (record.redirect) tags.push({ - label: typeof record.redirect === "string" ? `redirect: ${record.redirect}` : "redirects", - textColor: 16777215, - backgroundColor: DARK - }); - let id = record.__vd_id; - if (id == null) { - id = String(routeRecordId++); - record.__vd_id = id; - } - return { - id, - label: record.path, - tags, - children: route.children.map(formatRouteRecordForInspector) - }; -} -var routeRecordId = 0; -var EXTRACT_REGEXP_RE = /^\/(.*)\/([a-z]*)$/; -function markRouteRecordActive(route, currentRoute) { - const isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record); - route.__vd_exactActive = route.__vd_active = isExactActive; - if (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record)); - route.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute)); -} -function resetMatchStateOnRouteRecord(route) { - route.__vd_match = false; - route.children.forEach(resetMatchStateOnRouteRecord); -} -function isRouteMatching(route, filter) { - const found = String(route.re).match(EXTRACT_REGEXP_RE); - route.__vd_match = false; - if (!found || found.length < 3) return false; - if (new RegExp(found[1].replace(/\$$/, ""), found[2]).test(filter)) { - route.children.forEach((child) => isRouteMatching(child, filter)); - if (route.record.path !== "/" || filter === "/") { - route.__vd_match = route.re.test(filter); - return true; - } - return false; - } - const path = route.record.path.toLowerCase(); - const decodedPath = decode(path); - if (!filter.startsWith("/") && (decodedPath.includes(filter) || path.includes(filter))) return true; - if (decodedPath.startsWith(filter) || path.startsWith(filter)) return true; - if (route.record.name && String(route.record.name).includes(filter)) return true; - return route.children.some((child) => isRouteMatching(child, filter)); -} -function omit(obj, keys) { - const ret = {}; - for (const key in obj) if (!keys.includes(key)) ret[key] = obj[key]; - return ret; -} -//#endregion -//#region node_modules/vue-router/dist/vue-router.js -/*! -* vue-router v5.0.4 -* (c) 2026 Eduardo San Martin Morote -* @license MIT -*/ -var createBaseLocation = () => location.protocol + "//" + location.host; -/** -* Creates a normalized history location from a window.location object -* @param base - The base path -* @param location - The window.location object -*/ -function createCurrentLocation(base, location) { - const { pathname, search, hash } = location; - const hashPos = base.indexOf("#"); - if (hashPos > -1) { - let slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1; - let pathFromHash = hash.slice(slicePos); - if (pathFromHash[0] !== "/") pathFromHash = "/" + pathFromHash; - return stripBase(pathFromHash, ""); - } - return stripBase(pathname, base) + search + hash; -} -function useHistoryListeners(base, historyState, currentLocation, replace) { - let listeners = []; - let teardowns = []; - let pauseState = null; - const popStateHandler = ({ state }) => { - const to = createCurrentLocation(base, location); - const from = currentLocation.value; - const fromState = historyState.value; - let delta = 0; - if (state) { - currentLocation.value = to; - historyState.value = state; - if (pauseState && pauseState === from) { - pauseState = null; - return; - } - delta = fromState ? state.position - fromState.position : 0; - } else replace(to); - listeners.forEach((listener) => { - listener(currentLocation.value, from, { - delta, - type: NavigationType.pop, - direction: delta ? delta > 0 ? NavigationDirection.forward : NavigationDirection.back : NavigationDirection.unknown - }); - }); - }; - function pauseListeners() { - pauseState = currentLocation.value; - } - function listen(callback) { - listeners.push(callback); - const teardown = () => { - const index = listeners.indexOf(callback); - if (index > -1) listeners.splice(index, 1); - }; - teardowns.push(teardown); - return teardown; - } - function beforeUnloadListener() { - if (document.visibilityState === "hidden") { - const { history } = window; - if (!history.state) return; - history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), ""); - } - } - function destroy() { - for (const teardown of teardowns) teardown(); - teardowns = []; - window.removeEventListener("popstate", popStateHandler); - window.removeEventListener("pagehide", beforeUnloadListener); - document.removeEventListener("visibilitychange", beforeUnloadListener); - } - window.addEventListener("popstate", popStateHandler); - window.addEventListener("pagehide", beforeUnloadListener); - document.addEventListener("visibilitychange", beforeUnloadListener); - return { - pauseListeners, - listen, - destroy - }; -} -/** -* Creates a state object -*/ -function buildState(back, current, forward, replaced = false, computeScroll = false) { - return { - back, - current, - forward, - replaced, - position: window.history.length, - scroll: computeScroll ? computeScrollPosition() : null - }; -} -function useHistoryStateNavigation(base) { - const { history, location } = window; - const currentLocation = { value: createCurrentLocation(base, location) }; - const historyState = { value: history.state }; - if (!historyState.value) changeLocation(currentLocation.value, { - back: null, - current: currentLocation.value, - forward: null, - position: history.length - 1, - replaced: true, - scroll: null - }, true); - function changeLocation(to, state, replace) { - /** - * if a base tag is provided, and we are on a normal domain, we have to - * respect the provided `base` attribute because pushState() will use it and - * potentially erase anything before the `#` like at - * https://github.com/vuejs/router/issues/685 where a base of - * `/folder/#` but a base of `/` would erase the `/folder/` section. If - * there is no host, the `` tag makes no sense and if there isn't a - * base tag we can just use everything after the `#`. - */ - const hashIndex = base.indexOf("#"); - const url = hashIndex > -1 ? (location.host && document.querySelector("base") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to; - try { - history[replace ? "replaceState" : "pushState"](state, "", url); - historyState.value = state; - } catch (err) { - warn$1("Error with push/replace State", err); - location[replace ? "replace" : "assign"](url); - } - } - function replace(to, data) { - changeLocation(to, assign({}, history.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position }), true); - currentLocation.value = to; - } - function push(to, data) { - const currentState = assign({}, historyState.value, history.state, { - forward: to, - scroll: computeScrollPosition() - }); - if (!history.state) warn$1("history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\n\nhistory.replaceState(history.state, '', url)\n\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state"); - changeLocation(currentState.current, currentState, true); - changeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false); - currentLocation.value = to; - } - return { - location: currentLocation, - state: historyState, - push, - replace - }; -} -/** -* Creates an HTML5 history. Most common history for single page applications. -* -* @param base - -*/ -function createWebHistory(base) { - base = normalizeBase(base); - const historyNavigation = useHistoryStateNavigation(base); - const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace); - function go(delta, triggerListeners = true) { - if (!triggerListeners) historyListeners.pauseListeners(); - history.go(delta); - } - const routerHistory = assign({ - location: "", - base, - go, - createHref: createHref.bind(null, base) - }, historyNavigation, historyListeners); - Object.defineProperty(routerHistory, "location", { - enumerable: true, - get: () => historyNavigation.location.value - }); - Object.defineProperty(routerHistory, "state", { - enumerable: true, - get: () => historyNavigation.state.value - }); - return routerHistory; -} -/** -* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere. -* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`. -* -* @param base - Base applied to all urls, defaults to '/' -* @returns a history object that can be passed to the router constructor -*/ -function createMemoryHistory(base = "") { - let listeners = []; - let queue = [["", {}]]; - let position = 0; - base = normalizeBase(base); - function setLocation(location, state = {}) { - position++; - if (position !== queue.length) queue.splice(position); - queue.push([location, state]); - } - function triggerListeners(to, from, { direction, delta }) { - const info = { - direction, - delta, - type: NavigationType.pop - }; - for (const callback of listeners) callback(to, from, info); - } - const routerHistory = { - location: "", - state: {}, - base, - createHref: createHref.bind(null, base), - replace(to, state) { - queue.splice(position--, 1); - setLocation(to, state); - }, - push(to, state) { - setLocation(to, state); - }, - listen(callback) { - listeners.push(callback); - return () => { - const index = listeners.indexOf(callback); - if (index > -1) listeners.splice(index, 1); - }; - }, - destroy() { - listeners = []; - queue = [["", {}]]; - position = 0; - }, - go(delta, shouldTrigger = true) { - const from = this.location; - const direction = delta < 0 ? NavigationDirection.back : NavigationDirection.forward; - position = Math.max(0, Math.min(position + delta, queue.length - 1)); - if (shouldTrigger) triggerListeners(this.location, from, { - direction, - delta - }); - } - }; - Object.defineProperty(routerHistory, "location", { - enumerable: true, - get: () => queue[position][0] - }); - Object.defineProperty(routerHistory, "state", { - enumerable: true, - get: () => queue[position][1] - }); - return routerHistory; -} -/** -* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to -* handle any URL is not possible. -* -* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag -* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState() -* calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything -* after the `#`). -* -* @example -* ```js -* // at https://example.com/folder -* createWebHashHistory() // gives a url of `https://example.com/folder#` -* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#` -* // if the `#` is provided in the base, it won't be added by `createWebHashHistory` -* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/` -* // you should avoid doing this because it changes the original url and breaks copying urls -* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#` -* -* // at file:///usr/etc/folder/index.html -* // for locations with no `host`, the base is ignored -* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#` -* ``` -*/ -function createWebHashHistory(base) { - base = location.host ? base || location.pathname + location.search : ""; - if (!base.includes("#")) base += "#"; - if (!base.endsWith("#/") && !base.endsWith("#")) warn$1(`A hash base must end with a "#":\n"${base}" should be "${base.replace(/#.*$/, "#")}".`); - return createWebHistory(base); -} -var TokenType = /* @__PURE__ */ function(TokenType) { - TokenType[TokenType["Static"] = 0] = "Static"; - TokenType[TokenType["Param"] = 1] = "Param"; - TokenType[TokenType["Group"] = 2] = "Group"; - return TokenType; -}({}); -var TokenizerState = /* @__PURE__ */ function(TokenizerState) { - TokenizerState[TokenizerState["Static"] = 0] = "Static"; - TokenizerState[TokenizerState["Param"] = 1] = "Param"; - TokenizerState[TokenizerState["ParamRegExp"] = 2] = "ParamRegExp"; - TokenizerState[TokenizerState["ParamRegExpEnd"] = 3] = "ParamRegExpEnd"; - TokenizerState[TokenizerState["EscapeNext"] = 4] = "EscapeNext"; - return TokenizerState; -}(TokenizerState || {}); -var ROOT_TOKEN = { - type: TokenType.Static, - value: "" -}; -var VALID_PARAM_RE = /[a-zA-Z0-9_]/; -function tokenizePath(path) { - if (!path) return [[]]; - if (path === "/") return [[ROOT_TOKEN]]; - if (!path.startsWith("/")) throw new Error(`Route paths should start with a "/": "${path}" should be "/${path}".`); - function crash(message) { - throw new Error(`ERR (${state})/"${buffer}": ${message}`); - } - let state = TokenizerState.Static; - let previousState = state; - const tokens = []; - let segment; - function finalizeSegment() { - if (segment) tokens.push(segment); - segment = []; - } - let i = 0; - let char; - let buffer = ""; - let customRe = ""; - function consumeBuffer() { - if (!buffer) return; - if (state === TokenizerState.Static) segment.push({ - type: TokenType.Static, - value: buffer - }); - else if (state === TokenizerState.Param || state === TokenizerState.ParamRegExp || state === TokenizerState.ParamRegExpEnd) { - if (segment.length > 1 && (char === "*" || char === "+")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`); - segment.push({ - type: TokenType.Param, - value: buffer, - regexp: customRe, - repeatable: char === "*" || char === "+", - optional: char === "*" || char === "?" - }); - } else crash("Invalid state to consume buffer"); - buffer = ""; - } - function addCharToBuffer() { - buffer += char; - } - while (i < path.length) { - char = path[i++]; - if (char === "\\" && state !== TokenizerState.ParamRegExp) { - previousState = state; - state = TokenizerState.EscapeNext; - continue; - } - switch (state) { - case TokenizerState.Static: - if (char === "/") { - if (buffer) consumeBuffer(); - finalizeSegment(); - } else if (char === ":") { - consumeBuffer(); - state = TokenizerState.Param; - } else addCharToBuffer(); - break; - case TokenizerState.EscapeNext: - addCharToBuffer(); - state = previousState; - break; - case TokenizerState.Param: - if (char === "(") state = TokenizerState.ParamRegExp; - else if (VALID_PARAM_RE.test(char)) addCharToBuffer(); - else { - consumeBuffer(); - state = TokenizerState.Static; - if (char !== "*" && char !== "?" && char !== "+") i--; - } - break; - case TokenizerState.ParamRegExp: - if (char === ")") if (customRe[customRe.length - 1] == "\\") customRe = customRe.slice(0, -1) + char; - else state = TokenizerState.ParamRegExpEnd; - else customRe += char; - break; - case TokenizerState.ParamRegExpEnd: - consumeBuffer(); - state = TokenizerState.Static; - if (char !== "*" && char !== "?" && char !== "+") i--; - customRe = ""; - break; - default: - crash("Unknown state"); - break; - } - } - if (state === TokenizerState.ParamRegExp) crash(`Unfinished custom RegExp for param "${buffer}"`); - consumeBuffer(); - finalizeSegment(); - return tokens; -} -var BASE_PARAM_PATTERN = "[^/]+?"; -var BASE_PATH_PARSER_OPTIONS = { - sensitive: false, - strict: false, - start: true, - end: true -}; -var PathScore = /* @__PURE__ */ function(PathScore) { - PathScore[PathScore["_multiplier"] = 10] = "_multiplier"; - PathScore[PathScore["Root"] = 90] = "Root"; - PathScore[PathScore["Segment"] = 40] = "Segment"; - PathScore[PathScore["SubSegment"] = 30] = "SubSegment"; - PathScore[PathScore["Static"] = 40] = "Static"; - PathScore[PathScore["Dynamic"] = 20] = "Dynamic"; - PathScore[PathScore["BonusCustomRegExp"] = 10] = "BonusCustomRegExp"; - PathScore[PathScore["BonusWildcard"] = -50] = "BonusWildcard"; - PathScore[PathScore["BonusRepeatable"] = -20] = "BonusRepeatable"; - PathScore[PathScore["BonusOptional"] = -8] = "BonusOptional"; - PathScore[PathScore["BonusStrict"] = .7000000000000001] = "BonusStrict"; - PathScore[PathScore["BonusCaseSensitive"] = .25] = "BonusCaseSensitive"; - return PathScore; -}(PathScore || {}); -var REGEX_CHARS_RE = /[.+*?^${}()[\]/\\]/g; -/** -* Creates a path parser from an array of Segments (a segment is an array of Tokens) -* -* @param segments - array of segments returned by tokenizePath -* @param extraOptions - optional options for the regexp -* @returns a PathParser -*/ -function tokensToParser(segments, extraOptions) { - const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions); - const score = []; - let pattern = options.start ? "^" : ""; - const keys = []; - for (const segment of segments) { - const segmentScores = segment.length ? [] : [PathScore.Root]; - if (options.strict && !segment.length) pattern += "/"; - for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) { - const token = segment[tokenIndex]; - let subSegmentScore = PathScore.Segment + (options.sensitive ? PathScore.BonusCaseSensitive : 0); - if (token.type === TokenType.Static) { - if (!tokenIndex) pattern += "/"; - pattern += token.value.replace(REGEX_CHARS_RE, "\\$&"); - subSegmentScore += PathScore.Static; - } else if (token.type === TokenType.Param) { - const { value, repeatable, optional, regexp } = token; - keys.push({ - name: value, - repeatable, - optional - }); - const re = regexp ? regexp : BASE_PARAM_PATTERN; - if (re !== BASE_PARAM_PATTERN) { - subSegmentScore += PathScore.BonusCustomRegExp; - try { - new RegExp(`(${re})`); - } catch (err) { - throw new Error(`Invalid custom RegExp for param "${value}" (${re}): ` + err.message); - } - } - let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`; - if (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : "/" + subPattern; - if (optional) subPattern += "?"; - pattern += subPattern; - subSegmentScore += PathScore.Dynamic; - if (optional) subSegmentScore += PathScore.BonusOptional; - if (repeatable) subSegmentScore += PathScore.BonusRepeatable; - if (re === ".*") subSegmentScore += PathScore.BonusWildcard; - } - segmentScores.push(subSegmentScore); - } - score.push(segmentScores); - } - if (options.strict && options.end) { - const i = score.length - 1; - score[i][score[i].length - 1] += PathScore.BonusStrict; - } - if (!options.strict) pattern += "/?"; - if (options.end) pattern += "$"; - else if (options.strict && !pattern.endsWith("/")) pattern += "(?:/|$)"; - const re = new RegExp(pattern, options.sensitive ? "" : "i"); - function parse(path) { - const match = path.match(re); - const params = {}; - if (!match) return null; - for (let i = 1; i < match.length; i++) { - const value = match[i] || ""; - const key = keys[i - 1]; - params[key.name] = value && key.repeatable ? value.split("/") : value; - } - return params; - } - function stringify(params) { - let path = ""; - let avoidDuplicatedSlash = false; - for (const segment of segments) { - if (!avoidDuplicatedSlash || !path.endsWith("/")) path += "/"; - avoidDuplicatedSlash = false; - for (const token of segment) if (token.type === TokenType.Static) path += token.value; - else if (token.type === TokenType.Param) { - const { value, repeatable, optional } = token; - const param = value in params ? params[value] : ""; - if (isArray(param) && !repeatable) throw new Error(`Provided param "${value}" is an array but it is not repeatable (* or + modifiers)`); - const text = isArray(param) ? param.join("/") : param; - if (!text) if (optional) { - if (segment.length < 2) if (path.endsWith("/")) path = path.slice(0, -1); - else avoidDuplicatedSlash = true; - } else throw new Error(`Missing required param "${value}"`); - path += text; - } - } - return path || "/"; - } - return { - re, - score, - keys, - parse, - stringify - }; -} -/** -* Compares an array of numbers as used in PathParser.score and returns a -* number. This function can be used to `sort` an array -* -* @param a - first array of numbers -* @param b - second array of numbers -* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b -* should be sorted first -*/ -function compareScoreArray(a, b) { - let i = 0; - while (i < a.length && i < b.length) { - const diff = b[i] - a[i]; - if (diff) return diff; - i++; - } - if (a.length < b.length) return a.length === 1 && a[0] === PathScore.Static + PathScore.Segment ? -1 : 1; - else if (a.length > b.length) return b.length === 1 && b[0] === PathScore.Static + PathScore.Segment ? 1 : -1; - return 0; -} -/** -* Compare function that can be used with `sort` to sort an array of PathParser -* -* @param a - first PathParser -* @param b - second PathParser -* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b -*/ -function comparePathParserScore(a, b) { - let i = 0; - const aScore = a.score; - const bScore = b.score; - while (i < aScore.length && i < bScore.length) { - const comp = compareScoreArray(aScore[i], bScore[i]); - if (comp) return comp; - i++; - } - if (Math.abs(bScore.length - aScore.length) === 1) { - if (isLastScoreNegative(aScore)) return 1; - if (isLastScoreNegative(bScore)) return -1; - } - return bScore.length - aScore.length; -} -/** -* This allows detecting splats at the end of a path: /home/:id(.*)* -* -* @param score - score to check -* @returns true if the last entry is negative -*/ -function isLastScoreNegative(score) { - const last = score[score.length - 1]; - return score.length > 0 && last[last.length - 1] < 0; -} -var PATH_PARSER_OPTIONS_DEFAULTS = { - strict: false, - end: true, - sensitive: false -}; -function createRouteRecordMatcher(record, parent, options) { - const parser = tokensToParser(tokenizePath(record.path), options); - { - const existingKeys = /* @__PURE__ */ new Set(); - for (const key of parser.keys) { - if (existingKeys.has(key.name)) warn$1(`Found duplicated params with name "${key.name}" for path "${record.path}". Only the last one will be available on "$route.params".`); - existingKeys.add(key.name); - } - } - const matcher = assign(parser, { - record, - parent, - children: [], - alias: [] - }); - if (parent) { - if (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher); - } - return matcher; -} -/** -* Creates a Router Matcher. -* -* @internal -* @param routes - array of initial routes -* @param globalOptions - global route options -*/ -function createRouterMatcher(routes, globalOptions) { - const matchers = []; - const matcherMap = /* @__PURE__ */ new Map(); - globalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions); - function getRecordMatcher(name) { - return matcherMap.get(name); - } - function addRoute(record, parent, originalRecord) { - const isRootAdd = !originalRecord; - const mainNormalizedRecord = normalizeRouteRecord(record); - checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent); - mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record; - const options = mergeOptions(globalOptions, record); - const normalizedRecords = [mainNormalizedRecord]; - if ("alias" in record) { - const aliases = typeof record.alias === "string" ? [record.alias] : record.alias; - for (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, { - components: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components, - path: alias, - aliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord - }))); - } - let matcher; - let originalMatcher; - for (const normalizedRecord of normalizedRecords) { - const { path } = normalizedRecord; - if (parent && path[0] !== "/") { - const parentPath = parent.record.path; - const connectingSlash = parentPath[parentPath.length - 1] === "/" ? "" : "/"; - normalizedRecord.path = parent.record.path + (path && connectingSlash + path); - } - if (normalizedRecord.path === "*") throw new Error("Catch all routes (\"*\") must now be defined using a param with a custom regexp.\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes."); - matcher = createRouteRecordMatcher(normalizedRecord, parent, options); - if (parent && path[0] === "/") checkMissingParamsInAbsolutePath(matcher, parent); - if (originalRecord) { - originalRecord.alias.push(matcher); - checkSameParams(originalRecord, matcher); - } else { - originalMatcher = originalMatcher || matcher; - if (originalMatcher !== matcher) originalMatcher.alias.push(matcher); - if (isRootAdd && record.name && !isAliasRecord(matcher)) { - checkSameNameAsAncestor(record, parent); - removeRoute(record.name); - } - } - if (isMatchable(matcher)) insertMatcher(matcher); - if (mainNormalizedRecord.children) { - const children = mainNormalizedRecord.children; - for (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]); - } - originalRecord = originalRecord || matcher; - } - return originalMatcher ? () => { - removeRoute(originalMatcher); - } : noop; - } - function removeRoute(matcherRef) { - if (isRouteName(matcherRef)) { - const matcher = matcherMap.get(matcherRef); - if (matcher) { - matcherMap.delete(matcherRef); - matchers.splice(matchers.indexOf(matcher), 1); - matcher.children.forEach(removeRoute); - matcher.alias.forEach(removeRoute); - } - } else { - const index = matchers.indexOf(matcherRef); - if (index > -1) { - matchers.splice(index, 1); - if (matcherRef.record.name) matcherMap.delete(matcherRef.record.name); - matcherRef.children.forEach(removeRoute); - matcherRef.alias.forEach(removeRoute); - } - } - } - function getRoutes() { - return matchers; - } - function insertMatcher(matcher) { - const index = findInsertionIndex(matcher, matchers); - matchers.splice(index, 0, matcher); - if (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher); - } - function resolve(location, currentLocation) { - let matcher; - let params = {}; - let path; - let name; - if ("name" in location && location.name) { - matcher = matcherMap.get(location.name); - if (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, { location }); - { - const invalidParams = Object.keys(location.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName)); - if (invalidParams.length) warn$1(`Discarded invalid param(s) "${invalidParams.join("\", \"")}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`); - } - name = matcher.record.name; - params = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location.params && pickParams(location.params, matcher.keys.map((k) => k.name))); - path = matcher.stringify(params); - } else if (location.path != null) { - path = location.path; - if (!path.startsWith("/")) warn$1(`The Matcher cannot resolve relative paths but received "${path}". Unless you directly called \`matcher.resolve("${path}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`); - matcher = matchers.find((m) => m.re.test(path)); - if (matcher) { - params = matcher.parse(path); - name = matcher.record.name; - } - } else { - matcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path)); - if (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, { - location, - currentLocation - }); - name = matcher.record.name; - params = assign({}, currentLocation.params, location.params); - path = matcher.stringify(params); - } - const matched = []; - let parentMatcher = matcher; - while (parentMatcher) { - matched.unshift(parentMatcher.record); - parentMatcher = parentMatcher.parent; - } - return { - name, - path, - params, - matched, - meta: mergeMetaFields(matched) - }; - } - routes.forEach((route) => addRoute(route)); - function clearRoutes() { - matchers.length = 0; - matcherMap.clear(); - } - return { - addRoute, - resolve, - removeRoute, - clearRoutes, - getRoutes, - getRecordMatcher - }; -} -/** -* Picks an object param to contain only specified keys. -* -* @param params - params object to pick from -* @param keys - keys to pick -*/ -function pickParams(params, keys) { - const newParams = {}; - for (const key of keys) if (key in params) newParams[key] = params[key]; - return newParams; -} -/** -* Normalizes a RouteRecordRaw. Creates a copy -* -* @param record -* @returns the normalized version -*/ -function normalizeRouteRecord(record) { - const normalized = { - path: record.path, - redirect: record.redirect, - name: record.name, - meta: record.meta || {}, - aliasOf: record.aliasOf, - beforeEnter: record.beforeEnter, - props: normalizeRecordProps(record), - children: record.children || [], - instances: {}, - leaveGuards: /* @__PURE__ */ new Set(), - updateGuards: /* @__PURE__ */ new Set(), - enterCallbacks: {}, - components: "components" in record ? record.components || null : record.component && { default: record.component } - }; - Object.defineProperty(normalized, "mods", { value: {} }); - return normalized; -} -/** -* Normalize the optional `props` in a record to always be an object similar to -* components. Also accept a boolean for components. -* @param record -*/ -function normalizeRecordProps(record) { - const propsObject = {}; - const props = record.props || false; - if ("component" in record) propsObject.default = props; - else for (const name in record.components) propsObject[name] = typeof props === "object" ? props[name] : props; - return propsObject; -} -/** -* Checks if a record or any of its parent is an alias -* @param record -*/ -function isAliasRecord(record) { - while (record) { - if (record.record.aliasOf) return true; - record = record.parent; - } - return false; -} -/** -* Merge meta fields of an array of records -* -* @param matched - array of matched records -*/ -function mergeMetaFields(matched) { - return matched.reduce((meta, record) => assign(meta, record.meta), {}); -} -function isSameParam(a, b) { - return a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable; -} -/** -* Check if a path and its alias have the same required params -* -* @param a - original record -* @param b - alias record -*/ -function checkSameParams(a, b) { - for (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias "${b.record.path}" and the original record: "${a.record.path}" must have the exact same param named "${key.name}"`); - for (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias "${b.record.path}" and the original record: "${a.record.path}" must have the exact same param named "${key.name}"`); -} -/** -* A route with a name and a child with an empty path without a name should warn when adding the route -* -* @param mainNormalizedRecord - RouteRecordNormalized -* @param parent - RouteRecordMatcher -*/ -function checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) { - if (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path && mainNormalizedRecord.children.length === 0) warn$1(`The route named "${String(parent.record.name)}" has a child without a name, an empty path, and no children. This is probably a mistake: using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to silence the warning.`); -} -function checkSameNameAsAncestor(record, parent) { - for (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named "${String(record.name)}" has been added as a ${parent === ancestor ? "child" : "descendant"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`); -} -function checkMissingParamsInAbsolutePath(record, parent) { - for (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) return warn$1(`Absolute path "${record.record.path}" must have the exact same param named "${key.name}" as its parent "${parent.record.path}".`); -} -/** -* Performs a binary search to find the correct insertion index for a new matcher. -* -* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships, -* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes. -* -* @param matcher - new matcher to be inserted -* @param matchers - existing matchers -*/ -function findInsertionIndex(matcher, matchers) { - let lower = 0; - let upper = matchers.length; - while (lower !== upper) { - const mid = lower + upper >> 1; - if (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid; - else lower = mid + 1; - } - const insertionAncestor = getInsertionAncestor(matcher); - if (insertionAncestor) { - upper = matchers.lastIndexOf(insertionAncestor, upper - 1); - if (upper < 0) warn$1(`Finding ancestor route "${insertionAncestor.record.path}" failed for "${matcher.record.path}"`); - } - return upper; -} -function getInsertionAncestor(matcher) { - let ancestor = matcher; - while (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor; -} -/** -* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without -* a component, or name, or redirect, are just used to group other routes. -* @param matcher -* @param matcher.record record of the matcher -* @returns -*/ -function isMatchable({ record }) { - return !!(record.name || record.components && Object.keys(record.components).length || record.redirect); -} -/** -* Returns the internal behavior of a {@link RouterLink} without the rendering part. -* -* @param props - a `to` location and an optional `replace` flag -*/ -function useLink(props) { - const router = inject(routerKey); - const currentRoute = inject(routeLocationKey); - let hasPrevious = false; - let previousTo = null; - const route = computed(() => { - const to = unref(props.to); - if (!hasPrevious || to !== previousTo) { - if (!isRouteLocation(to)) if (hasPrevious) warn$1(`Invalid value for prop "to" in useLink()\n- to:`, to, `\n- previous to:`, previousTo, `\n- props:`, props); - else warn$1(`Invalid value for prop "to" in useLink()\n- to:`, to, `\n- props:`, props); - previousTo = to; - hasPrevious = true; - } - return router.resolve(to); - }); - const activeRecordIndex = computed(() => { - const { matched } = route.value; - const { length } = matched; - const routeMatched = matched[length - 1]; - const currentMatched = currentRoute.matched; - if (!routeMatched || !currentMatched.length) return -1; - const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched)); - if (index > -1) return index; - const parentRecordPath = getOriginalPath(matched[length - 2]); - return length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index; - }); - const isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params)); - const isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params)); - function navigate(e = {}) { - if (guardEvent(e)) { - const p = router[unref(props.replace) ? "replace" : "push"](unref(props.to)).catch(noop); - if (props.viewTransition && typeof document !== "undefined" && "startViewTransition" in document) document.startViewTransition(() => p); - return p; - } - return Promise.resolve(); - } - if (isBrowser) { - const instance = getCurrentInstance(); - if (instance) { - const linkContextDevtools = { - route: route.value, - isActive: isActive.value, - isExactActive: isExactActive.value, - error: null - }; - instance.__vrl_devtools = instance.__vrl_devtools || []; - instance.__vrl_devtools.push(linkContextDevtools); - watchEffect(() => { - linkContextDevtools.route = route.value; - linkContextDevtools.isActive = isActive.value; - linkContextDevtools.isExactActive = isExactActive.value; - linkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : "Invalid \"to\" value"; - }, { flush: "post" }); - } - } - /** - * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this - */ - return { - route, - href: computed(() => route.value.href), - isActive, - isExactActive, - navigate - }; -} -function preferSingleVNode(vnodes) { - return vnodes.length === 1 ? vnodes[0] : vnodes; -} -/** -* Component to render a link that triggers a navigation on click. -*/ -var RouterLink = /* @__PURE__ */ defineComponent({ - name: "RouterLink", - compatConfig: { MODE: 3 }, - props: { - to: { - type: [String, Object], - required: true - }, - replace: Boolean, - activeClass: String, - exactActiveClass: String, - custom: Boolean, - ariaCurrentValue: { - type: String, - default: "page" - }, - viewTransition: Boolean - }, - useLink, - setup(props, { slots }) { - const link = reactive(useLink(props)); - const { options } = inject(routerKey); - const elClass = computed(() => ({ - [getLinkClass(props.activeClass, options.linkActiveClass, "router-link-active")]: link.isActive, - [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, "router-link-exact-active")]: link.isExactActive - })); - return () => { - const children = slots.default && preferSingleVNode(slots.default(link)); - return props.custom ? children : h("a", { - "aria-current": link.isExactActive ? props.ariaCurrentValue : null, - href: link.href, - onClick: link.navigate, - class: elClass.value - }, children); - }; - } -}); -function guardEvent(e) { - if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return; - if (e.defaultPrevented) return; - if (e.button !== void 0 && e.button !== 0) return; - if (e.currentTarget && e.currentTarget.getAttribute) { - const target = e.currentTarget.getAttribute("target"); - if (/\b_blank\b/i.test(target)) return; - } - if (e.preventDefault) e.preventDefault(); - return true; -} -function includesParams(outer, inner) { - for (const key in inner) { - const innerValue = inner[key]; - const outerValue = outer[key]; - if (typeof innerValue === "string") { - if (innerValue !== outerValue) return false; - } else if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false; - } - return true; -} -/** -* Get the original path value of a record by following its aliasOf -* @param record -*/ -function getOriginalPath(record) { - return record ? record.aliasOf ? record.aliasOf.path : record.path : ""; -} -/** -* Utility class to get the active class based on defaults. -* @param propClass -* @param globalClass -* @param defaultClass -*/ -var getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass; -var RouterViewImpl = /* @__PURE__ */ defineComponent({ - name: "RouterView", - inheritAttrs: false, - props: { - name: { - type: String, - default: "default" - }, - route: Object - }, - compatConfig: { MODE: 3 }, - setup(props, { attrs, slots }) { - warnDeprecatedUsage(); - const injectedRoute = inject(routerViewLocationKey); - const routeToDisplay = computed(() => props.route || injectedRoute.value); - const injectedDepth = inject(viewDepthKey, 0); - const depth = computed(() => { - let initialDepth = unref(injectedDepth); - const { matched } = routeToDisplay.value; - let matchedRoute; - while ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++; - return initialDepth; - }); - const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]); - provide(viewDepthKey, computed(() => depth.value + 1)); - provide(matchedRouteKey, matchedRouteRef); - provide(routerViewLocationKey, routeToDisplay); - const viewRef = ref(); - watch(() => [ - viewRef.value, - matchedRouteRef.value, - props.name - ], ([instance, to, name], [oldInstance, from, oldName]) => { - if (to) { - to.instances[name] = instance; - if (from && from !== to && instance && instance === oldInstance) { - if (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards; - if (!to.updateGuards.size) to.updateGuards = from.updateGuards; - } - } - if (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance)); - }, { flush: "post" }); - return () => { - const route = routeToDisplay.value; - const currentName = props.name; - const matchedRoute = matchedRouteRef.value; - const ViewComponent = matchedRoute && matchedRoute.components[currentName]; - if (!ViewComponent) return normalizeSlot(slots.default, { - Component: ViewComponent, - route - }); - const routePropsOption = matchedRoute.props[currentName]; - const routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === "function" ? routePropsOption(route) : routePropsOption : null; - const onVnodeUnmounted = (vnode) => { - if (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null; - }; - const component = h(ViewComponent, assign({}, routeProps, attrs, { - onVnodeUnmounted, - ref: viewRef - })); - if (isBrowser && component.ref) { - const info = { - depth: depth.value, - name: matchedRoute.name, - path: matchedRoute.path, - meta: matchedRoute.meta - }; - (isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => { - instance.__vrv_devtools = info; - }); - } - return normalizeSlot(slots.default, { - Component: component, - route - }) || component; - }; - } -}); -function normalizeSlot(slot, data) { - if (!slot) return null; - const slotContent = slot(data); - return slotContent.length === 1 ? slotContent[0] : slotContent; -} -/** -* Component to display the current route the user is at. -*/ -var RouterView = RouterViewImpl; -function warnDeprecatedUsage() { - const instance = getCurrentInstance(); - const parentName = instance.parent && instance.parent.type.name; - const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type; - if (parentName && (parentName === "KeepAlive" || parentName.includes("Transition")) && typeof parentSubTreeType === "object" && parentSubTreeType.name === "RouterView") { - const comp = parentName === "KeepAlive" ? "keep-alive" : "transition"; - warn$1(` can no longer be used directly inside or . -Use slot props instead: - - - <${comp}>\n \n \n`); - } -} -/** -* Creates a Router instance that can be used by a Vue app. -* -* @param options - {@link RouterOptions} -*/ -function createRouter(options) { - const matcher = createRouterMatcher(options.routes, options); - const parseQuery$1 = options.parseQuery || parseQuery; - const stringifyQuery$1 = options.stringifyQuery || stringifyQuery; - const routerHistory = options.history; - if (!routerHistory) throw new Error("Provide the \"history\" option when calling \"createRouter()\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history"); - const beforeGuards = useCallbacks(); - const beforeResolveGuards = useCallbacks(); - const afterGuards = useCallbacks(); - const currentRoute = shallowRef(START_LOCATION_NORMALIZED); - let pendingLocation = START_LOCATION_NORMALIZED; - if (isBrowser && options.scrollBehavior && "scrollRestoration" in history) history.scrollRestoration = "manual"; - const normalizeParams = applyToParams.bind(null, (paramValue) => "" + paramValue); - const encodeParams = applyToParams.bind(null, encodeParam); - const decodeParams = applyToParams.bind(null, decode); - function addRoute(parentOrRoute, route) { - let parent; - let record; - if (isRouteName(parentOrRoute)) { - parent = matcher.getRecordMatcher(parentOrRoute); - if (!parent) warn$1(`Parent route "${String(parentOrRoute)}" not found when adding child route`, route); - record = route; - } else record = parentOrRoute; - return matcher.addRoute(record, parent); - } - function removeRoute(name) { - const recordMatcher = matcher.getRecordMatcher(name); - if (recordMatcher) matcher.removeRoute(recordMatcher); - else warn$1(`Cannot remove non-existent route "${String(name)}"`); - } - function getRoutes() { - return matcher.getRoutes().map((routeMatcher) => routeMatcher.record); - } - function hasRoute(name) { - return !!matcher.getRecordMatcher(name); - } - function resolve(rawLocation, currentLocation) { - currentLocation = assign({}, currentLocation || currentRoute.value); - if (typeof rawLocation === "string") { - const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path); - const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation); - const href = routerHistory.createHref(locationNormalized.fullPath); - if (href.startsWith("//")) warn$1(`Location "${rawLocation}" resolved to "${href}". A resolved location cannot start with multiple slashes.`); - else if (!matchedRoute.matched.length) warn$1(`No match found for location with path "${rawLocation}"`); - return assign(locationNormalized, matchedRoute, { - params: decodeParams(matchedRoute.params), - hash: decode(locationNormalized.hash), - redirectedFrom: void 0, - href - }); - } - if (!isRouteLocation(rawLocation)) { - warn$1(`router.resolve() was passed an invalid location. This will fail in production.\n- Location:`, rawLocation); - return resolve({}); - } - let matcherLocation; - if (rawLocation.path != null) { - if ("params" in rawLocation && !("name" in rawLocation) && Object.keys(rawLocation.params).length) warn$1(`Path "${rawLocation.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`); - matcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path }); - } else { - const targetParams = assign({}, rawLocation.params); - for (const key in targetParams) if (targetParams[key] == null) delete targetParams[key]; - matcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) }); - currentLocation.params = encodeParams(currentLocation.params); - } - const matchedRoute = matcher.resolve(matcherLocation, currentLocation); - const hash = rawLocation.hash || ""; - if (hash && !hash.startsWith("#")) warn$1(`A \`hash\` should always start with the character "#". Replace "${hash}" with "#${hash}".`); - matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params)); - const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, { - hash: encodeHash(hash), - path: matchedRoute.path - })); - const href = routerHistory.createHref(fullPath); - if (href.startsWith("//")) warn$1(`Location "${rawLocation}" resolved to "${href}". A resolved location cannot start with multiple slashes.`); - else if (!matchedRoute.matched.length) warn$1(`No match found for location with path "${rawLocation.path != null ? rawLocation.path : rawLocation}"`); - return assign({ - fullPath, - hash, - query: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {} - }, matchedRoute, { - redirectedFrom: void 0, - href - }); - } - function locationAsObject(to) { - return typeof to === "string" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to); - } - function checkCanceledNavigation(to, from) { - if (pendingLocation !== to) return createRouterError(ErrorTypes.NAVIGATION_CANCELLED, { - from, - to - }); - } - function push(to) { - return pushWithRedirect(to); - } - function replace(to) { - return push(assign(locationAsObject(to), { replace: true })); - } - function handleRedirectRecord(to, from) { - const lastMatched = to.matched[to.matched.length - 1]; - if (lastMatched && lastMatched.redirect) { - const { redirect } = lastMatched; - let newTargetLocation = typeof redirect === "function" ? redirect(to, from) : redirect; - if (typeof newTargetLocation === "string") { - newTargetLocation = newTargetLocation.includes("?") || newTargetLocation.includes("#") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation }; - newTargetLocation.params = {}; - } - if (newTargetLocation.path == null && !("name" in newTargetLocation)) { - warn$1(`Invalid redirect found:\n${JSON.stringify(newTargetLocation, null, 2)}\n when navigating to "${to.fullPath}". A redirect must contain a name or path. This will break in production.`); - throw new Error("Invalid redirect"); - } - return assign({ - query: to.query, - hash: to.hash, - params: newTargetLocation.path != null ? {} : to.params - }, newTargetLocation); - } - } - function pushWithRedirect(to, redirectedFrom) { - const targetLocation = pendingLocation = resolve(to); - const from = currentRoute.value; - const data = to.state; - const force = to.force; - const replace = to.replace === true; - const shouldRedirect = handleRedirectRecord(targetLocation, from); - if (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), { - state: typeof shouldRedirect === "object" ? assign({}, data, shouldRedirect.state) : data, - force, - replace - }), redirectedFrom || targetLocation); - const toLocation = targetLocation; - toLocation.redirectedFrom = redirectedFrom; - let failure; - if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) { - failure = createRouterError(ErrorTypes.NAVIGATION_DUPLICATED, { - to: toLocation, - from - }); - handleScroll(from, from, true, false); - } - return (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure) => { - if (failure) { - if (isNavigationFailure(failure, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) { - if (isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) { - warn$1(`Detected a possibly infinite redirection in a navigation guard when going from "${from.fullPath}" to "${toLocation.fullPath}". Aborting to avoid a Stack Overflow.\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`); - return Promise.reject(/* @__PURE__ */ new Error("Infinite redirect in navigation guard")); - } - return pushWithRedirect(assign({ replace }, locationAsObject(failure.to), { - state: typeof failure.to === "object" ? assign({}, data, failure.to.state) : data, - force - }), redirectedFrom || toLocation); - } - } else failure = finalizeNavigation(toLocation, from, true, replace, data); - triggerAfterEach(toLocation, from, failure); - return failure; - }); - } - /** - * Helper to reject and skip all navigation guards if a new navigation happened - * @param to - * @param from - */ - function checkCanceledNavigationAndReject(to, from) { - const error = checkCanceledNavigation(to, from); - return error ? Promise.reject(error) : Promise.resolve(); - } - function runWithContext(fn) { - const app = installedApps.values().next().value; - return app && typeof app.runWithContext === "function" ? app.runWithContext(fn) : fn(); - } - function navigate(to, from) { - let guards; - const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from); - guards = extractComponentsGuards(leavingRecords.reverse(), "beforeRouteLeave", to, from); - for (const record of leavingRecords) record.leaveGuards.forEach((guard) => { - guards.push(guardToPromiseFn(guard, to, from)); - }); - const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from); - guards.push(canceledNavigationCheck); - return runGuardQueue(guards).then(() => { - guards = []; - for (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from)); - guards.push(canceledNavigationCheck); - return runGuardQueue(guards); - }).then(() => { - guards = extractComponentsGuards(updatingRecords, "beforeRouteUpdate", to, from); - for (const record of updatingRecords) record.updateGuards.forEach((guard) => { - guards.push(guardToPromiseFn(guard, to, from)); - }); - guards.push(canceledNavigationCheck); - return runGuardQueue(guards); - }).then(() => { - guards = []; - for (const record of enteringRecords) if (record.beforeEnter) if (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from)); - else guards.push(guardToPromiseFn(record.beforeEnter, to, from)); - guards.push(canceledNavigationCheck); - return runGuardQueue(guards); - }).then(() => { - to.matched.forEach((record) => record.enterCallbacks = {}); - guards = extractComponentsGuards(enteringRecords, "beforeRouteEnter", to, from, runWithContext); - guards.push(canceledNavigationCheck); - return runGuardQueue(guards); - }).then(() => { - guards = []; - for (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from)); - guards.push(canceledNavigationCheck); - return runGuardQueue(guards); - }).catch((err) => isNavigationFailure(err, ErrorTypes.NAVIGATION_CANCELLED) ? err : Promise.reject(err)); - } - function triggerAfterEach(to, from, failure) { - afterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure))); - } - /** - * - Cleans up any navigation guards - * - Changes the url if necessary - * - Calls the scrollBehavior - */ - function finalizeNavigation(toLocation, from, isPush, replace, data) { - const error = checkCanceledNavigation(toLocation, from); - if (error) return error; - const isFirstNavigation = from === START_LOCATION_NORMALIZED; - const state = !isBrowser ? {} : history.state; - if (isPush) if (replace || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data)); - else routerHistory.push(toLocation.fullPath, data); - currentRoute.value = toLocation; - handleScroll(toLocation, from, isPush, isFirstNavigation); - markAsReady(); - } - let removeHistoryListener; - function setupListeners() { - if (removeHistoryListener) return; - removeHistoryListener = routerHistory.listen((to, _from, info) => { - if (!router.listening) return; - const toLocation = resolve(to); - const shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value); - if (shouldRedirect) { - pushWithRedirect(assign(shouldRedirect, { - replace: true, - force: true - }), toLocation).catch(noop); - return; - } - pendingLocation = toLocation; - const from = currentRoute.value; - if (isBrowser) saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition()); - navigate(toLocation, from).catch((error) => { - if (isNavigationFailure(error, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_CANCELLED)) return error; - if (isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) { - pushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => { - if (isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED) && !info.delta && info.type === NavigationType.pop) routerHistory.go(-1, false); - }).catch(noop); - return Promise.reject(); - } - if (info.delta) routerHistory.go(-info.delta, false); - return triggerError(error, toLocation, from); - }).then((failure) => { - failure = failure || finalizeNavigation(toLocation, from, false); - if (failure) { - if (info.delta && !isNavigationFailure(failure, ErrorTypes.NAVIGATION_CANCELLED)) routerHistory.go(-info.delta, false); - else if (info.type === NavigationType.pop && isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED)) routerHistory.go(-1, false); - } - triggerAfterEach(toLocation, from, failure); - }).catch(noop); - }); - } - let readyHandlers = useCallbacks(); - let errorListeners = useCallbacks(); - let ready; - /** - * Trigger errorListeners added via onError and throws the error as well - * - * @param error - error to throw - * @param to - location we were navigating to when the error happened - * @param from - location we were navigating from when the error happened - * @returns the error as a rejected promise - */ - function triggerError(error, to, from) { - markAsReady(error); - const list = errorListeners.list(); - if (list.length) list.forEach((handler) => handler(error, to, from)); - else { - warn$1("uncaught error during route navigation:"); - console.error(error); - } - return Promise.reject(error); - } - function isReady() { - if (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve(); - return new Promise((resolve, reject) => { - readyHandlers.add([resolve, reject]); - }); - } - function markAsReady(err) { - if (!ready) { - ready = !err; - setupListeners(); - readyHandlers.list().forEach(([resolve, reject]) => err ? reject(err) : resolve()); - readyHandlers.reset(); - } - return err; - } - function handleScroll(to, from, isPush, isFirstNavigation) { - const { scrollBehavior } = options; - if (!isBrowser || !scrollBehavior) return Promise.resolve(); - const scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null; - return nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => position && scrollToPosition(position)).catch((err) => triggerError(err, to, from)); - } - const go = (delta) => routerHistory.go(delta); - let started; - const installedApps = /* @__PURE__ */ new Set(); - const router = { - currentRoute, - listening: true, - addRoute, - removeRoute, - clearRoutes: matcher.clearRoutes, - hasRoute, - getRoutes, - resolve, - options, - push, - replace, - go, - back: () => go(-1), - forward: () => go(1), - beforeEach: beforeGuards.add, - beforeResolve: beforeResolveGuards.add, - afterEach: afterGuards.add, - onError: errorListeners.add, - isReady, - install(app) { - app.component("RouterLink", RouterLink); - app.component("RouterView", RouterView); - app.config.globalProperties.$router = router; - Object.defineProperty(app.config.globalProperties, "$route", { - enumerable: true, - get: () => unref(currentRoute) - }); - if (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) { - started = true; - push(routerHistory.location).catch((err) => { - warn$1("Unexpected error when starting the router:", err); - }); - } - const reactiveRoute = {}; - for (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, { - get: () => currentRoute.value[key], - enumerable: true - }); - app.provide(routerKey, router); - app.provide(routeLocationKey, shallowReactive(reactiveRoute)); - app.provide(routerViewLocationKey, currentRoute); - const unmountApp = app.unmount; - installedApps.add(app); - app.unmount = function() { - installedApps.delete(app); - if (installedApps.size < 1) { - pendingLocation = START_LOCATION_NORMALIZED; - removeHistoryListener && removeHistoryListener(); - removeHistoryListener = null; - currentRoute.value = START_LOCATION_NORMALIZED; - started = false; - ready = false; - } - unmountApp(); - }; - if (isBrowser && true) addDevtools(app, router, matcher); - } - }; - function runGuardQueue(guards) { - return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve()); - } - return router; -} -//#endregion -export { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey }; - -//# sourceMappingURL=vue-router.js.map \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/vue-router.js.map b/src/.vuepress/.cache/deps/vue-router.js.map deleted file mode 100644 index b42e8cb9e..000000000 --- a/src/.vuepress/.cache/deps/vue-router.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"vue-router.js","names":[],"sources":["../../../../node_modules/vue-router/dist/useApi-C8XBqGtv.js","../../../../node_modules/vue-router/dist/devtools-DUDsFuj9.js","../../../../node_modules/vue-router/dist/vue-router.js"],"sourcesContent":["/*!\n * vue-router v5.0.4\n * (c) 2026 Eduardo San Martin Morote\n * @license MIT\n */\nimport { inject } from \"vue\";\n\n//#region src/utils/env.ts\nconst isBrowser = typeof document !== \"undefined\";\n\n//#endregion\n//#region src/utils/index.ts\n/**\n* Identity function that returns the value as is.\n*\n* @param v - the value to return\n*\n* @internal\n*/\nconst identityFn = (v) => v;\n/**\n* Allows differentiating lazy components from functional components and vue-class-component\n* @internal\n*\n* @param component\n*/\nfunction isRouteComponent(component) {\n\treturn typeof component === \"object\" || \"displayName\" in component || \"props\" in component || \"__vccOpts\" in component;\n}\nfunction isESModule(obj) {\n\treturn obj.__esModule || obj[Symbol.toStringTag] === \"Module\" || obj.default && isRouteComponent(obj.default);\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n\tconst newParams = {};\n\tfor (const key in params) {\n\t\tconst value = params[key];\n\t\tnewParams[key] = isArray(value) ? value.map(fn) : fn(value);\n\t}\n\treturn newParams;\n}\nconst noop = () => {};\n/**\n* Typesafe alternative to Array.isArray\n* https://github.com/microsoft/TypeScript/pull/48228\n*\n* @internal\n*/\nconst isArray = Array.isArray;\nfunction mergeOptions(defaults, partialOptions) {\n\tconst options = {};\n\tfor (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n\treturn options;\n}\n\n//#endregion\n//#region src/errors.ts\n/**\n* Flags so we can combine them when checking for multiple errors. This is the internal version of\n* {@link NavigationFailureType}.\n*\n* @internal\n*/\nlet ErrorTypes = /* @__PURE__ */ function(ErrorTypes) {\n\tErrorTypes[ErrorTypes[\"MATCHER_NOT_FOUND\"] = 1] = \"MATCHER_NOT_FOUND\";\n\tErrorTypes[ErrorTypes[\"NAVIGATION_GUARD_REDIRECT\"] = 2] = \"NAVIGATION_GUARD_REDIRECT\";\n\tErrorTypes[ErrorTypes[\"NAVIGATION_ABORTED\"] = 4] = \"NAVIGATION_ABORTED\";\n\tErrorTypes[ErrorTypes[\"NAVIGATION_CANCELLED\"] = 8] = \"NAVIGATION_CANCELLED\";\n\tErrorTypes[ErrorTypes[\"NAVIGATION_DUPLICATED\"] = 16] = \"NAVIGATION_DUPLICATED\";\n\treturn ErrorTypes;\n}({});\nconst NavigationFailureSymbol = Symbol(process.env.NODE_ENV !== \"production\" ? \"navigation failure\" : \"\");\n/**\n* Enumeration with all possible types for navigation failures. Can be passed to\n* {@link isNavigationFailure} to check for specific failures.\n*/\nlet NavigationFailureType = /* @__PURE__ */ function(NavigationFailureType) {\n\t/**\n\t* An aborted navigation is a navigation that failed because a navigation\n\t* guard returned `false` or called `next(false)`\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n\t/**\n\t* A cancelled navigation is a navigation that failed because a more recent\n\t* navigation finished started (not necessarily finished).\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n\t/**\n\t* A duplicated navigation is a navigation that failed because it was\n\t* initiated while already being at the exact same location.\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n\treturn NavigationFailureType;\n}({});\nconst ErrorTypeMessages = {\n\t[ErrorTypes.MATCHER_NOT_FOUND]({ location, currentLocation }) {\n\t\treturn `No match for\\n ${JSON.stringify(location)}${currentLocation ? \"\\nwhile being at\\n\" + JSON.stringify(currentLocation) : \"\"}`;\n\t},\n\t[ErrorTypes.NAVIGATION_GUARD_REDIRECT]({ from, to }) {\n\t\treturn `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n\t},\n\t[ErrorTypes.NAVIGATION_ABORTED]({ from, to }) {\n\t\treturn `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n\t},\n\t[ErrorTypes.NAVIGATION_CANCELLED]({ from, to }) {\n\t\treturn `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n\t},\n\t[ErrorTypes.NAVIGATION_DUPLICATED]({ from, to }) {\n\t\treturn `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n\t}\n};\n/**\n* Creates a typed NavigationFailure object.\n* @internal\n* @param type - NavigationFailureType\n* @param params - { from, to }\n*/\nfunction createRouterError(type, params) {\n\tif (process.env.NODE_ENV !== \"production\" || false) return assign(new Error(ErrorTypeMessages[type](params)), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n\telse return assign(/* @__PURE__ */ new Error(), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n}\nfunction isNavigationFailure(error, type) {\n\treturn error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type));\n}\nconst propertiesToLog = [\n\t\"params\",\n\t\"query\",\n\t\"hash\"\n];\nfunction stringifyRoute(to) {\n\tif (typeof to === \"string\") return to;\n\tif (to.path != null) return to.path;\n\tconst location = {};\n\tfor (const key of propertiesToLog) if (key in to) location[key] = to[key];\n\treturn JSON.stringify(location, null, 2);\n}\n\n//#endregion\n//#region src/injectionSymbols.ts\n/**\n* RouteRecord being rendered by the closest ancestor Router View. Used for\n* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n* Location Matched\n*\n* @internal\n*/\nconst matchedRouteKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location matched\" : \"\");\n/**\n* Allows overriding the router view depth to control which component in\n* `matched` is rendered. rvd stands for Router View Depth\n*\n* @internal\n*/\nconst viewDepthKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view depth\" : \"\");\n/**\n* Allows overriding the router instance returned by `useRouter` in tests. r\n* stands for router\n*\n* @internal\n*/\nconst routerKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router\" : \"\");\n/**\n* Allows overriding the current route returned by `useRoute` in tests. rl\n* stands for route location\n*\n* @internal\n*/\nconst routeLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"route location\" : \"\");\n/**\n* Allows overriding the current route used by router-view. Internally this is\n* used when the `route` prop is passed.\n*\n* @internal\n*/\nconst routerViewLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location\" : \"\");\n\n//#endregion\n//#region src/useApi.ts\n/**\n* Returns the router instance. Equivalent to using `$router` inside\n* templates.\n*/\nfunction useRouter() {\n\treturn inject(routerKey);\n}\n/**\n* Returns the current route location. Equivalent to using `$route` inside\n* templates.\n*/\nfunction useRoute(_name) {\n\treturn inject(routeLocationKey);\n}\n\n//#endregion\nexport { isRouteComponent as _, routerKey as a, isBrowser as b, ErrorTypes as c, isNavigationFailure as d, applyToParams as f, isESModule as g, isArray as h, routeLocationKey as i, NavigationFailureType as l, identityFn as m, useRouter as n, routerViewLocationKey as o, assign as p, matchedRouteKey as r, viewDepthKey as s, useRoute as t, createRouterError as u, mergeOptions as v, noop as y };","/*!\n * vue-router v5.0.4\n * (c) 2026 Eduardo San Martin Morote\n * @license MIT\n */\nimport { _ as isRouteComponent, b as isBrowser, c as ErrorTypes, g as isESModule, h as isArray, p as assign, r as matchedRouteKey, u as createRouterError } from \"./useApi-C8XBqGtv.js\";\nimport { getCurrentInstance, inject, onActivated, onDeactivated, onUnmounted, watch } from \"vue\";\nimport { setupDevtoolsPlugin } from \"@vue/devtools-api\";\n\n//#region src/warning.ts\nfunction warn$1(msg) {\n\tconst args = Array.from(arguments).slice(1);\n\tconsole.warn.apply(console, [\"[Vue Router warn]: \" + msg].concat(args));\n}\n\n//#endregion\n//#region src/encoding.ts\n/**\n* Encoding Rules (␣ = Space)\n* - Path: ␣ \" < > # ? { }\n* - Query: ␣ \" < > # & =\n* - Hash: ␣ \" < > `\n*\n* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n* defines some extra characters to be encoded. Most browsers do not encode them\n* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n* plus `-._~`. This extra safety should be applied to query by patching the\n* string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n* into a `/` if directly typed in. The _backtick_ (`````) should also be\n* encoded everywhere because some browsers like FF encode it when directly\n* written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n*/\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\n/**\n* NOTE: It's not clear to me if we should encode the + symbol in queries, it\n* seems to be less flexible than not doing so and I can't find out the legacy\n* systems requiring this for regular requests like text/html. In the standard,\n* the encoding of the plus character is only mentioned for\n* application/x-www-form-urlencoded\n* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n* leave the plus character as is in queries. To be more flexible, we allow the\n* plus character on the query, but it can also be manually encoded by the user.\n*\n* Resources:\n* - https://url.spec.whatwg.org/#urlencoded-parsing\n* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n*/\nconst ENC_BRACKET_OPEN_RE = /%5B/g;\nconst ENC_BRACKET_CLOSE_RE = /%5D/g;\nconst ENC_CARET_RE = /%5E/g;\nconst ENC_BACKTICK_RE = /%60/g;\nconst ENC_CURLY_OPEN_RE = /%7B/g;\nconst ENC_PIPE_RE = /%7C/g;\nconst ENC_CURLY_CLOSE_RE = /%7D/g;\nconst ENC_SPACE_RE = /%20/g;\n/**\n* Encode characters that need to be encoded on the path, search and hash\n* sections of the URL.\n*\n* @internal\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction commonEncode(text) {\n\treturn text == null ? \"\" : encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\").replace(ENC_BRACKET_OPEN_RE, \"[\").replace(ENC_BRACKET_CLOSE_RE, \"]\");\n}\n/**\n* Encode characters that need to be encoded on the hash section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeHash(text) {\n\treturn commonEncode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Encode characters that need to be encoded query values on the query\n* section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeQueryValue(text) {\n\treturn commonEncode(text).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Like `encodeQueryValue` but also encodes the `=` character.\n*\n* @param text - string to encode\n*/\nfunction encodeQueryKey(text) {\n\treturn encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodePath(text) {\n\treturn commonEncode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL as a\n* param. This function encodes everything {@link encodePath} does plus the\n* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n* string instead.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeParam(text) {\n\treturn encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text) {\n\tif (text == null) return null;\n\ttry {\n\t\treturn decodeURIComponent(\"\" + text);\n\t} catch (err) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warn$1(`Error decoding \"${text}\". Using original value`);\n\t}\n\treturn \"\" + text;\n}\n\n//#endregion\n//#region src/location.ts\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, \"\");\n/**\n* Transforms a URI into a normalized history location\n*\n* @param parseQuery\n* @param location - URI to normalize\n* @param currentLocation - current absolute location. Allows resolving relative\n* paths. Must start with `/`. Defaults to `/`\n* @returns a normalized history location\n*/\nfunction parseURL(parseQuery, location, currentLocation = \"/\") {\n\tlet path, query = {}, searchString = \"\", hash = \"\";\n\tconst hashPos = location.indexOf(\"#\");\n\tlet searchPos = location.indexOf(\"?\");\n\tsearchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos;\n\tif (searchPos >= 0) {\n\t\tpath = location.slice(0, searchPos);\n\t\tsearchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length);\n\t\tquery = parseQuery(searchString.slice(1));\n\t}\n\tif (hashPos >= 0) {\n\t\tpath = path || location.slice(0, hashPos);\n\t\thash = location.slice(hashPos, location.length);\n\t}\n\tpath = resolveRelativePath(path != null ? path : location, currentLocation);\n\treturn {\n\t\tfullPath: path + searchString + hash,\n\t\tpath,\n\t\tquery,\n\t\thash: decode(hash)\n\t};\n}\nfunction NEW_stringifyURL(stringifyQuery, path, query, hash = \"\") {\n\tconst searchText = stringifyQuery(query);\n\treturn path + (searchText && \"?\") + searchText + encodeHash(hash);\n}\n/**\n* Stringifies a URL object\n*\n* @param stringifyQuery\n* @param location\n*/\nfunction stringifyURL(stringifyQuery, location) {\n\tconst query = location.query ? stringifyQuery(location.query) : \"\";\n\treturn location.path + (query && \"?\") + query + (location.hash || \"\");\n}\n/**\n* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n*\n* @param pathname - location.pathname\n* @param base - base to strip off\n*/\nfunction stripBase(pathname, base) {\n\tif (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname;\n\treturn pathname.slice(base.length) || \"/\";\n}\n/**\n* Checks if two RouteLocation are equal. This means that both locations are\n* pointing towards the same {@link RouteRecord} and that all `params`, `query`\n* parameters and `hash` are the same\n*\n* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n* @param a - first {@link RouteLocation}\n* @param b - second {@link RouteLocation}\n*/\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n\tconst aLastIndex = a.matched.length - 1;\n\tconst bLastIndex = b.matched.length - 1;\n\treturn aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery(a.query) === stringifyQuery(b.query) && a.hash === b.hash;\n}\n/**\n* Check if two `RouteRecords` are equal. Takes into account aliases: they are\n* considered equal to the `RouteRecord` they are aliasing.\n*\n* @param a - first {@link RouteRecord}\n* @param b - second {@link RouteRecord}\n*/\nfunction isSameRouteRecord(a, b) {\n\treturn (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n\tif (Object.keys(a).length !== Object.keys(b).length) return false;\n\tfor (var key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false;\n\treturn true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n\treturn isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf());\n}\n/**\n* Check if two arrays are the same or if an array with one single entry is the\n* same as another primitive value. Used to check query and parameters\n*\n* @param a - array of values\n* @param b - array of values or a single value\n*/\nfunction isEquivalentArray(a, b) {\n\treturn isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;\n}\n/**\n* Resolves a relative path that starts with `.`.\n*\n* @param to - path location we are resolving\n* @param from - currentLocation.path, should start with `/`\n*/\nfunction resolveRelativePath(to, from) {\n\tif (to.startsWith(\"/\")) return to;\n\tif (process.env.NODE_ENV !== \"production\" && !from.startsWith(\"/\")) {\n\t\twarn$1(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n\t\treturn to;\n\t}\n\tif (!to) return from;\n\tconst fromSegments = from.split(\"/\");\n\tconst toSegments = to.split(\"/\");\n\tconst lastToSegment = toSegments[toSegments.length - 1];\n\tif (lastToSegment === \"..\" || lastToSegment === \".\") toSegments.push(\"\");\n\tlet position = fromSegments.length - 1;\n\tlet toPosition;\n\tlet segment;\n\tfor (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n\t\tsegment = toSegments[toPosition];\n\t\tif (segment === \".\") continue;\n\t\tif (segment === \"..\") {\n\t\t\tif (position > 1) position--;\n\t\t} else break;\n\t}\n\treturn fromSegments.slice(0, position).join(\"/\") + \"/\" + toSegments.slice(toPosition).join(\"/\");\n}\n/**\n* Initial route location where the router is. Can be used in navigation guards\n* to differentiate the initial navigation.\n*\n* @example\n* ```js\n* import { START_LOCATION } from 'vue-router'\n*\n* router.beforeEach((to, from) => {\n* if (from === START_LOCATION) {\n* // initial navigation\n* }\n* })\n* ```\n*/\nconst START_LOCATION_NORMALIZED = {\n\tpath: \"/\",\n\tname: void 0,\n\tparams: {},\n\tquery: {},\n\thash: \"\",\n\tfullPath: \"/\",\n\tmatched: [],\n\tmeta: {},\n\tredirectedFrom: void 0\n};\n\n//#endregion\n//#region src/history/common.ts\nlet NavigationType = /* @__PURE__ */ function(NavigationType) {\n\tNavigationType[\"pop\"] = \"pop\";\n\tNavigationType[\"push\"] = \"push\";\n\treturn NavigationType;\n}({});\nlet NavigationDirection = /* @__PURE__ */ function(NavigationDirection) {\n\tNavigationDirection[\"back\"] = \"back\";\n\tNavigationDirection[\"forward\"] = \"forward\";\n\tNavigationDirection[\"unknown\"] = \"\";\n\treturn NavigationDirection;\n}({});\n/**\n* Starting location for Histories\n*/\nconst START = \"\";\n/**\n* Normalizes a base by removing any trailing slash and reading the base tag if\n* present.\n*\n* @param base - base to normalize\n*/\nfunction normalizeBase(base) {\n\tif (!base) if (isBrowser) {\n\t\tconst baseEl = document.querySelector(\"base\");\n\t\tbase = baseEl && baseEl.getAttribute(\"href\") || \"/\";\n\t\tbase = base.replace(/^\\w+:\\/\\/[^\\/]+/, \"\");\n\t} else base = \"/\";\n\tif (base[0] !== \"/\" && base[0] !== \"#\") base = \"/\" + base;\n\treturn removeTrailingSlash(base);\n}\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n\treturn base.replace(BEFORE_HASH_RE, \"#\") + location;\n}\n\n//#endregion\n//#region src/scrollBehavior.ts\nfunction getElementPosition(el, offset) {\n\tconst docRect = document.documentElement.getBoundingClientRect();\n\tconst elRect = el.getBoundingClientRect();\n\treturn {\n\t\tbehavior: offset.behavior,\n\t\tleft: elRect.left - docRect.left - (offset.left || 0),\n\t\ttop: elRect.top - docRect.top - (offset.top || 0)\n\t};\n}\nconst computeScrollPosition = () => ({\n\tleft: window.scrollX,\n\ttop: window.scrollY\n});\nfunction scrollToPosition(position) {\n\tlet scrollToOptions;\n\tif (\"el\" in position) {\n\t\tconst positionEl = position.el;\n\t\tconst isIdSelector = typeof positionEl === \"string\" && positionEl.startsWith(\"#\");\n\t\t/**\n\t\t* `id`s can accept pretty much any characters, including CSS combinators\n\t\t* like `>` or `~`. It's still possible to retrieve elements using\n\t\t* `document.getElementById('~')` but it needs to be escaped when using\n\t\t* `document.querySelector('#\\\\~')` for it to be valid. The only\n\t\t* requirements for `id`s are them to be unique on the page and to not be\n\t\t* empty (`id=\"\"`). Because of that, when passing an id selector, it should\n\t\t* be properly escaped for it to work with `querySelector`. We could check\n\t\t* for the id selector to be simple (no CSS combinators `+ >~`) but that\n\t\t* would make things inconsistent since they are valid characters for an\n\t\t* `id` but would need to be escaped when using `querySelector`, breaking\n\t\t* their usage and ending up in no selector returned. Selectors need to be\n\t\t* escaped:\n\t\t*\n\t\t* - `#1-thing` becomes `#\\31 -thing`\n\t\t* - `#with~symbols` becomes `#with\\\\~symbols`\n\t\t*\n\t\t* - More information about the topic can be found at\n\t\t* https://mathiasbynens.be/notes/html5-id-class.\n\t\t* - Practical example: https://mathiasbynens.be/demo/html5-id\n\t\t*/\n\t\tif (process.env.NODE_ENV !== \"production\" && typeof position.el === \"string\") {\n\t\t\tif (!isIdSelector || !document.getElementById(position.el.slice(1))) try {\n\t\t\t\tconst foundEl = document.querySelector(position.el);\n\t\t\t\tif (isIdSelector && foundEl) {\n\t\t\t\t\twarn$1(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\twarn$1(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tconst el = typeof positionEl === \"string\" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;\n\t\tif (!el) {\n\t\t\tprocess.env.NODE_ENV !== \"production\" && warn$1(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n\t\t\treturn;\n\t\t}\n\t\tscrollToOptions = getElementPosition(el, position);\n\t} else scrollToOptions = position;\n\tif (\"scrollBehavior\" in document.documentElement.style) window.scrollTo(scrollToOptions);\n\telse window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n}\nfunction getScrollKey(path, delta) {\n\treturn (history.state ? history.state.position - delta : -1) + path;\n}\nconst scrollPositions = /* @__PURE__ */ new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n\tscrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n\tconst scroll = scrollPositions.get(key);\n\tscrollPositions.delete(key);\n\treturn scroll;\n}\n/**\n* ScrollBehavior instance used by the router to compute and restore the scroll\n* position when navigating.\n*/\n\n//#endregion\n//#region src/types/typeGuards.ts\nfunction isRouteLocation(route) {\n\treturn typeof route === \"string\" || route && typeof route === \"object\";\n}\nfunction isRouteName(name) {\n\treturn typeof name === \"string\" || typeof name === \"symbol\";\n}\n\n//#endregion\n//#region src/query.ts\n/**\n* Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n* version with the leading `?` and without Should work as URLSearchParams\n\n* @internal\n*\n* @param search - search string to parse\n* @returns a query object\n*/\nfunction parseQuery(search) {\n\tconst query = {};\n\tif (search === \"\" || search === \"?\") return query;\n\tconst searchParams = (search[0] === \"?\" ? search.slice(1) : search).split(\"&\");\n\tfor (let i = 0; i < searchParams.length; ++i) {\n\t\tconst searchParam = searchParams[i].replace(PLUS_RE, \" \");\n\t\tconst eqPos = searchParam.indexOf(\"=\");\n\t\tconst key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n\t\tconst value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n\t\tif (key in query) {\n\t\t\tlet currentValue = query[key];\n\t\t\tif (!isArray(currentValue)) currentValue = query[key] = [currentValue];\n\t\t\tcurrentValue.push(value);\n\t\t} else query[key] = value;\n\t}\n\treturn query;\n}\n/**\n* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n* doesn't prepend a `?`\n*\n* @internal\n*\n* @param query - query object to stringify\n* @returns string version of the query without the leading `?`\n*/\nfunction stringifyQuery(query) {\n\tlet search = \"\";\n\tfor (let key in query) {\n\t\tconst value = query[key];\n\t\tkey = encodeQueryKey(key);\n\t\tif (value == null) {\n\t\t\tif (value !== void 0) search += (search.length ? \"&\" : \"\") + key;\n\t\t\tcontinue;\n\t\t}\n\t\t(isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value) => {\n\t\t\tif (value !== void 0) {\n\t\t\t\tsearch += (search.length ? \"&\" : \"\") + key;\n\t\t\t\tif (value != null) search += \"=\" + value;\n\t\t\t}\n\t\t});\n\t}\n\treturn search;\n}\n/**\n* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n* numbers into strings, removing keys with an undefined value and replacing\n* undefined with null in arrays\n*\n* @param query - query object to normalize\n* @returns a normalized query object\n*/\nfunction normalizeQuery(query) {\n\tconst normalizedQuery = {};\n\tfor (const key in query) {\n\t\tconst value = query[key];\n\t\tif (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : \"\" + v) : value == null ? value : \"\" + value;\n\t}\n\treturn normalizedQuery;\n}\n\n//#endregion\n//#region src/utils/callbacks.ts\n/**\n* Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n*/\nfunction useCallbacks() {\n\tlet handlers = [];\n\tfunction add(handler) {\n\t\thandlers.push(handler);\n\t\treturn () => {\n\t\t\tconst i = handlers.indexOf(handler);\n\t\t\tif (i > -1) handlers.splice(i, 1);\n\t\t};\n\t}\n\tfunction reset() {\n\t\thandlers = [];\n\t}\n\treturn {\n\t\tadd,\n\t\tlist: () => handlers.slice(),\n\t\treset\n\t};\n}\n\n//#endregion\n//#region src/navigationGuards.ts\nfunction registerGuard(activeRecordRef, name, guard) {\n\tconst record = activeRecordRef.value;\n\tif (!record) {\n\t\tif (process.env.NODE_ENV !== \"production\") warn$1(`No active route record was found when calling \\`${name === \"updateGuards\" ? \"onBeforeRouteUpdate\" : \"onBeforeRouteLeave\"}()\\`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?`);\n\t\treturn;\n\t}\n\tlet currentRecord = record;\n\tconst removeFromList = () => {\n\t\tcurrentRecord[name].delete(guard);\n\t};\n\tonUnmounted(removeFromList);\n\tonDeactivated(removeFromList);\n\tonActivated(() => {\n\t\tconst newRecord = activeRecordRef.value;\n\t\tif (process.env.NODE_ENV !== \"production\" && !newRecord) warn$1(\"No active route record was found when reactivating component with navigation guard. This is likely a bug in vue-router. Please report it.\");\n\t\tif (newRecord) currentRecord = newRecord;\n\t\tcurrentRecord[name].add(guard);\n\t});\n\tcurrentRecord[name].add(guard);\n}\n/**\n* Add a navigation guard that triggers whenever the component for the current\n* location is about to be left. Similar to {@link beforeRouteLeave} but can be\n* used in any component. The guard is removed when the component is unmounted.\n*\n* @param leaveGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteLeave(leaveGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\twarn$1(\"getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function\");\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"leaveGuards\", leaveGuard);\n}\n/**\n* Add a navigation guard that triggers whenever the current location is about\n* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n* component. The guard is removed when the component is unmounted.\n*\n* @param updateGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteUpdate(updateGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\twarn$1(\"getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function\");\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"updateGuards\", updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) {\n\tconst enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n\treturn () => new Promise((resolve, reject) => {\n\t\tconst next = (valid) => {\n\t\t\tif (valid === false) reject(createRouterError(ErrorTypes.NAVIGATION_ABORTED, {\n\t\t\t\tfrom,\n\t\t\t\tto\n\t\t\t}));\n\t\t\telse if (valid instanceof Error) reject(valid);\n\t\t\telse if (isRouteLocation(valid)) reject(createRouterError(ErrorTypes.NAVIGATION_GUARD_REDIRECT, {\n\t\t\t\tfrom: to,\n\t\t\t\tto: valid\n\t\t\t}));\n\t\t\telse {\n\t\t\t\tif (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === \"function\") enterCallbackArray.push(valid);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\t\tconst guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, process.env.NODE_ENV !== \"production\" ? withDeprecationWarning(canOnlyBeCalledOnce(next, to, from)) : next));\n\t\tlet guardCall = Promise.resolve(guardReturn);\n\t\tif (guard.length < 3) guardCall = guardCall.then(next);\n\t\tif (process.env.NODE_ENV !== \"production\" && guard.length > 2) {\n\t\t\tconst message = `The \"next\" callback was never called inside of ${guard.name ? \"\\\"\" + guard.name + \"\\\"\" : \"\"}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n\t\t\tif (typeof guardReturn === \"object\" && \"then\" in guardReturn) guardCall = guardCall.then((resolvedValue) => {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\twarn$1(message);\n\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t}\n\t\t\t\treturn resolvedValue;\n\t\t\t});\n\t\t\telse if (guardReturn !== void 0) {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\twarn$1(message);\n\t\t\t\t\treject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tguardCall.catch((err) => reject(err));\n\t});\n}\n/**\n* Wraps the next callback to warn when it is used. Dev-only: when __DEV__ is\n* false (production builds), this branch is dead code and is stripped from the\n* bundle.\n*\n* @internal\n*/\nfunction withDeprecationWarning(next) {\n\tlet warned = false;\n\treturn function() {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\twarn$1(\"The `next()` callback in navigation guards is deprecated. Return the value instead of calling `next(value)`.\");\n\t\t}\n\t\treturn next.apply(this, arguments);\n\t};\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n\tlet called = 0;\n\treturn function() {\n\t\tif (called++ === 1) warn$1(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n\t\tnext._called = true;\n\t\tif (called === 1) next.apply(null, arguments);\n\t};\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) {\n\tconst guards = [];\n\tfor (const record of matched) {\n\t\tif (process.env.NODE_ENV !== \"production\" && !record.components && record.children && !record.children.length) warn$1(`Record with path \"${record.path}\" is either missing a \"component(s)\" or \"children\" property.`);\n\t\tfor (const name in record.components) {\n\t\t\tlet rawComponent = record.components[name];\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (!rawComponent || typeof rawComponent !== \"object\" && typeof rawComponent !== \"function\") {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is not a valid component. Received \"${String(rawComponent)}\".`);\n\t\t\t\t\tthrow new Error(\"Invalid route component\");\n\t\t\t\t} else if (\"then\" in rawComponent) {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is a Promise instead of a function that returns a Promise. Did you write \"import('./MyPage.vue')\" instead of \"() => import('./MyPage.vue')\" ? This will break in production if not fixed.`);\n\t\t\t\t\tconst promise = rawComponent;\n\t\t\t\t\trawComponent = () => promise;\n\t\t\t\t} else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) {\n\t\t\t\t\trawComponent.__warnedDefineAsync = true;\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is defined using \"defineAsyncComponent()\". Write \"() => import('./MyPage.vue')\" instead of \"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (guardType !== \"beforeRouteEnter\" && !record.instances[name]) continue;\n\t\t\tif (isRouteComponent(rawComponent)) {\n\t\t\t\tconst guard = (rawComponent.__vccOpts || rawComponent)[guardType];\n\t\t\t\tguard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n\t\t\t} else {\n\t\t\t\tlet componentPromise = rawComponent();\n\t\t\t\tif (process.env.NODE_ENV !== \"production\" && !(\"catch\" in componentPromise)) {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n\t\t\t\t\tcomponentPromise = Promise.resolve(componentPromise);\n\t\t\t\t}\n\t\t\t\tguards.push(() => componentPromise.then((resolved) => {\n\t\t\t\t\tif (!resolved) throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n\t\t\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\t\t\trecord.mods[name] = resolved;\n\t\t\t\t\trecord.components[name] = resolvedComponent;\n\t\t\t\t\tconst guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType];\n\t\t\t\t\treturn guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)();\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n\treturn guards;\n}\n/**\n* Ensures a route is loaded, so it can be passed as o prop to ``.\n*\n* @param route - resolved route to load\n*/\nfunction loadRouteLocation(route) {\n\treturn route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error(\"Cannot load a route that redirects.\")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => {\n\t\tconst rawComponent = record.components[name];\n\t\tif (typeof rawComponent === \"function\" && !(\"displayName\" in rawComponent)) promises.push(rawComponent().then((resolved) => {\n\t\t\tif (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\trecord.mods[name] = resolved;\n\t\t\trecord.components[name] = resolvedComponent;\n\t\t}));\n\t\treturn promises;\n\t}, [])))).then(() => route);\n}\n/**\n* Split the leaving, updating, and entering records.\n* @internal\n*\n* @param to - Location we are navigating to\n* @param from - Location we are navigating from\n*/\nfunction extractChangingRecords(to, from) {\n\tconst leavingRecords = [];\n\tconst updatingRecords = [];\n\tconst enteringRecords = [];\n\tconst len = Math.max(from.matched.length, to.matched.length);\n\tfor (let i = 0; i < len; i++) {\n\t\tconst recordFrom = from.matched[i];\n\t\tif (recordFrom) if (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom);\n\t\telse leavingRecords.push(recordFrom);\n\t\tconst recordTo = to.matched[i];\n\t\tif (recordTo) {\n\t\t\tif (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo);\n\t\t}\n\t}\n\treturn [\n\t\tleavingRecords,\n\t\tupdatingRecords,\n\t\tenteringRecords\n\t];\n}\n\n//#endregion\n//#region src/devtools.ts\n/**\n* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n*\n* @param routeLocation - routeLocation to format\n* @param tooltip - optional tooltip\n* @returns a copy of the routeLocation\n*/\nfunction formatRouteLocation(routeLocation, tooltip) {\n\tconst copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [\n\t\t\"instances\",\n\t\t\"children\",\n\t\t\"aliasOf\"\n\t])) });\n\treturn { _custom: {\n\t\ttype: null,\n\t\treadOnly: true,\n\t\tdisplay: routeLocation.fullPath,\n\t\ttooltip,\n\t\tvalue: copy\n\t} };\n}\nfunction formatDisplay(display) {\n\treturn { _custom: { display } };\n}\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n\tif (router.__hasDevtools) return;\n\trouter.__hasDevtools = true;\n\tconst id = routerId++;\n\tsetupDevtoolsPlugin({\n\t\tid: \"org.vuejs.router\" + (id ? \".\" + id : \"\"),\n\t\tlabel: \"Vue Router\",\n\t\tpackageName: \"vue-router\",\n\t\thomepage: \"https://router.vuejs.org\",\n\t\tlogo: \"https://router.vuejs.org/logo.png\",\n\t\tcomponentStateTypes: [\"Routing\"],\n\t\tapp\n\t}, (api) => {\n\t\tapi.on.inspectComponent((payload) => {\n\t\t\tif (payload.instanceData) payload.instanceData.state.push({\n\t\t\t\ttype: \"Routing\",\n\t\t\t\tkey: \"$route\",\n\t\t\t\teditable: false,\n\t\t\t\tvalue: formatRouteLocation(router.currentRoute.value, \"Current Route\")\n\t\t\t});\n\t\t});\n\t\tapi.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n\t\t\tif (componentInstance.__vrv_devtools) {\n\t\t\t\tconst info = componentInstance.__vrv_devtools;\n\t\t\t\tnode.tags.push({\n\t\t\t\t\tlabel: (info.name ? `${info.name.toString()}: ` : \"\") + info.path,\n\t\t\t\t\ttextColor: 0,\n\t\t\t\t\ttooltip: \"This component is rendered by <router-view>\",\n\t\t\t\t\tbackgroundColor: PINK_500\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (isArray(componentInstance.__vrl_devtools)) {\n\t\t\t\tcomponentInstance.__devtoolsApi = api;\n\t\t\t\tcomponentInstance.__vrl_devtools.forEach((devtoolsData) => {\n\t\t\t\t\tlet label = devtoolsData.route.path;\n\t\t\t\t\tlet backgroundColor = ORANGE_400;\n\t\t\t\t\tlet tooltip = \"\";\n\t\t\t\t\tlet textColor = 0;\n\t\t\t\t\tif (devtoolsData.error) {\n\t\t\t\t\t\tlabel = devtoolsData.error;\n\t\t\t\t\t\tbackgroundColor = RED_100;\n\t\t\t\t\t\ttextColor = RED_700;\n\t\t\t\t\t} else if (devtoolsData.isExactActive) {\n\t\t\t\t\t\tbackgroundColor = LIME_500;\n\t\t\t\t\t\ttooltip = \"This is exactly active\";\n\t\t\t\t\t} else if (devtoolsData.isActive) {\n\t\t\t\t\t\tbackgroundColor = BLUE_600;\n\t\t\t\t\t\ttooltip = \"This link is active\";\n\t\t\t\t\t}\n\t\t\t\t\tnode.tags.push({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\ttooltip,\n\t\t\t\t\t\tbackgroundColor\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(router.currentRoute, () => {\n\t\t\trefreshRoutesView();\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(routerInspectorId);\n\t\t\tapi.sendInspectorState(routerInspectorId);\n\t\t});\n\t\tconst navigationsLayerId = \"router:navigations:\" + id;\n\t\tapi.addTimelineLayer({\n\t\t\tid: navigationsLayerId,\n\t\t\tlabel: `Router${id ? \" \" + id : \"\"} Navigations`,\n\t\t\tcolor: 4237508\n\t\t});\n\t\trouter.onError((error, to) => {\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"Error during Navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tlogType: \"error\",\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata: { error },\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tlet navigationId = 0;\n\t\trouter.beforeEach((to, from) => {\n\t\t\tconst data = {\n\t\t\t\tguard: formatDisplay(\"beforeEach\"),\n\t\t\t\tfrom: formatRouteLocation(from, \"Current Location during this navigation\"),\n\t\t\t\tto: formatRouteLocation(to, \"Target location\")\n\t\t\t};\n\t\t\tObject.defineProperty(to.meta, \"__navigationId\", { value: navigationId++ });\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\ttitle: \"Start of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tdata,\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\trouter.afterEach((to, from, failure) => {\n\t\t\tconst data = { guard: formatDisplay(\"afterEach\") };\n\t\t\tif (failure) {\n\t\t\t\tdata.failure = { _custom: {\n\t\t\t\t\ttype: Error,\n\t\t\t\t\treadOnly: true,\n\t\t\t\t\tdisplay: failure ? failure.message : \"\",\n\t\t\t\t\ttooltip: \"Navigation Failure\",\n\t\t\t\t\tvalue: failure\n\t\t\t\t} };\n\t\t\t\tdata.status = formatDisplay(\"❌\");\n\t\t\t} else data.status = formatDisplay(\"✅\");\n\t\t\tdata.from = formatRouteLocation(from, \"Current Location during this navigation\");\n\t\t\tdata.to = formatRouteLocation(to, \"Target location\");\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"End of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata,\n\t\t\t\t\tlogType: failure ? \"warning\" : \"default\",\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t/**\n\t\t* Inspector of Existing routes\n\t\t*/\n\t\tconst routerInspectorId = \"router-inspector:\" + id;\n\t\tapi.addInspector({\n\t\t\tid: routerInspectorId,\n\t\t\tlabel: \"Routes\" + (id ? \" \" + id : \"\"),\n\t\t\ticon: \"book\",\n\t\t\ttreeFilterPlaceholder: \"Search routes\"\n\t\t});\n\t\tfunction refreshRoutesView() {\n\t\t\tif (!activeRoutesPayload) return;\n\t\t\tconst payload = activeRoutesPayload;\n\t\t\tlet routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components);\n\t\t\troutes.forEach(resetMatchStateOnRouteRecord);\n\t\t\tif (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase()));\n\t\t\troutes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value));\n\t\t\tpayload.rootNodes = routes.map(formatRouteRecordForInspector);\n\t\t}\n\t\tlet activeRoutesPayload;\n\t\tapi.on.getInspectorTree((payload) => {\n\t\t\tactiveRoutesPayload = payload;\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView();\n\t\t});\n\t\t/**\n\t\t* Display information about the currently selected route record\n\t\t*/\n\t\tapi.on.getInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) {\n\t\t\t\tconst route = matcher.getRoutes().find((route) => route.record.__vd_id === payload.nodeId);\n\t\t\t\tif (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) };\n\t\t\t}\n\t\t});\n\t\tapi.sendInspectorTree(routerInspectorId);\n\t\tapi.sendInspectorState(routerInspectorId);\n\t});\n}\nfunction modifierForKey(key) {\n\tif (key.optional) return key.repeatable ? \"*\" : \"?\";\n\telse return key.repeatable ? \"+\" : \"\";\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n\tconst { record } = route;\n\tconst fields = [{\n\t\teditable: false,\n\t\tkey: \"path\",\n\t\tvalue: record.path\n\t}];\n\tif (record.name != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"name\",\n\t\tvalue: record.name\n\t});\n\tfields.push({\n\t\teditable: false,\n\t\tkey: \"regexp\",\n\t\tvalue: route.re\n\t});\n\tif (route.keys.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"keys\",\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(\" \"),\n\t\t\ttooltip: \"Param keys\",\n\t\t\tvalue: route.keys\n\t\t} }\n\t});\n\tif (record.redirect != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"redirect\",\n\t\tvalue: record.redirect\n\t});\n\tif (route.alias.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"aliases\",\n\t\tvalue: route.alias.map((alias) => alias.record.path)\n\t});\n\tif (Object.keys(route.record.meta).length) fields.push({\n\t\teditable: false,\n\t\tkey: \"meta\",\n\t\tvalue: route.record.meta\n\t});\n\tfields.push({\n\t\tkey: \"score\",\n\t\teditable: false,\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.score.map((score) => score.join(\", \")).join(\" | \"),\n\t\t\ttooltip: \"Score used to sort routes\",\n\t\t\tvalue: route.score\n\t\t} }\n\t});\n\treturn fields;\n}\n/**\n* Extracted from tailwind palette\n*/\nconst PINK_500 = 15485081;\nconst BLUE_600 = 2450411;\nconst LIME_500 = 8702998;\nconst CYAN_400 = 2282478;\nconst ORANGE_400 = 16486972;\nconst DARK = 6710886;\nconst RED_100 = 16704226;\nconst RED_700 = 12131356;\nfunction formatRouteRecordForInspector(route) {\n\tconst tags = [];\n\tconst { record } = route;\n\tif (record.name != null) tags.push({\n\t\tlabel: String(record.name),\n\t\ttextColor: 0,\n\t\tbackgroundColor: CYAN_400\n\t});\n\tif (record.aliasOf) tags.push({\n\t\tlabel: \"alias\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: ORANGE_400\n\t});\n\tif (route.__vd_match) tags.push({\n\t\tlabel: \"matches\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: PINK_500\n\t});\n\tif (route.__vd_exactActive) tags.push({\n\t\tlabel: \"exact\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: LIME_500\n\t});\n\tif (route.__vd_active) tags.push({\n\t\tlabel: \"active\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: BLUE_600\n\t});\n\tif (record.redirect) tags.push({\n\t\tlabel: typeof record.redirect === \"string\" ? `redirect: ${record.redirect}` : \"redirects\",\n\t\ttextColor: 16777215,\n\t\tbackgroundColor: DARK\n\t});\n\tlet id = record.__vd_id;\n\tif (id == null) {\n\t\tid = String(routeRecordId++);\n\t\trecord.__vd_id = id;\n\t}\n\treturn {\n\t\tid,\n\t\tlabel: record.path,\n\t\ttags,\n\t\tchildren: route.children.map(formatRouteRecordForInspector)\n\t};\n}\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n\tconst isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n\troute.__vd_exactActive = route.__vd_active = isExactActive;\n\tif (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record));\n\troute.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n\troute.__vd_match = false;\n\troute.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n\tconst found = String(route.re).match(EXTRACT_REGEXP_RE);\n\troute.__vd_match = false;\n\tif (!found || found.length < 3) return false;\n\tif (new RegExp(found[1].replace(/\\$$/, \"\"), found[2]).test(filter)) {\n\t\troute.children.forEach((child) => isRouteMatching(child, filter));\n\t\tif (route.record.path !== \"/\" || filter === \"/\") {\n\t\t\troute.__vd_match = route.re.test(filter);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tconst path = route.record.path.toLowerCase();\n\tconst decodedPath = decode(path);\n\tif (!filter.startsWith(\"/\") && (decodedPath.includes(filter) || path.includes(filter))) return true;\n\tif (decodedPath.startsWith(filter) || path.startsWith(filter)) return true;\n\tif (route.record.name && String(route.record.name).includes(filter)) return true;\n\treturn route.children.some((child) => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n\tconst ret = {};\n\tfor (const key in obj) if (!keys.includes(key)) ret[key] = obj[key];\n\treturn ret;\n}\n\n//#endregion\nexport { resolveRelativePath as A, normalizeBase as C, isSameRouteLocationParams as D, isSameRouteLocation as E, encodeParam as F, encodePath as I, warn$1 as L, stripBase as M, decode as N, isSameRouteRecord as O, encodeHash as P, createHref as S, START_LOCATION_NORMALIZED as T, saveScrollPosition as _, loadRouteLocation as a, NavigationType as b, useCallbacks as c, stringifyQuery as d, isRouteLocation as f, getScrollKey as g, getSavedScrollPosition as h, guardToPromiseFn as i, stringifyURL as j, parseURL as k, normalizeQuery as l, computeScrollPosition as m, extractChangingRecords as n, onBeforeRouteLeave as o, isRouteName as p, extractComponentsGuards as r, onBeforeRouteUpdate as s, addDevtools as t, parseQuery as u, scrollToPosition as v, NEW_stringifyURL as w, START as x, NavigationDirection as y };","/*!\n * vue-router v5.0.4\n * (c) 2026 Eduardo San Martin Morote\n * @license MIT\n */\nimport { a as routerKey, b as isBrowser, c as ErrorTypes, d as isNavigationFailure, f as applyToParams, h as isArray, i as routeLocationKey, l as NavigationFailureType, n as useRouter, o as routerViewLocationKey, p as assign, r as matchedRouteKey, s as viewDepthKey, t as useRoute, u as createRouterError, v as mergeOptions, y as noop } from \"./useApi-C8XBqGtv.js\";\nimport { C as normalizeBase, D as isSameRouteLocationParams, E as isSameRouteLocation, F as encodeParam, L as warn$1, M as stripBase, N as decode, O as isSameRouteRecord, P as encodeHash, S as createHref, T as START_LOCATION_NORMALIZED, _ as saveScrollPosition, a as loadRouteLocation, b as NavigationType, c as useCallbacks, d as stringifyQuery, f as isRouteLocation, g as getScrollKey, h as getSavedScrollPosition, i as guardToPromiseFn, j as stringifyURL, k as parseURL, l as normalizeQuery, m as computeScrollPosition, n as extractChangingRecords, o as onBeforeRouteLeave, p as isRouteName, r as extractComponentsGuards, s as onBeforeRouteUpdate, t as addDevtools, u as parseQuery, v as scrollToPosition, x as START, y as NavigationDirection } from \"./devtools-DUDsFuj9.js\";\nimport { computed, defineComponent, getCurrentInstance, h, inject, nextTick, provide, reactive, ref, shallowReactive, shallowRef, unref, watch, watchEffect } from \"vue\";\n\n//#region src/history/html5.ts\nlet createBaseLocation = () => location.protocol + \"//\" + location.host;\n/**\n* Creates a normalized history location from a window.location object\n* @param base - The base path\n* @param location - The window.location object\n*/\nfunction createCurrentLocation(base, location) {\n\tconst { pathname, search, hash } = location;\n\tconst hashPos = base.indexOf(\"#\");\n\tif (hashPos > -1) {\n\t\tlet slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n\t\tlet pathFromHash = hash.slice(slicePos);\n\t\tif (pathFromHash[0] !== \"/\") pathFromHash = \"/\" + pathFromHash;\n\t\treturn stripBase(pathFromHash, \"\");\n\t}\n\treturn stripBase(pathname, base) + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n\tlet listeners = [];\n\tlet teardowns = [];\n\tlet pauseState = null;\n\tconst popStateHandler = ({ state }) => {\n\t\tconst to = createCurrentLocation(base, location);\n\t\tconst from = currentLocation.value;\n\t\tconst fromState = historyState.value;\n\t\tlet delta = 0;\n\t\tif (state) {\n\t\t\tcurrentLocation.value = to;\n\t\t\thistoryState.value = state;\n\t\t\tif (pauseState && pauseState === from) {\n\t\t\t\tpauseState = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdelta = fromState ? state.position - fromState.position : 0;\n\t\t} else replace(to);\n\t\tlisteners.forEach((listener) => {\n\t\t\tlistener(currentLocation.value, from, {\n\t\t\t\tdelta,\n\t\t\t\ttype: NavigationType.pop,\n\t\t\t\tdirection: delta ? delta > 0 ? NavigationDirection.forward : NavigationDirection.back : NavigationDirection.unknown\n\t\t\t});\n\t\t});\n\t};\n\tfunction pauseListeners() {\n\t\tpauseState = currentLocation.value;\n\t}\n\tfunction listen(callback) {\n\t\tlisteners.push(callback);\n\t\tconst teardown = () => {\n\t\t\tconst index = listeners.indexOf(callback);\n\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t};\n\t\tteardowns.push(teardown);\n\t\treturn teardown;\n\t}\n\tfunction beforeUnloadListener() {\n\t\tif (document.visibilityState === \"hidden\") {\n\t\t\tconst { history } = window;\n\t\t\tif (!history.state) return;\n\t\t\thistory.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), \"\");\n\t\t}\n\t}\n\tfunction destroy() {\n\t\tfor (const teardown of teardowns) teardown();\n\t\tteardowns = [];\n\t\twindow.removeEventListener(\"popstate\", popStateHandler);\n\t\twindow.removeEventListener(\"pagehide\", beforeUnloadListener);\n\t\tdocument.removeEventListener(\"visibilitychange\", beforeUnloadListener);\n\t}\n\twindow.addEventListener(\"popstate\", popStateHandler);\n\twindow.addEventListener(\"pagehide\", beforeUnloadListener);\n\tdocument.addEventListener(\"visibilitychange\", beforeUnloadListener);\n\treturn {\n\t\tpauseListeners,\n\t\tlisten,\n\t\tdestroy\n\t};\n}\n/**\n* Creates a state object\n*/\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n\treturn {\n\t\tback,\n\t\tcurrent,\n\t\tforward,\n\t\treplaced,\n\t\tposition: window.history.length,\n\t\tscroll: computeScroll ? computeScrollPosition() : null\n\t};\n}\nfunction useHistoryStateNavigation(base) {\n\tconst { history, location } = window;\n\tconst currentLocation = { value: createCurrentLocation(base, location) };\n\tconst historyState = { value: history.state };\n\tif (!historyState.value) changeLocation(currentLocation.value, {\n\t\tback: null,\n\t\tcurrent: currentLocation.value,\n\t\tforward: null,\n\t\tposition: history.length - 1,\n\t\treplaced: true,\n\t\tscroll: null\n\t}, true);\n\tfunction changeLocation(to, state, replace) {\n\t\t/**\n\t\t* if a base tag is provided, and we are on a normal domain, we have to\n\t\t* respect the provided `base` attribute because pushState() will use it and\n\t\t* potentially erase anything before the `#` like at\n\t\t* https://github.com/vuejs/router/issues/685 where a base of\n\t\t* `/folder/#` but a base of `/` would erase the `/folder/` section. If\n\t\t* there is no host, the `` tag makes no sense and if there isn't a\n\t\t* base tag we can just use everything after the `#`.\n\t\t*/\n\t\tconst hashIndex = base.indexOf(\"#\");\n\t\tconst url = hashIndex > -1 ? (location.host && document.querySelector(\"base\") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;\n\t\ttry {\n\t\t\thistory[replace ? \"replaceState\" : \"pushState\"](state, \"\", url);\n\t\t\thistoryState.value = state;\n\t\t} catch (err) {\n\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"Error with push/replace State\", err);\n\t\t\telse console.error(err);\n\t\t\tlocation[replace ? \"replace\" : \"assign\"](url);\n\t\t}\n\t}\n\tfunction replace(to, data) {\n\t\tchangeLocation(to, assign({}, history.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position }), true);\n\t\tcurrentLocation.value = to;\n\t}\n\tfunction push(to, data) {\n\t\tconst currentState = assign({}, historyState.value, history.state, {\n\t\t\tforward: to,\n\t\t\tscroll: computeScrollPosition()\n\t\t});\n\t\tif (process.env.NODE_ENV !== \"production\" && !history.state) warn$1(\"history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\nhistory.replaceState(history.state, '', url)\\n\\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state\");\n\t\tchangeLocation(currentState.current, currentState, true);\n\t\tchangeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false);\n\t\tcurrentLocation.value = to;\n\t}\n\treturn {\n\t\tlocation: currentLocation,\n\t\tstate: historyState,\n\t\tpush,\n\t\treplace\n\t};\n}\n/**\n* Creates an HTML5 history. Most common history for single page applications.\n*\n* @param base -\n*/\nfunction createWebHistory(base) {\n\tbase = normalizeBase(base);\n\tconst historyNavigation = useHistoryStateNavigation(base);\n\tconst historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n\tfunction go(delta, triggerListeners = true) {\n\t\tif (!triggerListeners) historyListeners.pauseListeners();\n\t\thistory.go(delta);\n\t}\n\tconst routerHistory = assign({\n\t\tlocation: \"\",\n\t\tbase,\n\t\tgo,\n\t\tcreateHref: createHref.bind(null, base)\n\t}, historyNavigation, historyListeners);\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.location.value\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.state.value\n\t});\n\treturn routerHistory;\n}\n\n//#endregion\n//#region src/history/memory.ts\n/**\n* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n*\n* @param base - Base applied to all urls, defaults to '/'\n* @returns a history object that can be passed to the router constructor\n*/\nfunction createMemoryHistory(base = \"\") {\n\tlet listeners = [];\n\tlet queue = [[START, {}]];\n\tlet position = 0;\n\tbase = normalizeBase(base);\n\tfunction setLocation(location, state = {}) {\n\t\tposition++;\n\t\tif (position !== queue.length) queue.splice(position);\n\t\tqueue.push([location, state]);\n\t}\n\tfunction triggerListeners(to, from, { direction, delta }) {\n\t\tconst info = {\n\t\t\tdirection,\n\t\t\tdelta,\n\t\t\ttype: NavigationType.pop\n\t\t};\n\t\tfor (const callback of listeners) callback(to, from, info);\n\t}\n\tconst routerHistory = {\n\t\tlocation: START,\n\t\tstate: {},\n\t\tbase,\n\t\tcreateHref: createHref.bind(null, base),\n\t\treplace(to, state) {\n\t\t\tqueue.splice(position--, 1);\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tpush(to, state) {\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tlisten(callback) {\n\t\t\tlisteners.push(callback);\n\t\t\treturn () => {\n\t\t\t\tconst index = listeners.indexOf(callback);\n\t\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t\t};\n\t\t},\n\t\tdestroy() {\n\t\t\tlisteners = [];\n\t\t\tqueue = [[START, {}]];\n\t\t\tposition = 0;\n\t\t},\n\t\tgo(delta, shouldTrigger = true) {\n\t\t\tconst from = this.location;\n\t\t\tconst direction = delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n\t\t\tposition = Math.max(0, Math.min(position + delta, queue.length - 1));\n\t\t\tif (shouldTrigger) triggerListeners(this.location, from, {\n\t\t\t\tdirection,\n\t\t\t\tdelta\n\t\t\t});\n\t\t}\n\t};\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][0]\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][1]\n\t});\n\treturn routerHistory;\n}\n\n//#endregion\n//#region src/history/hash.ts\n/**\n* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n* handle any URL is not possible.\n*\n* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n* calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n* after the `#`).\n*\n* @example\n* ```js\n* // at https://example.com/folder\n* createWebHashHistory() // gives a url of `https://example.com/folder#`\n* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n* // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n* // you should avoid doing this because it changes the original url and breaks copying urls\n* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n*\n* // at file:///usr/etc/folder/index.html\n* // for locations with no `host`, the base is ignored\n* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n* ```\n*/\nfunction createWebHashHistory(base) {\n\tbase = location.host ? base || location.pathname + location.search : \"\";\n\tif (!base.includes(\"#\")) base += \"#\";\n\tif (process.env.NODE_ENV !== \"production\" && !base.endsWith(\"#/\") && !base.endsWith(\"#\")) warn$1(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, \"#\")}\".`);\n\treturn createWebHistory(base);\n}\n\n//#endregion\n//#region src/matcher/pathTokenizer.ts\nlet TokenType = /* @__PURE__ */ function(TokenType) {\n\tTokenType[TokenType[\"Static\"] = 0] = \"Static\";\n\tTokenType[TokenType[\"Param\"] = 1] = \"Param\";\n\tTokenType[TokenType[\"Group\"] = 2] = \"Group\";\n\treturn TokenType;\n}({});\nvar TokenizerState = /* @__PURE__ */ function(TokenizerState) {\n\tTokenizerState[TokenizerState[\"Static\"] = 0] = \"Static\";\n\tTokenizerState[TokenizerState[\"Param\"] = 1] = \"Param\";\n\tTokenizerState[TokenizerState[\"ParamRegExp\"] = 2] = \"ParamRegExp\";\n\tTokenizerState[TokenizerState[\"ParamRegExpEnd\"] = 3] = \"ParamRegExpEnd\";\n\tTokenizerState[TokenizerState[\"EscapeNext\"] = 4] = \"EscapeNext\";\n\treturn TokenizerState;\n}(TokenizerState || {});\nconst ROOT_TOKEN = {\n\ttype: TokenType.Static,\n\tvalue: \"\"\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\nfunction tokenizePath(path) {\n\tif (!path) return [[]];\n\tif (path === \"/\") return [[ROOT_TOKEN]];\n\tif (!path.startsWith(\"/\")) throw new Error(process.env.NODE_ENV !== \"production\" ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".` : `Invalid path \"${path}\"`);\n\tfunction crash(message) {\n\t\tthrow new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n\t}\n\tlet state = TokenizerState.Static;\n\tlet previousState = state;\n\tconst tokens = [];\n\tlet segment;\n\tfunction finalizeSegment() {\n\t\tif (segment) tokens.push(segment);\n\t\tsegment = [];\n\t}\n\tlet i = 0;\n\tlet char;\n\tlet buffer = \"\";\n\tlet customRe = \"\";\n\tfunction consumeBuffer() {\n\t\tif (!buffer) return;\n\t\tif (state === TokenizerState.Static) segment.push({\n\t\t\ttype: TokenType.Static,\n\t\t\tvalue: buffer\n\t\t});\n\t\telse if (state === TokenizerState.Param || state === TokenizerState.ParamRegExp || state === TokenizerState.ParamRegExpEnd) {\n\t\t\tif (segment.length > 1 && (char === \"*\" || char === \"+\")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n\t\t\tsegment.push({\n\t\t\t\ttype: TokenType.Param,\n\t\t\t\tvalue: buffer,\n\t\t\t\tregexp: customRe,\n\t\t\t\trepeatable: char === \"*\" || char === \"+\",\n\t\t\t\toptional: char === \"*\" || char === \"?\"\n\t\t\t});\n\t\t} else crash(\"Invalid state to consume buffer\");\n\t\tbuffer = \"\";\n\t}\n\tfunction addCharToBuffer() {\n\t\tbuffer += char;\n\t}\n\twhile (i < path.length) {\n\t\tchar = path[i++];\n\t\tif (char === \"\\\\\" && state !== TokenizerState.ParamRegExp) {\n\t\t\tpreviousState = state;\n\t\t\tstate = TokenizerState.EscapeNext;\n\t\t\tcontinue;\n\t\t}\n\t\tswitch (state) {\n\t\t\tcase TokenizerState.Static:\n\t\t\t\tif (char === \"/\") {\n\t\t\t\t\tif (buffer) consumeBuffer();\n\t\t\t\t\tfinalizeSegment();\n\t\t\t\t} else if (char === \":\") {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = TokenizerState.Param;\n\t\t\t\t} else addCharToBuffer();\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.EscapeNext:\n\t\t\t\taddCharToBuffer();\n\t\t\t\tstate = previousState;\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.Param:\n\t\t\t\tif (char === \"(\") state = TokenizerState.ParamRegExp;\n\t\t\t\telse if (VALID_PARAM_RE.test(char)) addCharToBuffer();\n\t\t\t\telse {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = TokenizerState.Static;\n\t\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.ParamRegExp:\n\t\t\t\tif (char === \")\") if (customRe[customRe.length - 1] == \"\\\\\") customRe = customRe.slice(0, -1) + char;\n\t\t\t\telse state = TokenizerState.ParamRegExpEnd;\n\t\t\t\telse customRe += char;\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.ParamRegExpEnd:\n\t\t\t\tconsumeBuffer();\n\t\t\t\tstate = TokenizerState.Static;\n\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\tcustomRe = \"\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcrash(\"Unknown state\");\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tif (state === TokenizerState.ParamRegExp) crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n\tconsumeBuffer();\n\tfinalizeSegment();\n\treturn tokens;\n}\n\n//#endregion\n//#region src/matcher/pathParserRanker.ts\nconst BASE_PARAM_PATTERN = \"[^/]+?\";\nconst BASE_PATH_PARSER_OPTIONS = {\n\tsensitive: false,\n\tstrict: false,\n\tstart: true,\n\tend: true\n};\nvar PathScore = /* @__PURE__ */ function(PathScore) {\n\tPathScore[PathScore[\"_multiplier\"] = 10] = \"_multiplier\";\n\tPathScore[PathScore[\"Root\"] = 90] = \"Root\";\n\tPathScore[PathScore[\"Segment\"] = 40] = \"Segment\";\n\tPathScore[PathScore[\"SubSegment\"] = 30] = \"SubSegment\";\n\tPathScore[PathScore[\"Static\"] = 40] = \"Static\";\n\tPathScore[PathScore[\"Dynamic\"] = 20] = \"Dynamic\";\n\tPathScore[PathScore[\"BonusCustomRegExp\"] = 10] = \"BonusCustomRegExp\";\n\tPathScore[PathScore[\"BonusWildcard\"] = -50] = \"BonusWildcard\";\n\tPathScore[PathScore[\"BonusRepeatable\"] = -20] = \"BonusRepeatable\";\n\tPathScore[PathScore[\"BonusOptional\"] = -8] = \"BonusOptional\";\n\tPathScore[PathScore[\"BonusStrict\"] = .7000000000000001] = \"BonusStrict\";\n\tPathScore[PathScore[\"BonusCaseSensitive\"] = .25] = \"BonusCaseSensitive\";\n\treturn PathScore;\n}(PathScore || {});\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n* Creates a path parser from an array of Segments (a segment is an array of Tokens)\n*\n* @param segments - array of segments returned by tokenizePath\n* @param extraOptions - optional options for the regexp\n* @returns a PathParser\n*/\nfunction tokensToParser(segments, extraOptions) {\n\tconst options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n\tconst score = [];\n\tlet pattern = options.start ? \"^\" : \"\";\n\tconst keys = [];\n\tfor (const segment of segments) {\n\t\tconst segmentScores = segment.length ? [] : [PathScore.Root];\n\t\tif (options.strict && !segment.length) pattern += \"/\";\n\t\tfor (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n\t\t\tconst token = segment[tokenIndex];\n\t\t\tlet subSegmentScore = PathScore.Segment + (options.sensitive ? PathScore.BonusCaseSensitive : 0);\n\t\t\tif (token.type === TokenType.Static) {\n\t\t\t\tif (!tokenIndex) pattern += \"/\";\n\t\t\t\tpattern += token.value.replace(REGEX_CHARS_RE, \"\\\\$&\");\n\t\t\t\tsubSegmentScore += PathScore.Static;\n\t\t\t} else if (token.type === TokenType.Param) {\n\t\t\t\tconst { value, repeatable, optional, regexp } = token;\n\t\t\t\tkeys.push({\n\t\t\t\t\tname: value,\n\t\t\t\t\trepeatable,\n\t\t\t\t\toptional\n\t\t\t\t});\n\t\t\t\tconst re = regexp ? regexp : BASE_PARAM_PATTERN;\n\t\t\t\tif (re !== BASE_PARAM_PATTERN) {\n\t\t\t\t\tsubSegmentScore += PathScore.BonusCustomRegExp;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnew RegExp(`(${re})`);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tthrow new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` + err.message);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n\t\t\t\tif (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : \"/\" + subPattern;\n\t\t\t\tif (optional) subPattern += \"?\";\n\t\t\t\tpattern += subPattern;\n\t\t\t\tsubSegmentScore += PathScore.Dynamic;\n\t\t\t\tif (optional) subSegmentScore += PathScore.BonusOptional;\n\t\t\t\tif (repeatable) subSegmentScore += PathScore.BonusRepeatable;\n\t\t\t\tif (re === \".*\") subSegmentScore += PathScore.BonusWildcard;\n\t\t\t}\n\t\t\tsegmentScores.push(subSegmentScore);\n\t\t}\n\t\tscore.push(segmentScores);\n\t}\n\tif (options.strict && options.end) {\n\t\tconst i = score.length - 1;\n\t\tscore[i][score[i].length - 1] += PathScore.BonusStrict;\n\t}\n\tif (!options.strict) pattern += \"/?\";\n\tif (options.end) pattern += \"$\";\n\telse if (options.strict && !pattern.endsWith(\"/\")) pattern += \"(?:/|$)\";\n\tconst re = new RegExp(pattern, options.sensitive ? \"\" : \"i\");\n\tfunction parse(path) {\n\t\tconst match = path.match(re);\n\t\tconst params = {};\n\t\tif (!match) return null;\n\t\tfor (let i = 1; i < match.length; i++) {\n\t\t\tconst value = match[i] || \"\";\n\t\t\tconst key = keys[i - 1];\n\t\t\tparams[key.name] = value && key.repeatable ? value.split(\"/\") : value;\n\t\t}\n\t\treturn params;\n\t}\n\tfunction stringify(params) {\n\t\tlet path = \"\";\n\t\tlet avoidDuplicatedSlash = false;\n\t\tfor (const segment of segments) {\n\t\t\tif (!avoidDuplicatedSlash || !path.endsWith(\"/\")) path += \"/\";\n\t\t\tavoidDuplicatedSlash = false;\n\t\t\tfor (const token of segment) if (token.type === TokenType.Static) path += token.value;\n\t\t\telse if (token.type === TokenType.Param) {\n\t\t\t\tconst { value, repeatable, optional } = token;\n\t\t\t\tconst param = value in params ? params[value] : \"\";\n\t\t\t\tif (isArray(param) && !repeatable) throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n\t\t\t\tconst text = isArray(param) ? param.join(\"/\") : param;\n\t\t\t\tif (!text) if (optional) {\n\t\t\t\t\tif (segment.length < 2) if (path.endsWith(\"/\")) path = path.slice(0, -1);\n\t\t\t\t\telse avoidDuplicatedSlash = true;\n\t\t\t\t} else throw new Error(`Missing required param \"${value}\"`);\n\t\t\t\tpath += text;\n\t\t\t}\n\t\t}\n\t\treturn path || \"/\";\n\t}\n\treturn {\n\t\tre,\n\t\tscore,\n\t\tkeys,\n\t\tparse,\n\t\tstringify\n\t};\n}\n/**\n* Compares an array of numbers as used in PathParser.score and returns a\n* number. This function can be used to `sort` an array\n*\n* @param a - first array of numbers\n* @param b - second array of numbers\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n* should be sorted first\n*/\nfunction compareScoreArray(a, b) {\n\tlet i = 0;\n\twhile (i < a.length && i < b.length) {\n\t\tconst diff = b[i] - a[i];\n\t\tif (diff) return diff;\n\t\ti++;\n\t}\n\tif (a.length < b.length) return a.length === 1 && a[0] === PathScore.Static + PathScore.Segment ? -1 : 1;\n\telse if (a.length > b.length) return b.length === 1 && b[0] === PathScore.Static + PathScore.Segment ? 1 : -1;\n\treturn 0;\n}\n/**\n* Compare function that can be used with `sort` to sort an array of PathParser\n*\n* @param a - first PathParser\n* @param b - second PathParser\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n*/\nfunction comparePathParserScore(a, b) {\n\tlet i = 0;\n\tconst aScore = a.score;\n\tconst bScore = b.score;\n\twhile (i < aScore.length && i < bScore.length) {\n\t\tconst comp = compareScoreArray(aScore[i], bScore[i]);\n\t\tif (comp) return comp;\n\t\ti++;\n\t}\n\tif (Math.abs(bScore.length - aScore.length) === 1) {\n\t\tif (isLastScoreNegative(aScore)) return 1;\n\t\tif (isLastScoreNegative(bScore)) return -1;\n\t}\n\treturn bScore.length - aScore.length;\n}\n/**\n* This allows detecting splats at the end of a path: /home/:id(.*)*\n*\n* @param score - score to check\n* @returns true if the last entry is negative\n*/\nfunction isLastScoreNegative(score) {\n\tconst last = score[score.length - 1];\n\treturn score.length > 0 && last[last.length - 1] < 0;\n}\nconst PATH_PARSER_OPTIONS_DEFAULTS = {\n\tstrict: false,\n\tend: true,\n\tsensitive: false\n};\n\n//#endregion\n//#region src/matcher/pathMatcher.ts\nfunction createRouteRecordMatcher(record, parent, options) {\n\tconst parser = tokensToParser(tokenizePath(record.path), options);\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst existingKeys = /* @__PURE__ */ new Set();\n\t\tfor (const key of parser.keys) {\n\t\t\tif (existingKeys.has(key.name)) warn$1(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n\t\t\texistingKeys.add(key.name);\n\t\t}\n\t}\n\tconst matcher = assign(parser, {\n\t\trecord,\n\t\tparent,\n\t\tchildren: [],\n\t\talias: []\n\t});\n\tif (parent) {\n\t\tif (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher);\n\t}\n\treturn matcher;\n}\n\n//#endregion\n//#region src/matcher/index.ts\n/**\n* Creates a Router Matcher.\n*\n* @internal\n* @param routes - array of initial routes\n* @param globalOptions - global route options\n*/\nfunction createRouterMatcher(routes, globalOptions) {\n\tconst matchers = [];\n\tconst matcherMap = /* @__PURE__ */ new Map();\n\tglobalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions);\n\tfunction getRecordMatcher(name) {\n\t\treturn matcherMap.get(name);\n\t}\n\tfunction addRoute(record, parent, originalRecord) {\n\t\tconst isRootAdd = !originalRecord;\n\t\tconst mainNormalizedRecord = normalizeRouteRecord(record);\n\t\tif (process.env.NODE_ENV !== \"production\") checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n\t\tmainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n\t\tconst options = mergeOptions(globalOptions, record);\n\t\tconst normalizedRecords = [mainNormalizedRecord];\n\t\tif (\"alias\" in record) {\n\t\t\tconst aliases = typeof record.alias === \"string\" ? [record.alias] : record.alias;\n\t\t\tfor (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n\t\t\t\tcomponents: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,\n\t\t\t\tpath: alias,\n\t\t\t\taliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord\n\t\t\t})));\n\t\t}\n\t\tlet matcher;\n\t\tlet originalMatcher;\n\t\tfor (const normalizedRecord of normalizedRecords) {\n\t\t\tconst { path } = normalizedRecord;\n\t\t\tif (parent && path[0] !== \"/\") {\n\t\t\t\tconst parentPath = parent.record.path;\n\t\t\t\tconst connectingSlash = parentPath[parentPath.length - 1] === \"/\" ? \"\" : \"/\";\n\t\t\t\tnormalizedRecord.path = parent.record.path + (path && connectingSlash + path);\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && normalizedRecord.path === \"*\") throw new Error(\"Catch all routes (\\\"*\\\") must now be defined using a param with a custom regexp.\\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.\");\n\t\t\tmatcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && parent && path[0] === \"/\") checkMissingParamsInAbsolutePath(matcher, parent);\n\t\t\tif (originalRecord) {\n\t\t\t\toriginalRecord.alias.push(matcher);\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameParams(originalRecord, matcher);\n\t\t\t} else {\n\t\t\t\toriginalMatcher = originalMatcher || matcher;\n\t\t\t\tif (originalMatcher !== matcher) originalMatcher.alias.push(matcher);\n\t\t\t\tif (isRootAdd && record.name && !isAliasRecord(matcher)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameNameAsAncestor(record, parent);\n\t\t\t\t\tremoveRoute(record.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isMatchable(matcher)) insertMatcher(matcher);\n\t\t\tif (mainNormalizedRecord.children) {\n\t\t\t\tconst children = mainNormalizedRecord.children;\n\t\t\t\tfor (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n\t\t\t}\n\t\t\toriginalRecord = originalRecord || matcher;\n\t\t}\n\t\treturn originalMatcher ? () => {\n\t\t\tremoveRoute(originalMatcher);\n\t\t} : noop;\n\t}\n\tfunction removeRoute(matcherRef) {\n\t\tif (isRouteName(matcherRef)) {\n\t\t\tconst matcher = matcherMap.get(matcherRef);\n\t\t\tif (matcher) {\n\t\t\t\tmatcherMap.delete(matcherRef);\n\t\t\t\tmatchers.splice(matchers.indexOf(matcher), 1);\n\t\t\t\tmatcher.children.forEach(removeRoute);\n\t\t\t\tmatcher.alias.forEach(removeRoute);\n\t\t\t}\n\t\t} else {\n\t\t\tconst index = matchers.indexOf(matcherRef);\n\t\t\tif (index > -1) {\n\t\t\t\tmatchers.splice(index, 1);\n\t\t\t\tif (matcherRef.record.name) matcherMap.delete(matcherRef.record.name);\n\t\t\t\tmatcherRef.children.forEach(removeRoute);\n\t\t\t\tmatcherRef.alias.forEach(removeRoute);\n\t\t\t}\n\t\t}\n\t}\n\tfunction getRoutes() {\n\t\treturn matchers;\n\t}\n\tfunction insertMatcher(matcher) {\n\t\tconst index = findInsertionIndex(matcher, matchers);\n\t\tmatchers.splice(index, 0, matcher);\n\t\tif (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher);\n\t}\n\tfunction resolve(location, currentLocation) {\n\t\tlet matcher;\n\t\tlet params = {};\n\t\tlet path;\n\t\tlet name;\n\t\tif (\"name\" in location && location.name) {\n\t\t\tmatcher = matcherMap.get(location.name);\n\t\t\tif (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, { location });\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tconst invalidParams = Object.keys(location.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName));\n\t\t\t\tif (invalidParams.length) warn$1(`Discarded invalid param(s) \"${invalidParams.join(\"\\\", \\\"\")}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n\t\t\t}\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location.params && pickParams(location.params, matcher.keys.map((k) => k.name)));\n\t\t\tpath = matcher.stringify(params);\n\t\t} else if (location.path != null) {\n\t\t\tpath = location.path;\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !path.startsWith(\"/\")) warn$1(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n\t\t\tmatcher = matchers.find((m) => m.re.test(path));\n\t\t\tif (matcher) {\n\t\t\t\tparams = matcher.parse(path);\n\t\t\t\tname = matcher.record.name;\n\t\t\t}\n\t\t} else {\n\t\t\tmatcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path));\n\t\t\tif (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, {\n\t\t\t\tlocation,\n\t\t\t\tcurrentLocation\n\t\t\t});\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign({}, currentLocation.params, location.params);\n\t\t\tpath = matcher.stringify(params);\n\t\t}\n\t\tconst matched = [];\n\t\tlet parentMatcher = matcher;\n\t\twhile (parentMatcher) {\n\t\t\tmatched.unshift(parentMatcher.record);\n\t\t\tparentMatcher = parentMatcher.parent;\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tpath,\n\t\t\tparams,\n\t\t\tmatched,\n\t\t\tmeta: mergeMetaFields(matched)\n\t\t};\n\t}\n\troutes.forEach((route) => addRoute(route));\n\tfunction clearRoutes() {\n\t\tmatchers.length = 0;\n\t\tmatcherMap.clear();\n\t}\n\treturn {\n\t\taddRoute,\n\t\tresolve,\n\t\tremoveRoute,\n\t\tclearRoutes,\n\t\tgetRoutes,\n\t\tgetRecordMatcher\n\t};\n}\n/**\n* Picks an object param to contain only specified keys.\n*\n* @param params - params object to pick from\n* @param keys - keys to pick\n*/\nfunction pickParams(params, keys) {\n\tconst newParams = {};\n\tfor (const key of keys) if (key in params) newParams[key] = params[key];\n\treturn newParams;\n}\n/**\n* Normalizes a RouteRecordRaw. Creates a copy\n*\n* @param record\n* @returns the normalized version\n*/\nfunction normalizeRouteRecord(record) {\n\tconst normalized = {\n\t\tpath: record.path,\n\t\tredirect: record.redirect,\n\t\tname: record.name,\n\t\tmeta: record.meta || {},\n\t\taliasOf: record.aliasOf,\n\t\tbeforeEnter: record.beforeEnter,\n\t\tprops: normalizeRecordProps(record),\n\t\tchildren: record.children || [],\n\t\tinstances: {},\n\t\tleaveGuards: /* @__PURE__ */ new Set(),\n\t\tupdateGuards: /* @__PURE__ */ new Set(),\n\t\tenterCallbacks: {},\n\t\tcomponents: \"components\" in record ? record.components || null : record.component && { default: record.component }\n\t};\n\tObject.defineProperty(normalized, \"mods\", { value: {} });\n\treturn normalized;\n}\n/**\n* Normalize the optional `props` in a record to always be an object similar to\n* components. Also accept a boolean for components.\n* @param record\n*/\nfunction normalizeRecordProps(record) {\n\tconst propsObject = {};\n\tconst props = record.props || false;\n\tif (\"component\" in record) propsObject.default = props;\n\telse for (const name in record.components) propsObject[name] = typeof props === \"object\" ? props[name] : props;\n\treturn propsObject;\n}\n/**\n* Checks if a record or any of its parent is an alias\n* @param record\n*/\nfunction isAliasRecord(record) {\n\twhile (record) {\n\t\tif (record.record.aliasOf) return true;\n\t\trecord = record.parent;\n\t}\n\treturn false;\n}\n/**\n* Merge meta fields of an array of records\n*\n* @param matched - array of matched records\n*/\nfunction mergeMetaFields(matched) {\n\treturn matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction isSameParam(a, b) {\n\treturn a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable;\n}\n/**\n* Check if a path and its alias have the same required params\n*\n* @param a - original record\n* @param b - alias record\n*/\nfunction checkSameParams(a, b) {\n\tfor (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n\tfor (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n}\n/**\n* A route with a name and a child with an empty path without a name should warn when adding the route\n*\n* @param mainNormalizedRecord - RouteRecordNormalized\n* @param parent - RouteRecordMatcher\n*/\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n\tif (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path && mainNormalizedRecord.children.length === 0) warn$1(`The route named \"${String(parent.record.name)}\" has a child without a name, an empty path, and no children. This is probably a mistake: using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to silence the warning.`);\n}\nfunction checkSameNameAsAncestor(record, parent) {\n\tfor (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? \"child\" : \"descendant\"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n\tfor (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) return warn$1(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n}\n/**\n* Performs a binary search to find the correct insertion index for a new matcher.\n*\n* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n*\n* @param matcher - new matcher to be inserted\n* @param matchers - existing matchers\n*/\nfunction findInsertionIndex(matcher, matchers) {\n\tlet lower = 0;\n\tlet upper = matchers.length;\n\twhile (lower !== upper) {\n\t\tconst mid = lower + upper >> 1;\n\t\tif (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid;\n\t\telse lower = mid + 1;\n\t}\n\tconst insertionAncestor = getInsertionAncestor(matcher);\n\tif (insertionAncestor) {\n\t\tupper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n\t\tif (process.env.NODE_ENV !== \"production\" && upper < 0) warn$1(`Finding ancestor route \"${insertionAncestor.record.path}\" failed for \"${matcher.record.path}\"`);\n\t}\n\treturn upper;\n}\nfunction getInsertionAncestor(matcher) {\n\tlet ancestor = matcher;\n\twhile (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor;\n}\n/**\n* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n* a component, or name, or redirect, are just used to group other routes.\n* @param matcher\n* @param matcher.record record of the matcher\n* @returns\n*/\nfunction isMatchable({ record }) {\n\treturn !!(record.name || record.components && Object.keys(record.components).length || record.redirect);\n}\n\n//#endregion\n//#region src/RouterLink.ts\n/**\n* Returns the internal behavior of a {@link RouterLink} without the rendering part.\n*\n* @param props - a `to` location and an optional `replace` flag\n*/\nfunction useLink(props) {\n\tconst router = inject(routerKey);\n\tconst currentRoute = inject(routeLocationKey);\n\tlet hasPrevious = false;\n\tlet previousTo = null;\n\tconst route = computed(() => {\n\t\tconst to = unref(props.to);\n\t\tif (process.env.NODE_ENV !== \"production\" && (!hasPrevious || to !== previousTo)) {\n\t\t\tif (!isRouteLocation(to)) if (hasPrevious) warn$1(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n\t\t\telse warn$1(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n\t\t\tpreviousTo = to;\n\t\t\thasPrevious = true;\n\t\t}\n\t\treturn router.resolve(to);\n\t});\n\tconst activeRecordIndex = computed(() => {\n\t\tconst { matched } = route.value;\n\t\tconst { length } = matched;\n\t\tconst routeMatched = matched[length - 1];\n\t\tconst currentMatched = currentRoute.matched;\n\t\tif (!routeMatched || !currentMatched.length) return -1;\n\t\tconst index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n\t\tif (index > -1) return index;\n\t\tconst parentRecordPath = getOriginalPath(matched[length - 2]);\n\t\treturn length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index;\n\t});\n\tconst isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));\n\tconst isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));\n\tfunction navigate(e = {}) {\n\t\tif (guardEvent(e)) {\n\t\t\tconst p = router[unref(props.replace) ? \"replace\" : \"push\"](unref(props.to)).catch(noop);\n\t\t\tif (props.viewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document) document.startViewTransition(() => p);\n\t\t\treturn p;\n\t\t}\n\t\treturn Promise.resolve();\n\t}\n\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n\t\tconst instance = getCurrentInstance();\n\t\tif (instance) {\n\t\t\tconst linkContextDevtools = {\n\t\t\t\troute: route.value,\n\t\t\t\tisActive: isActive.value,\n\t\t\t\tisExactActive: isExactActive.value,\n\t\t\t\terror: null\n\t\t\t};\n\t\t\tinstance.__vrl_devtools = instance.__vrl_devtools || [];\n\t\t\tinstance.__vrl_devtools.push(linkContextDevtools);\n\t\t\twatchEffect(() => {\n\t\t\t\tlinkContextDevtools.route = route.value;\n\t\t\t\tlinkContextDevtools.isActive = isActive.value;\n\t\t\t\tlinkContextDevtools.isExactActive = isExactActive.value;\n\t\t\t\tlinkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : \"Invalid \\\"to\\\" value\";\n\t\t\t}, { flush: \"post\" });\n\t\t}\n\t}\n\t/**\n\t* NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n\t*/\n\treturn {\n\t\troute,\n\t\thref: computed(() => route.value.href),\n\t\tisActive,\n\t\tisExactActive,\n\t\tnavigate\n\t};\n}\nfunction preferSingleVNode(vnodes) {\n\treturn vnodes.length === 1 ? vnodes[0] : vnodes;\n}\nconst RouterLinkImpl = /* @__PURE__ */ defineComponent({\n\tname: \"RouterLink\",\n\tcompatConfig: { MODE: 3 },\n\tprops: {\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true\n\t\t},\n\t\treplace: Boolean,\n\t\tactiveClass: String,\n\t\texactActiveClass: String,\n\t\tcustom: Boolean,\n\t\tariaCurrentValue: {\n\t\t\ttype: String,\n\t\t\tdefault: \"page\"\n\t\t},\n\t\tviewTransition: Boolean\n\t},\n\tuseLink,\n\tsetup(props, { slots }) {\n\t\tconst link = reactive(useLink(props));\n\t\tconst { options } = inject(routerKey);\n\t\tconst elClass = computed(() => ({\n\t\t\t[getLinkClass(props.activeClass, options.linkActiveClass, \"router-link-active\")]: link.isActive,\n\t\t\t[getLinkClass(props.exactActiveClass, options.linkExactActiveClass, \"router-link-exact-active\")]: link.isExactActive\n\t\t}));\n\t\treturn () => {\n\t\t\tconst children = slots.default && preferSingleVNode(slots.default(link));\n\t\t\treturn props.custom ? children : h(\"a\", {\n\t\t\t\t\"aria-current\": link.isExactActive ? props.ariaCurrentValue : null,\n\t\t\t\thref: link.href,\n\t\t\t\tonClick: link.navigate,\n\t\t\t\tclass: elClass.value\n\t\t\t}, children);\n\t\t};\n\t}\n});\n/**\n* Component to render a link that triggers a navigation on click.\n*/\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n\tif (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\n\tif (e.defaultPrevented) return;\n\tif (e.button !== void 0 && e.button !== 0) return;\n\tif (e.currentTarget && e.currentTarget.getAttribute) {\n\t\tconst target = e.currentTarget.getAttribute(\"target\");\n\t\tif (/\\b_blank\\b/i.test(target)) return;\n\t}\n\tif (e.preventDefault) e.preventDefault();\n\treturn true;\n}\nfunction includesParams(outer, inner) {\n\tfor (const key in inner) {\n\t\tconst innerValue = inner[key];\n\t\tconst outerValue = outer[key];\n\t\tif (typeof innerValue === \"string\") {\n\t\t\tif (innerValue !== outerValue) return false;\n\t\t} else if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false;\n\t}\n\treturn true;\n}\n/**\n* Get the original path value of a record by following its aliasOf\n* @param record\n*/\nfunction getOriginalPath(record) {\n\treturn record ? record.aliasOf ? record.aliasOf.path : record.path : \"\";\n}\n/**\n* Utility class to get the active class based on defaults.\n* @param propClass\n* @param globalClass\n* @param defaultClass\n*/\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;\n\n//#endregion\n//#region src/RouterView.ts\nconst RouterViewImpl = /* @__PURE__ */ defineComponent({\n\tname: \"RouterView\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: \"default\"\n\t\t},\n\t\troute: Object\n\t},\n\tcompatConfig: { MODE: 3 },\n\tsetup(props, { attrs, slots }) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warnDeprecatedUsage();\n\t\tconst injectedRoute = inject(routerViewLocationKey);\n\t\tconst routeToDisplay = computed(() => props.route || injectedRoute.value);\n\t\tconst injectedDepth = inject(viewDepthKey, 0);\n\t\tconst depth = computed(() => {\n\t\t\tlet initialDepth = unref(injectedDepth);\n\t\t\tconst { matched } = routeToDisplay.value;\n\t\t\tlet matchedRoute;\n\t\t\twhile ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++;\n\t\t\treturn initialDepth;\n\t\t});\n\t\tconst matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n\t\tprovide(viewDepthKey, computed(() => depth.value + 1));\n\t\tprovide(matchedRouteKey, matchedRouteRef);\n\t\tprovide(routerViewLocationKey, routeToDisplay);\n\t\tconst viewRef = ref();\n\t\twatch(() => [\n\t\t\tviewRef.value,\n\t\t\tmatchedRouteRef.value,\n\t\t\tprops.name\n\t\t], ([instance, to, name], [oldInstance, from, oldName]) => {\n\t\t\tif (to) {\n\t\t\t\tto.instances[name] = instance;\n\t\t\t\tif (from && from !== to && instance && instance === oldInstance) {\n\t\t\t\t\tif (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards;\n\t\t\t\t\tif (!to.updateGuards.size) to.updateGuards = from.updateGuards;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));\n\t\t}, { flush: \"post\" });\n\t\treturn () => {\n\t\t\tconst route = routeToDisplay.value;\n\t\t\tconst currentName = props.name;\n\t\t\tconst matchedRoute = matchedRouteRef.value;\n\t\t\tconst ViewComponent = matchedRoute && matchedRoute.components[currentName];\n\t\t\tif (!ViewComponent) return normalizeSlot(slots.default, {\n\t\t\t\tComponent: ViewComponent,\n\t\t\t\troute\n\t\t\t});\n\t\t\tconst routePropsOption = matchedRoute.props[currentName];\n\t\t\tconst routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === \"function\" ? routePropsOption(route) : routePropsOption : null;\n\t\t\tconst onVnodeUnmounted = (vnode) => {\n\t\t\t\tif (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null;\n\t\t\t};\n\t\t\tconst component = h(ViewComponent, assign({}, routeProps, attrs, {\n\t\t\t\tonVnodeUnmounted,\n\t\t\t\tref: viewRef\n\t\t\t}));\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && component.ref) {\n\t\t\t\tconst info = {\n\t\t\t\t\tdepth: depth.value,\n\t\t\t\t\tname: matchedRoute.name,\n\t\t\t\t\tpath: matchedRoute.path,\n\t\t\t\t\tmeta: matchedRoute.meta\n\t\t\t\t};\n\t\t\t\t(isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => {\n\t\t\t\t\tinstance.__vrv_devtools = info;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn normalizeSlot(slots.default, {\n\t\t\t\tComponent: component,\n\t\t\t\troute\n\t\t\t}) || component;\n\t\t};\n\t}\n});\nfunction normalizeSlot(slot, data) {\n\tif (!slot) return null;\n\tconst slotContent = slot(data);\n\treturn slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n/**\n* Component to display the current route the user is at.\n*/\nconst RouterView = RouterViewImpl;\nfunction warnDeprecatedUsage() {\n\tconst instance = getCurrentInstance();\n\tconst parentName = instance.parent && instance.parent.type.name;\n\tconst parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n\tif (parentName && (parentName === \"KeepAlive\" || parentName.includes(\"Transition\")) && typeof parentSubTreeType === \"object\" && parentSubTreeType.name === \"RouterView\") {\n\t\tconst comp = parentName === \"KeepAlive\" ? \"keep-alive\" : \"transition\";\n\t\twarn$1(` can no longer be used directly inside or .\nUse slot props instead:\n\n\n <${comp}>\\n \\n \\n`);\n\t}\n}\n\n//#endregion\n//#region src/router.ts\n/**\n* Creates a Router instance that can be used by a Vue app.\n*\n* @param options - {@link RouterOptions}\n*/\nfunction createRouter(options) {\n\tconst matcher = createRouterMatcher(options.routes, options);\n\tconst parseQuery$1 = options.parseQuery || parseQuery;\n\tconst stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n\tconst routerHistory = options.history;\n\tif (process.env.NODE_ENV !== \"production\" && !routerHistory) throw new Error(\"Provide the \\\"history\\\" option when calling \\\"createRouter()\\\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history\");\n\tconst beforeGuards = useCallbacks();\n\tconst beforeResolveGuards = useCallbacks();\n\tconst afterGuards = useCallbacks();\n\tconst currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n\tlet pendingLocation = START_LOCATION_NORMALIZED;\n\tif (isBrowser && options.scrollBehavior && \"scrollRestoration\" in history) history.scrollRestoration = \"manual\";\n\tconst normalizeParams = applyToParams.bind(null, (paramValue) => \"\" + paramValue);\n\tconst encodeParams = applyToParams.bind(null, encodeParam);\n\tconst decodeParams = applyToParams.bind(null, decode);\n\tfunction addRoute(parentOrRoute, route) {\n\t\tlet parent;\n\t\tlet record;\n\t\tif (isRouteName(parentOrRoute)) {\n\t\t\tparent = matcher.getRecordMatcher(parentOrRoute);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !parent) warn$1(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n\t\t\trecord = route;\n\t\t} else record = parentOrRoute;\n\t\treturn matcher.addRoute(record, parent);\n\t}\n\tfunction removeRoute(name) {\n\t\tconst recordMatcher = matcher.getRecordMatcher(name);\n\t\tif (recordMatcher) matcher.removeRoute(recordMatcher);\n\t\telse if (process.env.NODE_ENV !== \"production\") warn$1(`Cannot remove non-existent route \"${String(name)}\"`);\n\t}\n\tfunction getRoutes() {\n\t\treturn matcher.getRoutes().map((routeMatcher) => routeMatcher.record);\n\t}\n\tfunction hasRoute(name) {\n\t\treturn !!matcher.getRecordMatcher(name);\n\t}\n\tfunction resolve(rawLocation, currentLocation) {\n\t\tcurrentLocation = assign({}, currentLocation || currentRoute.value);\n\t\tif (typeof rawLocation === \"string\") {\n\t\t\tconst locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n\t\t\tconst matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n\t\t\tconst href = routerHistory.createHref(locationNormalized.fullPath);\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (href.startsWith(\"//\")) warn$1(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n\t\t\t\telse if (!matchedRoute.matched.length) warn$1(`No match found for location with path \"${rawLocation}\"`);\n\t\t\t}\n\t\t\treturn assign(locationNormalized, matchedRoute, {\n\t\t\t\tparams: decodeParams(matchedRoute.params),\n\t\t\t\thash: decode(locationNormalized.hash),\n\t\t\t\tredirectedFrom: void 0,\n\t\t\t\thref\n\t\t\t});\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\" && !isRouteLocation(rawLocation)) {\n\t\t\twarn$1(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n\t\t\treturn resolve({});\n\t\t}\n\t\tlet matcherLocation;\n\t\tif (rawLocation.path != null) {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && \"params\" in rawLocation && !(\"name\" in rawLocation) && Object.keys(rawLocation.params).length) warn$1(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n\t\t\tmatcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path });\n\t\t} else {\n\t\t\tconst targetParams = assign({}, rawLocation.params);\n\t\t\tfor (const key in targetParams) if (targetParams[key] == null) delete targetParams[key];\n\t\t\tmatcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) });\n\t\t\tcurrentLocation.params = encodeParams(currentLocation.params);\n\t\t}\n\t\tconst matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n\t\tconst hash = rawLocation.hash || \"\";\n\t\tif (process.env.NODE_ENV !== \"production\" && hash && !hash.startsWith(\"#\")) warn$1(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n\t\tmatchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n\t\tconst fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n\t\t\thash: encodeHash(hash),\n\t\t\tpath: matchedRoute.path\n\t\t}));\n\t\tconst href = routerHistory.createHref(fullPath);\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (href.startsWith(\"//\")) warn$1(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n\t\t\telse if (!matchedRoute.matched.length) warn$1(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n\t\t}\n\t\treturn assign({\n\t\t\tfullPath,\n\t\t\thash,\n\t\t\tquery: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}\n\t\t}, matchedRoute, {\n\t\t\tredirectedFrom: void 0,\n\t\t\thref\n\t\t});\n\t}\n\tfunction locationAsObject(to) {\n\t\treturn typeof to === \"string\" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to);\n\t}\n\tfunction checkCanceledNavigation(to, from) {\n\t\tif (pendingLocation !== to) return createRouterError(ErrorTypes.NAVIGATION_CANCELLED, {\n\t\t\tfrom,\n\t\t\tto\n\t\t});\n\t}\n\tfunction push(to) {\n\t\treturn pushWithRedirect(to);\n\t}\n\tfunction replace(to) {\n\t\treturn push(assign(locationAsObject(to), { replace: true }));\n\t}\n\tfunction handleRedirectRecord(to, from) {\n\t\tconst lastMatched = to.matched[to.matched.length - 1];\n\t\tif (lastMatched && lastMatched.redirect) {\n\t\t\tconst { redirect } = lastMatched;\n\t\t\tlet newTargetLocation = typeof redirect === \"function\" ? redirect(to, from) : redirect;\n\t\t\tif (typeof newTargetLocation === \"string\") {\n\t\t\t\tnewTargetLocation = newTargetLocation.includes(\"?\") || newTargetLocation.includes(\"#\") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation };\n\t\t\t\tnewTargetLocation.params = {};\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && newTargetLocation.path == null && !(\"name\" in newTargetLocation)) {\n\t\t\t\twarn$1(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n\t\t\t\tthrow new Error(\"Invalid redirect\");\n\t\t\t}\n\t\t\treturn assign({\n\t\t\t\tquery: to.query,\n\t\t\t\thash: to.hash,\n\t\t\t\tparams: newTargetLocation.path != null ? {} : to.params\n\t\t\t}, newTargetLocation);\n\t\t}\n\t}\n\tfunction pushWithRedirect(to, redirectedFrom) {\n\t\tconst targetLocation = pendingLocation = resolve(to);\n\t\tconst from = currentRoute.value;\n\t\tconst data = to.state;\n\t\tconst force = to.force;\n\t\tconst replace = to.replace === true;\n\t\tconst shouldRedirect = handleRedirectRecord(targetLocation, from);\n\t\tif (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n\t\t\tstate: typeof shouldRedirect === \"object\" ? assign({}, data, shouldRedirect.state) : data,\n\t\t\tforce,\n\t\t\treplace\n\t\t}), redirectedFrom || targetLocation);\n\t\tconst toLocation = targetLocation;\n\t\ttoLocation.redirectedFrom = redirectedFrom;\n\t\tlet failure;\n\t\tif (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n\t\t\tfailure = createRouterError(ErrorTypes.NAVIGATION_DUPLICATED, {\n\t\t\t\tto: toLocation,\n\t\t\t\tfrom\n\t\t\t});\n\t\t\thandleScroll(from, from, true, false);\n\t\t}\n\t\treturn (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure) => {\n\t\t\tif (failure) {\n\t\t\t\tif (isNavigationFailure(failure, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\" && isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) {\n\t\t\t\t\t\twarn$1(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n\t\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Infinite redirect in navigation guard\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn pushWithRedirect(assign({ replace }, locationAsObject(failure.to), {\n\t\t\t\t\t\tstate: typeof failure.to === \"object\" ? assign({}, data, failure.to.state) : data,\n\t\t\t\t\t\tforce\n\t\t\t\t\t}), redirectedFrom || toLocation);\n\t\t\t\t}\n\t\t\t} else failure = finalizeNavigation(toLocation, from, true, replace, data);\n\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\treturn failure;\n\t\t});\n\t}\n\t/**\n\t* Helper to reject and skip all navigation guards if a new navigation happened\n\t* @param to\n\t* @param from\n\t*/\n\tfunction checkCanceledNavigationAndReject(to, from) {\n\t\tconst error = checkCanceledNavigation(to, from);\n\t\treturn error ? Promise.reject(error) : Promise.resolve();\n\t}\n\tfunction runWithContext(fn) {\n\t\tconst app = installedApps.values().next().value;\n\t\treturn app && typeof app.runWithContext === \"function\" ? app.runWithContext(fn) : fn();\n\t}\n\tfunction navigate(to, from) {\n\t\tlet guards;\n\t\tconst [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n\t\tguards = extractComponentsGuards(leavingRecords.reverse(), \"beforeRouteLeave\", to, from);\n\t\tfor (const record of leavingRecords) record.leaveGuards.forEach((guard) => {\n\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t});\n\t\tconst canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n\t\tguards.push(canceledNavigationCheck);\n\t\treturn runGuardQueue(guards).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = extractComponentsGuards(updatingRecords, \"beforeRouteUpdate\", to, from);\n\t\t\tfor (const record of updatingRecords) record.updateGuards.forEach((guard) => {\n\t\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t\t});\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const record of enteringRecords) if (record.beforeEnter) if (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from));\n\t\t\telse guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tto.matched.forEach((record) => record.enterCallbacks = {});\n\t\t\tguards = extractComponentsGuards(enteringRecords, \"beforeRouteEnter\", to, from, runWithContext);\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).catch((err) => isNavigationFailure(err, ErrorTypes.NAVIGATION_CANCELLED) ? err : Promise.reject(err));\n\t}\n\tfunction triggerAfterEach(to, from, failure) {\n\t\tafterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));\n\t}\n\t/**\n\t* - Cleans up any navigation guards\n\t* - Changes the url if necessary\n\t* - Calls the scrollBehavior\n\t*/\n\tfunction finalizeNavigation(toLocation, from, isPush, replace, data) {\n\t\tconst error = checkCanceledNavigation(toLocation, from);\n\t\tif (error) return error;\n\t\tconst isFirstNavigation = from === START_LOCATION_NORMALIZED;\n\t\tconst state = !isBrowser ? {} : history.state;\n\t\tif (isPush) if (replace || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data));\n\t\telse routerHistory.push(toLocation.fullPath, data);\n\t\tcurrentRoute.value = toLocation;\n\t\thandleScroll(toLocation, from, isPush, isFirstNavigation);\n\t\tmarkAsReady();\n\t}\n\tlet removeHistoryListener;\n\tfunction setupListeners() {\n\t\tif (removeHistoryListener) return;\n\t\tremoveHistoryListener = routerHistory.listen((to, _from, info) => {\n\t\t\tif (!router.listening) return;\n\t\t\tconst toLocation = resolve(to);\n\t\t\tconst shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value);\n\t\t\tif (shouldRedirect) {\n\t\t\t\tpushWithRedirect(assign(shouldRedirect, {\n\t\t\t\t\treplace: true,\n\t\t\t\t\tforce: true\n\t\t\t\t}), toLocation).catch(noop);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpendingLocation = toLocation;\n\t\t\tconst from = currentRoute.value;\n\t\t\tif (isBrowser) saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n\t\t\tnavigate(toLocation, from).catch((error) => {\n\t\t\t\tif (isNavigationFailure(error, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_CANCELLED)) return error;\n\t\t\t\tif (isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) {\n\t\t\t\t\tpushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => {\n\t\t\t\t\t\tif (isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED) && !info.delta && info.type === NavigationType.pop) routerHistory.go(-1, false);\n\t\t\t\t\t}).catch(noop);\n\t\t\t\t\treturn Promise.reject();\n\t\t\t\t}\n\t\t\t\tif (info.delta) routerHistory.go(-info.delta, false);\n\t\t\t\treturn triggerError(error, toLocation, from);\n\t\t\t}).then((failure) => {\n\t\t\t\tfailure = failure || finalizeNavigation(toLocation, from, false);\n\t\t\t\tif (failure) {\n\t\t\t\t\tif (info.delta && !isNavigationFailure(failure, ErrorTypes.NAVIGATION_CANCELLED)) routerHistory.go(-info.delta, false);\n\t\t\t\t\telse if (info.type === NavigationType.pop && isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED)) routerHistory.go(-1, false);\n\t\t\t\t}\n\t\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\t}).catch(noop);\n\t\t});\n\t}\n\tlet readyHandlers = useCallbacks();\n\tlet errorListeners = useCallbacks();\n\tlet ready;\n\t/**\n\t* Trigger errorListeners added via onError and throws the error as well\n\t*\n\t* @param error - error to throw\n\t* @param to - location we were navigating to when the error happened\n\t* @param from - location we were navigating from when the error happened\n\t* @returns the error as a rejected promise\n\t*/\n\tfunction triggerError(error, to, from) {\n\t\tmarkAsReady(error);\n\t\tconst list = errorListeners.list();\n\t\tif (list.length) list.forEach((handler) => handler(error, to, from));\n\t\telse {\n\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"uncaught error during route navigation:\");\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn Promise.reject(error);\n\t}\n\tfunction isReady() {\n\t\tif (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve();\n\t\treturn new Promise((resolve, reject) => {\n\t\t\treadyHandlers.add([resolve, reject]);\n\t\t});\n\t}\n\tfunction markAsReady(err) {\n\t\tif (!ready) {\n\t\t\tready = !err;\n\t\t\tsetupListeners();\n\t\t\treadyHandlers.list().forEach(([resolve, reject]) => err ? reject(err) : resolve());\n\t\t\treadyHandlers.reset();\n\t\t}\n\t\treturn err;\n\t}\n\tfunction handleScroll(to, from, isPush, isFirstNavigation) {\n\t\tconst { scrollBehavior } = options;\n\t\tif (!isBrowser || !scrollBehavior) return Promise.resolve();\n\t\tconst scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;\n\t\treturn nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => position && scrollToPosition(position)).catch((err) => triggerError(err, to, from));\n\t}\n\tconst go = (delta) => routerHistory.go(delta);\n\tlet started;\n\tconst installedApps = /* @__PURE__ */ new Set();\n\tconst router = {\n\t\tcurrentRoute,\n\t\tlistening: true,\n\t\taddRoute,\n\t\tremoveRoute,\n\t\tclearRoutes: matcher.clearRoutes,\n\t\thasRoute,\n\t\tgetRoutes,\n\t\tresolve,\n\t\toptions,\n\t\tpush,\n\t\treplace,\n\t\tgo,\n\t\tback: () => go(-1),\n\t\tforward: () => go(1),\n\t\tbeforeEach: beforeGuards.add,\n\t\tbeforeResolve: beforeResolveGuards.add,\n\t\tafterEach: afterGuards.add,\n\t\tonError: errorListeners.add,\n\t\tisReady,\n\t\tinstall(app) {\n\t\t\tapp.component(\"RouterLink\", RouterLink);\n\t\t\tapp.component(\"RouterView\", RouterView);\n\t\t\tapp.config.globalProperties.$router = router;\n\t\t\tObject.defineProperty(app.config.globalProperties, \"$route\", {\n\t\t\t\tenumerable: true,\n\t\t\t\tget: () => unref(currentRoute)\n\t\t\t});\n\t\t\tif (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) {\n\t\t\t\tstarted = true;\n\t\t\t\tpush(routerHistory.location).catch((err) => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"Unexpected error when starting the router:\", err);\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst reactiveRoute = {};\n\t\t\tfor (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, {\n\t\t\t\tget: () => currentRoute.value[key],\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t\tapp.provide(routerKey, router);\n\t\t\tapp.provide(routeLocationKey, shallowReactive(reactiveRoute));\n\t\t\tapp.provide(routerViewLocationKey, currentRoute);\n\t\t\tconst unmountApp = app.unmount;\n\t\t\tinstalledApps.add(app);\n\t\t\tapp.unmount = function() {\n\t\t\t\tinstalledApps.delete(app);\n\t\t\t\tif (installedApps.size < 1) {\n\t\t\t\t\tpendingLocation = START_LOCATION_NORMALIZED;\n\t\t\t\t\tremoveHistoryListener && removeHistoryListener();\n\t\t\t\t\tremoveHistoryListener = null;\n\t\t\t\t\tcurrentRoute.value = START_LOCATION_NORMALIZED;\n\t\t\t\t\tstarted = false;\n\t\t\t\t\tready = false;\n\t\t\t\t}\n\t\t\t\tunmountApp();\n\t\t\t};\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && true) addDevtools(app, router, matcher);\n\t\t}\n\t};\n\tfunction runGuardQueue(guards) {\n\t\treturn guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n\t}\n\treturn router;\n}\n\n//#endregion\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };"],"x_google_ignoreList":[0,1,2],"mappings":";;;;;;;;AAQA,IAAM,YAAY,OAAO,aAAa;;;;;;;AAkBtC,SAAS,iBAAiB,WAAW;AACpC,QAAO,OAAO,cAAc,YAAY,iBAAiB,aAAa,WAAW,aAAa,eAAe;;AAE9G,SAAS,WAAW,KAAK;AACxB,QAAO,IAAI,cAAc,IAAI,OAAO,iBAAiB,YAAY,IAAI,WAAW,iBAAiB,IAAI,QAAQ;;AAE9G,IAAM,SAAS,OAAO;AACtB,SAAS,cAAc,IAAI,QAAQ;CAClC,MAAM,YAAY,EAAE;AACpB,MAAK,MAAM,OAAO,QAAQ;EACzB,MAAM,QAAQ,OAAO;AACrB,YAAU,OAAO,QAAQ,MAAM,GAAG,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM;;AAE5D,QAAO;;AAER,IAAM,aAAa;;;;;;;AAOnB,IAAM,UAAU,MAAM;AACtB,SAAS,aAAa,UAAU,gBAAgB;CAC/C,MAAM,UAAU,EAAE;AAClB,MAAK,MAAM,OAAO,SAAU,SAAQ,OAAO,OAAO,iBAAiB,eAAe,OAAO,SAAS;AAClG,QAAO;;;;;;;;AAWR,IAAI,aAA6B,yBAAS,YAAY;AACrD,YAAW,WAAW,uBAAuB,KAAK;AAClD,YAAW,WAAW,+BAA+B,KAAK;AAC1D,YAAW,WAAW,wBAAwB,KAAK;AACnD,YAAW,WAAW,0BAA0B,KAAK;AACrD,YAAW,WAAW,2BAA2B,MAAM;AACvD,QAAO;EACN,EAAE,CAAC;AACL,IAAM,0BAA0B,OAA+C,qBAA0B;;;;;AAKzG,IAAI,wBAAwC,yBAAS,uBAAuB;;;;;AAK3E,uBAAsB,sBAAsB,aAAa,KAAK;;;;;AAK9D,uBAAsB,sBAAsB,eAAe,KAAK;;;;;AAKhE,uBAAsB,sBAAsB,gBAAgB,MAAM;AAClE,QAAO;EACN,EAAE,CAAC;AACL,IAAM,oBAAoB;CACzB,CAAC,WAAW,mBAAmB,EAAE,UAAU,mBAAmB;AAC7D,SAAO,kBAAkB,KAAK,UAAU,SAAS,GAAG,kBAAkB,uBAAuB,KAAK,UAAU,gBAAgB,GAAG;;CAEhI,CAAC,WAAW,2BAA2B,EAAE,MAAM,MAAM;AACpD,SAAO,oBAAoB,KAAK,SAAS,QAAQ,eAAe,GAAG,CAAC;;CAErE,CAAC,WAAW,oBAAoB,EAAE,MAAM,MAAM;AAC7C,SAAO,4BAA4B,KAAK,SAAS,QAAQ,GAAG,SAAS;;CAEtE,CAAC,WAAW,sBAAsB,EAAE,MAAM,MAAM;AAC/C,SAAO,8BAA8B,KAAK,SAAS,QAAQ,GAAG,SAAS;;CAExE,CAAC,WAAW,uBAAuB,EAAE,MAAM,MAAM;AAChD,SAAO,sDAAsD,KAAK,SAAS;;CAE5E;;;;;;;AAOD,SAAS,kBAAkB,MAAM,QAAQ;AACY,QAAO,OAAO,IAAI,MAAM,kBAAkB,MAAM,OAAO,CAAC,EAAE;EAC7G;GACC,0BAA0B;EAC3B,EAAE,OAAO;;AAMX,SAAS,oBAAoB,OAAO,MAAM;AACzC,QAAO,iBAAiB,SAAS,2BAA2B,UAAU,QAAQ,QAAQ,CAAC,EAAE,MAAM,OAAO;;AAEvG,IAAM,kBAAkB;CACvB;CACA;CACA;CACA;AACD,SAAS,eAAe,IAAI;AAC3B,KAAI,OAAO,OAAO,SAAU,QAAO;AACnC,KAAI,GAAG,QAAQ,KAAM,QAAO,GAAG;CAC/B,MAAM,WAAW,EAAE;AACnB,MAAK,MAAM,OAAO,gBAAiB,KAAI,OAAO,GAAI,UAAS,OAAO,GAAG;AACrE,QAAO,KAAK,UAAU,UAAU,MAAM,EAAE;;;;;;;;;AAYzC,IAAM,kBAAkB,OAA+C,+BAAoC;;;;;;;AAO3G,IAAM,eAAe,OAA+C,oBAAyB;;;;;;;AAO7F,IAAM,YAAY,OAA+C,SAAc;;;;;;;AAO/E,IAAM,mBAAmB,OAA+C,iBAAsB;;;;;;;AAO9F,IAAM,wBAAwB,OAA+C,uBAA4B;;;;;AAQzG,SAAS,YAAY;AACpB,QAAO,OAAO,UAAU;;;;;;AAMzB,SAAS,SAAS,OAAO;AACxB,QAAO,OAAO,iBAAiB;;;;;;;;;AC1LhC,SAAS,OAAO,KAAK;CACpB,MAAM,OAAO,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE;AAC3C,SAAQ,KAAK,MAAM,SAAS,CAAC,wBAAwB,IAAI,CAAC,OAAO,KAAK,CAAC;;;;;;;;;;;;;;;;;;;AAsBxE,IAAM,UAAU;AAChB,IAAM,eAAe;AACrB,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,QAAQ;AACd,IAAM,UAAU;;;;;;;;;;;;;;;AAehB,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAC7B,IAAM,eAAe;AACrB,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;AAC1B,IAAM,cAAc;AACpB,IAAM,qBAAqB;AAC3B,IAAM,eAAe;;;;;;;;;AASrB,SAAS,aAAa,MAAM;AAC3B,QAAO,QAAQ,OAAO,KAAK,UAAU,KAAK,KAAK,CAAC,QAAQ,aAAa,IAAI,CAAC,QAAQ,qBAAqB,IAAI,CAAC,QAAQ,sBAAsB,IAAI;;;;;;;;AAQ/I,SAAS,WAAW,MAAM;AACzB,QAAO,aAAa,KAAK,CAAC,QAAQ,mBAAmB,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,QAAQ,cAAc,IAAI;;;;;;;;;AAStH,SAAS,iBAAiB,MAAM;AAC/B,QAAO,aAAa,KAAK,CAAC,QAAQ,SAAS,MAAM,CAAC,QAAQ,cAAc,IAAI,CAAC,QAAQ,SAAS,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,QAAQ,iBAAiB,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,QAAQ,cAAc,IAAI;;;;;;;AAO5P,SAAS,eAAe,MAAM;AAC7B,QAAO,iBAAiB,KAAK,CAAC,QAAQ,UAAU,MAAM;;;;;;;;AAQvD,SAAS,WAAW,MAAM;AACzB,QAAO,aAAa,KAAK,CAAC,QAAQ,SAAS,MAAM,CAAC,QAAQ,OAAO,MAAM;;;;;;;;;;;AAWxE,SAAS,YAAY,MAAM;AAC1B,QAAO,WAAW,KAAK,CAAC,QAAQ,UAAU,MAAM;;AAEjD,SAAS,OAAO,MAAM;AACrB,KAAI,QAAQ,KAAM,QAAO;AACzB,KAAI;AACH,SAAO,mBAAmB,KAAK,KAAK;UAC5B,KAAK;AAC4B,SAAO,mBAAmB,KAAK,yBAAyB;;AAElG,QAAO,KAAK;;AAKb,IAAM,oBAAoB;AAC1B,IAAM,uBAAuB,SAAS,KAAK,QAAQ,mBAAmB,GAAG;;;;;;;;;;AAUzE,SAAS,SAAS,YAAY,UAAU,kBAAkB,KAAK;CAC9D,IAAI,MAAM,QAAQ,EAAE,EAAE,eAAe,IAAI,OAAO;CAChD,MAAM,UAAU,SAAS,QAAQ,IAAI;CACrC,IAAI,YAAY,SAAS,QAAQ,IAAI;AACrC,aAAY,WAAW,KAAK,YAAY,UAAU,KAAK;AACvD,KAAI,aAAa,GAAG;AACnB,SAAO,SAAS,MAAM,GAAG,UAAU;AACnC,iBAAe,SAAS,MAAM,WAAW,UAAU,IAAI,UAAU,SAAS,OAAO;AACjF,UAAQ,WAAW,aAAa,MAAM,EAAE,CAAC;;AAE1C,KAAI,WAAW,GAAG;AACjB,SAAO,QAAQ,SAAS,MAAM,GAAG,QAAQ;AACzC,SAAO,SAAS,MAAM,SAAS,SAAS,OAAO;;AAEhD,QAAO,oBAAoB,QAAQ,OAAO,OAAO,UAAU,gBAAgB;AAC3E,QAAO;EACN,UAAU,OAAO,eAAe;EAChC;EACA;EACA,MAAM,OAAO,KAAK;EAClB;;;;;;;;AAYF,SAAS,aAAa,gBAAgB,UAAU;CAC/C,MAAM,QAAQ,SAAS,QAAQ,eAAe,SAAS,MAAM,GAAG;AAChE,QAAO,SAAS,QAAQ,SAAS,OAAO,SAAS,SAAS,QAAQ;;;;;;;;AAQnE,SAAS,UAAU,UAAU,MAAM;AAClC,KAAI,CAAC,QAAQ,CAAC,SAAS,aAAa,CAAC,WAAW,KAAK,aAAa,CAAC,CAAE,QAAO;AAC5E,QAAO,SAAS,MAAM,KAAK,OAAO,IAAI;;;;;;;;;;;AAWvC,SAAS,oBAAoB,gBAAgB,GAAG,GAAG;CAClD,MAAM,aAAa,EAAE,QAAQ,SAAS;CACtC,MAAM,aAAa,EAAE,QAAQ,SAAS;AACtC,QAAO,aAAa,MAAM,eAAe,cAAc,kBAAkB,EAAE,QAAQ,aAAa,EAAE,QAAQ,YAAY,IAAI,0BAA0B,EAAE,QAAQ,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,KAAK,eAAe,EAAE,MAAM,IAAI,EAAE,SAAS,EAAE;;;;;;;;;AAShP,SAAS,kBAAkB,GAAG,GAAG;AAChC,SAAQ,EAAE,WAAW,QAAQ,EAAE,WAAW;;AAE3C,SAAS,0BAA0B,GAAG,GAAG;AACxC,KAAI,OAAO,KAAK,EAAE,CAAC,WAAW,OAAO,KAAK,EAAE,CAAC,OAAQ,QAAO;AAC5D,MAAK,IAAI,OAAO,EAAG,KAAI,CAAC,+BAA+B,EAAE,MAAM,EAAE,KAAK,CAAE,QAAO;AAC/E,QAAO;;AAER,SAAS,+BAA+B,GAAG,GAAG;AAC7C,QAAO,QAAQ,EAAE,GAAG,kBAAkB,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,kBAAkB,GAAG,EAAE,IAAI,KAAK,EAAE,SAAS,OAAO,KAAK,EAAE,SAAS;;;;;;;;;AAS9H,SAAS,kBAAkB,GAAG,GAAG;AAChC,QAAO,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,OAAO,MAAM,UAAU,EAAE,GAAG,GAAG,EAAE,WAAW,KAAK,EAAE,OAAO;;;;;;;;AAQjH,SAAS,oBAAoB,IAAI,MAAM;AACtC,KAAI,GAAG,WAAW,IAAI,CAAE,QAAO;AAC/B,KAA6C,CAAC,KAAK,WAAW,IAAI,EAAE;AACnE,SAAO,mFAAmF,GAAG,UAAU,KAAK,2BAA2B,KAAK,IAAI;AAChJ,SAAO;;AAER,KAAI,CAAC,GAAI,QAAO;CAChB,MAAM,eAAe,KAAK,MAAM,IAAI;CACpC,MAAM,aAAa,GAAG,MAAM,IAAI;CAChC,MAAM,gBAAgB,WAAW,WAAW,SAAS;AACrD,KAAI,kBAAkB,QAAQ,kBAAkB,IAAK,YAAW,KAAK,GAAG;CACxE,IAAI,WAAW,aAAa,SAAS;CACrC,IAAI;CACJ,IAAI;AACJ,MAAK,aAAa,GAAG,aAAa,WAAW,QAAQ,cAAc;AAClE,YAAU,WAAW;AACrB,MAAI,YAAY,IAAK;AACrB,MAAI,YAAY;OACX,WAAW,EAAG;QACZ;;AAER,QAAO,aAAa,MAAM,GAAG,SAAS,CAAC,KAAK,IAAI,GAAG,MAAM,WAAW,MAAM,WAAW,CAAC,KAAK,IAAI;;;;;;;;;;;;;;;;;AAiBhG,IAAM,4BAA4B;CACjC,MAAM;CACN,MAAM,KAAK;CACX,QAAQ,EAAE;CACV,OAAO,EAAE;CACT,MAAM;CACN,UAAU;CACV,SAAS,EAAE;CACX,MAAM,EAAE;CACR,gBAAgB,KAAK;CACrB;AAID,IAAI,iBAAiC,yBAAS,gBAAgB;AAC7D,gBAAe,SAAS;AACxB,gBAAe,UAAU;AACzB,QAAO;EACN,EAAE,CAAC;AACL,IAAI,sBAAsC,yBAAS,qBAAqB;AACvE,qBAAoB,UAAU;AAC9B,qBAAoB,aAAa;AACjC,qBAAoB,aAAa;AACjC,QAAO;EACN,EAAE,CAAC;;;;;;;AAWL,SAAS,cAAc,MAAM;AAC5B,KAAI,CAAC,KAAM,KAAI,WAAW;EACzB,MAAM,SAAS,SAAS,cAAc,OAAO;AAC7C,SAAO,UAAU,OAAO,aAAa,OAAO,IAAI;AAChD,SAAO,KAAK,QAAQ,mBAAmB,GAAG;OACpC,QAAO;AACd,KAAI,KAAK,OAAO,OAAO,KAAK,OAAO,IAAK,QAAO,MAAM;AACrD,QAAO,oBAAoB,KAAK;;AAEjC,IAAM,iBAAiB;AACvB,SAAS,WAAW,MAAM,UAAU;AACnC,QAAO,KAAK,QAAQ,gBAAgB,IAAI,GAAG;;AAK5C,SAAS,mBAAmB,IAAI,QAAQ;CACvC,MAAM,UAAU,SAAS,gBAAgB,uBAAuB;CAChE,MAAM,SAAS,GAAG,uBAAuB;AACzC,QAAO;EACN,UAAU,OAAO;EACjB,MAAM,OAAO,OAAO,QAAQ,QAAQ,OAAO,QAAQ;EACnD,KAAK,OAAO,MAAM,QAAQ,OAAO,OAAO,OAAO;EAC/C;;AAEF,IAAM,+BAA+B;CACpC,MAAM,OAAO;CACb,KAAK,OAAO;CACZ;AACD,SAAS,iBAAiB,UAAU;CACnC,IAAI;AACJ,KAAI,QAAQ,UAAU;EACrB,MAAM,aAAa,SAAS;EAC5B,MAAM,eAAe,OAAO,eAAe,YAAY,WAAW,WAAW,IAAI;;;;;;;;;;;;;;;;;;;;;;AAsBjF,MAA6C,OAAO,SAAS,OAAO;OAC/D,CAAC,gBAAgB,CAAC,SAAS,eAAe,SAAS,GAAG,MAAM,EAAE,CAAC,CAAE,KAAI;IACxE,MAAM,UAAU,SAAS,cAAc,SAAS,GAAG;AACnD,QAAI,gBAAgB,SAAS;AAC5B,YAAO,iBAAiB,SAAS,GAAG,qDAAqD,SAAS,GAAG,iCAAiC;AACtI;;YAEO,KAAK;AACb,WAAO,iBAAiB,SAAS,GAAG,4QAA4Q;AAChT;;;EAGF,MAAM,KAAK,OAAO,eAAe,WAAW,eAAe,SAAS,eAAe,WAAW,MAAM,EAAE,CAAC,GAAG,SAAS,cAAc,WAAW,GAAG;AAC/I,MAAI,CAAC,IAAI;AACiC,UAAO,yCAAyC,SAAS,GAAG,+BAA+B;AACpI;;AAED,oBAAkB,mBAAmB,IAAI,SAAS;OAC5C,mBAAkB;AACzB,KAAI,oBAAoB,SAAS,gBAAgB,MAAO,QAAO,SAAS,gBAAgB;KACnF,QAAO,SAAS,gBAAgB,QAAQ,OAAO,gBAAgB,OAAO,OAAO,SAAS,gBAAgB,OAAO,OAAO,gBAAgB,MAAM,OAAO,QAAQ;;AAE/J,SAAS,aAAa,MAAM,OAAO;AAClC,SAAQ,QAAQ,QAAQ,QAAQ,MAAM,WAAW,QAAQ,MAAM;;AAEhE,IAAM,kCAAkC,IAAI,KAAK;AACjD,SAAS,mBAAmB,KAAK,gBAAgB;AAChD,iBAAgB,IAAI,KAAK,eAAe;;AAEzC,SAAS,uBAAuB,KAAK;CACpC,MAAM,SAAS,gBAAgB,IAAI,IAAI;AACvC,iBAAgB,OAAO,IAAI;AAC3B,QAAO;;;;;;AASR,SAAS,gBAAgB,OAAO;AAC/B,QAAO,OAAO,UAAU,YAAY,SAAS,OAAO,UAAU;;AAE/D,SAAS,YAAY,MAAM;AAC1B,QAAO,OAAO,SAAS,YAAY,OAAO,SAAS;;;;;;;;;;;AAcpD,SAAS,WAAW,QAAQ;CAC3B,MAAM,QAAQ,EAAE;AAChB,KAAI,WAAW,MAAM,WAAW,IAAK,QAAO;CAC5C,MAAM,gBAAgB,OAAO,OAAO,MAAM,OAAO,MAAM,EAAE,GAAG,QAAQ,MAAM,IAAI;AAC9E,MAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,EAAE,GAAG;EAC7C,MAAM,cAAc,aAAa,GAAG,QAAQ,SAAS,IAAI;EACzD,MAAM,QAAQ,YAAY,QAAQ,IAAI;EACtC,MAAM,MAAM,OAAO,QAAQ,IAAI,cAAc,YAAY,MAAM,GAAG,MAAM,CAAC;EACzE,MAAM,QAAQ,QAAQ,IAAI,OAAO,OAAO,YAAY,MAAM,QAAQ,EAAE,CAAC;AACrE,MAAI,OAAO,OAAO;GACjB,IAAI,eAAe,MAAM;AACzB,OAAI,CAAC,QAAQ,aAAa,CAAE,gBAAe,MAAM,OAAO,CAAC,aAAa;AACtE,gBAAa,KAAK,MAAM;QAClB,OAAM,OAAO;;AAErB,QAAO;;;;;;;;;;;AAWR,SAAS,eAAe,OAAO;CAC9B,IAAI,SAAS;AACb,MAAK,IAAI,OAAO,OAAO;EACtB,MAAM,QAAQ,MAAM;AACpB,QAAM,eAAe,IAAI;AACzB,MAAI,SAAS,MAAM;AAClB,OAAI,UAAU,KAAK,EAAG,YAAW,OAAO,SAAS,MAAM,MAAM;AAC7D;;AAED,GAAC,QAAQ,MAAM,GAAG,MAAM,KAAK,MAAM,KAAK,iBAAiB,EAAE,CAAC,GAAG,CAAC,SAAS,iBAAiB,MAAM,CAAC,EAAE,SAAS,UAAU;AACrH,OAAI,UAAU,KAAK,GAAG;AACrB,eAAW,OAAO,SAAS,MAAM,MAAM;AACvC,QAAI,SAAS,KAAM,WAAU,MAAM;;IAEnC;;AAEH,QAAO;;;;;;;;;;AAUR,SAAS,eAAe,OAAO;CAC9B,MAAM,kBAAkB,EAAE;AAC1B,MAAK,MAAM,OAAO,OAAO;EACxB,MAAM,QAAQ,MAAM;AACpB,MAAI,UAAU,KAAK,EAAG,iBAAgB,OAAO,QAAQ,MAAM,GAAG,MAAM,KAAK,MAAM,KAAK,OAAO,OAAO,KAAK,EAAE,GAAG,SAAS,OAAO,QAAQ,KAAK;;AAE1I,QAAO;;;;;AAQR,SAAS,eAAe;CACvB,IAAI,WAAW,EAAE;CACjB,SAAS,IAAI,SAAS;AACrB,WAAS,KAAK,QAAQ;AACtB,eAAa;GACZ,MAAM,IAAI,SAAS,QAAQ,QAAQ;AACnC,OAAI,IAAI,GAAI,UAAS,OAAO,GAAG,EAAE;;;CAGnC,SAAS,QAAQ;AAChB,aAAW,EAAE;;AAEd,QAAO;EACN;EACA,YAAY,SAAS,OAAO;EAC5B;EACA;;AAKF,SAAS,cAAc,iBAAiB,MAAM,OAAO;CACpD,MAAM,SAAS,gBAAgB;AAC/B,KAAI,CAAC,QAAQ;AAC+B,SAAO,mDAAmD,SAAS,iBAAiB,wBAAwB,qBAAqB,0HAA0H;AACtS;;CAED,IAAI,gBAAgB;CACpB,MAAM,uBAAuB;AAC5B,gBAAc,MAAM,OAAO,MAAM;;AAElC,aAAY,eAAe;AAC3B,eAAc,eAAe;AAC7B,mBAAkB;EACjB,MAAM,YAAY,gBAAgB;AAClC,MAA6C,CAAC,UAAW,QAAO,4IAA4I;AAC5M,MAAI,UAAW,iBAAgB;AAC/B,gBAAc,MAAM,IAAI,MAAM;GAC7B;AACF,eAAc,MAAM,IAAI,MAAM;;;;;;;;;AAS/B,SAAS,mBAAmB,YAAY;AACvC,KAA6C,CAAC,oBAAoB,EAAE;AACnE,SAAO,yGAAyG;AAChH;;AAED,eAAc,OAAO,iBAAiB,EAAE,CAAC,EAAE,eAAe,WAAW;;;;;;;;;AAStE,SAAS,oBAAoB,aAAa;AACzC,KAA6C,CAAC,oBAAoB,EAAE;AACnE,SAAO,0GAA0G;AACjH;;AAED,eAAc,OAAO,iBAAiB,EAAE,CAAC,EAAE,gBAAgB,YAAY;;AAExE,SAAS,iBAAiB,OAAO,IAAI,MAAM,QAAQ,MAAM,kBAAkB,OAAO,IAAI,EAAE;CACvF,MAAM,qBAAqB,WAAW,OAAO,eAAe,QAAQ,OAAO,eAAe,SAAS,EAAE;AACrG,cAAa,IAAI,SAAS,SAAS,WAAW;EAC7C,MAAM,QAAQ,UAAU;AACvB,OAAI,UAAU,MAAO,QAAO,kBAAkB,WAAW,oBAAoB;IAC5E;IACA;IACA,CAAC,CAAC;YACM,iBAAiB,MAAO,QAAO,MAAM;YACrC,gBAAgB,MAAM,CAAE,QAAO,kBAAkB,WAAW,2BAA2B;IAC/F,MAAM;IACN,IAAI;IACJ,CAAC,CAAC;QACE;AACJ,QAAI,sBAAsB,OAAO,eAAe,UAAU,sBAAsB,OAAO,UAAU,WAAY,oBAAmB,KAAK,MAAM;AAC3I,aAAS;;;EAGX,MAAM,cAAc,qBAAqB,MAAM,KAAK,UAAU,OAAO,UAAU,OAAO,IAAI,MAA8C,uBAAuB,oBAAoB,MAAM,IAAI,KAAK,CAAC,CAAQ,CAAC;EAC5M,IAAI,YAAY,QAAQ,QAAQ,YAAY;AAC5C,MAAI,MAAM,SAAS,EAAG,aAAY,UAAU,KAAK,KAAK;AACtD,MAA6C,MAAM,SAAS,GAAG;GAC9D,MAAM,UAAU,kDAAkD,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,GAAG,KAAK,MAAM,UAAU,CAAC;AACnI,OAAI,OAAO,gBAAgB,YAAY,UAAU,YAAa,aAAY,UAAU,MAAM,kBAAkB;AAC3G,QAAI,CAAC,KAAK,SAAS;AAClB,YAAO,QAAQ;AACf,YAAO,QAAQ,uBAAuB,IAAI,MAAM,2BAA2B,CAAC;;AAE7E,WAAO;KACN;YACO,gBAAgB,KAAK;QACzB,CAAC,KAAK,SAAS;AAClB,YAAO,QAAQ;AACf,4BAAuB,IAAI,MAAM,2BAA2B,CAAC;AAC7D;;;;AAIH,YAAU,OAAO,QAAQ,OAAO,IAAI,CAAC;GACpC;;;;;;;;;AASH,SAAS,uBAAuB,MAAM;CACrC,IAAI,SAAS;AACb,QAAO,WAAW;AACjB,MAAI,CAAC,QAAQ;AACZ,YAAS;AACT,UAAO,+GAA+G;;AAEvH,SAAO,KAAK,MAAM,MAAM,UAAU;;;AAGpC,SAAS,oBAAoB,MAAM,IAAI,MAAM;CAC5C,IAAI,SAAS;AACb,QAAO,WAAW;AACjB,MAAI,aAAa,EAAG,QAAO,0FAA0F,KAAK,SAAS,QAAQ,GAAG,SAAS,iGAAiG;AACxP,OAAK,UAAU;AACf,MAAI,WAAW,EAAG,MAAK,MAAM,MAAM,UAAU;;;AAG/C,SAAS,wBAAwB,SAAS,WAAW,IAAI,MAAM,kBAAkB,OAAO,IAAI,EAAE;CAC7F,MAAM,SAAS,EAAE;AACjB,MAAK,MAAM,UAAU,SAAS;AAC7B,MAA6C,CAAC,OAAO,cAAc,OAAO,YAAY,CAAC,OAAO,SAAS,OAAQ,QAAO,qBAAqB,OAAO,KAAK,8DAA8D;AACrN,OAAK,MAAM,QAAQ,OAAO,YAAY;GACrC,IAAI,eAAe,OAAO,WAAW;AAEpC,OAAI,CAAC,gBAAgB,OAAO,iBAAiB,YAAY,OAAO,iBAAiB,YAAY;AAC5F,WAAO,cAAc,KAAK,yBAAyB,OAAO,KAAK,wCAAwC,OAAO,aAAa,CAAC,IAAI;AAChI,UAAM,IAAI,MAAM,0BAA0B;cAChC,UAAU,cAAc;AAClC,WAAO,cAAc,KAAK,yBAAyB,OAAO,KAAK,6LAA6L;IAC5P,MAAM,UAAU;AAChB,yBAAqB;cACX,aAAa,iBAAiB,CAAC,aAAa,qBAAqB;AAC3E,iBAAa,sBAAsB;AACnC,WAAO,cAAc,KAAK,yBAAyB,OAAO,KAAK,oJAAoJ;;AAGrN,OAAI,cAAc,sBAAsB,CAAC,OAAO,UAAU,MAAO;AACjE,OAAI,iBAAiB,aAAa,EAAE;IACnC,MAAM,SAAS,aAAa,aAAa,cAAc;AACvD,aAAS,OAAO,KAAK,iBAAiB,OAAO,IAAI,MAAM,QAAQ,MAAM,eAAe,CAAC;UAC/E;IACN,IAAI,mBAAmB,cAAc;AACrC,QAA6C,EAAE,WAAW,mBAAmB;AAC5E,YAAO,cAAc,KAAK,yBAAyB,OAAO,KAAK,4LAA4L;AAC3P,wBAAmB,QAAQ,QAAQ,iBAAiB;;AAErD,WAAO,WAAW,iBAAiB,MAAM,aAAa;AACrD,SAAI,CAAC,SAAU,OAAM,IAAI,MAAM,+BAA+B,KAAK,QAAQ,OAAO,KAAK,GAAG;KAC1F,MAAM,oBAAoB,WAAW,SAAS,GAAG,SAAS,UAAU;AACpE,YAAO,KAAK,QAAQ;AACpB,YAAO,WAAW,QAAQ;KAC1B,MAAM,SAAS,kBAAkB,aAAa,mBAAmB;AACjE,YAAO,SAAS,iBAAiB,OAAO,IAAI,MAAM,QAAQ,MAAM,eAAe,EAAE;MAChF,CAAC;;;;AAIN,QAAO;;;;;;;AAOR,SAAS,kBAAkB,OAAO;AACjC,QAAO,MAAM,QAAQ,OAAO,WAAW,OAAO,SAAS,GAAG,QAAQ,uBAAuB,IAAI,MAAM,sCAAsC,CAAC,GAAG,QAAQ,IAAI,MAAM,QAAQ,KAAK,WAAW,OAAO,cAAc,QAAQ,IAAI,OAAO,KAAK,OAAO,WAAW,CAAC,QAAQ,UAAU,SAAS;EACjR,MAAM,eAAe,OAAO,WAAW;AACvC,MAAI,OAAO,iBAAiB,cAAc,EAAE,iBAAiB,cAAe,UAAS,KAAK,cAAc,CAAC,MAAM,aAAa;AAC3H,OAAI,CAAC,SAAU,QAAO,QAAQ,uBAAuB,IAAI,MAAM,+BAA+B,KAAK,QAAQ,OAAO,KAAK,yDAAyD,CAAC;GACjL,MAAM,oBAAoB,WAAW,SAAS,GAAG,SAAS,UAAU;AACpE,UAAO,KAAK,QAAQ;AACpB,UAAO,WAAW,QAAQ;IACzB,CAAC;AACH,SAAO;IACL,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,MAAM;;;;;;;;;AAS5B,SAAS,uBAAuB,IAAI,MAAM;CACzC,MAAM,iBAAiB,EAAE;CACzB,MAAM,kBAAkB,EAAE;CAC1B,MAAM,kBAAkB,EAAE;CAC1B,MAAM,MAAM,KAAK,IAAI,KAAK,QAAQ,QAAQ,GAAG,QAAQ,OAAO;AAC5D,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK;EAC7B,MAAM,aAAa,KAAK,QAAQ;AAChC,MAAI,WAAY,KAAI,GAAG,QAAQ,MAAM,WAAW,kBAAkB,QAAQ,WAAW,CAAC,CAAE,iBAAgB,KAAK,WAAW;MACnH,gBAAe,KAAK,WAAW;EACpC,MAAM,WAAW,GAAG,QAAQ;AAC5B,MAAI;OACC,CAAC,KAAK,QAAQ,MAAM,WAAW,kBAAkB,QAAQ,SAAS,CAAC,CAAE,iBAAgB,KAAK,SAAS;;;AAGzG,QAAO;EACN;EACA;EACA;EACA;;;;;;;;;AAYF,SAAS,oBAAoB,eAAe,SAAS;CACpD,MAAM,OAAO,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,cAAc,QAAQ,KAAK,YAAY,KAAK,SAAS;EACtG;EACA;EACA;EACA,CAAC,CAAC,EAAE,CAAC;AACN,QAAO,EAAE,SAAS;EACjB,MAAM;EACN,UAAU;EACV,SAAS,cAAc;EACvB;EACA,OAAO;EACP,EAAE;;AAEJ,SAAS,cAAc,SAAS;AAC/B,QAAO,EAAE,SAAS,EAAE,SAAS,EAAE;;AAEhC,IAAI,WAAW;AACf,SAAS,YAAY,KAAK,QAAQ,SAAS;AAC1C,KAAI,OAAO,cAAe;AAC1B,QAAO,gBAAgB;CACvB,MAAM,KAAK;AACX,qBAAoB;EACnB,IAAI,sBAAsB,KAAK,MAAM,KAAK;EAC1C,OAAO;EACP,aAAa;EACb,UAAU;EACV,MAAM;EACN,qBAAqB,CAAC,UAAU;EAChC;EACA,GAAG,QAAQ;AACX,MAAI,GAAG,kBAAkB,YAAY;AACpC,OAAI,QAAQ,aAAc,SAAQ,aAAa,MAAM,KAAK;IACzD,MAAM;IACN,KAAK;IACL,UAAU;IACV,OAAO,oBAAoB,OAAO,aAAa,OAAO,gBAAgB;IACtE,CAAC;IACD;AACF,MAAI,GAAG,oBAAoB,EAAE,UAAU,MAAM,wBAAwB;AACpE,OAAI,kBAAkB,gBAAgB;IACrC,MAAM,OAAO,kBAAkB;AAC/B,SAAK,KAAK,KAAK;KACd,QAAQ,KAAK,OAAO,GAAG,KAAK,KAAK,UAAU,CAAC,MAAM,MAAM,KAAK;KAC7D,WAAW;KACX,SAAS;KACT,iBAAiB;KACjB,CAAC;;AAEH,OAAI,QAAQ,kBAAkB,eAAe,EAAE;AAC9C,sBAAkB,gBAAgB;AAClC,sBAAkB,eAAe,SAAS,iBAAiB;KAC1D,IAAI,QAAQ,aAAa,MAAM;KAC/B,IAAI,kBAAkB;KACtB,IAAI,UAAU;KACd,IAAI,YAAY;AAChB,SAAI,aAAa,OAAO;AACvB,cAAQ,aAAa;AACrB,wBAAkB;AAClB,kBAAY;gBACF,aAAa,eAAe;AACtC,wBAAkB;AAClB,gBAAU;gBACA,aAAa,UAAU;AACjC,wBAAkB;AAClB,gBAAU;;AAEX,UAAK,KAAK,KAAK;MACd;MACA;MACA;MACA;MACA,CAAC;MACD;;IAEF;AACF,QAAM,OAAO,oBAAoB;AAChC,sBAAmB;AACnB,OAAI,uBAAuB;AAC3B,OAAI,kBAAkB,kBAAkB;AACxC,OAAI,mBAAmB,kBAAkB;IACxC;EACF,MAAM,qBAAqB,wBAAwB;AACnD,MAAI,iBAAiB;GACpB,IAAI;GACJ,OAAO,SAAS,KAAK,MAAM,KAAK,GAAG;GACnC,OAAO;GACP,CAAC;AACF,SAAO,SAAS,OAAO,OAAO;AAC7B,OAAI,iBAAiB;IACpB,SAAS;IACT,OAAO;KACN,OAAO;KACP,UAAU,GAAG;KACb,SAAS;KACT,MAAM,IAAI,KAAK;KACf,MAAM,EAAE,OAAO;KACf,SAAS,GAAG,KAAK;KACjB;IACD,CAAC;IACD;EACF,IAAI,eAAe;AACnB,SAAO,YAAY,IAAI,SAAS;GAC/B,MAAM,OAAO;IACZ,OAAO,cAAc,aAAa;IAClC,MAAM,oBAAoB,MAAM,0CAA0C;IAC1E,IAAI,oBAAoB,IAAI,kBAAkB;IAC9C;AACD,UAAO,eAAe,GAAG,MAAM,kBAAkB,EAAE,OAAO,gBAAgB,CAAC;AAC3E,OAAI,iBAAiB;IACpB,SAAS;IACT,OAAO;KACN,MAAM,IAAI,KAAK;KACf,OAAO;KACP,UAAU,GAAG;KACb;KACA,SAAS,GAAG,KAAK;KACjB;IACD,CAAC;IACD;AACF,SAAO,WAAW,IAAI,MAAM,YAAY;GACvC,MAAM,OAAO,EAAE,OAAO,cAAc,YAAY,EAAE;AAClD,OAAI,SAAS;AACZ,SAAK,UAAU,EAAE,SAAS;KACzB,MAAM;KACN,UAAU;KACV,SAAS,UAAU,QAAQ,UAAU;KACrC,SAAS;KACT,OAAO;KACP,EAAE;AACH,SAAK,SAAS,cAAc,IAAI;SAC1B,MAAK,SAAS,cAAc,IAAI;AACvC,QAAK,OAAO,oBAAoB,MAAM,0CAA0C;AAChF,QAAK,KAAK,oBAAoB,IAAI,kBAAkB;AACpD,OAAI,iBAAiB;IACpB,SAAS;IACT,OAAO;KACN,OAAO;KACP,UAAU,GAAG;KACb,MAAM,IAAI,KAAK;KACf;KACA,SAAS,UAAU,YAAY;KAC/B,SAAS,GAAG,KAAK;KACjB;IACD,CAAC;IACD;;;;EAIF,MAAM,oBAAoB,sBAAsB;AAChD,MAAI,aAAa;GAChB,IAAI;GACJ,OAAO,YAAY,KAAK,MAAM,KAAK;GACnC,MAAM;GACN,uBAAuB;GACvB,CAAC;EACF,SAAS,oBAAoB;AAC5B,OAAI,CAAC,oBAAqB;GAC1B,MAAM,UAAU;GAChB,IAAI,SAAS,QAAQ,WAAW,CAAC,QAAQ,UAAU,CAAC,MAAM,UAAU,CAAC,MAAM,OAAO,OAAO,WAAW;AACpG,UAAO,QAAQ,6BAA6B;AAC5C,OAAI,QAAQ,OAAQ,UAAS,OAAO,QAAQ,UAAU,gBAAgB,OAAO,QAAQ,OAAO,aAAa,CAAC,CAAC;AAC3G,UAAO,SAAS,UAAU,sBAAsB,OAAO,OAAO,aAAa,MAAM,CAAC;AAClF,WAAQ,YAAY,OAAO,IAAI,8BAA8B;;EAE9D,IAAI;AACJ,MAAI,GAAG,kBAAkB,YAAY;AACpC,yBAAsB;AACtB,OAAI,QAAQ,QAAQ,OAAO,QAAQ,gBAAgB,kBAAmB,oBAAmB;IACxF;;;;AAIF,MAAI,GAAG,mBAAmB,YAAY;AACrC,OAAI,QAAQ,QAAQ,OAAO,QAAQ,gBAAgB,mBAAmB;IACrE,MAAM,QAAQ,QAAQ,WAAW,CAAC,MAAM,UAAU,MAAM,OAAO,YAAY,QAAQ,OAAO;AAC1F,QAAI,MAAO,SAAQ,QAAQ,EAAE,SAAS,0CAA0C,MAAM,EAAE;;IAExF;AACF,MAAI,kBAAkB,kBAAkB;AACxC,MAAI,mBAAmB,kBAAkB;GACxC;;AAEH,SAAS,eAAe,KAAK;AAC5B,KAAI,IAAI,SAAU,QAAO,IAAI,aAAa,MAAM;KAC3C,QAAO,IAAI,aAAa,MAAM;;AAEpC,SAAS,0CAA0C,OAAO;CACzD,MAAM,EAAE,WAAW;CACnB,MAAM,SAAS,CAAC;EACf,UAAU;EACV,KAAK;EACL,OAAO,OAAO;EACd,CAAC;AACF,KAAI,OAAO,QAAQ,KAAM,QAAO,KAAK;EACpC,UAAU;EACV,KAAK;EACL,OAAO,OAAO;EACd,CAAC;AACF,QAAO,KAAK;EACX,UAAU;EACV,KAAK;EACL,OAAO,MAAM;EACb,CAAC;AACF,KAAI,MAAM,KAAK,OAAQ,QAAO,KAAK;EAClC,UAAU;EACV,KAAK;EACL,OAAO,EAAE,SAAS;GACjB,MAAM;GACN,UAAU;GACV,SAAS,MAAM,KAAK,KAAK,QAAQ,GAAG,IAAI,OAAO,eAAe,IAAI,GAAG,CAAC,KAAK,IAAI;GAC/E,SAAS;GACT,OAAO,MAAM;GACb,EAAE;EACH,CAAC;AACF,KAAI,OAAO,YAAY,KAAM,QAAO,KAAK;EACxC,UAAU;EACV,KAAK;EACL,OAAO,OAAO;EACd,CAAC;AACF,KAAI,MAAM,MAAM,OAAQ,QAAO,KAAK;EACnC,UAAU;EACV,KAAK;EACL,OAAO,MAAM,MAAM,KAAK,UAAU,MAAM,OAAO,KAAK;EACpD,CAAC;AACF,KAAI,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC,OAAQ,QAAO,KAAK;EACtD,UAAU;EACV,KAAK;EACL,OAAO,MAAM,OAAO;EACpB,CAAC;AACF,QAAO,KAAK;EACX,KAAK;EACL,UAAU;EACV,OAAO,EAAE,SAAS;GACjB,MAAM;GACN,UAAU;GACV,SAAS,MAAM,MAAM,KAAK,UAAU,MAAM,KAAK,KAAK,CAAC,CAAC,KAAK,MAAM;GACjE,SAAS;GACT,OAAO,MAAM;GACb,EAAE;EACH,CAAC;AACF,QAAO;;;;;AAKR,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,aAAa;AACnB,IAAM,OAAO;AACb,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,SAAS,8BAA8B,OAAO;CAC7C,MAAM,OAAO,EAAE;CACf,MAAM,EAAE,WAAW;AACnB,KAAI,OAAO,QAAQ,KAAM,MAAK,KAAK;EAClC,OAAO,OAAO,OAAO,KAAK;EAC1B,WAAW;EACX,iBAAiB;EACjB,CAAC;AACF,KAAI,OAAO,QAAS,MAAK,KAAK;EAC7B,OAAO;EACP,WAAW;EACX,iBAAiB;EACjB,CAAC;AACF,KAAI,MAAM,WAAY,MAAK,KAAK;EAC/B,OAAO;EACP,WAAW;EACX,iBAAiB;EACjB,CAAC;AACF,KAAI,MAAM,iBAAkB,MAAK,KAAK;EACrC,OAAO;EACP,WAAW;EACX,iBAAiB;EACjB,CAAC;AACF,KAAI,MAAM,YAAa,MAAK,KAAK;EAChC,OAAO;EACP,WAAW;EACX,iBAAiB;EACjB,CAAC;AACF,KAAI,OAAO,SAAU,MAAK,KAAK;EAC9B,OAAO,OAAO,OAAO,aAAa,WAAW,aAAa,OAAO,aAAa;EAC9E,WAAW;EACX,iBAAiB;EACjB,CAAC;CACF,IAAI,KAAK,OAAO;AAChB,KAAI,MAAM,MAAM;AACf,OAAK,OAAO,gBAAgB;AAC5B,SAAO,UAAU;;AAElB,QAAO;EACN;EACA,OAAO,OAAO;EACd;EACA,UAAU,MAAM,SAAS,IAAI,8BAA8B;EAC3D;;AAEF,IAAI,gBAAgB;AACpB,IAAM,oBAAoB;AAC1B,SAAS,sBAAsB,OAAO,cAAc;CACnD,MAAM,gBAAgB,aAAa,QAAQ,UAAU,kBAAkB,aAAa,QAAQ,aAAa,QAAQ,SAAS,IAAI,MAAM,OAAO;AAC3I,OAAM,mBAAmB,MAAM,cAAc;AAC7C,KAAI,CAAC,cAAe,OAAM,cAAc,aAAa,QAAQ,MAAM,UAAU,kBAAkB,OAAO,MAAM,OAAO,CAAC;AACpH,OAAM,SAAS,SAAS,eAAe,sBAAsB,YAAY,aAAa,CAAC;;AAExF,SAAS,6BAA6B,OAAO;AAC5C,OAAM,aAAa;AACnB,OAAM,SAAS,QAAQ,6BAA6B;;AAErD,SAAS,gBAAgB,OAAO,QAAQ;CACvC,MAAM,QAAQ,OAAO,MAAM,GAAG,CAAC,MAAM,kBAAkB;AACvD,OAAM,aAAa;AACnB,KAAI,CAAC,SAAS,MAAM,SAAS,EAAG,QAAO;AACvC,KAAI,IAAI,OAAO,MAAM,GAAG,QAAQ,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,OAAO,EAAE;AACnE,QAAM,SAAS,SAAS,UAAU,gBAAgB,OAAO,OAAO,CAAC;AACjE,MAAI,MAAM,OAAO,SAAS,OAAO,WAAW,KAAK;AAChD,SAAM,aAAa,MAAM,GAAG,KAAK,OAAO;AACxC,UAAO;;AAER,SAAO;;CAER,MAAM,OAAO,MAAM,OAAO,KAAK,aAAa;CAC5C,MAAM,cAAc,OAAO,KAAK;AAChC,KAAI,CAAC,OAAO,WAAW,IAAI,KAAK,YAAY,SAAS,OAAO,IAAI,KAAK,SAAS,OAAO,EAAG,QAAO;AAC/F,KAAI,YAAY,WAAW,OAAO,IAAI,KAAK,WAAW,OAAO,CAAE,QAAO;AACtE,KAAI,MAAM,OAAO,QAAQ,OAAO,MAAM,OAAO,KAAK,CAAC,SAAS,OAAO,CAAE,QAAO;AAC5E,QAAO,MAAM,SAAS,MAAM,UAAU,gBAAgB,OAAO,OAAO,CAAC;;AAEtE,SAAS,KAAK,KAAK,MAAM;CACxB,MAAM,MAAM,EAAE;AACd,MAAK,MAAM,OAAO,IAAK,KAAI,CAAC,KAAK,SAAS,IAAI,CAAE,KAAI,OAAO,IAAI;AAC/D,QAAO;;;;;;;;;ACrhCR,IAAI,2BAA2B,SAAS,WAAW,OAAO,SAAS;;;;;;AAMnE,SAAS,sBAAsB,MAAM,UAAU;CAC9C,MAAM,EAAE,UAAU,QAAQ,SAAS;CACnC,MAAM,UAAU,KAAK,QAAQ,IAAI;AACjC,KAAI,UAAU,IAAI;EACjB,IAAI,WAAW,KAAK,SAAS,KAAK,MAAM,QAAQ,CAAC,GAAG,KAAK,MAAM,QAAQ,CAAC,SAAS;EACjF,IAAI,eAAe,KAAK,MAAM,SAAS;AACvC,MAAI,aAAa,OAAO,IAAK,gBAAe,MAAM;AAClD,SAAO,UAAU,cAAc,GAAG;;AAEnC,QAAO,UAAU,UAAU,KAAK,GAAG,SAAS;;AAE7C,SAAS,oBAAoB,MAAM,cAAc,iBAAiB,SAAS;CAC1E,IAAI,YAAY,EAAE;CAClB,IAAI,YAAY,EAAE;CAClB,IAAI,aAAa;CACjB,MAAM,mBAAmB,EAAE,YAAY;EACtC,MAAM,KAAK,sBAAsB,MAAM,SAAS;EAChD,MAAM,OAAO,gBAAgB;EAC7B,MAAM,YAAY,aAAa;EAC/B,IAAI,QAAQ;AACZ,MAAI,OAAO;AACV,mBAAgB,QAAQ;AACxB,gBAAa,QAAQ;AACrB,OAAI,cAAc,eAAe,MAAM;AACtC,iBAAa;AACb;;AAED,WAAQ,YAAY,MAAM,WAAW,UAAU,WAAW;QACpD,SAAQ,GAAG;AAClB,YAAU,SAAS,aAAa;AAC/B,YAAS,gBAAgB,OAAO,MAAM;IACrC;IACA,MAAM,eAAe;IACrB,WAAW,QAAQ,QAAQ,IAAI,oBAAoB,UAAU,oBAAoB,OAAO,oBAAoB;IAC5G,CAAC;IACD;;CAEH,SAAS,iBAAiB;AACzB,eAAa,gBAAgB;;CAE9B,SAAS,OAAO,UAAU;AACzB,YAAU,KAAK,SAAS;EACxB,MAAM,iBAAiB;GACtB,MAAM,QAAQ,UAAU,QAAQ,SAAS;AACzC,OAAI,QAAQ,GAAI,WAAU,OAAO,OAAO,EAAE;;AAE3C,YAAU,KAAK,SAAS;AACxB,SAAO;;CAER,SAAS,uBAAuB;AAC/B,MAAI,SAAS,oBAAoB,UAAU;GAC1C,MAAM,EAAE,YAAY;AACpB,OAAI,CAAC,QAAQ,MAAO;AACpB,WAAQ,aAAa,OAAO,EAAE,EAAE,QAAQ,OAAO,EAAE,QAAQ,uBAAuB,EAAE,CAAC,EAAE,GAAG;;;CAG1F,SAAS,UAAU;AAClB,OAAK,MAAM,YAAY,UAAW,WAAU;AAC5C,cAAY,EAAE;AACd,SAAO,oBAAoB,YAAY,gBAAgB;AACvD,SAAO,oBAAoB,YAAY,qBAAqB;AAC5D,WAAS,oBAAoB,oBAAoB,qBAAqB;;AAEvE,QAAO,iBAAiB,YAAY,gBAAgB;AACpD,QAAO,iBAAiB,YAAY,qBAAqB;AACzD,UAAS,iBAAiB,oBAAoB,qBAAqB;AACnE,QAAO;EACN;EACA;EACA;EACA;;;;;AAKF,SAAS,WAAW,MAAM,SAAS,SAAS,WAAW,OAAO,gBAAgB,OAAO;AACpF,QAAO;EACN;EACA;EACA;EACA;EACA,UAAU,OAAO,QAAQ;EACzB,QAAQ,gBAAgB,uBAAuB,GAAG;EAClD;;AAEF,SAAS,0BAA0B,MAAM;CACxC,MAAM,EAAE,SAAS,aAAa;CAC9B,MAAM,kBAAkB,EAAE,OAAO,sBAAsB,MAAM,SAAS,EAAE;CACxE,MAAM,eAAe,EAAE,OAAO,QAAQ,OAAO;AAC7C,KAAI,CAAC,aAAa,MAAO,gBAAe,gBAAgB,OAAO;EAC9D,MAAM;EACN,SAAS,gBAAgB;EACzB,SAAS;EACT,UAAU,QAAQ,SAAS;EAC3B,UAAU;EACV,QAAQ;EACR,EAAE,KAAK;CACR,SAAS,eAAe,IAAI,OAAO,SAAS;;;;;;;;;;EAU3C,MAAM,YAAY,KAAK,QAAQ,IAAI;EACnC,MAAM,MAAM,YAAY,MAAM,SAAS,QAAQ,SAAS,cAAc,OAAO,GAAG,OAAO,KAAK,MAAM,UAAU,IAAI,KAAK,oBAAoB,GAAG,OAAO;AACnJ,MAAI;AACH,WAAQ,UAAU,iBAAiB,aAAa,OAAO,IAAI,IAAI;AAC/D,gBAAa,QAAQ;WACb,KAAK;AAC8B,UAAO,iCAAiC,IAAI;AAEvF,YAAS,UAAU,YAAY,UAAU,IAAI;;;CAG/C,SAAS,QAAQ,IAAI,MAAM;AAC1B,iBAAe,IAAI,OAAO,EAAE,EAAE,QAAQ,OAAO,WAAW,aAAa,MAAM,MAAM,IAAI,aAAa,MAAM,SAAS,KAAK,EAAE,MAAM,EAAE,UAAU,aAAa,MAAM,UAAU,CAAC,EAAE,KAAK;AAC/K,kBAAgB,QAAQ;;CAEzB,SAAS,KAAK,IAAI,MAAM;EACvB,MAAM,eAAe,OAAO,EAAE,EAAE,aAAa,OAAO,QAAQ,OAAO;GAClE,SAAS;GACT,QAAQ,uBAAuB;GAC/B,CAAC;AACF,MAA6C,CAAC,QAAQ,MAAO,QAAO,kVAAkV;AACtZ,iBAAe,aAAa,SAAS,cAAc,KAAK;AACxD,iBAAe,IAAI,OAAO,EAAE,EAAE,WAAW,gBAAgB,OAAO,IAAI,KAAK,EAAE,EAAE,UAAU,aAAa,WAAW,GAAG,EAAE,KAAK,EAAE,MAAM;AACjI,kBAAgB,QAAQ;;AAEzB,QAAO;EACN,UAAU;EACV,OAAO;EACP;EACA;EACA;;;;;;;AAOF,SAAS,iBAAiB,MAAM;AAC/B,QAAO,cAAc,KAAK;CAC1B,MAAM,oBAAoB,0BAA0B,KAAK;CACzD,MAAM,mBAAmB,oBAAoB,MAAM,kBAAkB,OAAO,kBAAkB,UAAU,kBAAkB,QAAQ;CAClI,SAAS,GAAG,OAAO,mBAAmB,MAAM;AAC3C,MAAI,CAAC,iBAAkB,kBAAiB,gBAAgB;AACxD,UAAQ,GAAG,MAAM;;CAElB,MAAM,gBAAgB,OAAO;EAC5B,UAAU;EACV;EACA;EACA,YAAY,WAAW,KAAK,MAAM,KAAK;EACvC,EAAE,mBAAmB,iBAAiB;AACvC,QAAO,eAAe,eAAe,YAAY;EAChD,YAAY;EACZ,WAAW,kBAAkB,SAAS;EACtC,CAAC;AACF,QAAO,eAAe,eAAe,SAAS;EAC7C,YAAY;EACZ,WAAW,kBAAkB,MAAM;EACnC,CAAC;AACF,QAAO;;;;;;;;;AAYR,SAAS,oBAAoB,OAAO,IAAI;CACvC,IAAI,YAAY,EAAE;CAClB,IAAI,QAAQ,CAAC,CAAA,IAAQ,EAAE,CAAC,CAAC;CACzB,IAAI,WAAW;AACf,QAAO,cAAc,KAAK;CAC1B,SAAS,YAAY,UAAU,QAAQ,EAAE,EAAE;AAC1C;AACA,MAAI,aAAa,MAAM,OAAQ,OAAM,OAAO,SAAS;AACrD,QAAM,KAAK,CAAC,UAAU,MAAM,CAAC;;CAE9B,SAAS,iBAAiB,IAAI,MAAM,EAAE,WAAW,SAAS;EACzD,MAAM,OAAO;GACZ;GACA;GACA,MAAM,eAAe;GACrB;AACD,OAAK,MAAM,YAAY,UAAW,UAAS,IAAI,MAAM,KAAK;;CAE3D,MAAM,gBAAgB;EACrB,UAAA;EACA,OAAO,EAAE;EACT;EACA,YAAY,WAAW,KAAK,MAAM,KAAK;EACvC,QAAQ,IAAI,OAAO;AAClB,SAAM,OAAO,YAAY,EAAE;AAC3B,eAAY,IAAI,MAAM;;EAEvB,KAAK,IAAI,OAAO;AACf,eAAY,IAAI,MAAM;;EAEvB,OAAO,UAAU;AAChB,aAAU,KAAK,SAAS;AACxB,gBAAa;IACZ,MAAM,QAAQ,UAAU,QAAQ,SAAS;AACzC,QAAI,QAAQ,GAAI,WAAU,OAAO,OAAO,EAAE;;;EAG5C,UAAU;AACT,eAAY,EAAE;AACd,WAAQ,CAAC,CAAA,IAAQ,EAAE,CAAC,CAAC;AACrB,cAAW;;EAEZ,GAAG,OAAO,gBAAgB,MAAM;GAC/B,MAAM,OAAO,KAAK;GAClB,MAAM,YAAY,QAAQ,IAAI,oBAAoB,OAAO,oBAAoB;AAC7E,cAAW,KAAK,IAAI,GAAG,KAAK,IAAI,WAAW,OAAO,MAAM,SAAS,EAAE,CAAC;AACpE,OAAI,cAAe,kBAAiB,KAAK,UAAU,MAAM;IACxD;IACA;IACA,CAAC;;EAEH;AACD,QAAO,eAAe,eAAe,YAAY;EAChD,YAAY;EACZ,WAAW,MAAM,UAAU;EAC3B,CAAC;AACF,QAAO,eAAe,eAAe,SAAS;EAC7C,YAAY;EACZ,WAAW,MAAM,UAAU;EAC3B,CAAC;AACF,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BR,SAAS,qBAAqB,MAAM;AACnC,QAAO,SAAS,OAAO,QAAQ,SAAS,WAAW,SAAS,SAAS;AACrE,KAAI,CAAC,KAAK,SAAS,IAAI,CAAE,SAAQ;AACjC,KAA6C,CAAC,KAAK,SAAS,KAAK,IAAI,CAAC,KAAK,SAAS,IAAI,CAAE,QAAO,sCAAsC,KAAK,eAAe,KAAK,QAAQ,QAAQ,IAAI,CAAC,IAAI;AACzL,QAAO,iBAAiB,KAAK;;AAK9B,IAAI,YAA4B,yBAAS,WAAW;AACnD,WAAU,UAAU,YAAY,KAAK;AACrC,WAAU,UAAU,WAAW,KAAK;AACpC,WAAU,UAAU,WAAW,KAAK;AACpC,QAAO;EACN,EAAE,CAAC;AACL,IAAI,iBAAiC,yBAAS,gBAAgB;AAC7D,gBAAe,eAAe,YAAY,KAAK;AAC/C,gBAAe,eAAe,WAAW,KAAK;AAC9C,gBAAe,eAAe,iBAAiB,KAAK;AACpD,gBAAe,eAAe,oBAAoB,KAAK;AACvD,gBAAe,eAAe,gBAAgB,KAAK;AACnD,QAAO;EACN,kBAAkB,EAAE,CAAC;AACvB,IAAM,aAAa;CAClB,MAAM,UAAU;CAChB,OAAO;CACP;AACD,IAAM,iBAAiB;AACvB,SAAS,aAAa,MAAM;AAC3B,KAAI,CAAC,KAAM,QAAO,CAAC,EAAE,CAAC;AACtB,KAAI,SAAS,IAAK,QAAO,CAAC,CAAC,WAAW,CAAC;AACvC,KAAI,CAAC,KAAK,WAAW,IAAI,CAAE,OAAM,IAAI,MAA8C,yCAAyC,KAAK,gBAAgB,KAAK,IAA+B;CACrL,SAAS,MAAM,SAAS;AACvB,QAAM,IAAI,MAAM,QAAQ,MAAM,KAAK,OAAO,KAAK,UAAU;;CAE1D,IAAI,QAAQ,eAAe;CAC3B,IAAI,gBAAgB;CACpB,MAAM,SAAS,EAAE;CACjB,IAAI;CACJ,SAAS,kBAAkB;AAC1B,MAAI,QAAS,QAAO,KAAK,QAAQ;AACjC,YAAU,EAAE;;CAEb,IAAI,IAAI;CACR,IAAI;CACJ,IAAI,SAAS;CACb,IAAI,WAAW;CACf,SAAS,gBAAgB;AACxB,MAAI,CAAC,OAAQ;AACb,MAAI,UAAU,eAAe,OAAQ,SAAQ,KAAK;GACjD,MAAM,UAAU;GAChB,OAAO;GACP,CAAC;WACO,UAAU,eAAe,SAAS,UAAU,eAAe,eAAe,UAAU,eAAe,gBAAgB;AAC3H,OAAI,QAAQ,SAAS,MAAM,SAAS,OAAO,SAAS,KAAM,OAAM,uBAAuB,OAAO,8CAA8C;AAC5I,WAAQ,KAAK;IACZ,MAAM,UAAU;IAChB,OAAO;IACP,QAAQ;IACR,YAAY,SAAS,OAAO,SAAS;IACrC,UAAU,SAAS,OAAO,SAAS;IACnC,CAAC;QACI,OAAM,kCAAkC;AAC/C,WAAS;;CAEV,SAAS,kBAAkB;AAC1B,YAAU;;AAEX,QAAO,IAAI,KAAK,QAAQ;AACvB,SAAO,KAAK;AACZ,MAAI,SAAS,QAAQ,UAAU,eAAe,aAAa;AAC1D,mBAAgB;AAChB,WAAQ,eAAe;AACvB;;AAED,UAAQ,OAAR;GACC,KAAK,eAAe;AACnB,QAAI,SAAS,KAAK;AACjB,SAAI,OAAQ,gBAAe;AAC3B,sBAAiB;eACP,SAAS,KAAK;AACxB,oBAAe;AACf,aAAQ,eAAe;UACjB,kBAAiB;AACxB;GACD,KAAK,eAAe;AACnB,qBAAiB;AACjB,YAAQ;AACR;GACD,KAAK,eAAe;AACnB,QAAI,SAAS,IAAK,SAAQ,eAAe;aAChC,eAAe,KAAK,KAAK,CAAE,kBAAiB;SAChD;AACJ,oBAAe;AACf,aAAQ,eAAe;AACvB,SAAI,SAAS,OAAO,SAAS,OAAO,SAAS,IAAK;;AAEnD;GACD,KAAK,eAAe;AACnB,QAAI,SAAS,IAAK,KAAI,SAAS,SAAS,SAAS,MAAM,KAAM,YAAW,SAAS,MAAM,GAAG,GAAG,GAAG;QAC3F,SAAQ,eAAe;QACvB,aAAY;AACjB;GACD,KAAK,eAAe;AACnB,mBAAe;AACf,YAAQ,eAAe;AACvB,QAAI,SAAS,OAAO,SAAS,OAAO,SAAS,IAAK;AAClD,eAAW;AACX;GACD;AACC,UAAM,gBAAgB;AACtB;;;AAGH,KAAI,UAAU,eAAe,YAAa,OAAM,uCAAuC,OAAO,GAAG;AACjG,gBAAe;AACf,kBAAiB;AACjB,QAAO;;AAKR,IAAM,qBAAqB;AAC3B,IAAM,2BAA2B;CAChC,WAAW;CACX,QAAQ;CACR,OAAO;CACP,KAAK;CACL;AACD,IAAI,YAA4B,yBAAS,WAAW;AACnD,WAAU,UAAU,iBAAiB,MAAM;AAC3C,WAAU,UAAU,UAAU,MAAM;AACpC,WAAU,UAAU,aAAa,MAAM;AACvC,WAAU,UAAU,gBAAgB,MAAM;AAC1C,WAAU,UAAU,YAAY,MAAM;AACtC,WAAU,UAAU,aAAa,MAAM;AACvC,WAAU,UAAU,uBAAuB,MAAM;AACjD,WAAU,UAAU,mBAAmB,OAAO;AAC9C,WAAU,UAAU,qBAAqB,OAAO;AAChD,WAAU,UAAU,mBAAmB,MAAM;AAC7C,WAAU,UAAU,iBAAiB,qBAAqB;AAC1D,WAAU,UAAU,wBAAwB,OAAO;AACnD,QAAO;EACN,aAAa,EAAE,CAAC;AAClB,IAAM,iBAAiB;;;;;;;;AAQvB,SAAS,eAAe,UAAU,cAAc;CAC/C,MAAM,UAAU,OAAO,EAAE,EAAE,0BAA0B,aAAa;CAClE,MAAM,QAAQ,EAAE;CAChB,IAAI,UAAU,QAAQ,QAAQ,MAAM;CACpC,MAAM,OAAO,EAAE;AACf,MAAK,MAAM,WAAW,UAAU;EAC/B,MAAM,gBAAgB,QAAQ,SAAS,EAAE,GAAG,CAAC,UAAU,KAAK;AAC5D,MAAI,QAAQ,UAAU,CAAC,QAAQ,OAAQ,YAAW;AAClD,OAAK,IAAI,aAAa,GAAG,aAAa,QAAQ,QAAQ,cAAc;GACnE,MAAM,QAAQ,QAAQ;GACtB,IAAI,kBAAkB,UAAU,WAAW,QAAQ,YAAY,UAAU,qBAAqB;AAC9F,OAAI,MAAM,SAAS,UAAU,QAAQ;AACpC,QAAI,CAAC,WAAY,YAAW;AAC5B,eAAW,MAAM,MAAM,QAAQ,gBAAgB,OAAO;AACtD,uBAAmB,UAAU;cACnB,MAAM,SAAS,UAAU,OAAO;IAC1C,MAAM,EAAE,OAAO,YAAY,UAAU,WAAW;AAChD,SAAK,KAAK;KACT,MAAM;KACN;KACA;KACA,CAAC;IACF,MAAM,KAAK,SAAS,SAAS;AAC7B,QAAI,OAAO,oBAAoB;AAC9B,wBAAmB,UAAU;AAC7B,SAAI;AACH,UAAI,OAAO,IAAI,GAAG,GAAG;cACb,KAAK;AACb,YAAM,IAAI,MAAM,oCAAoC,MAAM,KAAK,GAAG,OAAO,IAAI,QAAQ;;;IAGvF,IAAI,aAAa,aAAa,OAAO,GAAG,UAAU,GAAG,QAAQ,IAAI,GAAG;AACpE,QAAI,CAAC,WAAY,cAAa,YAAY,QAAQ,SAAS,IAAI,OAAO,WAAW,KAAK,MAAM;AAC5F,QAAI,SAAU,eAAc;AAC5B,eAAW;AACX,uBAAmB,UAAU;AAC7B,QAAI,SAAU,oBAAmB,UAAU;AAC3C,QAAI,WAAY,oBAAmB,UAAU;AAC7C,QAAI,OAAO,KAAM,oBAAmB,UAAU;;AAE/C,iBAAc,KAAK,gBAAgB;;AAEpC,QAAM,KAAK,cAAc;;AAE1B,KAAI,QAAQ,UAAU,QAAQ,KAAK;EAClC,MAAM,IAAI,MAAM,SAAS;AACzB,QAAM,GAAG,MAAM,GAAG,SAAS,MAAM,UAAU;;AAE5C,KAAI,CAAC,QAAQ,OAAQ,YAAW;AAChC,KAAI,QAAQ,IAAK,YAAW;UACnB,QAAQ,UAAU,CAAC,QAAQ,SAAS,IAAI,CAAE,YAAW;CAC9D,MAAM,KAAK,IAAI,OAAO,SAAS,QAAQ,YAAY,KAAK,IAAI;CAC5D,SAAS,MAAM,MAAM;EACpB,MAAM,QAAQ,KAAK,MAAM,GAAG;EAC5B,MAAM,SAAS,EAAE;AACjB,MAAI,CAAC,MAAO,QAAO;AACnB,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;GACtC,MAAM,QAAQ,MAAM,MAAM;GAC1B,MAAM,MAAM,KAAK,IAAI;AACrB,UAAO,IAAI,QAAQ,SAAS,IAAI,aAAa,MAAM,MAAM,IAAI,GAAG;;AAEjE,SAAO;;CAER,SAAS,UAAU,QAAQ;EAC1B,IAAI,OAAO;EACX,IAAI,uBAAuB;AAC3B,OAAK,MAAM,WAAW,UAAU;AAC/B,OAAI,CAAC,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAE,SAAQ;AAC1D,0BAAuB;AACvB,QAAK,MAAM,SAAS,QAAS,KAAI,MAAM,SAAS,UAAU,OAAQ,SAAQ,MAAM;YACvE,MAAM,SAAS,UAAU,OAAO;IACxC,MAAM,EAAE,OAAO,YAAY,aAAa;IACxC,MAAM,QAAQ,SAAS,SAAS,OAAO,SAAS;AAChD,QAAI,QAAQ,MAAM,IAAI,CAAC,WAAY,OAAM,IAAI,MAAM,mBAAmB,MAAM,2DAA2D;IACvI,MAAM,OAAO,QAAQ,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG;AAChD,QAAI,CAAC,KAAM,KAAI;SACV,QAAQ,SAAS,EAAG,KAAI,KAAK,SAAS,IAAI,CAAE,QAAO,KAAK,MAAM,GAAG,GAAG;SACnE,wBAAuB;UACtB,OAAM,IAAI,MAAM,2BAA2B,MAAM,GAAG;AAC3D,YAAQ;;;AAGV,SAAO,QAAQ;;AAEhB,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;AAWF,SAAS,kBAAkB,GAAG,GAAG;CAChC,IAAI,IAAI;AACR,QAAO,IAAI,EAAE,UAAU,IAAI,EAAE,QAAQ;EACpC,MAAM,OAAO,EAAE,KAAK,EAAE;AACtB,MAAI,KAAM,QAAO;AACjB;;AAED,KAAI,EAAE,SAAS,EAAE,OAAQ,QAAO,EAAE,WAAW,KAAK,EAAE,OAAO,UAAU,SAAS,UAAU,UAAU,KAAK;UAC9F,EAAE,SAAS,EAAE,OAAQ,QAAO,EAAE,WAAW,KAAK,EAAE,OAAO,UAAU,SAAS,UAAU,UAAU,IAAI;AAC3G,QAAO;;;;;;;;;AASR,SAAS,uBAAuB,GAAG,GAAG;CACrC,IAAI,IAAI;CACR,MAAM,SAAS,EAAE;CACjB,MAAM,SAAS,EAAE;AACjB,QAAO,IAAI,OAAO,UAAU,IAAI,OAAO,QAAQ;EAC9C,MAAM,OAAO,kBAAkB,OAAO,IAAI,OAAO,GAAG;AACpD,MAAI,KAAM,QAAO;AACjB;;AAED,KAAI,KAAK,IAAI,OAAO,SAAS,OAAO,OAAO,KAAK,GAAG;AAClD,MAAI,oBAAoB,OAAO,CAAE,QAAO;AACxC,MAAI,oBAAoB,OAAO,CAAE,QAAO;;AAEzC,QAAO,OAAO,SAAS,OAAO;;;;;;;;AAQ/B,SAAS,oBAAoB,OAAO;CACnC,MAAM,OAAO,MAAM,MAAM,SAAS;AAClC,QAAO,MAAM,SAAS,KAAK,KAAK,KAAK,SAAS,KAAK;;AAEpD,IAAM,+BAA+B;CACpC,QAAQ;CACR,KAAK;CACL,WAAW;CACX;AAID,SAAS,yBAAyB,QAAQ,QAAQ,SAAS;CAC1D,MAAM,SAAS,eAAe,aAAa,OAAO,KAAK,EAAE,QAAQ;CACtB;EAC1C,MAAM,+BAA+B,IAAI,KAAK;AAC9C,OAAK,MAAM,OAAO,OAAO,MAAM;AAC9B,OAAI,aAAa,IAAI,IAAI,KAAK,CAAE,QAAO,sCAAsC,IAAI,KAAK,cAAc,OAAO,KAAK,4DAA4D;AAC5K,gBAAa,IAAI,IAAI,KAAK;;;CAG5B,MAAM,UAAU,OAAO,QAAQ;EAC9B;EACA;EACA,UAAU,EAAE;EACZ,OAAO,EAAE;EACT,CAAC;AACF,KAAI;MACC,CAAC,QAAQ,OAAO,YAAY,CAAC,OAAO,OAAO,QAAS,QAAO,SAAS,KAAK,QAAQ;;AAEtF,QAAO;;;;;;;;;AAYR,SAAS,oBAAoB,QAAQ,eAAe;CACnD,MAAM,WAAW,EAAE;CACnB,MAAM,6BAA6B,IAAI,KAAK;AAC5C,iBAAgB,aAAa,8BAA8B,cAAc;CACzE,SAAS,iBAAiB,MAAM;AAC/B,SAAO,WAAW,IAAI,KAAK;;CAE5B,SAAS,SAAS,QAAQ,QAAQ,gBAAgB;EACjD,MAAM,YAAY,CAAC;EACnB,MAAM,uBAAuB,qBAAqB,OAAO;AACd,qCAAmC,sBAAsB,OAAO;AAC3G,uBAAqB,UAAU,kBAAkB,eAAe;EAChE,MAAM,UAAU,aAAa,eAAe,OAAO;EACnD,MAAM,oBAAoB,CAAC,qBAAqB;AAChD,MAAI,WAAW,QAAQ;GACtB,MAAM,UAAU,OAAO,OAAO,UAAU,WAAW,CAAC,OAAO,MAAM,GAAG,OAAO;AAC3E,QAAK,MAAM,SAAS,QAAS,mBAAkB,KAAK,qBAAqB,OAAO,EAAE,EAAE,sBAAsB;IACzG,YAAY,iBAAiB,eAAe,OAAO,aAAa,qBAAqB;IACrF,MAAM;IACN,SAAS,iBAAiB,eAAe,SAAS;IAClD,CAAC,CAAC,CAAC;;EAEL,IAAI;EACJ,IAAI;AACJ,OAAK,MAAM,oBAAoB,mBAAmB;GACjD,MAAM,EAAE,SAAS;AACjB,OAAI,UAAU,KAAK,OAAO,KAAK;IAC9B,MAAM,aAAa,OAAO,OAAO;IACjC,MAAM,kBAAkB,WAAW,WAAW,SAAS,OAAO,MAAM,KAAK;AACzE,qBAAiB,OAAO,OAAO,OAAO,QAAQ,QAAQ,kBAAkB;;AAEzE,OAA6C,iBAAiB,SAAS,IAAK,OAAM,IAAI,MAAM,4KAA4K;AACxQ,aAAU,yBAAyB,kBAAkB,QAAQ,QAAQ;AACrE,OAA6C,UAAU,KAAK,OAAO,IAAK,kCAAiC,SAAS,OAAO;AACzH,OAAI,gBAAgB;AACnB,mBAAe,MAAM,KAAK,QAAQ;AACS,oBAAgB,gBAAgB,QAAQ;UAC7E;AACN,sBAAkB,mBAAmB;AACrC,QAAI,oBAAoB,QAAS,iBAAgB,MAAM,KAAK,QAAQ;AACpE,QAAI,aAAa,OAAO,QAAQ,CAAC,cAAc,QAAQ,EAAE;AACb,6BAAwB,QAAQ,OAAO;AAClF,iBAAY,OAAO,KAAK;;;AAG1B,OAAI,YAAY,QAAQ,CAAE,eAAc,QAAQ;AAChD,OAAI,qBAAqB,UAAU;IAClC,MAAM,WAAW,qBAAqB;AACtC,SAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,IAAK,UAAS,SAAS,IAAI,SAAS,kBAAkB,eAAe,SAAS,GAAG;;AAEvH,oBAAiB,kBAAkB;;AAEpC,SAAO,wBAAwB;AAC9B,eAAY,gBAAgB;MACzB;;CAEL,SAAS,YAAY,YAAY;AAChC,MAAI,YAAY,WAAW,EAAE;GAC5B,MAAM,UAAU,WAAW,IAAI,WAAW;AAC1C,OAAI,SAAS;AACZ,eAAW,OAAO,WAAW;AAC7B,aAAS,OAAO,SAAS,QAAQ,QAAQ,EAAE,EAAE;AAC7C,YAAQ,SAAS,QAAQ,YAAY;AACrC,YAAQ,MAAM,QAAQ,YAAY;;SAE7B;GACN,MAAM,QAAQ,SAAS,QAAQ,WAAW;AAC1C,OAAI,QAAQ,IAAI;AACf,aAAS,OAAO,OAAO,EAAE;AACzB,QAAI,WAAW,OAAO,KAAM,YAAW,OAAO,WAAW,OAAO,KAAK;AACrE,eAAW,SAAS,QAAQ,YAAY;AACxC,eAAW,MAAM,QAAQ,YAAY;;;;CAIxC,SAAS,YAAY;AACpB,SAAO;;CAER,SAAS,cAAc,SAAS;EAC/B,MAAM,QAAQ,mBAAmB,SAAS,SAAS;AACnD,WAAS,OAAO,OAAO,GAAG,QAAQ;AAClC,MAAI,QAAQ,OAAO,QAAQ,CAAC,cAAc,QAAQ,CAAE,YAAW,IAAI,QAAQ,OAAO,MAAM,QAAQ;;CAEjG,SAAS,QAAQ,UAAU,iBAAiB;EAC3C,IAAI;EACJ,IAAI,SAAS,EAAE;EACf,IAAI;EACJ,IAAI;AACJ,MAAI,UAAU,YAAY,SAAS,MAAM;AACxC,aAAU,WAAW,IAAI,SAAS,KAAK;AACvC,OAAI,CAAC,QAAS,OAAM,kBAAkB,WAAW,mBAAmB,EAAE,UAAU,CAAC;GACtC;IAC1C,MAAM,gBAAgB,OAAO,KAAK,SAAS,UAAU,EAAE,CAAC,CAAC,QAAQ,cAAc,CAAC,QAAQ,KAAK,MAAM,MAAM,EAAE,SAAS,UAAU,CAAC;AAC/H,QAAI,cAAc,OAAQ,QAAO,+BAA+B,cAAc,KAAK,SAAS,CAAC,gIAAgI;;AAE9N,UAAO,QAAQ,OAAO;AACtB,YAAS,OAAO,WAAW,gBAAgB,QAAQ,QAAQ,KAAK,QAAQ,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,QAAQ,SAAS,QAAQ,OAAO,KAAK,QAAQ,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,UAAU,WAAW,SAAS,QAAQ,QAAQ,KAAK,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5Q,UAAO,QAAQ,UAAU,OAAO;aACtB,SAAS,QAAQ,MAAM;AACjC,UAAO,SAAS;AAChB,OAA6C,CAAC,KAAK,WAAW,IAAI,CAAE,QAAO,2DAA2D,KAAK,mDAAmD,KAAK,wHAAwH;AAC3T,aAAU,SAAS,MAAM,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC;AAC/C,OAAI,SAAS;AACZ,aAAS,QAAQ,MAAM,KAAK;AAC5B,WAAO,QAAQ,OAAO;;SAEjB;AACN,aAAU,gBAAgB,OAAO,WAAW,IAAI,gBAAgB,KAAK,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,KAAK,gBAAgB,KAAK,CAAC;AAC7H,OAAI,CAAC,QAAS,OAAM,kBAAkB,WAAW,mBAAmB;IACnE;IACA;IACA,CAAC;AACF,UAAO,QAAQ,OAAO;AACtB,YAAS,OAAO,EAAE,EAAE,gBAAgB,QAAQ,SAAS,OAAO;AAC5D,UAAO,QAAQ,UAAU,OAAO;;EAEjC,MAAM,UAAU,EAAE;EAClB,IAAI,gBAAgB;AACpB,SAAO,eAAe;AACrB,WAAQ,QAAQ,cAAc,OAAO;AACrC,mBAAgB,cAAc;;AAE/B,SAAO;GACN;GACA;GACA;GACA;GACA,MAAM,gBAAgB,QAAQ;GAC9B;;AAEF,QAAO,SAAS,UAAU,SAAS,MAAM,CAAC;CAC1C,SAAS,cAAc;AACtB,WAAS,SAAS;AAClB,aAAW,OAAO;;AAEnB,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;;;AAQF,SAAS,WAAW,QAAQ,MAAM;CACjC,MAAM,YAAY,EAAE;AACpB,MAAK,MAAM,OAAO,KAAM,KAAI,OAAO,OAAQ,WAAU,OAAO,OAAO;AACnE,QAAO;;;;;;;;AAQR,SAAS,qBAAqB,QAAQ;CACrC,MAAM,aAAa;EAClB,MAAM,OAAO;EACb,UAAU,OAAO;EACjB,MAAM,OAAO;EACb,MAAM,OAAO,QAAQ,EAAE;EACvB,SAAS,OAAO;EAChB,aAAa,OAAO;EACpB,OAAO,qBAAqB,OAAO;EACnC,UAAU,OAAO,YAAY,EAAE;EAC/B,WAAW,EAAE;EACb,6BAA6B,IAAI,KAAK;EACtC,8BAA8B,IAAI,KAAK;EACvC,gBAAgB,EAAE;EAClB,YAAY,gBAAgB,SAAS,OAAO,cAAc,OAAO,OAAO,aAAa,EAAE,SAAS,OAAO,WAAW;EAClH;AACD,QAAO,eAAe,YAAY,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;AACxD,QAAO;;;;;;;AAOR,SAAS,qBAAqB,QAAQ;CACrC,MAAM,cAAc,EAAE;CACtB,MAAM,QAAQ,OAAO,SAAS;AAC9B,KAAI,eAAe,OAAQ,aAAY,UAAU;KAC5C,MAAK,MAAM,QAAQ,OAAO,WAAY,aAAY,QAAQ,OAAO,UAAU,WAAW,MAAM,QAAQ;AACzG,QAAO;;;;;;AAMR,SAAS,cAAc,QAAQ;AAC9B,QAAO,QAAQ;AACd,MAAI,OAAO,OAAO,QAAS,QAAO;AAClC,WAAS,OAAO;;AAEjB,QAAO;;;;;;;AAOR,SAAS,gBAAgB,SAAS;AACjC,QAAO,QAAQ,QAAQ,MAAM,WAAW,OAAO,MAAM,OAAO,KAAK,EAAE,EAAE,CAAC;;AAEvE,SAAS,YAAY,GAAG,GAAG;AAC1B,QAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE;;;;;;;;AAQ7E,SAAS,gBAAgB,GAAG,GAAG;AAC9B,MAAK,MAAM,OAAO,EAAE,KAAM,KAAI,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,MAAM,IAAI,CAAC,CAAE,QAAO,OAAO,UAAU,EAAE,OAAO,KAAK,8BAA8B,EAAE,OAAO,KAAK,0CAA0C,IAAI,KAAK,GAAG;AAClO,MAAK,MAAM,OAAO,EAAE,KAAM,KAAI,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,MAAM,IAAI,CAAC,CAAE,QAAO,OAAO,UAAU,EAAE,OAAO,KAAK,8BAA8B,EAAE,OAAO,KAAK,0CAA0C,IAAI,KAAK,GAAG;;;;;;;;AAQnO,SAAS,mCAAmC,sBAAsB,QAAQ;AACzE,KAAI,UAAU,OAAO,OAAO,QAAQ,CAAC,qBAAqB,QAAQ,CAAC,qBAAqB,QAAQ,qBAAqB,SAAS,WAAW,EAAG,QAAO,oBAAoB,OAAO,OAAO,OAAO,KAAK,CAAC,uRAAuR;;AAE1d,SAAS,wBAAwB,QAAQ,QAAQ;AAChD,MAAK,IAAI,WAAW,QAAQ,UAAU,WAAW,SAAS,OAAQ,KAAI,SAAS,OAAO,SAAS,OAAO,KAAM,OAAM,IAAI,MAAM,kBAAkB,OAAO,OAAO,KAAK,CAAC,wBAAwB,WAAW,WAAW,UAAU,aAAa,wHAAwH;;AAEhW,SAAS,iCAAiC,QAAQ,QAAQ;AACzD,MAAK,MAAM,OAAO,OAAO,KAAM,KAAI,CAAC,OAAO,KAAK,KAAK,YAAY,KAAK,MAAM,IAAI,CAAC,CAAE,QAAO,OAAO,kBAAkB,OAAO,OAAO,KAAK,0CAA0C,IAAI,KAAK,mBAAmB,OAAO,OAAO,KAAK,IAAI;;;;;;;;;;;AAWpO,SAAS,mBAAmB,SAAS,UAAU;CAC9C,IAAI,QAAQ;CACZ,IAAI,QAAQ,SAAS;AACrB,QAAO,UAAU,OAAO;EACvB,MAAM,MAAM,QAAQ,SAAS;AAC7B,MAAI,uBAAuB,SAAS,SAAS,KAAK,GAAG,EAAG,SAAQ;MAC3D,SAAQ,MAAM;;CAEpB,MAAM,oBAAoB,qBAAqB,QAAQ;AACvD,KAAI,mBAAmB;AACtB,UAAQ,SAAS,YAAY,mBAAmB,QAAQ,EAAE;AAC1D,MAA6C,QAAQ,EAAG,QAAO,2BAA2B,kBAAkB,OAAO,KAAK,gBAAgB,QAAQ,OAAO,KAAK,GAAG;;AAEhK,QAAO;;AAER,SAAS,qBAAqB,SAAS;CACtC,IAAI,WAAW;AACf,QAAO,WAAW,SAAS,OAAQ,KAAI,YAAY,SAAS,IAAI,uBAAuB,SAAS,SAAS,KAAK,EAAG,QAAO;;;;;;;;;AASzH,SAAS,YAAY,EAAE,UAAU;AAChC,QAAO,CAAC,EAAE,OAAO,QAAQ,OAAO,cAAc,OAAO,KAAK,OAAO,WAAW,CAAC,UAAU,OAAO;;;;;;;AAU/F,SAAS,QAAQ,OAAO;CACvB,MAAM,SAAS,OAAO,UAAU;CAChC,MAAM,eAAe,OAAO,iBAAiB;CAC7C,IAAI,cAAc;CAClB,IAAI,aAAa;CACjB,MAAM,QAAQ,eAAe;EAC5B,MAAM,KAAK,MAAM,MAAM,GAAG;AAC1B,MAA8C,CAAC,eAAe,OAAO,YAAa;AACjF,OAAI,CAAC,gBAAgB,GAAG,CAAE,KAAI,YAAa,QAAO,mDAAmD,IAAI,oBAAoB,YAAY,cAAc,MAAM;OACxJ,QAAO,mDAAmD,IAAI,cAAc,MAAM;AACvF,gBAAa;AACb,iBAAc;;AAEf,SAAO,OAAO,QAAQ,GAAG;GACxB;CACF,MAAM,oBAAoB,eAAe;EACxC,MAAM,EAAE,YAAY,MAAM;EAC1B,MAAM,EAAE,WAAW;EACnB,MAAM,eAAe,QAAQ,SAAS;EACtC,MAAM,iBAAiB,aAAa;AACpC,MAAI,CAAC,gBAAgB,CAAC,eAAe,OAAQ,QAAO;EACpD,MAAM,QAAQ,eAAe,UAAU,kBAAkB,KAAK,MAAM,aAAa,CAAC;AAClF,MAAI,QAAQ,GAAI,QAAO;EACvB,MAAM,mBAAmB,gBAAgB,QAAQ,SAAS,GAAG;AAC7D,SAAO,SAAS,KAAK,gBAAgB,aAAa,KAAK,oBAAoB,eAAe,eAAe,SAAS,GAAG,SAAS,mBAAmB,eAAe,UAAU,kBAAkB,KAAK,MAAM,QAAQ,SAAS,GAAG,CAAC,GAAG;GAC9N;CACF,MAAM,WAAW,eAAe,kBAAkB,QAAQ,MAAM,eAAe,aAAa,QAAQ,MAAM,MAAM,OAAO,CAAC;CACxH,MAAM,gBAAgB,eAAe,kBAAkB,QAAQ,MAAM,kBAAkB,UAAU,aAAa,QAAQ,SAAS,KAAK,0BAA0B,aAAa,QAAQ,MAAM,MAAM,OAAO,CAAC;CACvM,SAAS,SAAS,IAAI,EAAE,EAAE;AACzB,MAAI,WAAW,EAAE,EAAE;GAClB,MAAM,IAAI,OAAO,MAAM,MAAM,QAAQ,GAAG,YAAY,QAAQ,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK;AACxF,OAAI,MAAM,kBAAkB,OAAO,aAAa,eAAe,yBAAyB,SAAU,UAAS,0BAA0B,EAAE;AACvI,UAAO;;AAER,SAAO,QAAQ,SAAS;;AAEzB,KAAwE,WAAW;EAClF,MAAM,WAAW,oBAAoB;AACrC,MAAI,UAAU;GACb,MAAM,sBAAsB;IAC3B,OAAO,MAAM;IACb,UAAU,SAAS;IACnB,eAAe,cAAc;IAC7B,OAAO;IACP;AACD,YAAS,iBAAiB,SAAS,kBAAkB,EAAE;AACvD,YAAS,eAAe,KAAK,oBAAoB;AACjD,qBAAkB;AACjB,wBAAoB,QAAQ,MAAM;AAClC,wBAAoB,WAAW,SAAS;AACxC,wBAAoB,gBAAgB,cAAc;AAClD,wBAAoB,QAAQ,gBAAgB,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO;MACpE,EAAE,OAAO,QAAQ,CAAC;;;;;;AAMvB,QAAO;EACN;EACA,MAAM,eAAe,MAAM,MAAM,KAAK;EACtC;EACA;EACA;EACA;;AAEF,SAAS,kBAAkB,QAAQ;AAClC,QAAO,OAAO,WAAW,IAAI,OAAO,KAAK;;;;;AA0C1C,IAAM,aAxCiC,gCAAgB;CACtD,MAAM;CACN,cAAc,EAAE,MAAM,GAAG;CACzB,OAAO;EACN,IAAI;GACH,MAAM,CAAC,QAAQ,OAAO;GACtB,UAAU;GACV;EACD,SAAS;EACT,aAAa;EACb,kBAAkB;EAClB,QAAQ;EACR,kBAAkB;GACjB,MAAM;GACN,SAAS;GACT;EACD,gBAAgB;EAChB;CACD;CACA,MAAM,OAAO,EAAE,SAAS;EACvB,MAAM,OAAO,SAAS,QAAQ,MAAM,CAAC;EACrC,MAAM,EAAE,YAAY,OAAO,UAAU;EACrC,MAAM,UAAU,gBAAgB;IAC9B,aAAa,MAAM,aAAa,QAAQ,iBAAiB,qBAAqB,GAAG,KAAK;IACtF,aAAa,MAAM,kBAAkB,QAAQ,sBAAsB,2BAA2B,GAAG,KAAK;GACvG,EAAE;AACH,eAAa;GACZ,MAAM,WAAW,MAAM,WAAW,kBAAkB,MAAM,QAAQ,KAAK,CAAC;AACxE,UAAO,MAAM,SAAS,WAAW,EAAE,KAAK;IACvC,gBAAgB,KAAK,gBAAgB,MAAM,mBAAmB;IAC9D,MAAM,KAAK;IACX,SAAS,KAAK;IACd,OAAO,QAAQ;IACf,EAAE,SAAS;;;CAGd,CAAC;AAKF,SAAS,WAAW,GAAG;AACtB,KAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,SAAU;AACtD,KAAI,EAAE,iBAAkB;AACxB,KAAI,EAAE,WAAW,KAAK,KAAK,EAAE,WAAW,EAAG;AAC3C,KAAI,EAAE,iBAAiB,EAAE,cAAc,cAAc;EACpD,MAAM,SAAS,EAAE,cAAc,aAAa,SAAS;AACrD,MAAI,cAAc,KAAK,OAAO,CAAE;;AAEjC,KAAI,EAAE,eAAgB,GAAE,gBAAgB;AACxC,QAAO;;AAER,SAAS,eAAe,OAAO,OAAO;AACrC,MAAK,MAAM,OAAO,OAAO;EACxB,MAAM,aAAa,MAAM;EACzB,MAAM,aAAa,MAAM;AACzB,MAAI,OAAO,eAAe;OACrB,eAAe,WAAY,QAAO;aAC5B,CAAC,QAAQ,WAAW,IAAI,WAAW,WAAW,WAAW,UAAU,WAAW,MAAM,OAAO,MAAM,MAAM,SAAS,KAAK,WAAW,GAAG,SAAS,CAAC,CAAE,QAAO;;AAElK,QAAO;;;;;;AAMR,SAAS,gBAAgB,QAAQ;AAChC,QAAO,SAAS,OAAO,UAAU,OAAO,QAAQ,OAAO,OAAO,OAAO;;;;;;;;AAQtE,IAAM,gBAAgB,WAAW,aAAa,iBAAiB,aAAa,OAAO,YAAY,eAAe,OAAO,cAAc;AAInI,IAAM,iBAAiC,gCAAgB;CACtD,MAAM;CACN,cAAc;CACd,OAAO;EACN,MAAM;GACL,MAAM;GACN,SAAS;GACT;EACD,OAAO;EACP;CACD,cAAc,EAAE,MAAM,GAAG;CACzB,MAAM,OAAO,EAAE,OAAO,SAAS;AACW,uBAAqB;EAC9D,MAAM,gBAAgB,OAAO,sBAAsB;EACnD,MAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,MAAM;EACzE,MAAM,gBAAgB,OAAO,cAAc,EAAE;EAC7C,MAAM,QAAQ,eAAe;GAC5B,IAAI,eAAe,MAAM,cAAc;GACvC,MAAM,EAAE,YAAY,eAAe;GACnC,IAAI;AACJ,WAAQ,eAAe,QAAQ,kBAAkB,CAAC,aAAa,WAAY;AAC3E,UAAO;IACN;EACF,MAAM,kBAAkB,eAAe,eAAe,MAAM,QAAQ,MAAM,OAAO;AACjF,UAAQ,cAAc,eAAe,MAAM,QAAQ,EAAE,CAAC;AACtD,UAAQ,iBAAiB,gBAAgB;AACzC,UAAQ,uBAAuB,eAAe;EAC9C,MAAM,UAAU,KAAK;AACrB,cAAY;GACX,QAAQ;GACR,gBAAgB;GAChB,MAAM;GACN,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,aAAa,MAAM,aAAa;AAC1D,OAAI,IAAI;AACP,OAAG,UAAU,QAAQ;AACrB,QAAI,QAAQ,SAAS,MAAM,YAAY,aAAa,aAAa;AAChE,SAAI,CAAC,GAAG,YAAY,KAAM,IAAG,cAAc,KAAK;AAChD,SAAI,CAAC,GAAG,aAAa,KAAM,IAAG,eAAe,KAAK;;;AAGpD,OAAI,YAAY,OAAO,CAAC,QAAQ,CAAC,kBAAkB,IAAI,KAAK,IAAI,CAAC,aAAc,EAAC,GAAG,eAAe,SAAS,EAAE,EAAE,SAAS,aAAa,SAAS,SAAS,CAAC;KACtJ,EAAE,OAAO,QAAQ,CAAC;AACrB,eAAa;GACZ,MAAM,QAAQ,eAAe;GAC7B,MAAM,cAAc,MAAM;GAC1B,MAAM,eAAe,gBAAgB;GACrC,MAAM,gBAAgB,gBAAgB,aAAa,WAAW;AAC9D,OAAI,CAAC,cAAe,QAAO,cAAc,MAAM,SAAS;IACvD,WAAW;IACX;IACA,CAAC;GACF,MAAM,mBAAmB,aAAa,MAAM;GAC5C,MAAM,aAAa,mBAAmB,qBAAqB,OAAO,MAAM,SAAS,OAAO,qBAAqB,aAAa,iBAAiB,MAAM,GAAG,mBAAmB;GACvK,MAAM,oBAAoB,UAAU;AACnC,QAAI,MAAM,UAAU,YAAa,cAAa,UAAU,eAAe;;GAExE,MAAM,YAAY,EAAE,eAAe,OAAO,EAAE,EAAE,YAAY,OAAO;IAChE;IACA,KAAK;IACL,CAAC,CAAC;AACH,OAAwE,aAAa,UAAU,KAAK;IACnG,MAAM,OAAO;KACZ,OAAO,MAAM;KACb,MAAM,aAAa;KACnB,MAAM,aAAa;KACnB,MAAM,aAAa;KACnB;AACD,KAAC,QAAQ,UAAU,IAAI,GAAG,UAAU,IAAI,KAAK,MAAM,EAAE,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,SAAS,aAAa;AAClG,cAAS,iBAAiB;MACzB;;AAEH,UAAO,cAAc,MAAM,SAAS;IACnC,WAAW;IACX;IACA,CAAC,IAAI;;;CAGR,CAAC;AACF,SAAS,cAAc,MAAM,MAAM;AAClC,KAAI,CAAC,KAAM,QAAO;CAClB,MAAM,cAAc,KAAK,KAAK;AAC9B,QAAO,YAAY,WAAW,IAAI,YAAY,KAAK;;;;;AAKpD,IAAM,aAAa;AACnB,SAAS,sBAAsB;CAC9B,MAAM,WAAW,oBAAoB;CACrC,MAAM,aAAa,SAAS,UAAU,SAAS,OAAO,KAAK;CAC3D,MAAM,oBAAoB,SAAS,UAAU,SAAS,OAAO,WAAW,SAAS,OAAO,QAAQ;AAChG,KAAI,eAAe,eAAe,eAAe,WAAW,SAAS,aAAa,KAAK,OAAO,sBAAsB,YAAY,kBAAkB,SAAS,cAAc;EACxK,MAAM,OAAO,eAAe,cAAc,eAAe;AACzD,SAAO;;;;KAIJ,KAAK,4CAA4C,KAAK,mBAAmB;;;;;;;;AAW9E,SAAS,aAAa,SAAS;CAC9B,MAAM,UAAU,oBAAoB,QAAQ,QAAQ,QAAQ;CAC5D,MAAM,eAAe,QAAQ,cAAc;CAC3C,MAAM,mBAAmB,QAAQ,kBAAkB;CACnD,MAAM,gBAAgB,QAAQ;AAC9B,KAA6C,CAAC,cAAe,OAAM,IAAI,MAAM,qIAAqI;CAClN,MAAM,eAAe,cAAc;CACnC,MAAM,sBAAsB,cAAc;CAC1C,MAAM,cAAc,cAAc;CAClC,MAAM,eAAe,WAAW,0BAA0B;CAC1D,IAAI,kBAAkB;AACtB,KAAI,aAAa,QAAQ,kBAAkB,uBAAuB,QAAS,SAAQ,oBAAoB;CACvG,MAAM,kBAAkB,cAAc,KAAK,OAAO,eAAe,KAAK,WAAW;CACjF,MAAM,eAAe,cAAc,KAAK,MAAM,YAAY;CAC1D,MAAM,eAAe,cAAc,KAAK,MAAM,OAAO;CACrD,SAAS,SAAS,eAAe,OAAO;EACvC,IAAI;EACJ,IAAI;AACJ,MAAI,YAAY,cAAc,EAAE;AAC/B,YAAS,QAAQ,iBAAiB,cAAc;AAChD,OAA6C,CAAC,OAAQ,QAAO,iBAAiB,OAAO,cAAc,CAAC,sCAAsC,MAAM;AAChJ,YAAS;QACH,UAAS;AAChB,SAAO,QAAQ,SAAS,QAAQ,OAAO;;CAExC,SAAS,YAAY,MAAM;EAC1B,MAAM,gBAAgB,QAAQ,iBAAiB,KAAK;AACpD,MAAI,cAAe,SAAQ,YAAY,cAAc;MACL,QAAO,qCAAqC,OAAO,KAAK,CAAC,GAAG;;CAE7G,SAAS,YAAY;AACpB,SAAO,QAAQ,WAAW,CAAC,KAAK,iBAAiB,aAAa,OAAO;;CAEtE,SAAS,SAAS,MAAM;AACvB,SAAO,CAAC,CAAC,QAAQ,iBAAiB,KAAK;;CAExC,SAAS,QAAQ,aAAa,iBAAiB;AAC9C,oBAAkB,OAAO,EAAE,EAAE,mBAAmB,aAAa,MAAM;AACnE,MAAI,OAAO,gBAAgB,UAAU;GACpC,MAAM,qBAAqB,SAAS,cAAc,aAAa,gBAAgB,KAAK;GACpF,MAAM,eAAe,QAAQ,QAAQ,EAAE,MAAM,mBAAmB,MAAM,EAAE,gBAAgB;GACxF,MAAM,OAAO,cAAc,WAAW,mBAAmB,SAAS;AAEjE,OAAI,KAAK,WAAW,KAAK,CAAE,QAAO,aAAa,YAAY,iBAAiB,KAAK,4DAA4D;YACpI,CAAC,aAAa,QAAQ,OAAQ,QAAO,0CAA0C,YAAY,GAAG;AAExG,UAAO,OAAO,oBAAoB,cAAc;IAC/C,QAAQ,aAAa,aAAa,OAAO;IACzC,MAAM,OAAO,mBAAmB,KAAK;IACrC,gBAAgB,KAAK;IACrB;IACA,CAAC;;AAEH,MAA6C,CAAC,gBAAgB,YAAY,EAAE;AAC3E,UAAO,+FAA+F,YAAY;AAClH,UAAO,QAAQ,EAAE,CAAC;;EAEnB,IAAI;AACJ,MAAI,YAAY,QAAQ,MAAM;AAC7B,OAA6C,YAAY,eAAe,EAAE,UAAU,gBAAgB,OAAO,KAAK,YAAY,OAAO,CAAC,OAAQ,QAAO,SAAS,YAAY,KAAK,gGAAgG;AAC7Q,qBAAkB,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,SAAS,cAAc,YAAY,MAAM,gBAAgB,KAAK,CAAC,MAAM,CAAC;SAClH;GACN,MAAM,eAAe,OAAO,EAAE,EAAE,YAAY,OAAO;AACnD,QAAK,MAAM,OAAO,aAAc,KAAI,aAAa,QAAQ,KAAM,QAAO,aAAa;AACnF,qBAAkB,OAAO,EAAE,EAAE,aAAa,EAAE,QAAQ,aAAa,aAAa,EAAE,CAAC;AACjF,mBAAgB,SAAS,aAAa,gBAAgB,OAAO;;EAE9D,MAAM,eAAe,QAAQ,QAAQ,iBAAiB,gBAAgB;EACtE,MAAM,OAAO,YAAY,QAAQ;AACjC,MAA6C,QAAQ,CAAC,KAAK,WAAW,IAAI,CAAE,QAAO,mEAAmE,KAAK,WAAW,KAAK,IAAI;AAC/K,eAAa,SAAS,gBAAgB,aAAa,aAAa,OAAO,CAAC;EACxE,MAAM,WAAW,aAAa,kBAAkB,OAAO,EAAE,EAAE,aAAa;GACvE,MAAM,WAAW,KAAK;GACtB,MAAM,aAAa;GACnB,CAAC,CAAC;EACH,MAAM,OAAO,cAAc,WAAW,SAAS;AAE9C,MAAI,KAAK,WAAW,KAAK,CAAE,QAAO,aAAa,YAAY,iBAAiB,KAAK,4DAA4D;WACpI,CAAC,aAAa,QAAQ,OAAQ,QAAO,0CAA0C,YAAY,QAAQ,OAAO,YAAY,OAAO,YAAY,GAAG;AAEtJ,SAAO,OAAO;GACb;GACA;GACA,OAAO,qBAAqB,iBAAiB,eAAe,YAAY,MAAM,GAAG,YAAY,SAAS,EAAE;GACxG,EAAE,cAAc;GAChB,gBAAgB,KAAK;GACrB;GACA,CAAC;;CAEH,SAAS,iBAAiB,IAAI;AAC7B,SAAO,OAAO,OAAO,WAAW,SAAS,cAAc,IAAI,aAAa,MAAM,KAAK,GAAG,OAAO,EAAE,EAAE,GAAG;;CAErG,SAAS,wBAAwB,IAAI,MAAM;AAC1C,MAAI,oBAAoB,GAAI,QAAO,kBAAkB,WAAW,sBAAsB;GACrF;GACA;GACA,CAAC;;CAEH,SAAS,KAAK,IAAI;AACjB,SAAO,iBAAiB,GAAG;;CAE5B,SAAS,QAAQ,IAAI;AACpB,SAAO,KAAK,OAAO,iBAAiB,GAAG,EAAE,EAAE,SAAS,MAAM,CAAC,CAAC;;CAE7D,SAAS,qBAAqB,IAAI,MAAM;EACvC,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,SAAS;AACnD,MAAI,eAAe,YAAY,UAAU;GACxC,MAAM,EAAE,aAAa;GACrB,IAAI,oBAAoB,OAAO,aAAa,aAAa,SAAS,IAAI,KAAK,GAAG;AAC9E,OAAI,OAAO,sBAAsB,UAAU;AAC1C,wBAAoB,kBAAkB,SAAS,IAAI,IAAI,kBAAkB,SAAS,IAAI,GAAG,oBAAoB,iBAAiB,kBAAkB,GAAG,EAAE,MAAM,mBAAmB;AAC9K,sBAAkB,SAAS,EAAE;;AAE9B,OAA6C,kBAAkB,QAAQ,QAAQ,EAAE,UAAU,oBAAoB;AAC9G,WAAO,4BAA4B,KAAK,UAAU,mBAAmB,MAAM,EAAE,CAAC,yBAAyB,GAAG,SAAS,2EAA2E;AAC9L,UAAM,IAAI,MAAM,mBAAmB;;AAEpC,UAAO,OAAO;IACb,OAAO,GAAG;IACV,MAAM,GAAG;IACT,QAAQ,kBAAkB,QAAQ,OAAO,EAAE,GAAG,GAAG;IACjD,EAAE,kBAAkB;;;CAGvB,SAAS,iBAAiB,IAAI,gBAAgB;EAC7C,MAAM,iBAAiB,kBAAkB,QAAQ,GAAG;EACpD,MAAM,OAAO,aAAa;EAC1B,MAAM,OAAO,GAAG;EAChB,MAAM,QAAQ,GAAG;EACjB,MAAM,UAAU,GAAG,YAAY;EAC/B,MAAM,iBAAiB,qBAAqB,gBAAgB,KAAK;AACjE,MAAI,eAAgB,QAAO,iBAAiB,OAAO,iBAAiB,eAAe,EAAE;GACpF,OAAO,OAAO,mBAAmB,WAAW,OAAO,EAAE,EAAE,MAAM,eAAe,MAAM,GAAG;GACrF;GACA;GACA,CAAC,EAAE,kBAAkB,eAAe;EACrC,MAAM,aAAa;AACnB,aAAW,iBAAiB;EAC5B,IAAI;AACJ,MAAI,CAAC,SAAS,oBAAoB,kBAAkB,MAAM,eAAe,EAAE;AAC1E,aAAU,kBAAkB,WAAW,uBAAuB;IAC7D,IAAI;IACJ;IACA,CAAC;AACF,gBAAa,MAAM,MAAM,MAAM,MAAM;;AAEtC,UAAQ,UAAU,QAAQ,QAAQ,QAAQ,GAAG,SAAS,YAAY,KAAK,EAAE,OAAO,UAAU,oBAAoB,MAAM,GAAG,oBAAoB,OAAO,WAAW,0BAA0B,GAAG,QAAQ,YAAY,MAAM,GAAG,aAAa,OAAO,YAAY,KAAK,CAAC,CAAC,MAAM,YAAY;AAC/Q,OAAI;QACC,oBAAoB,SAAS,WAAW,0BAA0B,EAAE;AACvE,SAA6C,oBAAoB,kBAAkB,QAAQ,QAAQ,GAAG,EAAE,WAAW,IAAI,mBAAmB,eAAe,SAAS,eAAe,SAAS,eAAe,SAAS,IAAI,KAAK,IAAI;AAC9N,aAAO,mFAAmF,KAAK,SAAS,QAAQ,WAAW,SAAS,yPAAyP;AAC7X,aAAO,QAAQ,uBAAuB,IAAI,MAAM,wCAAwC,CAAC;;AAE1F,YAAO,iBAAiB,OAAO,EAAE,SAAS,EAAE,iBAAiB,QAAQ,GAAG,EAAE;MACzE,OAAO,OAAO,QAAQ,OAAO,WAAW,OAAO,EAAE,EAAE,MAAM,QAAQ,GAAG,MAAM,GAAG;MAC7E;MACA,CAAC,EAAE,kBAAkB,WAAW;;SAE5B,WAAU,mBAAmB,YAAY,MAAM,MAAM,SAAS,KAAK;AAC1E,oBAAiB,YAAY,MAAM,QAAQ;AAC3C,UAAO;IACN;;;;;;;CAOH,SAAS,iCAAiC,IAAI,MAAM;EACnD,MAAM,QAAQ,wBAAwB,IAAI,KAAK;AAC/C,SAAO,QAAQ,QAAQ,OAAO,MAAM,GAAG,QAAQ,SAAS;;CAEzD,SAAS,eAAe,IAAI;EAC3B,MAAM,MAAM,cAAc,QAAQ,CAAC,MAAM,CAAC;AAC1C,SAAO,OAAO,OAAO,IAAI,mBAAmB,aAAa,IAAI,eAAe,GAAG,GAAG,IAAI;;CAEvF,SAAS,SAAS,IAAI,MAAM;EAC3B,IAAI;EACJ,MAAM,CAAC,gBAAgB,iBAAiB,mBAAmB,uBAAuB,IAAI,KAAK;AAC3F,WAAS,wBAAwB,eAAe,SAAS,EAAE,oBAAoB,IAAI,KAAK;AACxF,OAAK,MAAM,UAAU,eAAgB,QAAO,YAAY,SAAS,UAAU;AAC1E,UAAO,KAAK,iBAAiB,OAAO,IAAI,KAAK,CAAC;IAC7C;EACF,MAAM,0BAA0B,iCAAiC,KAAK,MAAM,IAAI,KAAK;AACrF,SAAO,KAAK,wBAAwB;AACpC,SAAO,cAAc,OAAO,CAAC,WAAW;AACvC,YAAS,EAAE;AACX,QAAK,MAAM,SAAS,aAAa,MAAM,CAAE,QAAO,KAAK,iBAAiB,OAAO,IAAI,KAAK,CAAC;AACvF,UAAO,KAAK,wBAAwB;AACpC,UAAO,cAAc,OAAO;IAC3B,CAAC,WAAW;AACb,YAAS,wBAAwB,iBAAiB,qBAAqB,IAAI,KAAK;AAChF,QAAK,MAAM,UAAU,gBAAiB,QAAO,aAAa,SAAS,UAAU;AAC5E,WAAO,KAAK,iBAAiB,OAAO,IAAI,KAAK,CAAC;KAC7C;AACF,UAAO,KAAK,wBAAwB;AACpC,UAAO,cAAc,OAAO;IAC3B,CAAC,WAAW;AACb,YAAS,EAAE;AACX,QAAK,MAAM,UAAU,gBAAiB,KAAI,OAAO,YAAa,KAAI,QAAQ,OAAO,YAAY,CAAE,MAAK,MAAM,eAAe,OAAO,YAAa,QAAO,KAAK,iBAAiB,aAAa,IAAI,KAAK,CAAC;OAC5L,QAAO,KAAK,iBAAiB,OAAO,aAAa,IAAI,KAAK,CAAC;AAChE,UAAO,KAAK,wBAAwB;AACpC,UAAO,cAAc,OAAO;IAC3B,CAAC,WAAW;AACb,MAAG,QAAQ,SAAS,WAAW,OAAO,iBAAiB,EAAE,CAAC;AAC1D,YAAS,wBAAwB,iBAAiB,oBAAoB,IAAI,MAAM,eAAe;AAC/F,UAAO,KAAK,wBAAwB;AACpC,UAAO,cAAc,OAAO;IAC3B,CAAC,WAAW;AACb,YAAS,EAAE;AACX,QAAK,MAAM,SAAS,oBAAoB,MAAM,CAAE,QAAO,KAAK,iBAAiB,OAAO,IAAI,KAAK,CAAC;AAC9F,UAAO,KAAK,wBAAwB;AACpC,UAAO,cAAc,OAAO;IAC3B,CAAC,OAAO,QAAQ,oBAAoB,KAAK,WAAW,qBAAqB,GAAG,MAAM,QAAQ,OAAO,IAAI,CAAC;;CAEzG,SAAS,iBAAiB,IAAI,MAAM,SAAS;AAC5C,cAAY,MAAM,CAAC,SAAS,UAAU,qBAAqB,MAAM,IAAI,MAAM,QAAQ,CAAC,CAAC;;;;;;;CAOtF,SAAS,mBAAmB,YAAY,MAAM,QAAQ,SAAS,MAAM;EACpE,MAAM,QAAQ,wBAAwB,YAAY,KAAK;AACvD,MAAI,MAAO,QAAO;EAClB,MAAM,oBAAoB,SAAS;EACnC,MAAM,QAAQ,CAAC,YAAY,EAAE,GAAG,QAAQ;AACxC,MAAI,OAAQ,KAAI,WAAW,kBAAmB,eAAc,QAAQ,WAAW,UAAU,OAAO,EAAE,QAAQ,qBAAqB,SAAS,MAAM,QAAQ,EAAE,KAAK,CAAC;MACzJ,eAAc,KAAK,WAAW,UAAU,KAAK;AAClD,eAAa,QAAQ;AACrB,eAAa,YAAY,MAAM,QAAQ,kBAAkB;AACzD,eAAa;;CAEd,IAAI;CACJ,SAAS,iBAAiB;AACzB,MAAI,sBAAuB;AAC3B,0BAAwB,cAAc,QAAQ,IAAI,OAAO,SAAS;AACjE,OAAI,CAAC,OAAO,UAAW;GACvB,MAAM,aAAa,QAAQ,GAAG;GAC9B,MAAM,iBAAiB,qBAAqB,YAAY,OAAO,aAAa,MAAM;AAClF,OAAI,gBAAgB;AACnB,qBAAiB,OAAO,gBAAgB;KACvC,SAAS;KACT,OAAO;KACP,CAAC,EAAE,WAAW,CAAC,MAAM,KAAK;AAC3B;;AAED,qBAAkB;GAClB,MAAM,OAAO,aAAa;AAC1B,OAAI,UAAW,oBAAmB,aAAa,KAAK,UAAU,KAAK,MAAM,EAAE,uBAAuB,CAAC;AACnG,YAAS,YAAY,KAAK,CAAC,OAAO,UAAU;AAC3C,QAAI,oBAAoB,OAAO,WAAW,qBAAqB,WAAW,qBAAqB,CAAE,QAAO;AACxG,QAAI,oBAAoB,OAAO,WAAW,0BAA0B,EAAE;AACrE,sBAAiB,OAAO,iBAAiB,MAAM,GAAG,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,YAAY;AACnG,UAAI,oBAAoB,SAAS,WAAW,qBAAqB,WAAW,sBAAsB,IAAI,CAAC,KAAK,SAAS,KAAK,SAAS,eAAe,IAAK,eAAc,GAAG,IAAI,MAAM;OACjL,CAAC,MAAM,KAAK;AACd,YAAO,QAAQ,QAAQ;;AAExB,QAAI,KAAK,MAAO,eAAc,GAAG,CAAC,KAAK,OAAO,MAAM;AACpD,WAAO,aAAa,OAAO,YAAY,KAAK;KAC3C,CAAC,MAAM,YAAY;AACpB,cAAU,WAAW,mBAAmB,YAAY,MAAM,MAAM;AAChE,QAAI;SACC,KAAK,SAAS,CAAC,oBAAoB,SAAS,WAAW,qBAAqB,CAAE,eAAc,GAAG,CAAC,KAAK,OAAO,MAAM;cAC7G,KAAK,SAAS,eAAe,OAAO,oBAAoB,SAAS,WAAW,qBAAqB,WAAW,sBAAsB,CAAE,eAAc,GAAG,IAAI,MAAM;;AAEzK,qBAAiB,YAAY,MAAM,QAAQ;KAC1C,CAAC,MAAM,KAAK;IACb;;CAEH,IAAI,gBAAgB,cAAc;CAClC,IAAI,iBAAiB,cAAc;CACnC,IAAI;;;;;;;;;CASJ,SAAS,aAAa,OAAO,IAAI,MAAM;AACtC,cAAY,MAAM;EAClB,MAAM,OAAO,eAAe,MAAM;AAClC,MAAI,KAAK,OAAQ,MAAK,SAAS,YAAY,QAAQ,OAAO,IAAI,KAAK,CAAC;OAC/D;AACuC,UAAO,0CAA0C;AAC5F,WAAQ,MAAM,MAAM;;AAErB,SAAO,QAAQ,OAAO,MAAM;;CAE7B,SAAS,UAAU;AAClB,MAAI,SAAS,aAAa,UAAU,0BAA2B,QAAO,QAAQ,SAAS;AACvF,SAAO,IAAI,SAAS,SAAS,WAAW;AACvC,iBAAc,IAAI,CAAC,SAAS,OAAO,CAAC;IACnC;;CAEH,SAAS,YAAY,KAAK;AACzB,MAAI,CAAC,OAAO;AACX,WAAQ,CAAC;AACT,mBAAgB;AAChB,iBAAc,MAAM,CAAC,SAAS,CAAC,SAAS,YAAY,MAAM,OAAO,IAAI,GAAG,SAAS,CAAC;AAClF,iBAAc,OAAO;;AAEtB,SAAO;;CAER,SAAS,aAAa,IAAI,MAAM,QAAQ,mBAAmB;EAC1D,MAAM,EAAE,mBAAmB;AAC3B,MAAI,CAAC,aAAa,CAAC,eAAgB,QAAO,QAAQ,SAAS;EAC3D,MAAM,iBAAiB,CAAC,UAAU,uBAAuB,aAAa,GAAG,UAAU,EAAE,CAAC,KAAK,qBAAqB,CAAC,WAAW,QAAQ,SAAS,QAAQ,MAAM,UAAU;AACrK,SAAO,UAAU,CAAC,WAAW,eAAe,IAAI,MAAM,eAAe,CAAC,CAAC,MAAM,aAAa,YAAY,iBAAiB,SAAS,CAAC,CAAC,OAAO,QAAQ,aAAa,KAAK,IAAI,KAAK,CAAC;;CAE9K,MAAM,MAAM,UAAU,cAAc,GAAG,MAAM;CAC7C,IAAI;CACJ,MAAM,gCAAgC,IAAI,KAAK;CAC/C,MAAM,SAAS;EACd;EACA,WAAW;EACX;EACA;EACA,aAAa,QAAQ;EACrB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,GAAG,GAAG;EAClB,eAAe,GAAG,EAAE;EACpB,YAAY,aAAa;EACzB,eAAe,oBAAoB;EACnC,WAAW,YAAY;EACvB,SAAS,eAAe;EACxB;EACA,QAAQ,KAAK;AACZ,OAAI,UAAU,cAAc,WAAW;AACvC,OAAI,UAAU,cAAc,WAAW;AACvC,OAAI,OAAO,iBAAiB,UAAU;AACtC,UAAO,eAAe,IAAI,OAAO,kBAAkB,UAAU;IAC5D,YAAY;IACZ,WAAW,MAAM,aAAa;IAC9B,CAAC;AACF,OAAI,aAAa,CAAC,WAAW,aAAa,UAAU,2BAA2B;AAC9E,cAAU;AACV,SAAK,cAAc,SAAS,CAAC,OAAO,QAAQ;AACA,YAAO,8CAA8C,IAAI;MACnG;;GAEH,MAAM,gBAAgB,EAAE;AACxB,QAAK,MAAM,OAAO,0BAA2B,QAAO,eAAe,eAAe,KAAK;IACtF,WAAW,aAAa,MAAM;IAC9B,YAAY;IACZ,CAAC;AACF,OAAI,QAAQ,WAAW,OAAO;AAC9B,OAAI,QAAQ,kBAAkB,gBAAgB,cAAc,CAAC;AAC7D,OAAI,QAAQ,uBAAuB,aAAa;GAChD,MAAM,aAAa,IAAI;AACvB,iBAAc,IAAI,IAAI;AACtB,OAAI,UAAU,WAAW;AACxB,kBAAc,OAAO,IAAI;AACzB,QAAI,cAAc,OAAO,GAAG;AAC3B,uBAAkB;AAClB,8BAAyB,uBAAuB;AAChD,6BAAwB;AACxB,kBAAa,QAAQ;AACrB,eAAU;AACV,aAAQ;;AAET,gBAAY;;AAEb,OAAwE,aAAa,KAAM,aAAY,KAAK,QAAQ,QAAQ;;EAE7H;CACD,SAAS,cAAc,QAAQ;AAC9B,SAAO,OAAO,QAAQ,SAAS,UAAU,QAAQ,WAAW,eAAe,MAAM,CAAC,EAAE,QAAQ,SAAS,CAAC;;AAEvG,QAAO"} \ No newline at end of file diff --git a/src/.vuepress/.cache/deps/vue.js b/src/.vuepress/.cache/deps/vue.js deleted file mode 100644 index 79836704a..000000000 --- a/src/.vuepress/.cache/deps/vue.js +++ /dev/null @@ -1,2 +0,0 @@ -import { $ as createTextVNode, $n as toRefs, $t as resolveTransitionHooks, A as ErrorCodes, An as customRef, At as onBeforeMount, B as callWithErrorHandling, Bn as markRaw, Bt as onUpdated, C as vShow, Cn as withDirectives, Ct as isRuntimeOnly, D as BaseTransitionPropsValidators, Dn as ReactiveEffect, Dt as mergeProps, E as BaseTransition, En as EffectScope, Et as mergeModels, F as Suspense, Fn as isProxy, Ft as onMounted, G as createBlock, Gn as readonly, Gt as queuePostFlushCb, H as compatUtils, Hn as onWatcherCleanup, Ht as popScopeId, I as Teleport, In as isReactive, It as onRenderTracked, J as createHydrationRenderer, Jn as shallowReadonly, Jt as renderSlot, K as createCommentVNode, Kn as ref, Kt as registerRuntimeCompiler, L as Text, Ln as isReadonly, Lt as onRenderTriggered, M as Fragment, Mn as effectScope, Mt as onBeforeUpdate, N as KeepAlive, Nn as getCurrentScope, Nt as onDeactivated, O as Comment, On as TrackOpTypes, Ot as nextTick, P as Static, Pn as getCurrentWatcher, Pt as onErrorCaptured, Q as createStaticVNode, Qn as toRef, Qt as resolveFilter, R as assertNumber, Rn as isRef, Rt as onServerPrefetch, S as vModelText, Sn as withDefaults, St as isMemoSame, T as withModifiers, Tn as withScopeId, Tt as mergeDefaults, U as computed, Un as proxyRefs, Ut as provide, V as cloneVNode, Vn as onScopeDispose, Vt as openBlock, W as createBaseVNode, Wn as reactive, Wt as pushScopeId, X as createRenderer, Xn as stop, Xt as resolveDirective, Y as createPropsRestProxy, Yn as shallowRef, Yt as resolveComponent, Z as createSlots, Zn as toRaw, Zt as resolveDynamicComponent, _ as useShadowRoot, _n as watchEffect, _t as hydrateOnInteraction, a as createApp, an as toHandlers, ar as normalizeClass, at as defineModel, b as vModelRadio, bn as withAsyncContext, bt as initCustomFormatter, c as defineSSRCustomElement, cn as useId, cr as toDisplayString, ct as defineSlots, d as nodeOps, dn as useSlots, dt as getTransitionRawChildren, en as setBlockTracking, er as toValue, et as createVNode, f as patchProp, fn as useTemplateRef, ft as guardReactiveProps, g as useHost, gn as watch, gt as hydrateOnIdle, h as useCssVars, hn as warn, ht as hasInjectionContext, i as VueElement, in as ssrUtils, ir as capitalize, it as defineExpose, j as ErrorTypeStrings, jn as effect, jt as onBeforeUnmount, k as DeprecationTypes, kn as TriggerOpTypes, kt as onActivated, l as hydrate, ln as useModel, lr as toHandlerKey, lt as devtools, m as useCssModule, mn as version, mt as handleError, n as Transition, nn as setTransitionHooks, nr as unref, nt as defineComponent, o as createSSRApp, on as transformVNodeArgs, or as normalizeProps, ot as defineOptions, p as render, pn as useTransitionState, pt as h, q as createElementBlock, qn as shallowReactive, qt as renderList, r as TransitionGroup, rn as ssrContextKey, rr as camelize, rt as defineEmits, s as defineCustomElement, sn as useAttrs, sr as normalizeStyle, st as defineProps, t as compile, tn as setDevtoolsHook, tr as triggerRef, tt as defineAsyncComponent, u as initDirectivesForSSR, un as useSSRContext, ut as getCurrentInstance, v as vModelCheckbox, vn as watchPostEffect, vt as hydrateOnMediaQuery, w as withKeys, wn as withMemo, wt as isVNode, x as vModelSelect, xn as withCtx, xt as inject, y as vModelDynamic, yn as watchSyncEffect, yt as hydrateOnVisible, z as callWithAsyncErrorHandling, zn as isShallow, zt as onUnmounted } from "./vue.runtime.esm-bundler-CJdF6Oq_.js"; -export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, compile, computed, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getCurrentWatcher, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, nodeOps, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useHost, useId, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId }; diff --git a/src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js b/src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js deleted file mode 100644 index 9345e0d11..000000000 --- a/src/.vuepress/.cache/deps/vue.runtime.esm-bundler-CJdF6Oq_.js +++ /dev/null @@ -1,8579 +0,0 @@ -//#region node_modules/@vue/shared/dist/shared.esm-bundler.js -/** -* @vue/shared v3.5.32 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -/* @__NO_SIDE_EFFECTS__ */ -function makeMap(str) { - const map = /* @__PURE__ */ Object.create(null); - for (const key of str.split(",")) map[key] = 1; - return (val) => val in map; -} -var EMPTY_OBJ = Object.freeze({}); -var EMPTY_ARR = Object.freeze([]); -var NOOP = () => {}; -var NO = () => false; -var isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); -var isModelListener = (key) => key.startsWith("onUpdate:"); -var extend = Object.assign; -var remove = (arr, el) => { - const i = arr.indexOf(el); - if (i > -1) arr.splice(i, 1); -}; -var hasOwnProperty$1 = Object.prototype.hasOwnProperty; -var hasOwn = (val, key) => hasOwnProperty$1.call(val, key); -var isArray = Array.isArray; -var isMap = (val) => toTypeString(val) === "[object Map]"; -var isSet = (val) => toTypeString(val) === "[object Set]"; -var isDate = (val) => toTypeString(val) === "[object Date]"; -var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; -var isFunction = (val) => typeof val === "function"; -var isString = (val) => typeof val === "string"; -var isSymbol = (val) => typeof val === "symbol"; -var isObject = (val) => val !== null && typeof val === "object"; -var isPromise = (val) => { - return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); -}; -var objectToString = Object.prototype.toString; -var toTypeString = (value) => objectToString.call(value); -var toRawType = (value) => { - return toTypeString(value).slice(8, -1); -}; -var isPlainObject = (val) => toTypeString(val) === "[object Object]"; -var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; -var isReservedProp = /* @__PURE__ */ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"); -var isBuiltInDirective = /* @__PURE__ */ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"); -var cacheStringFunction = (fn) => { - const cache = /* @__PURE__ */ Object.create(null); - return ((str) => { - return cache[str] || (cache[str] = fn(str)); - }); -}; -var camelizeRE = /-\w/g; -var camelize = cacheStringFunction((str) => { - return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase()); -}); -var hyphenateRE = /\B([A-Z])/g; -var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); -var capitalize = cacheStringFunction((str) => { - return str.charAt(0).toUpperCase() + str.slice(1); -}); -var toHandlerKey = cacheStringFunction((str) => { - return str ? `on${capitalize(str)}` : ``; -}); -var hasChanged = (value, oldValue) => !Object.is(value, oldValue); -var invokeArrayFns = (fns, ...arg) => { - for (let i = 0; i < fns.length; i++) fns[i](...arg); -}; -var def = (obj, key, value, writable = false) => { - Object.defineProperty(obj, key, { - configurable: true, - enumerable: false, - writable, - value - }); -}; -var looseToNumber = (val) => { - const n = parseFloat(val); - return isNaN(n) ? val : n; -}; -var toNumber = (val) => { - const n = isString(val) ? Number(val) : NaN; - return isNaN(n) ? val : n; -}; -var _globalThis; -var getGlobalThis = () => { - return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); -}; -var isGloballyAllowed = /* @__PURE__ */ makeMap("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"); -function normalizeStyle(value) { - if (isArray(value)) { - const res = {}; - for (let i = 0; i < value.length; i++) { - const item = value[i]; - const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); - if (normalized) for (const key in normalized) res[key] = normalized[key]; - } - return res; - } else if (isString(value) || isObject(value)) return value; -} -var listDelimiterRE = /;(?![^(]*\))/g; -var propertyDelimiterRE = /:([^]+)/; -var styleCommentRE = /\/\*[^]*?\*\//g; -function parseStringStyle(cssText) { - const ret = {}; - cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { - if (item) { - const tmp = item.split(propertyDelimiterRE); - tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); - } - }); - return ret; -} -function stringifyStyle(styles) { - if (!styles) return ""; - if (isString(styles)) return styles; - let ret = ""; - for (const key in styles) { - const value = styles[key]; - if (isString(value) || typeof value === "number") { - const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); - ret += `${normalizedKey}:${value};`; - } - } - return ret; -} -function normalizeClass(value) { - let res = ""; - if (isString(value)) res = value; - else if (isArray(value)) for (let i = 0; i < value.length; i++) { - const normalized = normalizeClass(value[i]); - if (normalized) res += normalized + " "; - } - else if (isObject(value)) { - for (const name in value) if (value[name]) res += name + " "; - } - return res.trim(); -} -function normalizeProps(props) { - if (!props) return null; - let { class: klass, style } = props; - if (klass && !isString(klass)) props.class = normalizeClass(klass); - if (style) props.style = normalizeStyle(style); - return props; -} -var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; -var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; -var MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; -var isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); -var isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); -var isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS); -var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; -var isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); -var isBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`); -function includeBooleanAttr(value) { - return !!value || value === ""; -} -var isKnownHtmlAttr = /* @__PURE__ */ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`); -var isKnownSvgAttr = /* @__PURE__ */ makeMap(`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`); -function isRenderableAttrValue(value) { - if (value == null) return false; - const type = typeof value; - return type === "string" || type === "number" || type === "boolean"; -} -var cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; -function getEscapedCssVarName(key, doubleEscape) { - return key.replace(cssVarNameEscapeSymbolsRE, (s) => doubleEscape ? s === "\"" ? "\\\\\\\"" : `\\\\${s}` : `\\${s}`); -} -function looseCompareArrays(a, b) { - if (a.length !== b.length) return false; - let equal = true; - for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]); - return equal; -} -function looseEqual(a, b) { - if (a === b) return true; - let aValidType = isDate(a); - let bValidType = isDate(b); - if (aValidType || bValidType) return aValidType && bValidType ? a.getTime() === b.getTime() : false; - aValidType = isSymbol(a); - bValidType = isSymbol(b); - if (aValidType || bValidType) return a === b; - aValidType = isArray(a); - bValidType = isArray(b); - if (aValidType || bValidType) return aValidType && bValidType ? looseCompareArrays(a, b) : false; - aValidType = isObject(a); - bValidType = isObject(b); - if (aValidType || bValidType) { - if (!aValidType || !bValidType) return false; - if (Object.keys(a).length !== Object.keys(b).length) return false; - for (const key in a) { - const aHasKey = a.hasOwnProperty(key); - const bHasKey = b.hasOwnProperty(key); - if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) return false; - } - } - return String(a) === String(b); -} -function looseIndexOf(arr, val) { - return arr.findIndex((item) => looseEqual(item, val)); -} -var isRef$1 = (val) => { - return !!(val && val["__v_isRef"] === true); -}; -var toDisplayString = (val) => { - return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef$1(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); -}; -var replacer = (_key, val) => { - if (isRef$1(val)) return replacer(_key, val.value); - else if (isMap(val)) return { [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2], i) => { - entries[stringifySymbol(key, i) + " =>"] = val2; - return entries; - }, {}) }; - else if (isSet(val)) return { [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) }; - else if (isSymbol(val)) return stringifySymbol(val); - else if (isObject(val) && !isArray(val) && !isPlainObject(val)) return String(val); - return val; -}; -var stringifySymbol = (v, i = "") => { - var _a; - return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v; -}; -function normalizeCssVarValue(value) { - if (value == null) return "initial"; - if (typeof value === "string") return value === "" ? " " : value; - if (typeof value !== "number" || !Number.isFinite(value)) console.warn("[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:", value); - return String(value); -} -//#endregion -//#region node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js -/** -* @vue/reactivity v3.5.32 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -function warn$2(msg, ...args) { - console.warn(`[Vue warn] ${msg}`, ...args); -} -var activeEffectScope; -var EffectScope = class { - constructor(detached = false) { - this.detached = detached; - /** - * @internal - */ - this._active = true; - /** - * @internal track `on` calls, allow `on` call multiple times - */ - this._on = 0; - /** - * @internal - */ - this.effects = []; - /** - * @internal - */ - this.cleanups = []; - this._isPaused = false; - this.__v_skip = true; - this.parent = activeEffectScope; - if (!detached && activeEffectScope) this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; - } - get active() { - return this._active; - } - pause() { - if (this._active) { - this._isPaused = true; - let i, l; - if (this.scopes) for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].pause(); - for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].pause(); - } - } - /** - * Resumes the effect scope, including all child scopes and effects. - */ - resume() { - if (this._active) { - if (this._isPaused) { - this._isPaused = false; - let i, l; - if (this.scopes) for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].resume(); - for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].resume(); - } - } - } - run(fn) { - if (this._active) { - const currentEffectScope = activeEffectScope; - try { - activeEffectScope = this; - return fn(); - } finally { - activeEffectScope = currentEffectScope; - } - } else warn$2(`cannot run an inactive effect scope.`); - } - /** - * This should only be called on non-detached scopes - * @internal - */ - on() { - if (++this._on === 1) { - this.prevScope = activeEffectScope; - activeEffectScope = this; - } - } - /** - * This should only be called on non-detached scopes - * @internal - */ - off() { - if (this._on > 0 && --this._on === 0) { - activeEffectScope = this.prevScope; - this.prevScope = void 0; - } - } - stop(fromParent) { - if (this._active) { - this._active = false; - let i, l; - for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].stop(); - this.effects.length = 0; - for (i = 0, l = this.cleanups.length; i < l; i++) this.cleanups[i](); - this.cleanups.length = 0; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].stop(true); - this.scopes.length = 0; - } - if (!this.detached && this.parent && !fromParent) { - const last = this.parent.scopes.pop(); - if (last && last !== this) { - this.parent.scopes[this.index] = last; - last.index = this.index; - } - } - this.parent = void 0; - } - } -}; -function effectScope(detached) { - return new EffectScope(detached); -} -function getCurrentScope() { - return activeEffectScope; -} -function onScopeDispose(fn, failSilently = false) { - if (activeEffectScope) activeEffectScope.cleanups.push(fn); - else if (!failSilently) warn$2(`onScopeDispose() is called when there is no active effect scope to be associated with.`); -} -var activeSub; -var pausedQueueEffects = /* @__PURE__ */ new WeakSet(); -var ReactiveEffect = class { - constructor(fn) { - this.fn = fn; - /** - * @internal - */ - this.deps = void 0; - /** - * @internal - */ - this.depsTail = void 0; - /** - * @internal - */ - this.flags = 5; - /** - * @internal - */ - this.next = void 0; - /** - * @internal - */ - this.cleanup = void 0; - this.scheduler = void 0; - if (activeEffectScope && activeEffectScope.active) activeEffectScope.effects.push(this); - } - pause() { - this.flags |= 64; - } - resume() { - if (this.flags & 64) { - this.flags &= -65; - if (pausedQueueEffects.has(this)) { - pausedQueueEffects.delete(this); - this.trigger(); - } - } - } - /** - * @internal - */ - notify() { - if (this.flags & 2 && !(this.flags & 32)) return; - if (!(this.flags & 8)) batch(this); - } - run() { - if (!(this.flags & 1)) return this.fn(); - this.flags |= 2; - cleanupEffect(this); - prepareDeps(this); - const prevEffect = activeSub; - const prevShouldTrack = shouldTrack; - activeSub = this; - shouldTrack = true; - try { - return this.fn(); - } finally { - if (activeSub !== this) warn$2("Active effect was not restored correctly - this is likely a Vue internal bug."); - cleanupDeps(this); - activeSub = prevEffect; - shouldTrack = prevShouldTrack; - this.flags &= -3; - } - } - stop() { - if (this.flags & 1) { - for (let link = this.deps; link; link = link.nextDep) removeSub(link); - this.deps = this.depsTail = void 0; - cleanupEffect(this); - this.onStop && this.onStop(); - this.flags &= -2; - } - } - trigger() { - if (this.flags & 64) pausedQueueEffects.add(this); - else if (this.scheduler) this.scheduler(); - else this.runIfDirty(); - } - /** - * @internal - */ - runIfDirty() { - if (isDirty(this)) this.run(); - } - get dirty() { - return isDirty(this); - } -}; -var batchDepth = 0; -var batchedSub; -var batchedComputed; -function batch(sub, isComputed = false) { - sub.flags |= 8; - if (isComputed) { - sub.next = batchedComputed; - batchedComputed = sub; - return; - } - sub.next = batchedSub; - batchedSub = sub; -} -function startBatch() { - batchDepth++; -} -function endBatch() { - if (--batchDepth > 0) return; - if (batchedComputed) { - let e = batchedComputed; - batchedComputed = void 0; - while (e) { - const next = e.next; - e.next = void 0; - e.flags &= -9; - e = next; - } - } - let error; - while (batchedSub) { - let e = batchedSub; - batchedSub = void 0; - while (e) { - const next = e.next; - e.next = void 0; - e.flags &= -9; - if (e.flags & 1) try { - e.trigger(); - } catch (err) { - if (!error) error = err; - } - e = next; - } - } - if (error) throw error; -} -function prepareDeps(sub) { - for (let link = sub.deps; link; link = link.nextDep) { - link.version = -1; - link.prevActiveLink = link.dep.activeLink; - link.dep.activeLink = link; - } -} -function cleanupDeps(sub) { - let head; - let tail = sub.depsTail; - let link = tail; - while (link) { - const prev = link.prevDep; - if (link.version === -1) { - if (link === tail) tail = prev; - removeSub(link); - removeDep(link); - } else head = link; - link.dep.activeLink = link.prevActiveLink; - link.prevActiveLink = void 0; - link = prev; - } - sub.deps = head; - sub.depsTail = tail; -} -function isDirty(sub) { - for (let link = sub.deps; link; link = link.nextDep) if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) return true; - if (sub._dirty) return true; - return false; -} -function refreshComputed(computed) { - if (computed.flags & 4 && !(computed.flags & 16)) return; - computed.flags &= -17; - if (computed.globalVersion === globalVersion) return; - computed.globalVersion = globalVersion; - if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) return; - computed.flags |= 2; - const dep = computed.dep; - const prevSub = activeSub; - const prevShouldTrack = shouldTrack; - activeSub = computed; - shouldTrack = true; - try { - prepareDeps(computed); - const value = computed.fn(computed._value); - if (dep.version === 0 || hasChanged(value, computed._value)) { - computed.flags |= 128; - computed._value = value; - dep.version++; - } - } catch (err) { - dep.version++; - throw err; - } finally { - activeSub = prevSub; - shouldTrack = prevShouldTrack; - cleanupDeps(computed); - computed.flags &= -3; - } -} -function removeSub(link, soft = false) { - const { dep, prevSub, nextSub } = link; - if (prevSub) { - prevSub.nextSub = nextSub; - link.prevSub = void 0; - } - if (nextSub) { - nextSub.prevSub = prevSub; - link.nextSub = void 0; - } - if (dep.subsHead === link) dep.subsHead = nextSub; - if (dep.subs === link) { - dep.subs = prevSub; - if (!prevSub && dep.computed) { - dep.computed.flags &= -5; - for (let l = dep.computed.deps; l; l = l.nextDep) removeSub(l, true); - } - } - if (!soft && !--dep.sc && dep.map) dep.map.delete(dep.key); -} -function removeDep(link) { - const { prevDep, nextDep } = link; - if (prevDep) { - prevDep.nextDep = nextDep; - link.prevDep = void 0; - } - if (nextDep) { - nextDep.prevDep = prevDep; - link.nextDep = void 0; - } -} -function effect(fn, options) { - if (fn.effect instanceof ReactiveEffect) fn = fn.effect.fn; - const e = new ReactiveEffect(fn); - if (options) extend(e, options); - try { - e.run(); - } catch (err) { - e.stop(); - throw err; - } - const runner = e.run.bind(e); - runner.effect = e; - return runner; -} -function stop(runner) { - runner.effect.stop(); -} -var shouldTrack = true; -var trackStack = []; -function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; -} -function resetTracking() { - const last = trackStack.pop(); - shouldTrack = last === void 0 ? true : last; -} -function cleanupEffect(e) { - const { cleanup } = e; - e.cleanup = void 0; - if (cleanup) { - const prevSub = activeSub; - activeSub = void 0; - try { - cleanup(); - } finally { - activeSub = prevSub; - } - } -} -var globalVersion = 0; -var Link = class { - constructor(sub, dep) { - this.sub = sub; - this.dep = dep; - this.version = dep.version; - this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; - } -}; -var Dep = class { - constructor(computed) { - this.computed = computed; - this.version = 0; - /** - * Link between this dep and the current active effect - */ - this.activeLink = void 0; - /** - * Doubly linked list representing the subscribing effects (tail) - */ - this.subs = void 0; - /** - * For object property deps cleanup - */ - this.map = void 0; - this.key = void 0; - /** - * Subscriber counter - */ - this.sc = 0; - /** - * @internal - */ - this.__v_skip = true; - this.subsHead = void 0; - } - track(debugInfo) { - if (!activeSub || !shouldTrack || activeSub === this.computed) return; - let link = this.activeLink; - if (link === void 0 || link.sub !== activeSub) { - link = this.activeLink = new Link(activeSub, this); - if (!activeSub.deps) activeSub.deps = activeSub.depsTail = link; - else { - link.prevDep = activeSub.depsTail; - activeSub.depsTail.nextDep = link; - activeSub.depsTail = link; - } - addSub(link); - } else if (link.version === -1) { - link.version = this.version; - if (link.nextDep) { - const next = link.nextDep; - next.prevDep = link.prevDep; - if (link.prevDep) link.prevDep.nextDep = next; - link.prevDep = activeSub.depsTail; - link.nextDep = void 0; - activeSub.depsTail.nextDep = link; - activeSub.depsTail = link; - if (activeSub.deps === link) activeSub.deps = next; - } - } - if (activeSub.onTrack) activeSub.onTrack(extend({ effect: activeSub }, debugInfo)); - return link; - } - trigger(debugInfo) { - this.version++; - globalVersion++; - this.notify(debugInfo); - } - notify(debugInfo) { - startBatch(); - try { - for (let head = this.subsHead; head; head = head.nextSub) if (head.sub.onTrigger && !(head.sub.flags & 8)) head.sub.onTrigger(extend({ effect: head.sub }, debugInfo)); - for (let link = this.subs; link; link = link.prevSub) if (link.sub.notify()) link.sub.dep.notify(); - } finally { - endBatch(); - } - } -}; -function addSub(link) { - link.dep.sc++; - if (link.sub.flags & 4) { - const computed = link.dep.computed; - if (computed && !link.dep.subs) { - computed.flags |= 20; - for (let l = computed.deps; l; l = l.nextDep) addSub(l); - } - const currentTail = link.dep.subs; - if (currentTail !== link) { - link.prevSub = currentTail; - if (currentTail) currentTail.nextSub = link; - } - if (link.dep.subsHead === void 0) link.dep.subsHead = link; - link.dep.subs = link; - } -} -var targetMap = /* @__PURE__ */ new WeakMap(); -var ITERATE_KEY = /* @__PURE__ */ Symbol("Object iterate"); -var MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol("Map keys iterate"); -var ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol("Array iterate"); -function track(target, type, key) { - if (shouldTrack && activeSub) { - let depsMap = targetMap.get(target); - if (!depsMap) targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = new Dep()); - dep.map = depsMap; - dep.key = key; - } - dep.track({ - target, - type, - key - }); - } -} -function trigger(target, type, key, newValue, oldValue, oldTarget) { - const depsMap = targetMap.get(target); - if (!depsMap) { - globalVersion++; - return; - } - const run = (dep) => { - if (dep) dep.trigger({ - target, - type, - key, - newValue, - oldValue, - oldTarget - }); - }; - startBatch(); - if (type === "clear") depsMap.forEach(run); - else { - const targetIsArray = isArray(target); - const isArrayIndex = targetIsArray && isIntegerKey(key); - if (targetIsArray && key === "length") { - const newLength = Number(newValue); - depsMap.forEach((dep, key2) => { - if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) run(dep); - }); - } else { - if (key !== void 0 || depsMap.has(void 0)) run(depsMap.get(key)); - if (isArrayIndex) run(depsMap.get(ARRAY_ITERATE_KEY)); - switch (type) { - case "add": - if (!targetIsArray) { - run(depsMap.get(ITERATE_KEY)); - if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY)); - } else if (isArrayIndex) run(depsMap.get("length")); - break; - case "delete": - if (!targetIsArray) { - run(depsMap.get(ITERATE_KEY)); - if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - break; - case "set": - if (isMap(target)) run(depsMap.get(ITERATE_KEY)); - break; - } - } - } - endBatch(); -} -function getDepFromReactive(object, key) { - const depMap = targetMap.get(object); - return depMap && depMap.get(key); -} -function reactiveReadArray(array) { - const raw = /* @__PURE__ */ toRaw(array); - if (raw === array) return raw; - track(raw, "iterate", ARRAY_ITERATE_KEY); - return /* @__PURE__ */ isShallow(array) ? raw : raw.map(toReactive); -} -function shallowReadArray(arr) { - track(arr = /* @__PURE__ */ toRaw(arr), "iterate", ARRAY_ITERATE_KEY); - return arr; -} -function toWrapped(target, item) { - if (/* @__PURE__ */ isReadonly(target)) return /* @__PURE__ */ isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item); - return toReactive(item); -} -var arrayInstrumentations = { - __proto__: null, - [Symbol.iterator]() { - return iterator(this, Symbol.iterator, (item) => toWrapped(this, item)); - }, - concat(...args) { - return reactiveReadArray(this).concat(...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)); - }, - entries() { - return iterator(this, "entries", (value) => { - value[1] = toWrapped(this, value[1]); - return value; - }); - }, - every(fn, thisArg) { - return apply(this, "every", fn, thisArg, void 0, arguments); - }, - filter(fn, thisArg) { - return apply(this, "filter", fn, thisArg, (v) => v.map((item) => toWrapped(this, item)), arguments); - }, - find(fn, thisArg) { - return apply(this, "find", fn, thisArg, (item) => toWrapped(this, item), arguments); - }, - findIndex(fn, thisArg) { - return apply(this, "findIndex", fn, thisArg, void 0, arguments); - }, - findLast(fn, thisArg) { - return apply(this, "findLast", fn, thisArg, (item) => toWrapped(this, item), arguments); - }, - findLastIndex(fn, thisArg) { - return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); - }, - forEach(fn, thisArg) { - return apply(this, "forEach", fn, thisArg, void 0, arguments); - }, - includes(...args) { - return searchProxy(this, "includes", args); - }, - indexOf(...args) { - return searchProxy(this, "indexOf", args); - }, - join(separator) { - return reactiveReadArray(this).join(separator); - }, - lastIndexOf(...args) { - return searchProxy(this, "lastIndexOf", args); - }, - map(fn, thisArg) { - return apply(this, "map", fn, thisArg, void 0, arguments); - }, - pop() { - return noTracking(this, "pop"); - }, - push(...args) { - return noTracking(this, "push", args); - }, - reduce(fn, ...args) { - return reduce(this, "reduce", fn, args); - }, - reduceRight(fn, ...args) { - return reduce(this, "reduceRight", fn, args); - }, - shift() { - return noTracking(this, "shift"); - }, - some(fn, thisArg) { - return apply(this, "some", fn, thisArg, void 0, arguments); - }, - splice(...args) { - return noTracking(this, "splice", args); - }, - toReversed() { - return reactiveReadArray(this).toReversed(); - }, - toSorted(comparer) { - return reactiveReadArray(this).toSorted(comparer); - }, - toSpliced(...args) { - return reactiveReadArray(this).toSpliced(...args); - }, - unshift(...args) { - return noTracking(this, "unshift", args); - }, - values() { - return iterator(this, "values", (item) => toWrapped(this, item)); - } -}; -function iterator(self, method, wrapValue) { - const arr = shallowReadArray(self); - const iter = arr[method](); - if (arr !== self && !/* @__PURE__ */ isShallow(self)) { - iter._next = iter.next; - iter.next = () => { - const result = iter._next(); - if (!result.done) result.value = wrapValue(result.value); - return result; - }; - } - return iter; -} -var arrayProto = Array.prototype; -function apply(self, method, fn, thisArg, wrappedRetFn, args) { - const arr = shallowReadArray(self); - const needsWrap = arr !== self && !/* @__PURE__ */ isShallow(self); - const methodFn = arr[method]; - if (methodFn !== arrayProto[method]) { - const result2 = methodFn.apply(self, args); - return needsWrap ? toReactive(result2) : result2; - } - let wrappedFn = fn; - if (arr !== self) { - if (needsWrap) wrappedFn = function(item, index) { - return fn.call(this, toWrapped(self, item), index, self); - }; - else if (fn.length > 2) wrappedFn = function(item, index) { - return fn.call(this, item, index, self); - }; - } - const result = methodFn.call(arr, wrappedFn, thisArg); - return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; -} -function reduce(self, method, fn, args) { - const arr = shallowReadArray(self); - const needsWrap = arr !== self && !/* @__PURE__ */ isShallow(self); - let wrappedFn = fn; - let wrapInitialAccumulator = false; - if (arr !== self) { - if (needsWrap) { - wrapInitialAccumulator = args.length === 0; - wrappedFn = function(acc, item, index) { - if (wrapInitialAccumulator) { - wrapInitialAccumulator = false; - acc = toWrapped(self, acc); - } - return fn.call(this, acc, toWrapped(self, item), index, self); - }; - } else if (fn.length > 3) wrappedFn = function(acc, item, index) { - return fn.call(this, acc, item, index, self); - }; - } - const result = arr[method](wrappedFn, ...args); - return wrapInitialAccumulator ? toWrapped(self, result) : result; -} -function searchProxy(self, method, args) { - const arr = /* @__PURE__ */ toRaw(self); - track(arr, "iterate", ARRAY_ITERATE_KEY); - const res = arr[method](...args); - if ((res === -1 || res === false) && /* @__PURE__ */ isProxy(args[0])) { - args[0] = /* @__PURE__ */ toRaw(args[0]); - return arr[method](...args); - } - return res; -} -function noTracking(self, method, args = []) { - pauseTracking(); - startBatch(); - const res = (/* @__PURE__ */ toRaw(self))[method].apply(self, args); - endBatch(); - resetTracking(); - return res; -} -var isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); -var builtInSymbols = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)); -function hasOwnProperty(key) { - if (!isSymbol(key)) key = String(key); - const obj = /* @__PURE__ */ toRaw(this); - track(obj, "has", key); - return obj.hasOwnProperty(key); -} -var BaseReactiveHandler = class { - constructor(_isReadonly = false, _isShallow = false) { - this._isReadonly = _isReadonly; - this._isShallow = _isShallow; - } - get(target, key, receiver) { - if (key === "__v_skip") return target["__v_skip"]; - const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; - if (key === "__v_isReactive") return !isReadonly2; - else if (key === "__v_isReadonly") return isReadonly2; - else if (key === "__v_isShallow") return isShallow2; - else if (key === "__v_raw") { - if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) return target; - return; - } - const targetIsArray = isArray(target); - if (!isReadonly2) { - let fn; - if (targetIsArray && (fn = arrayInstrumentations[key])) return fn; - if (key === "hasOwnProperty") return hasOwnProperty; - } - const res = Reflect.get(target, key, /* @__PURE__ */ isRef(target) ? target : receiver); - if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) return res; - if (!isReadonly2) track(target, "get", key); - if (isShallow2) return res; - if (/* @__PURE__ */ isRef(res)) { - const value = targetIsArray && isIntegerKey(key) ? res : res.value; - return isReadonly2 && isObject(value) ? /* @__PURE__ */ readonly(value) : value; - } - if (isObject(res)) return isReadonly2 ? /* @__PURE__ */ readonly(res) : /* @__PURE__ */ reactive(res); - return res; - } -}; -var MutableReactiveHandler = class extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(false, isShallow2); - } - set(target, key, value, receiver) { - let oldValue = target[key]; - const isArrayWithIntegerKey = isArray(target) && isIntegerKey(key); - if (!this._isShallow) { - const isOldValueReadonly = /* @__PURE__ */ isReadonly(oldValue); - if (!/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value)) { - oldValue = /* @__PURE__ */ toRaw(oldValue); - value = /* @__PURE__ */ toRaw(value); - } - if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) if (isOldValueReadonly) { - warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]); - return true; - } else { - oldValue.value = value; - return true; - } - } - const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key); - const result = Reflect.set(target, key, value, /* @__PURE__ */ isRef(target) ? target : receiver); - if (target === /* @__PURE__ */ toRaw(receiver)) { - if (!hadKey) trigger(target, "add", key, value); - else if (hasChanged(value, oldValue)) trigger(target, "set", key, value, oldValue); - } - return result; - } - deleteProperty(target, key) { - const hadKey = hasOwn(target, key); - const oldValue = target[key]; - const result = Reflect.deleteProperty(target, key); - if (result && hadKey) trigger(target, "delete", key, void 0, oldValue); - return result; - } - has(target, key) { - const result = Reflect.has(target, key); - if (!isSymbol(key) || !builtInSymbols.has(key)) track(target, "has", key); - return result; - } - ownKeys(target) { - track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY); - return Reflect.ownKeys(target); - } -}; -var ReadonlyReactiveHandler = class extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(true, isShallow2); - } - set(target, key) { - warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target); - return true; - } - deleteProperty(target, key) { - warn$2(`Delete operation on key "${String(key)}" failed: target is readonly.`, target); - return true; - } -}; -var mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); -var readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); -var shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true); -var shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); -var toShallow = (value) => value; -var getProto = (v) => Reflect.getPrototypeOf(v); -function createIterableMethod(method, isReadonly2, isShallow2) { - return function(...args) { - const target = this["__v_raw"]; - const rawTarget = /* @__PURE__ */ toRaw(target); - const targetIsMap = isMap(rawTarget); - const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); - return extend(Object.create(innerIterator), { next() { - const { value, done } = innerIterator.next(); - return done ? { - value, - done - } : { - value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), - done - }; - } }); - }; -} -function createReadonlyMethod(type) { - return function(...args) { - { - const key = args[0] ? `on key "${args[0]}" ` : ``; - warn$2(`${capitalize(type)} operation ${key}failed: target is readonly.`, /* @__PURE__ */ toRaw(this)); - } - return type === "delete" ? false : type === "clear" ? void 0 : this; - }; -} -function createInstrumentations(readonly, shallow) { - const instrumentations = { - get(key) { - const target = this["__v_raw"]; - const rawTarget = /* @__PURE__ */ toRaw(target); - const rawKey = /* @__PURE__ */ toRaw(key); - if (!readonly) { - if (hasChanged(key, rawKey)) track(rawTarget, "get", key); - track(rawTarget, "get", rawKey); - } - const { has } = getProto(rawTarget); - const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; - if (has.call(rawTarget, key)) return wrap(target.get(key)); - else if (has.call(rawTarget, rawKey)) return wrap(target.get(rawKey)); - else if (target !== rawTarget) target.get(key); - }, - get size() { - const target = this["__v_raw"]; - !readonly && track(/* @__PURE__ */ toRaw(target), "iterate", ITERATE_KEY); - return target.size; - }, - has(key) { - const target = this["__v_raw"]; - const rawTarget = /* @__PURE__ */ toRaw(target); - const rawKey = /* @__PURE__ */ toRaw(key); - if (!readonly) { - if (hasChanged(key, rawKey)) track(rawTarget, "has", key); - track(rawTarget, "has", rawKey); - } - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); - }, - forEach(callback, thisArg) { - const observed = this; - const target = observed["__v_raw"]; - const rawTarget = /* @__PURE__ */ toRaw(target); - const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; - !readonly && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value, key) => { - return callback.call(thisArg, wrap(value), wrap(key), observed); - }); - } - }; - extend(instrumentations, readonly ? { - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear") - } : { - add(value) { - const target = /* @__PURE__ */ toRaw(this); - const proto = getProto(target); - const rawValue = /* @__PURE__ */ toRaw(value); - const valueToAdd = !shallow && !/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value) ? rawValue : value; - if (!(proto.has.call(target, valueToAdd) || hasChanged(value, valueToAdd) && proto.has.call(target, value) || hasChanged(rawValue, valueToAdd) && proto.has.call(target, rawValue))) { - target.add(valueToAdd); - trigger(target, "add", valueToAdd, valueToAdd); - } - return this; - }, - set(key, value) { - if (!shallow && !/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value)) value = /* @__PURE__ */ toRaw(value); - const target = /* @__PURE__ */ toRaw(this); - const { has, get } = getProto(target); - let hadKey = has.call(target, key); - if (!hadKey) { - key = /* @__PURE__ */ toRaw(key); - hadKey = has.call(target, key); - } else checkIdentityKeys(target, has, key); - const oldValue = get.call(target, key); - target.set(key, value); - if (!hadKey) trigger(target, "add", key, value); - else if (hasChanged(value, oldValue)) trigger(target, "set", key, value, oldValue); - return this; - }, - delete(key) { - const target = /* @__PURE__ */ toRaw(this); - const { has, get } = getProto(target); - let hadKey = has.call(target, key); - if (!hadKey) { - key = /* @__PURE__ */ toRaw(key); - hadKey = has.call(target, key); - } else checkIdentityKeys(target, has, key); - const oldValue = get ? get.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) trigger(target, "delete", key, void 0, oldValue); - return result; - }, - clear() { - const target = /* @__PURE__ */ toRaw(this); - const hadItems = target.size !== 0; - const oldTarget = isMap(target) ? new Map(target) : new Set(target); - const result = target.clear(); - if (hadItems) trigger(target, "clear", void 0, void 0, oldTarget); - return result; - } - }); - [ - "keys", - "values", - "entries", - Symbol.iterator - ].forEach((method) => { - instrumentations[method] = createIterableMethod(method, readonly, shallow); - }); - return instrumentations; -} -function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = createInstrumentations(isReadonly2, shallow); - return (target, key, receiver) => { - if (key === "__v_isReactive") return !isReadonly2; - else if (key === "__v_isReadonly") return isReadonly2; - else if (key === "__v_raw") return target; - return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); - }; -} -var mutableCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, false) }; -var shallowCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, true) }; -var readonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, false) }; -var shallowReadonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, true) }; -function checkIdentityKeys(target, has, key) { - const rawKey = /* @__PURE__ */ toRaw(key); - if (rawKey !== key && has.call(target, rawKey)) { - const type = toRawType(target); - warn$2(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`); - } -} -var reactiveMap = /* @__PURE__ */ new WeakMap(); -var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); -var readonlyMap = /* @__PURE__ */ new WeakMap(); -var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); -function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": return 1; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": return 2; - default: return 0; - } -} -function getTargetType(value) { - return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); -} -/* @__NO_SIDE_EFFECTS__ */ -function reactive(target) { - if (/* @__PURE__ */ isReadonly(target)) return target; - return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); -} -/* @__NO_SIDE_EFFECTS__ */ -function shallowReactive(target) { - return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap); -} -/* @__NO_SIDE_EFFECTS__ */ -function readonly(target) { - return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); -} -/* @__NO_SIDE_EFFECTS__ */ -function shallowReadonly(target) { - return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap); -} -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject(target)) { - warn$2(`value cannot be made ${isReadonly2 ? "readonly" : "reactive"}: ${String(target)}`); - return target; - } - if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) return target; - const targetType = getTargetType(target); - if (targetType === 0) return target; - const existingProxy = proxyMap.get(target); - if (existingProxy) return existingProxy; - const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); - proxyMap.set(target, proxy); - return proxy; -} -/* @__NO_SIDE_EFFECTS__ */ -function isReactive(value) { - if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]); - return !!(value && value["__v_isReactive"]); -} -/* @__NO_SIDE_EFFECTS__ */ -function isReadonly(value) { - return !!(value && value["__v_isReadonly"]); -} -/* @__NO_SIDE_EFFECTS__ */ -function isShallow(value) { - return !!(value && value["__v_isShallow"]); -} -/* @__NO_SIDE_EFFECTS__ */ -function isProxy(value) { - return value ? !!value["__v_raw"] : false; -} -/* @__NO_SIDE_EFFECTS__ */ -function toRaw(observed) { - const raw = observed && observed["__v_raw"]; - return raw ? /* @__PURE__ */ toRaw(raw) : observed; -} -function markRaw(value) { - if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) def(value, "__v_skip", true); - return value; -} -var toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value; -var toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value; -/* @__NO_SIDE_EFFECTS__ */ -function isRef(r) { - return r ? r["__v_isRef"] === true : false; -} -/* @__NO_SIDE_EFFECTS__ */ -function ref(value) { - return createRef(value, false); -} -/* @__NO_SIDE_EFFECTS__ */ -function shallowRef(value) { - return createRef(value, true); -} -function createRef(rawValue, shallow) { - if (/* @__PURE__ */ isRef(rawValue)) return rawValue; - return new RefImpl(rawValue, shallow); -} -var RefImpl = class { - constructor(value, isShallow2) { - this.dep = new Dep(); - this["__v_isRef"] = true; - this["__v_isShallow"] = false; - this._rawValue = isShallow2 ? value : /* @__PURE__ */ toRaw(value); - this._value = isShallow2 ? value : toReactive(value); - this["__v_isShallow"] = isShallow2; - } - get value() { - this.dep.track({ - target: this, - type: "get", - key: "value" - }); - return this._value; - } - set value(newValue) { - const oldValue = this._rawValue; - const useDirectValue = this["__v_isShallow"] || /* @__PURE__ */ isShallow(newValue) || /* @__PURE__ */ isReadonly(newValue); - newValue = useDirectValue ? newValue : /* @__PURE__ */ toRaw(newValue); - if (hasChanged(newValue, oldValue)) { - this._rawValue = newValue; - this._value = useDirectValue ? newValue : toReactive(newValue); - this.dep.trigger({ - target: this, - type: "set", - key: "value", - newValue, - oldValue - }); - } - } -}; -function triggerRef(ref2) { - if (ref2.dep) ref2.dep.trigger({ - target: ref2, - type: "set", - key: "value", - newValue: ref2._value - }); -} -function unref(ref2) { - return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2; -} -function toValue(source) { - return isFunction(source) ? source() : unref(source); -} -var shallowUnwrapHandlers = { - get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), - set: (target, key, value, receiver) => { - const oldValue = target[key]; - if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) { - oldValue.value = value; - return true; - } else return Reflect.set(target, key, value, receiver); - } -}; -function proxyRefs(objectWithRefs) { - return /* @__PURE__ */ isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); -} -var CustomRefImpl = class { - constructor(factory) { - this["__v_isRef"] = true; - this._value = void 0; - const dep = this.dep = new Dep(); - const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); - this._get = get; - this._set = set; - } - get value() { - return this._value = this._get(); - } - set value(newVal) { - this._set(newVal); - } -}; -function customRef(factory) { - return new CustomRefImpl(factory); -} -/* @__NO_SIDE_EFFECTS__ */ -function toRefs(object) { - if (!/* @__PURE__ */ isProxy(object)) warn$2(`toRefs() expects a reactive object but received a plain one.`); - const ret = isArray(object) ? new Array(object.length) : {}; - for (const key in object) ret[key] = propertyToRef(object, key); - return ret; -} -var ObjectRefImpl = class { - constructor(_object, key, _defaultValue) { - this._object = _object; - this._defaultValue = _defaultValue; - this["__v_isRef"] = true; - this._value = void 0; - this._key = isSymbol(key) ? key : String(key); - this._raw = /* @__PURE__ */ toRaw(_object); - let shallow = true; - let obj = _object; - if (!isArray(_object) || isSymbol(this._key) || !isIntegerKey(this._key)) do - shallow = !/* @__PURE__ */ isProxy(obj) || /* @__PURE__ */ isShallow(obj); - while (shallow && (obj = obj["__v_raw"])); - this._shallow = shallow; - } - get value() { - let val = this._object[this._key]; - if (this._shallow) val = unref(val); - return this._value = val === void 0 ? this._defaultValue : val; - } - set value(newVal) { - if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) { - const nestedRef = this._object[this._key]; - if (/* @__PURE__ */ isRef(nestedRef)) { - nestedRef.value = newVal; - return; - } - } - this._object[this._key] = newVal; - } - get dep() { - return getDepFromReactive(this._raw, this._key); - } -}; -var GetterRefImpl = class { - constructor(_getter) { - this._getter = _getter; - this["__v_isRef"] = true; - this["__v_isReadonly"] = true; - this._value = void 0; - } - get value() { - return this._value = this._getter(); - } -}; -/* @__NO_SIDE_EFFECTS__ */ -function toRef(source, key, defaultValue) { - if (/* @__PURE__ */ isRef(source)) return source; - else if (isFunction(source)) return new GetterRefImpl(source); - else if (isObject(source) && arguments.length > 1) return propertyToRef(source, key, defaultValue); - else return /* @__PURE__ */ ref(source); -} -function propertyToRef(source, key, defaultValue) { - return new ObjectRefImpl(source, key, defaultValue); -} -var ComputedRefImpl = class { - constructor(fn, setter, isSSR) { - this.fn = fn; - this.setter = setter; - /** - * @internal - */ - this._value = void 0; - /** - * @internal - */ - this.dep = new Dep(this); - /** - * @internal - */ - this.__v_isRef = true; - /** - * @internal - */ - this.deps = void 0; - /** - * @internal - */ - this.depsTail = void 0; - /** - * @internal - */ - this.flags = 16; - /** - * @internal - */ - this.globalVersion = globalVersion - 1; - /** - * @internal - */ - this.next = void 0; - this.effect = this; - this["__v_isReadonly"] = !setter; - this.isSSR = isSSR; - } - /** - * @internal - */ - notify() { - this.flags |= 16; - if (!(this.flags & 8) && activeSub !== this) { - batch(this, true); - return true; - } - } - get value() { - const link = this.dep.track({ - target: this, - type: "get", - key: "value" - }); - refreshComputed(this); - if (link) link.version = this.dep.version; - return this._value; - } - set value(newValue) { - if (this.setter) this.setter(newValue); - else warn$2("Write operation failed: computed value is readonly"); - } -}; -/* @__NO_SIDE_EFFECTS__ */ -function computed$1(getterOrOptions, debugOptions, isSSR = false) { - let getter; - let setter; - if (isFunction(getterOrOptions)) getter = getterOrOptions; - else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } - const cRef = new ComputedRefImpl(getter, setter, isSSR); - if (debugOptions && !isSSR) { - cRef.onTrack = debugOptions.onTrack; - cRef.onTrigger = debugOptions.onTrigger; - } - return cRef; -} -var TrackOpTypes = { - "GET": "get", - "HAS": "has", - "ITERATE": "iterate" -}; -var TriggerOpTypes = { - "SET": "set", - "ADD": "add", - "DELETE": "delete", - "CLEAR": "clear" -}; -var INITIAL_WATCHER_VALUE = {}; -var cleanupMap = /* @__PURE__ */ new WeakMap(); -var activeWatcher = void 0; -function getCurrentWatcher() { - return activeWatcher; -} -function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { - if (owner) { - let cleanups = cleanupMap.get(owner); - if (!cleanups) cleanupMap.set(owner, cleanups = []); - cleanups.push(cleanupFn); - } else if (!failSilently) warn$2(`onWatcherCleanup() was called when there was no active watcher to associate with.`); -} -function watch$1(source, cb, options = EMPTY_OBJ) { - const { immediate, deep, once, scheduler, augmentJob, call } = options; - const warnInvalidSource = (s) => { - (options.onWarn || warn$2)(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`); - }; - const reactiveGetter = (source2) => { - if (deep) return source2; - if (/* @__PURE__ */ isShallow(source2) || deep === false || deep === 0) return traverse(source2, 1); - return traverse(source2); - }; - let effect; - let getter; - let cleanup; - let boundCleanup; - let forceTrigger = false; - let isMultiSource = false; - if (/* @__PURE__ */ isRef(source)) { - getter = () => source.value; - forceTrigger = /* @__PURE__ */ isShallow(source); - } else if (/* @__PURE__ */ isReactive(source)) { - getter = () => reactiveGetter(source); - forceTrigger = true; - } else if (isArray(source)) { - isMultiSource = true; - forceTrigger = source.some((s) => /* @__PURE__ */ isReactive(s) || /* @__PURE__ */ isShallow(s)); - getter = () => source.map((s) => { - if (/* @__PURE__ */ isRef(s)) return s.value; - else if (/* @__PURE__ */ isReactive(s)) return reactiveGetter(s); - else if (isFunction(s)) return call ? call(s, 2) : s(); - else warnInvalidSource(s); - }); - } else if (isFunction(source)) if (cb) getter = call ? () => call(source, 2) : source; - else getter = () => { - if (cleanup) { - pauseTracking(); - try { - cleanup(); - } finally { - resetTracking(); - } - } - const currentEffect = activeWatcher; - activeWatcher = effect; - try { - return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); - } finally { - activeWatcher = currentEffect; - } - }; - else { - getter = NOOP; - warnInvalidSource(source); - } - if (cb && deep) { - const baseGetter = getter; - const depth = deep === true ? Infinity : deep; - getter = () => traverse(baseGetter(), depth); - } - const scope = getCurrentScope(); - const watchHandle = () => { - effect.stop(); - if (scope && scope.active) remove(scope.effects, effect); - }; - if (once && cb) { - const _cb = cb; - cb = (...args) => { - _cb(...args); - watchHandle(); - }; - } - let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; - const job = (immediateFirstRun) => { - if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) return; - if (cb) { - const newValue = effect.run(); - if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) { - if (cleanup) cleanup(); - const currentWatcher = activeWatcher; - activeWatcher = effect; - try { - const args = [ - newValue, - oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, - boundCleanup - ]; - oldValue = newValue; - call ? call(cb, 3, args) : cb(...args); - } finally { - activeWatcher = currentWatcher; - } - } - } else effect.run(); - }; - if (augmentJob) augmentJob(job); - effect = new ReactiveEffect(getter); - effect.scheduler = scheduler ? () => scheduler(job, false) : job; - boundCleanup = (fn) => onWatcherCleanup(fn, false, effect); - cleanup = effect.onStop = () => { - const cleanups = cleanupMap.get(effect); - if (cleanups) { - if (call) call(cleanups, 4); - else for (const cleanup2 of cleanups) cleanup2(); - cleanupMap.delete(effect); - } - }; - effect.onTrack = options.onTrack; - effect.onTrigger = options.onTrigger; - if (cb) if (immediate) job(true); - else oldValue = effect.run(); - else if (scheduler) scheduler(job.bind(null, true), true); - else effect.run(); - watchHandle.pause = effect.pause.bind(effect); - watchHandle.resume = effect.resume.bind(effect); - watchHandle.stop = watchHandle; - return watchHandle; -} -function traverse(value, depth = Infinity, seen) { - if (depth <= 0 || !isObject(value) || value["__v_skip"]) return value; - seen = seen || /* @__PURE__ */ new Map(); - if ((seen.get(value) || 0) >= depth) return value; - seen.set(value, depth); - depth--; - if (/* @__PURE__ */ isRef(value)) traverse(value.value, depth, seen); - else if (isArray(value)) for (let i = 0; i < value.length; i++) traverse(value[i], depth, seen); - else if (isSet(value) || isMap(value)) value.forEach((v) => { - traverse(v, depth, seen); - }); - else if (isPlainObject(value)) { - for (const key in value) traverse(value[key], depth, seen); - for (const key of Object.getOwnPropertySymbols(value)) if (Object.prototype.propertyIsEnumerable.call(value, key)) traverse(value[key], depth, seen); - } - return value; -} -//#endregion -//#region node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js -/** -* @vue/runtime-core v3.5.32 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -var stack = []; -function pushWarningContext(vnode) { - stack.push(vnode); -} -function popWarningContext() { - stack.pop(); -} -var isWarning = false; -function warn$1(msg, ...args) { - if (isWarning) return; - isWarning = true; - pauseTracking(); - const instance = stack.length ? stack[stack.length - 1].component : null; - const appWarnHandler = instance && instance.appContext.config.warnHandler; - const trace = getComponentTrace(); - if (appWarnHandler) callWithErrorHandling(appWarnHandler, instance, 11, [ - msg + args.map((a) => { - var _a, _b; - return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); - }).join(""), - instance && instance.proxy, - trace.map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`).join("\n"), - trace - ]); - else { - const warnArgs = [`[Vue warn]: ${msg}`, ...args]; - if (trace.length && true) warnArgs.push(` -`, ...formatTrace(trace)); - console.warn(...warnArgs); - } - resetTracking(); - isWarning = false; -} -function getComponentTrace() { - let currentVNode = stack[stack.length - 1]; - if (!currentVNode) return []; - const normalizedStack = []; - while (currentVNode) { - const last = normalizedStack[0]; - if (last && last.vnode === currentVNode) last.recurseCount++; - else normalizedStack.push({ - vnode: currentVNode, - recurseCount: 0 - }); - const parentInstance = currentVNode.component && currentVNode.component.parent; - currentVNode = parentInstance && parentInstance.vnode; - } - return normalizedStack; -} -function formatTrace(trace) { - const logs = []; - trace.forEach((entry, i) => { - logs.push(...i === 0 ? [] : [` -`], ...formatTraceEntry(entry)); - }); - return logs; -} -function formatTraceEntry({ vnode, recurseCount }) { - const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; - const isRoot = vnode.component ? vnode.component.parent == null : false; - const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`; - const close = `>` + postfix; - return vnode.props ? [ - open, - ...formatProps(vnode.props), - close - ] : [open + close]; -} -function formatProps(props) { - const res = []; - const keys = Object.keys(props); - keys.slice(0, 3).forEach((key) => { - res.push(...formatProp(key, props[key])); - }); - if (keys.length > 3) res.push(` ...`); - return res; -} -function formatProp(key, value, raw) { - if (isString(value)) { - value = JSON.stringify(value); - return raw ? value : [`${key}=${value}`]; - } else if (typeof value === "number" || typeof value === "boolean" || value == null) return raw ? value : [`${key}=${value}`]; - else if (/* @__PURE__ */ isRef(value)) { - value = formatProp(key, /* @__PURE__ */ toRaw(value.value), true); - return raw ? value : [ - `${key}=Ref<`, - value, - `>` - ]; - } else if (isFunction(value)) return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; - else { - value = /* @__PURE__ */ toRaw(value); - return raw ? value : [`${key}=`, value]; - } -} -function assertNumber(val, type) { - if (val === void 0) return; - else if (typeof val !== "number") warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`); - else if (isNaN(val)) warn$1(`${type} is NaN - the duration expression might be incorrect.`); -} -var ErrorCodes = { - "SETUP_FUNCTION": 0, - "0": "SETUP_FUNCTION", - "RENDER_FUNCTION": 1, - "1": "RENDER_FUNCTION", - "NATIVE_EVENT_HANDLER": 5, - "5": "NATIVE_EVENT_HANDLER", - "COMPONENT_EVENT_HANDLER": 6, - "6": "COMPONENT_EVENT_HANDLER", - "VNODE_HOOK": 7, - "7": "VNODE_HOOK", - "DIRECTIVE_HOOK": 8, - "8": "DIRECTIVE_HOOK", - "TRANSITION_HOOK": 9, - "9": "TRANSITION_HOOK", - "APP_ERROR_HANDLER": 10, - "10": "APP_ERROR_HANDLER", - "APP_WARN_HANDLER": 11, - "11": "APP_WARN_HANDLER", - "FUNCTION_REF": 12, - "12": "FUNCTION_REF", - "ASYNC_COMPONENT_LOADER": 13, - "13": "ASYNC_COMPONENT_LOADER", - "SCHEDULER": 14, - "14": "SCHEDULER", - "COMPONENT_UPDATE": 15, - "15": "COMPONENT_UPDATE", - "APP_UNMOUNT_CLEANUP": 16, - "16": "APP_UNMOUNT_CLEANUP" -}; -var ErrorTypeStrings$1 = { - ["sp"]: "serverPrefetch hook", - ["bc"]: "beforeCreate hook", - ["c"]: "created hook", - ["bm"]: "beforeMount hook", - ["m"]: "mounted hook", - ["bu"]: "beforeUpdate hook", - ["u"]: "updated", - ["bum"]: "beforeUnmount hook", - ["um"]: "unmounted hook", - ["a"]: "activated hook", - ["da"]: "deactivated hook", - ["ec"]: "errorCaptured hook", - ["rtc"]: "renderTracked hook", - ["rtg"]: "renderTriggered hook", - [0]: "setup function", - [1]: "render function", - [2]: "watcher getter", - [3]: "watcher callback", - [4]: "watcher cleanup function", - [5]: "native event handler", - [6]: "component event handler", - [7]: "vnode hook", - [8]: "directive hook", - [9]: "transition hook", - [10]: "app errorHandler", - [11]: "app warnHandler", - [12]: "ref function", - [13]: "async component loader", - [14]: "scheduler flush", - [15]: "component update", - [16]: "app unmount cleanup function" -}; -function callWithErrorHandling(fn, instance, type, args) { - try { - return args ? fn(...args) : fn(); - } catch (err) { - handleError(err, instance, type); - } -} -function callWithAsyncErrorHandling(fn, instance, type, args) { - if (isFunction(fn)) { - const res = callWithErrorHandling(fn, instance, type, args); - if (res && isPromise(res)) res.catch((err) => { - handleError(err, instance, type); - }); - return res; - } - if (isArray(fn)) { - const values = []; - for (let i = 0; i < fn.length; i++) values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); - return values; - } else warn$1(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`); -} -function handleError(err, instance, type, throwInDev = true) { - const contextVNode = instance ? instance.vnode : null; - const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ; - if (instance) { - let cur = instance.parent; - const exposedInstance = instance.proxy; - const errorInfo = ErrorTypeStrings$1[type]; - while (cur) { - const errorCapturedHooks = cur.ec; - if (errorCapturedHooks) { - for (let i = 0; i < errorCapturedHooks.length; i++) if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) return; - } - cur = cur.parent; - } - if (errorHandler) { - pauseTracking(); - callWithErrorHandling(errorHandler, null, 10, [ - err, - exposedInstance, - errorInfo - ]); - resetTracking(); - return; - } - } - logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); -} -function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { - { - const info = ErrorTypeStrings$1[type]; - if (contextVNode) pushWarningContext(contextVNode); - warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); - if (contextVNode) popWarningContext(); - if (throwInDev) throw err; - else console.error(err); - } -} -var queue = []; -var flushIndex = -1; -var pendingPostFlushCbs = []; -var activePostFlushCbs = null; -var postFlushIndex = 0; -var resolvedPromise = /* @__PURE__ */ Promise.resolve(); -var currentFlushPromise = null; -var RECURSION_LIMIT = 100; -function nextTick(fn) { - const p = currentFlushPromise || resolvedPromise; - return fn ? p.then(this ? fn.bind(this) : fn) : p; -} -function findInsertionIndex(id) { - let start = flushIndex + 1; - let end = queue.length; - while (start < end) { - const middle = start + end >>> 1; - const middleJob = queue[middle]; - const middleJobId = getId(middleJob); - if (middleJobId < id || middleJobId === id && middleJob.flags & 2) start = middle + 1; - else end = middle; - } - return start; -} -function queueJob(job) { - if (!(job.flags & 1)) { - const jobId = getId(job); - const lastJob = queue[queue.length - 1]; - if (!lastJob || !(job.flags & 2) && jobId >= getId(lastJob)) queue.push(job); - else queue.splice(findInsertionIndex(jobId), 0, job); - job.flags |= 1; - queueFlush(); - } -} -function queueFlush() { - if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(flushJobs); -} -function queuePostFlushCb(cb) { - if (!isArray(cb)) { - if (activePostFlushCbs && cb.id === -1) activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); - else if (!(cb.flags & 1)) { - pendingPostFlushCbs.push(cb); - cb.flags |= 1; - } - } else pendingPostFlushCbs.push(...cb); - queueFlush(); -} -function flushPreFlushCbs(instance, seen, i = flushIndex + 1) { - seen = seen || /* @__PURE__ */ new Map(); - for (; i < queue.length; i++) { - const cb = queue[i]; - if (cb && cb.flags & 2) { - if (instance && cb.id !== instance.uid) continue; - if (checkRecursiveUpdates(seen, cb)) continue; - queue.splice(i, 1); - i--; - if (cb.flags & 4) cb.flags &= -2; - cb(); - if (!(cb.flags & 4)) cb.flags &= -2; - } - } -} -function flushPostFlushCbs(seen) { - if (pendingPostFlushCbs.length) { - const deduped = [...new Set(pendingPostFlushCbs)].sort((a, b) => getId(a) - getId(b)); - pendingPostFlushCbs.length = 0; - if (activePostFlushCbs) { - activePostFlushCbs.push(...deduped); - return; - } - activePostFlushCbs = deduped; - seen = seen || /* @__PURE__ */ new Map(); - for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { - const cb = activePostFlushCbs[postFlushIndex]; - if (checkRecursiveUpdates(seen, cb)) continue; - if (cb.flags & 4) cb.flags &= -2; - if (!(cb.flags & 8)) cb(); - cb.flags &= -2; - } - activePostFlushCbs = null; - postFlushIndex = 0; - } -} -var getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; -function flushJobs(seen) { - seen = seen || /* @__PURE__ */ new Map(); - const check = (job) => checkRecursiveUpdates(seen, job); - try { - for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job && !(job.flags & 8)) { - if (check(job)) continue; - if (job.flags & 4) job.flags &= -2; - callWithErrorHandling(job, job.i, job.i ? 15 : 14); - if (!(job.flags & 4)) job.flags &= -2; - } - } - } finally { - for (; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job) job.flags &= -2; - } - flushIndex = -1; - queue.length = 0; - flushPostFlushCbs(seen); - currentFlushPromise = null; - if (queue.length || pendingPostFlushCbs.length) flushJobs(seen); - } -} -function checkRecursiveUpdates(seen, fn) { - const count = seen.get(fn) || 0; - if (count > RECURSION_LIMIT) { - const instance = fn.i; - const componentName = instance && getComponentName(instance.type); - handleError(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, null, 10); - return true; - } - seen.set(fn, count + 1); - return false; -} -var isHmrUpdating = false; -var setHmrUpdating = (v) => { - try { - return isHmrUpdating; - } finally { - isHmrUpdating = v; - } -}; -var hmrDirtyComponents = /* @__PURE__ */ new Map(); -getGlobalThis().__VUE_HMR_RUNTIME__ = { - createRecord: tryWrap(createRecord), - rerender: tryWrap(rerender), - reload: tryWrap(reload) -}; -var map = /* @__PURE__ */ new Map(); -function registerHMR(instance) { - const id = instance.type.__hmrId; - let record = map.get(id); - if (!record) { - createRecord(id, instance.type); - record = map.get(id); - } - record.instances.add(instance); -} -function unregisterHMR(instance) { - map.get(instance.type.__hmrId).instances.delete(instance); -} -function createRecord(id, initialDef) { - if (map.has(id)) return false; - map.set(id, { - initialDef: normalizeClassComponent(initialDef), - instances: /* @__PURE__ */ new Set() - }); - return true; -} -function normalizeClassComponent(component) { - return isClassComponent(component) ? component.__vccOpts : component; -} -function rerender(id, newRender) { - const record = map.get(id); - if (!record) return; - record.initialDef.render = newRender; - [...record.instances].forEach((instance) => { - if (newRender) { - instance.render = newRender; - normalizeClassComponent(instance.type).render = newRender; - } - instance.renderCache = []; - isHmrUpdating = true; - if (!(instance.job.flags & 8)) instance.update(); - isHmrUpdating = false; - }); -} -function reload(id, newComp) { - const record = map.get(id); - if (!record) return; - newComp = normalizeClassComponent(newComp); - updateComponentDef(record.initialDef, newComp); - const instances = [...record.instances]; - for (let i = 0; i < instances.length; i++) { - const instance = instances[i]; - const oldComp = normalizeClassComponent(instance.type); - let dirtyInstances = hmrDirtyComponents.get(oldComp); - if (!dirtyInstances) { - if (oldComp !== record.initialDef) updateComponentDef(oldComp, newComp); - hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set()); - } - dirtyInstances.add(instance); - instance.appContext.propsCache.delete(instance.type); - instance.appContext.emitsCache.delete(instance.type); - instance.appContext.optionsCache.delete(instance.type); - if (instance.ceReload) { - dirtyInstances.add(instance); - instance.ceReload(newComp.styles); - dirtyInstances.delete(instance); - } else if (instance.parent) queueJob(() => { - if (!(instance.job.flags & 8)) { - isHmrUpdating = true; - instance.parent.update(); - isHmrUpdating = false; - dirtyInstances.delete(instance); - } - }); - else if (instance.appContext.reload) instance.appContext.reload(); - else if (typeof window !== "undefined") window.location.reload(); - else console.warn("[HMR] Root or manually mounted instance modified. Full reload required."); - if (instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(oldComp); - } - queuePostFlushCb(() => { - hmrDirtyComponents.clear(); - }); -} -function updateComponentDef(oldComp, newComp) { - extend(oldComp, newComp); - for (const key in oldComp) if (key !== "__file" && !(key in newComp)) delete oldComp[key]; -} -function tryWrap(fn) { - return (id, arg) => { - try { - return fn(id, arg); - } catch (e) { - console.error(e); - console.warn(`[HMR] Something went wrong during Vue component hot-reload. Full reload required.`); - } - }; -} -var devtools$1; -var buffer = []; -var devtoolsNotInstalled = false; -function emit$1(event, ...args) { - if (devtools$1) devtools$1.emit(event, ...args); - else if (!devtoolsNotInstalled) buffer.push({ - event, - args - }); -} -function setDevtoolsHook$1(hook, target) { - var _a, _b; - devtools$1 = hook; - if (devtools$1) { - devtools$1.enabled = true; - buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args)); - buffer = []; - } else if (typeof window !== "undefined" && window.HTMLElement && !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))) { - (target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []).push((newHook) => { - setDevtoolsHook$1(newHook, target); - }); - setTimeout(() => { - if (!devtools$1) { - target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; - devtoolsNotInstalled = true; - buffer = []; - } - }, 3e3); - } else { - devtoolsNotInstalled = true; - buffer = []; - } -} -function devtoolsInitApp(app, version) { - emit$1("app:init", app, version, { - Fragment, - Text, - Comment, - Static - }); -} -function devtoolsUnmountApp(app) { - emit$1("app:unmount", app); -} -var devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook("component:added"); -var devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated"); -var _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook("component:removed"); -var devtoolsComponentRemoved = (component) => { - if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && !devtools$1.cleanupBuffer(component)) _devtoolsComponentRemoved(component); -}; -/* @__NO_SIDE_EFFECTS__ */ -function createDevtoolsComponentHook(hook) { - return (component) => { - emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component); - }; -} -var devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:start"); -var devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:end"); -function createDevtoolsPerformanceHook(hook) { - return (component, type, time) => { - emit$1(hook, component.appContext.app, component.uid, component, type, time); - }; -} -function devtoolsComponentEmit(component, event, params) { - emit$1("component:emit", component.appContext.app, component, event, params); -} -var currentRenderingInstance = null; -var currentScopeId = null; -function setCurrentRenderingInstance(instance) { - const prev = currentRenderingInstance; - currentRenderingInstance = instance; - currentScopeId = instance && instance.type.__scopeId || null; - return prev; -} -function pushScopeId(id) { - currentScopeId = id; -} -function popScopeId() { - currentScopeId = null; -} -var withScopeId = (_id) => withCtx; -function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { - if (!ctx) return fn; - if (fn._n) return fn; - const renderFnWithContext = (...args) => { - if (renderFnWithContext._d) setBlockTracking(-1); - const prevInstance = setCurrentRenderingInstance(ctx); - let res; - try { - res = fn(...args); - } finally { - setCurrentRenderingInstance(prevInstance); - if (renderFnWithContext._d) setBlockTracking(1); - } - devtoolsComponentUpdated(ctx); - return res; - }; - renderFnWithContext._n = true; - renderFnWithContext._c = true; - renderFnWithContext._d = true; - return renderFnWithContext; -} -function validateDirectiveName(name) { - if (isBuiltInDirective(name)) warn$1("Do not use built-in directive ids as custom directive id: " + name); -} -function withDirectives(vnode, directives) { - if (currentRenderingInstance === null) { - warn$1(`withDirectives can only be used inside render functions.`); - return vnode; - } - const instance = getComponentPublicInstance(currentRenderingInstance); - const bindings = vnode.dirs || (vnode.dirs = []); - for (let i = 0; i < directives.length; i++) { - let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; - if (dir) { - if (isFunction(dir)) dir = { - mounted: dir, - updated: dir - }; - if (dir.deep) traverse(value); - bindings.push({ - dir, - instance, - value, - oldValue: void 0, - arg, - modifiers - }); - } - } - return vnode; -} -function invokeDirectiveHook(vnode, prevVNode, instance, name) { - const bindings = vnode.dirs; - const oldBindings = prevVNode && prevVNode.dirs; - for (let i = 0; i < bindings.length; i++) { - const binding = bindings[i]; - if (oldBindings) binding.oldValue = oldBindings[i].value; - let hook = binding.dir[name]; - if (hook) { - pauseTracking(); - callWithAsyncErrorHandling(hook, instance, 8, [ - vnode.el, - binding, - vnode, - prevVNode - ]); - resetTracking(); - } - } -} -function provide(key, value) { - if (!currentInstance || currentInstance.isMounted) warn$1(`provide() can only be used inside setup().`); - if (currentInstance) { - let provides = currentInstance.provides; - const parentProvides = currentInstance.parent && currentInstance.parent.provides; - if (parentProvides === provides) provides = currentInstance.provides = Object.create(parentProvides); - provides[key] = value; - } -} -function inject(key, defaultValue, treatDefaultAsFactory = false) { - const instance = getCurrentInstance(); - if (instance || currentApp) { - let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0; - if (provides && key in provides) return provides[key]; - else if (arguments.length > 1) return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; - else warn$1(`injection "${String(key)}" not found.`); - } else warn$1(`inject() can only be used inside setup() or functional components.`); -} -function hasInjectionContext() { - return !!(getCurrentInstance() || currentApp); -} -var ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx"); -var useSSRContext = () => { - { - const ctx = inject(ssrContextKey); - if (!ctx) warn$1(`Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`); - return ctx; - } -}; -function watchEffect(effect, options) { - return doWatch(effect, null, options); -} -function watchPostEffect(effect, options) { - return doWatch(effect, null, extend({}, options, { flush: "post" })); -} -function watchSyncEffect(effect, options) { - return doWatch(effect, null, extend({}, options, { flush: "sync" })); -} -function watch(source, cb, options) { - if (!isFunction(cb)) warn$1(`\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`); - return doWatch(source, cb, options); -} -function doWatch(source, cb, options = EMPTY_OBJ) { - const { immediate, deep, flush, once } = options; - if (!cb) { - if (immediate !== void 0) warn$1(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`); - if (deep !== void 0) warn$1(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`); - if (once !== void 0) warn$1(`watch() "once" option is only respected when using the watch(source, callback, options?) signature.`); - } - const baseWatchOptions = extend({}, options); - baseWatchOptions.onWarn = warn$1; - const runsImmediately = cb && immediate || !cb && flush !== "post"; - let ssrCleanup; - if (isInSSRComponentSetup) { - if (flush === "sync") { - const ctx = useSSRContext(); - ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); - } else if (!runsImmediately) { - const watchStopHandle = () => {}; - watchStopHandle.stop = NOOP; - watchStopHandle.resume = NOOP; - watchStopHandle.pause = NOOP; - return watchStopHandle; - } - } - const instance = currentInstance; - baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args); - let isPre = false; - if (flush === "post") baseWatchOptions.scheduler = (job) => { - queuePostRenderEffect(job, instance && instance.suspense); - }; - else if (flush !== "sync") { - isPre = true; - baseWatchOptions.scheduler = (job, isFirstRun) => { - if (isFirstRun) job(); - else queueJob(job); - }; - } - baseWatchOptions.augmentJob = (job) => { - if (cb) job.flags |= 4; - if (isPre) { - job.flags |= 2; - if (instance) { - job.id = instance.uid; - job.i = instance; - } - } - }; - const watchHandle = watch$1(source, cb, baseWatchOptions); - if (isInSSRComponentSetup) { - if (ssrCleanup) ssrCleanup.push(watchHandle); - else if (runsImmediately) watchHandle(); - } - return watchHandle; -} -function instanceWatch(source, value, options) { - const publicThis = this.proxy; - const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); - let cb; - if (isFunction(value)) cb = value; - else { - cb = value.handler; - options = value; - } - const reset = setCurrentInstance(this); - const res = doWatch(getter, cb.bind(publicThis), options); - reset(); - return res; -} -function createPathGetter(ctx, path) { - const segments = path.split("."); - return () => { - let cur = ctx; - for (let i = 0; i < segments.length && cur; i++) cur = cur[segments[i]]; - return cur; - }; -} -var pendingMounts = /* @__PURE__ */ new WeakMap(); -var TeleportEndKey = /* @__PURE__ */ Symbol("_vte"); -var isTeleport = (type) => type.__isTeleport; -var isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); -var isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); -var isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; -var isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; -var resolveTarget = (props, select) => { - const targetSelector = props && props.to; - if (isString(targetSelector)) if (!select) { - warn$1(`Current renderer does not support string target for Teleports. (missing querySelector renderer option)`); - return null; - } else { - const target = select(targetSelector); - if (!target && !isTeleportDisabled(props)) warn$1(`Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`); - return target; - } - else { - if (!targetSelector && !isTeleportDisabled(props)) warn$1(`Invalid Teleport target: ${targetSelector}`); - return targetSelector; - } -}; -var TeleportImpl = { - name: "Teleport", - __isTeleport: true, - process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { - const { mc: mountChildren, pc: patchChildren, pbc: patchBlockChildren, o: { insert, querySelector, createText, createComment } } = internals; - const disabled = isTeleportDisabled(n2.props); - let { dynamicChildren } = n2; - if (isHmrUpdating) { - optimized = false; - dynamicChildren = null; - } - const mount = (vnode, container2, anchor2) => { - if (vnode.shapeFlag & 16) mountChildren(vnode.children, container2, anchor2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized); - }; - const mountToTarget = (vnode = n2) => { - const disabled2 = isTeleportDisabled(vnode.props); - const target = vnode.target = resolveTarget(vnode.props, querySelector); - const targetAnchor = prepareAnchor(target, vnode, createText, insert); - if (target) { - if (namespace !== "svg" && isTargetSVG(target)) namespace = "svg"; - else if (namespace !== "mathml" && isTargetMathML(target)) namespace = "mathml"; - if (parentComponent && parentComponent.isCE) (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target); - if (!disabled2) { - mount(vnode, target, targetAnchor); - updateCssVars(vnode, false); - } - } else if (!disabled2) warn$1("Invalid Teleport target on mount:", target, `(${typeof target})`); - }; - const queuePendingMount = (vnode) => { - const mountJob = () => { - if (pendingMounts.get(vnode) !== mountJob) return; - pendingMounts.delete(vnode); - if (isTeleportDisabled(vnode.props)) { - mount(vnode, container, vnode.anchor); - updateCssVars(vnode, true); - } - mountToTarget(vnode); - }; - pendingMounts.set(vnode, mountJob); - queuePostRenderEffect(mountJob, parentSuspense); - }; - if (n1 == null) { - const placeholder = n2.el = createComment("teleport start"); - const mainAnchor = n2.anchor = createComment("teleport end"); - insert(placeholder, container, anchor); - insert(mainAnchor, container, anchor); - if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) { - queuePendingMount(n2); - return; - } - if (disabled) { - mount(n2, container, mainAnchor); - updateCssVars(n2, true); - } - mountToTarget(); - } else { - n2.el = n1.el; - const mainAnchor = n2.anchor = n1.anchor; - const pendingMount = pendingMounts.get(n1); - if (pendingMount) { - pendingMount.flags |= 8; - pendingMounts.delete(n1); - queuePendingMount(n2); - return; - } - n2.targetStart = n1.targetStart; - const target = n2.target = n1.target; - const targetAnchor = n2.targetAnchor = n1.targetAnchor; - const wasDisabled = isTeleportDisabled(n1.props); - const currentContainer = wasDisabled ? container : target; - const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; - if (namespace === "svg" || isTargetSVG(target)) namespace = "svg"; - else if (namespace === "mathml" || isTargetMathML(target)) namespace = "mathml"; - if (dynamicChildren) { - patchBlockChildren(n1.dynamicChildren, dynamicChildren, currentContainer, parentComponent, parentSuspense, namespace, slotScopeIds); - traverseStaticChildren(n1, n2, false); - } else if (!optimized) patchChildren(n1, n2, currentContainer, currentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, false); - if (disabled) { - if (!wasDisabled) moveTeleport(n2, container, mainAnchor, internals, 1); - else if (n2.props && n1.props && n2.props.to !== n1.props.to) n2.props.to = n1.props.to; - } else if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { - const nextTarget = n2.target = resolveTarget(n2.props, querySelector); - if (nextTarget) moveTeleport(n2, nextTarget, null, internals, 0); - else warn$1("Invalid Teleport target on update:", target, `(${typeof target})`); - } else if (wasDisabled) moveTeleport(n2, target, targetAnchor, internals, 1); - updateCssVars(n2, disabled); - } - }, - remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { - const { shapeFlag, children, anchor, targetStart, targetAnchor, target, props } = vnode; - let shouldRemove = doRemove || !isTeleportDisabled(props); - const pendingMount = pendingMounts.get(vnode); - if (pendingMount) { - pendingMount.flags |= 8; - pendingMounts.delete(vnode); - shouldRemove = false; - } - if (target) { - hostRemove(targetStart); - hostRemove(targetAnchor); - } - doRemove && hostRemove(anchor); - if (shapeFlag & 16) for (let i = 0; i < children.length; i++) { - const child = children[i]; - unmount(child, parentComponent, parentSuspense, shouldRemove, !!child.dynamicChildren); - } - }, - move: moveTeleport, - hydrate: hydrateTeleport -}; -function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { - if (moveType === 0) insert(vnode.targetAnchor, container, parentAnchor); - const { el, anchor, shapeFlag, children, props } = vnode; - const isReorder = moveType === 2; - if (isReorder) insert(el, container, parentAnchor); - if (!isReorder || isTeleportDisabled(props)) { - if (shapeFlag & 16) for (let i = 0; i < children.length; i++) move(children[i], container, parentAnchor, 2); - } - if (isReorder) insert(anchor, container, parentAnchor); -} -function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector, insert, createText } }, hydrateChildren) { - function hydrateAnchor(target2, targetNode) { - let targetAnchor = targetNode; - while (targetAnchor) { - if (targetAnchor && targetAnchor.nodeType === 8) { - if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor; - else if (targetAnchor.data === "teleport anchor") { - vnode.targetAnchor = targetAnchor; - target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); - break; - } - } - targetAnchor = nextSibling(targetAnchor); - } - } - function hydrateDisabledTeleport(node2, vnode2) { - vnode2.anchor = hydrateChildren(nextSibling(node2), vnode2, parentNode(node2), parentComponent, parentSuspense, slotScopeIds, optimized); - } - const target = vnode.target = resolveTarget(vnode.props, querySelector); - const disabled = isTeleportDisabled(vnode.props); - if (target) { - const targetNode = target._lpa || target.firstChild; - if (vnode.shapeFlag & 16) if (disabled) { - hydrateDisabledTeleport(node, vnode); - hydrateAnchor(target, targetNode); - if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null); - } else { - vnode.anchor = nextSibling(node); - hydrateAnchor(target, targetNode); - if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert); - hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized); - } - updateCssVars(vnode, disabled); - } else if (disabled) { - if (vnode.shapeFlag & 16) { - hydrateDisabledTeleport(node, vnode); - vnode.targetStart = node; - vnode.targetAnchor = nextSibling(node); - } - } - return vnode.anchor && nextSibling(vnode.anchor); -} -var Teleport = TeleportImpl; -function updateCssVars(vnode, isDisabled) { - const ctx = vnode.ctx; - if (ctx && ctx.ut) { - let node, anchor; - if (isDisabled) { - node = vnode.el; - anchor = vnode.anchor; - } else { - node = vnode.targetStart; - anchor = vnode.targetAnchor; - } - while (node && node !== anchor) { - if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); - node = node.nextSibling; - } - ctx.ut(); - } -} -function prepareAnchor(target, vnode, createText, insert, anchor = null) { - const targetStart = vnode.targetStart = createText(""); - const targetAnchor = vnode.targetAnchor = createText(""); - targetStart[TeleportEndKey] = targetAnchor; - if (target) { - insert(targetStart, target, anchor); - insert(targetAnchor, target, anchor); - } - return targetAnchor; -} -var leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb"); -var enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb"); -function useTransitionState() { - const state = { - isMounted: false, - isLeaving: false, - isUnmounting: false, - leavingVNodes: /* @__PURE__ */ new Map() - }; - onMounted(() => { - state.isMounted = true; - }); - onBeforeUnmount(() => { - state.isUnmounting = true; - }); - return state; -} -var TransitionHookValidator = [Function, Array]; -var BaseTransitionPropsValidators = { - mode: String, - appear: Boolean, - persisted: Boolean, - onBeforeEnter: TransitionHookValidator, - onEnter: TransitionHookValidator, - onAfterEnter: TransitionHookValidator, - onEnterCancelled: TransitionHookValidator, - onBeforeLeave: TransitionHookValidator, - onLeave: TransitionHookValidator, - onAfterLeave: TransitionHookValidator, - onLeaveCancelled: TransitionHookValidator, - onBeforeAppear: TransitionHookValidator, - onAppear: TransitionHookValidator, - onAfterAppear: TransitionHookValidator, - onAppearCancelled: TransitionHookValidator -}; -var recursiveGetSubtree = (instance) => { - const subTree = instance.subTree; - return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; -}; -var BaseTransitionImpl = { - name: `BaseTransition`, - props: BaseTransitionPropsValidators, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const state = useTransitionState(); - return () => { - const children = slots.default && getTransitionRawChildren(slots.default(), true); - if (!children || !children.length) return; - const child = findNonCommentChild(children); - const rawProps = /* @__PURE__ */ toRaw(props); - const { mode } = rawProps; - if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") warn$1(`invalid mode: ${mode}`); - if (state.isLeaving) return emptyPlaceholder(child); - const innerChild = getInnerChild$1(child); - if (!innerChild) return emptyPlaceholder(child); - let enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance, (hooks) => enterHooks = hooks); - if (innerChild.type !== Comment) setTransitionHooks(innerChild, enterHooks); - let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); - if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) { - let leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance); - setTransitionHooks(oldInnerChild, leavingHooks); - if (mode === "out-in" && innerChild.type !== Comment) { - state.isLeaving = true; - leavingHooks.afterLeave = () => { - state.isLeaving = false; - if (!(instance.job.flags & 8)) instance.update(); - delete leavingHooks.afterLeave; - oldInnerChild = void 0; - }; - return emptyPlaceholder(child); - } else if (mode === "in-out" && innerChild.type !== Comment) leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { - const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild); - leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; - el[leaveCbKey] = () => { - earlyRemove(); - el[leaveCbKey] = void 0; - delete enterHooks.delayedLeave; - oldInnerChild = void 0; - }; - enterHooks.delayedLeave = () => { - delayedLeave(); - delete enterHooks.delayedLeave; - oldInnerChild = void 0; - }; - }; - else oldInnerChild = void 0; - } else if (oldInnerChild) oldInnerChild = void 0; - return child; - }; - } -}; -function findNonCommentChild(children) { - let child = children[0]; - if (children.length > 1) { - let hasFound = false; - for (const c of children) if (c.type !== Comment) { - if (hasFound) { - warn$1(" can only be used on a single element or component. Use for lists."); - break; - } - child = c; - hasFound = true; - } - } - return child; -} -var BaseTransition = BaseTransitionImpl; -function getLeavingNodesForType(state, vnode) { - const { leavingVNodes } = state; - let leavingVNodesCache = leavingVNodes.get(vnode.type); - if (!leavingVNodesCache) { - leavingVNodesCache = /* @__PURE__ */ Object.create(null); - leavingVNodes.set(vnode.type, leavingVNodesCache); - } - return leavingVNodesCache; -} -function resolveTransitionHooks(vnode, props, state, instance, postClone) { - const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props; - const key = String(vnode.key); - const leavingVNodesCache = getLeavingNodesForType(state, vnode); - const callHook = (hook, args) => { - hook && callWithAsyncErrorHandling(hook, instance, 9, args); - }; - const callAsyncHook = (hook, args) => { - const done = args[1]; - callHook(hook, args); - if (isArray(hook)) { - if (hook.every((hook2) => hook2.length <= 1)) done(); - } else if (hook.length <= 1) done(); - }; - const hooks = { - mode, - persisted, - beforeEnter(el) { - let hook = onBeforeEnter; - if (!state.isMounted) if (appear) hook = onBeforeAppear || onBeforeEnter; - else return; - if (el[leaveCbKey]) el[leaveCbKey](true); - const leavingVNode = leavingVNodesCache[key]; - if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) leavingVNode.el[leaveCbKey](); - callHook(hook, [el]); - }, - enter(el) { - if (!isHmrUpdating && leavingVNodesCache[key] === vnode) return; - let hook = onEnter; - let afterHook = onAfterEnter; - let cancelHook = onEnterCancelled; - if (!state.isMounted) if (appear) { - hook = onAppear || onEnter; - afterHook = onAfterAppear || onAfterEnter; - cancelHook = onAppearCancelled || onEnterCancelled; - } else return; - let called = false; - el[enterCbKey$1] = (cancelled) => { - if (called) return; - called = true; - if (cancelled) callHook(cancelHook, [el]); - else callHook(afterHook, [el]); - if (hooks.delayedLeave) hooks.delayedLeave(); - el[enterCbKey$1] = void 0; - }; - const done = el[enterCbKey$1].bind(null, false); - if (hook) callAsyncHook(hook, [el, done]); - else done(); - }, - leave(el, remove) { - const key2 = String(vnode.key); - if (el[enterCbKey$1]) el[enterCbKey$1](true); - if (state.isUnmounting) return remove(); - callHook(onBeforeLeave, [el]); - let called = false; - el[leaveCbKey] = (cancelled) => { - if (called) return; - called = true; - remove(); - if (cancelled) callHook(onLeaveCancelled, [el]); - else callHook(onAfterLeave, [el]); - el[leaveCbKey] = void 0; - if (leavingVNodesCache[key2] === vnode) delete leavingVNodesCache[key2]; - }; - const done = el[leaveCbKey].bind(null, false); - leavingVNodesCache[key2] = vnode; - if (onLeave) callAsyncHook(onLeave, [el, done]); - else done(); - }, - clone(vnode2) { - const hooks2 = resolveTransitionHooks(vnode2, props, state, instance, postClone); - if (postClone) postClone(hooks2); - return hooks2; - } - }; - return hooks; -} -function emptyPlaceholder(vnode) { - if (isKeepAlive(vnode)) { - vnode = cloneVNode(vnode); - vnode.children = null; - return vnode; - } -} -function getInnerChild$1(vnode) { - if (!isKeepAlive(vnode)) { - if (isTeleport(vnode.type) && vnode.children) return findNonCommentChild(vnode.children); - return vnode; - } - if (vnode.component) return vnode.component.subTree; - const { shapeFlag, children } = vnode; - if (children) { - if (shapeFlag & 16) return children[0]; - if (shapeFlag & 32 && isFunction(children.default)) return children.default(); - } -} -function setTransitionHooks(vnode, hooks) { - if (vnode.shapeFlag & 6 && vnode.component) { - vnode.transition = hooks; - setTransitionHooks(vnode.component.subTree, hooks); - } else if (vnode.shapeFlag & 128) { - vnode.ssContent.transition = hooks.clone(vnode.ssContent); - vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); - } else vnode.transition = hooks; -} -function getTransitionRawChildren(children, keepComment = false, parentKey) { - let ret = []; - let keyedFragmentCount = 0; - for (let i = 0; i < children.length; i++) { - let child = children[i]; - const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); - if (child.type === Fragment) { - if (child.patchFlag & 128) keyedFragmentCount++; - ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key)); - } else if (keepComment || child.type !== Comment) ret.push(key != null ? cloneVNode(child, { key }) : child); - } - if (keyedFragmentCount > 1) for (let i = 0; i < ret.length; i++) ret[i].patchFlag = -2; - return ret; -} -/* @__NO_SIDE_EFFECTS__ */ -function defineComponent(options, extraOptions) { - return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options; -} -function useId() { - const i = getCurrentInstance(); - if (i) return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++; - else warn$1(`useId() is called when there is no active component instance to be associated with.`); - return ""; -} -function markAsyncBoundary(instance) { - instance.ids = [ - instance.ids[0] + instance.ids[2]++ + "-", - 0, - 0 - ]; -} -var knownTemplateRefs = /* @__PURE__ */ new WeakSet(); -function useTemplateRef(key) { - const i = getCurrentInstance(); - const r = /* @__PURE__ */ shallowRef(null); - if (i) { - const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs; - if (isTemplateRefKey(refs, key)) warn$1(`useTemplateRef('${key}') already exists.`); - else Object.defineProperty(refs, key, { - enumerable: true, - get: () => r.value, - set: (val) => r.value = val - }); - } else warn$1(`useTemplateRef() is called when there is no active component instance to be associated with.`); - const ret = /* @__PURE__ */ readonly(r); - knownTemplateRefs.add(ret); - return ret; -} -function isTemplateRefKey(refs, key) { - let desc; - return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable); -} -var pendingSetRefMap = /* @__PURE__ */ new WeakMap(); -function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { - if (isArray(rawRef)) { - rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount)); - return; - } - if (isAsyncWrapper(vnode) && !isUnmount) { - if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree); - return; - } - const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; - const value = isUnmount ? null : refValue; - const { i: owner, r: ref } = rawRef; - if (!owner) { - warn$1(`Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`); - return; - } - const oldRef = oldRawRef && oldRawRef.r; - const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs; - const setupState = owner.setupState; - const rawSetupState = /* @__PURE__ */ toRaw(setupState); - const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => { - if (hasOwn(rawSetupState, key) && !/* @__PURE__ */ isRef(rawSetupState[key])) warn$1(`Template ref "${key}" used on a non-ref value. It will not work in the production build.`); - if (knownTemplateRefs.has(rawSetupState[key])) return false; - if (isTemplateRefKey(refs, key)) return false; - return hasOwn(rawSetupState, key); - }; - const canSetRef = (ref2, key) => { - if (knownTemplateRefs.has(ref2)) return false; - if (key && isTemplateRefKey(refs, key)) return false; - return true; - }; - if (oldRef != null && oldRef !== ref) { - invalidatePendingSetRef(oldRawRef); - if (isString(oldRef)) { - refs[oldRef] = null; - if (canSetSetupRef(oldRef)) setupState[oldRef] = null; - } else if (/* @__PURE__ */ isRef(oldRef)) { - const oldRawRefAtom = oldRawRef; - if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null; - if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null; - } - } - if (isFunction(ref)) callWithErrorHandling(ref, owner, 12, [value, refs]); - else { - const _isString = isString(ref); - const _isRef = /* @__PURE__ */ isRef(ref); - if (_isString || _isRef) { - const doSet = () => { - if (rawRef.f) { - const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k]; - if (isUnmount) isArray(existing) && remove(existing, refValue); - else if (!isArray(existing)) if (_isString) { - refs[ref] = [refValue]; - if (canSetSetupRef(ref)) setupState[ref] = refs[ref]; - } else { - const newVal = [refValue]; - if (canSetRef(ref, rawRef.k)) ref.value = newVal; - if (rawRef.k) refs[rawRef.k] = newVal; - } - else if (!existing.includes(refValue)) existing.push(refValue); - } else if (_isString) { - refs[ref] = value; - if (canSetSetupRef(ref)) setupState[ref] = value; - } else if (_isRef) { - if (canSetRef(ref, rawRef.k)) ref.value = value; - if (rawRef.k) refs[rawRef.k] = value; - } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`); - }; - if (value) { - const job = () => { - doSet(); - pendingSetRefMap.delete(rawRef); - }; - job.id = -1; - pendingSetRefMap.set(rawRef, job); - queuePostRenderEffect(job, parentSuspense); - } else { - invalidatePendingSetRef(rawRef); - doSet(); - } - } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`); - } -} -function invalidatePendingSetRef(rawRef) { - const pendingSetRef = pendingSetRefMap.get(rawRef); - if (pendingSetRef) { - pendingSetRef.flags |= 8; - pendingSetRefMap.delete(rawRef); - } -} -var hasLoggedMismatchError = false; -var logMismatchError = () => { - if (hasLoggedMismatchError) return; - console.error("Hydration completed but contains mismatches."); - hasLoggedMismatchError = true; -}; -var isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; -var isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); -var getContainerType = (container) => { - if (container.nodeType !== 1) return void 0; - if (isSVGContainer(container)) return "svg"; - if (isMathMLContainer(container)) return "mathml"; -}; -var isComment = (node) => node.nodeType === 8; -function createHydrationFunctions(rendererInternals) { - const { mt: mountComponent, p: patch, o: { patchProp, createText, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals; - const hydrate = (vnode, container) => { - if (!container.hasChildNodes()) { - warn$1(`Attempting to hydrate existing markup but container is empty. Performing full mount instead.`); - patch(null, vnode, container); - flushPostFlushCbs(); - container._vnode = vnode; - return; - } - hydrateNode(container.firstChild, vnode, null, null, null); - flushPostFlushCbs(); - container._vnode = vnode; - }; - const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { - optimized = optimized || !!vnode.dynamicChildren; - const isFragmentStart = isComment(node) && node.data === "["; - const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart); - const { type, ref, shapeFlag, patchFlag } = vnode; - let domType = node.nodeType; - vnode.el = node; - def(node, "__vnode", vnode, true); - def(node, "__vueParentComponent", parentComponent, true); - if (patchFlag === -2) { - optimized = false; - vnode.dynamicChildren = null; - } - let nextNode = null; - switch (type) { - case Text: - if (domType !== 3) if (vnode.children === "") { - insert(vnode.el = createText(""), parentNode(node), node); - nextNode = node; - } else nextNode = onMismatch(); - else { - if (node.data !== vnode.children) { - warn$1(`Hydration text mismatch in`, node.parentNode, ` - - rendered on server: ${JSON.stringify(node.data)} - - expected on client: ${JSON.stringify(vnode.children)}`); - logMismatchError(); - node.data = vnode.children; - } - nextNode = nextSibling(node); - } - break; - case Comment: - if (isTemplateNode(node)) { - nextNode = nextSibling(node); - replaceNode(vnode.el = node.content.firstChild, node, parentComponent); - } else if (domType !== 8 || isFragmentStart) nextNode = onMismatch(); - else nextNode = nextSibling(node); - break; - case Static: - if (isFragmentStart) { - node = nextSibling(node); - domType = node.nodeType; - } - if (domType === 1 || domType === 3) { - nextNode = node; - const needToAdoptContent = !vnode.children.length; - for (let i = 0; i < vnode.staticCount; i++) { - if (needToAdoptContent) vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; - if (i === vnode.staticCount - 1) vnode.anchor = nextNode; - nextNode = nextSibling(nextNode); - } - return isFragmentStart ? nextSibling(nextNode) : nextNode; - } else onMismatch(); - break; - case Fragment: - if (!isFragmentStart) nextNode = onMismatch(); - else nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized); - break; - default: if (shapeFlag & 1) if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) nextNode = onMismatch(); - else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized); - else if (shapeFlag & 6) { - vnode.slotScopeIds = slotScopeIds; - const container = parentNode(node); - if (isFragmentStart) nextNode = locateClosingAnchor(node); - else if (isComment(node) && node.data === "teleport start") nextNode = locateClosingAnchor(node, node.data, "teleport end"); - else nextNode = nextSibling(node); - mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized); - if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) { - let subTree; - if (isFragmentStart) { - subTree = createVNode(Fragment); - subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; - } else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div"); - subTree.el = node; - vnode.component.subTree = subTree; - } - } else if (shapeFlag & 64) if (domType !== 8) nextNode = onMismatch(); - else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren); - else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode); - else warn$1("Invalid HostVNode type:", type, `(${typeof type})`); - } - if (ref != null) setRef(ref, null, parentSuspense, vnode); - return nextNode; - }; - const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { - optimized = optimized || !!vnode.dynamicChildren; - const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode; - const forcePatch = type === "input" || type === "option"; - { - if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "created"); - let needCallTransitionHooks = false; - if (isTemplateNode(el)) { - needCallTransitionHooks = needTransition(null, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; - const content = el.content.firstChild; - if (needCallTransitionHooks) { - const cls = content.getAttribute("class"); - if (cls) content.$cls = cls; - transition.beforeEnter(content); - } - replaceNode(content, el, parentComponent); - vnode.el = el = content; - } - if (shapeFlag & 16 && !(props && (props.innerHTML || props.textContent))) { - let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized); - let hasWarned = false; - while (next) { - if (!isMismatchAllowed(el, 1)) { - if (!hasWarned) { - warn$1(`Hydration children mismatch on`, el, ` -Server rendered element contains more child nodes than client vdom.`); - hasWarned = true; - } - logMismatchError(); - } - const cur = next; - next = next.nextSibling; - remove(cur); - } - } else if (shapeFlag & 8) { - let clientText = vnode.children; - if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) clientText = clientText.slice(1); - const { textContent } = el; - if (textContent !== clientText && textContent !== clientText.replace(/\r\n|\r/g, "\n")) { - if (!isMismatchAllowed(el, 0)) { - warn$1(`Hydration text content mismatch on`, el, ` - - rendered on server: ${textContent} - - expected on client: ${clientText}`); - logMismatchError(); - } - el.textContent = vnode.children; - } - } - if (props) { - const isCustomElement = el.tagName.includes("-"); - for (const key in props) { - if (!(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) logMismatchError(); - if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || key[0] === "." || isCustomElement && !isReservedProp(key)) patchProp(el, key, null, props[key], void 0, parentComponent); - } - } - let vnodeHooks; - if (vnodeHooks = props && props.onVnodeBeforeMount) invokeVNodeHook(vnodeHooks, parentComponent, vnode); - if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); - if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) queueEffectWithSuspense(() => { - vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); - needCallTransitionHooks && transition.enter(el); - dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); - }, parentSuspense); - } - return el.nextSibling; - }; - const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { - optimized = optimized || !!parentVNode.dynamicChildren; - const children = parentVNode.children; - const l = children.length; - let hasWarned = false; - for (let i = 0; i < l; i++) { - const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); - const isText = vnode.type === Text; - if (node) { - if (isText && !optimized) { - if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { - insert(createText(node.data.slice(vnode.children.length)), container, nextSibling(node)); - node.data = vnode.children; - } - } - node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized); - } else if (isText && !vnode.children) insert(vnode.el = createText(""), container); - else { - if (!isMismatchAllowed(container, 1)) { - if (!hasWarned) { - warn$1(`Hydration children mismatch on`, container, ` -Server rendered element contains fewer child nodes than client vdom.`); - hasWarned = true; - } - logMismatchError(); - } - patch(null, vnode, container, null, parentComponent, parentSuspense, getContainerType(container), slotScopeIds); - } - } - return node; - }; - const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { - const { slotScopeIds: fragmentSlotScopeIds } = vnode; - if (fragmentSlotScopeIds) slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; - const container = parentNode(node); - const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized); - if (next && isComment(next) && next.data === "]") return nextSibling(vnode.anchor = next); - else { - logMismatchError(); - insert(vnode.anchor = createComment(`]`), container, next); - return next; - } - }; - const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { - if (!isMismatchAllowed(node.parentElement, 1)) { - warn$1(`Hydration node mismatch: -- rendered on server:`, node, node.nodeType === 3 ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``, ` -- expected on client:`, vnode.type); - logMismatchError(); - } - vnode.el = null; - if (isFragment) { - const end = locateClosingAnchor(node); - while (true) { - const next2 = nextSibling(node); - if (next2 && next2 !== end) remove(next2); - else break; - } - } - const next = nextSibling(node); - const container = parentNode(node); - remove(node); - patch(null, vnode, container, next, parentComponent, parentSuspense, getContainerType(container), slotScopeIds); - if (parentComponent) { - parentComponent.vnode.el = vnode.el; - updateHOCHostEl(parentComponent, vnode.el); - } - return next; - }; - const locateClosingAnchor = (node, open = "[", close = "]") => { - let match = 0; - while (node) { - node = nextSibling(node); - if (node && isComment(node)) { - if (node.data === open) match++; - if (node.data === close) if (match === 0) return nextSibling(node); - else match--; - } - } - return node; - }; - const replaceNode = (newNode, oldNode, parentComponent) => { - const parentNode2 = oldNode.parentNode; - if (parentNode2) parentNode2.replaceChild(newNode, oldNode); - let parent = parentComponent; - while (parent) { - if (parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode; - parent = parent.parent; - } - }; - const isTemplateNode = (node) => { - return node.nodeType === 1 && node.tagName === "TEMPLATE"; - }; - return [hydrate, hydrateNode]; -} -function propHasMismatch(el, key, clientValue, vnode, instance) { - let mismatchType; - let mismatchKey; - let actual; - let expected; - if (key === "class") { - if (el.$cls) { - actual = el.$cls; - delete el.$cls; - } else actual = el.getAttribute("class"); - expected = normalizeClass(clientValue); - if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) { - mismatchType = 2; - mismatchKey = `class`; - } - } else if (key === "style") { - actual = el.getAttribute("style") || ""; - expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue)); - const actualMap = toStyleMap(actual); - const expectedMap = toStyleMap(expected); - if (vnode.dirs) { - for (const { dir, value } of vnode.dirs) if (dir.name === "show" && !value) expectedMap.set("display", "none"); - } - if (instance) resolveCssVars(instance, vnode, expectedMap); - if (!isMapEqual(actualMap, expectedMap)) { - mismatchType = 3; - mismatchKey = "style"; - } - } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) { - if (isBooleanAttr(key)) { - actual = el.hasAttribute(key); - expected = includeBooleanAttr(clientValue); - } else if (clientValue == null) { - actual = el.hasAttribute(key); - expected = false; - } else { - if (el.hasAttribute(key)) actual = el.getAttribute(key); - else if (key === "value" && el.tagName === "TEXTAREA") actual = el.value; - else actual = false; - expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false; - } - if (actual !== expected) { - mismatchType = 4; - mismatchKey = key; - } - } - if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) { - const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`; - warn$1(`Hydration ${MismatchTypeString[mismatchType]} mismatch on`, el, ` - - rendered on server: ${format(actual)} - - expected on client: ${format(expected)} - Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. - You should fix the source of the mismatch.`); - return true; - } - return false; -} -function toClassSet(str) { - return new Set(str.trim().split(/\s+/)); -} -function isSetEqual(a, b) { - if (a.size !== b.size) return false; - for (const s of a) if (!b.has(s)) return false; - return true; -} -function toStyleMap(str) { - const styleMap = /* @__PURE__ */ new Map(); - for (const item of str.split(";")) { - let [key, value] = item.split(":"); - key = key.trim(); - value = value && value.trim(); - if (key && value) styleMap.set(key, value); - } - return styleMap; -} -function isMapEqual(a, b) { - if (a.size !== b.size) return false; - for (const [key, value] of a) if (value !== b.get(key)) return false; - return true; -} -function resolveCssVars(instance, vnode, expectedMap) { - const root = instance.subTree; - if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) { - const cssVars = instance.getCssVars(); - for (const key in cssVars) { - const value = normalizeCssVarValue(cssVars[key]); - expectedMap.set(`--${getEscapedCssVarName(key, false)}`, value); - } - } - if (vnode === root && instance.parent) resolveCssVars(instance.parent, instance.vnode, expectedMap); -} -var allowMismatchAttr = "data-allow-mismatch"; -var MismatchTypeString = { - [0]: "text", - [1]: "children", - [2]: "class", - [3]: "style", - [4]: "attribute" -}; -function isMismatchAllowed(el, allowedType) { - if (allowedType === 0 || allowedType === 1) while (el && !el.hasAttribute(allowMismatchAttr)) el = el.parentElement; - const allowedAttr = el && el.getAttribute(allowMismatchAttr); - if (allowedAttr == null) return false; - else if (allowedAttr === "") return true; - else { - const list = allowedAttr.split(","); - if (allowedType === 0 && list.includes("children")) return true; - return list.includes(MismatchTypeString[allowedType]); - } -} -var requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); -var cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); -var hydrateOnIdle = (timeout = 1e4) => (hydrate) => { - const id = requestIdleCallback(hydrate, { timeout }); - return () => cancelIdleCallback(id); -}; -function elementIsVisibleInViewport(el) { - const { top, left, bottom, right } = el.getBoundingClientRect(); - const { innerHeight, innerWidth } = window; - return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth); -} -var hydrateOnVisible = (opts) => (hydrate, forEach) => { - const ob = new IntersectionObserver((entries) => { - for (const e of entries) { - if (!e.isIntersecting) continue; - ob.disconnect(); - hydrate(); - break; - } - }, opts); - forEach((el) => { - if (!(el instanceof Element)) return; - if (elementIsVisibleInViewport(el)) { - hydrate(); - ob.disconnect(); - return false; - } - ob.observe(el); - }); - return () => ob.disconnect(); -}; -var hydrateOnMediaQuery = (query) => (hydrate) => { - if (query) { - const mql = matchMedia(query); - if (mql.matches) hydrate(); - else { - mql.addEventListener("change", hydrate, { once: true }); - return () => mql.removeEventListener("change", hydrate); - } - } -}; -var hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => { - if (isString(interactions)) interactions = [interactions]; - let hasHydrated = false; - const doHydrate = (e) => { - if (!hasHydrated) { - hasHydrated = true; - teardown(); - hydrate(); - e.target.dispatchEvent(new e.constructor(e.type, e)); - } - }; - const teardown = () => { - forEach((el) => { - for (const i of interactions) el.removeEventListener(i, doHydrate); - }); - }; - forEach((el) => { - for (const i of interactions) el.addEventListener(i, doHydrate, { once: true }); - }); - return teardown; -}; -function forEachElement(node, cb) { - if (isComment(node) && node.data === "[") { - let depth = 1; - let next = node.nextSibling; - while (next) { - if (next.nodeType === 1) { - if (cb(next) === false) break; - } else if (isComment(next)) { - if (next.data === "]") { - if (--depth === 0) break; - } else if (next.data === "[") depth++; - } - next = next.nextSibling; - } - } else cb(node); -} -var isAsyncWrapper = (i) => !!i.type.__asyncLoader; -/* @__NO_SIDE_EFFECTS__ */ -function defineAsyncComponent(source) { - if (isFunction(source)) source = { loader: source }; - const { loader, loadingComponent, errorComponent, delay = 200, hydrate: hydrateStrategy, timeout, suspensible = true, onError: userOnError } = source; - let pendingRequest = null; - let resolvedComp; - let retries = 0; - const retry = () => { - retries++; - pendingRequest = null; - return load(); - }; - const load = () => { - let thisRequest; - return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { - err = err instanceof Error ? err : new Error(String(err)); - if (userOnError) return new Promise((resolve, reject) => { - const userRetry = () => resolve(retry()); - const userFail = () => reject(err); - userOnError(err, userRetry, userFail, retries + 1); - }); - else throw err; - }).then((comp) => { - if (thisRequest !== pendingRequest && pendingRequest) return pendingRequest; - if (!comp) warn$1(`Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`); - if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) comp = comp.default; - if (comp && !isObject(comp) && !isFunction(comp)) throw new Error(`Invalid async component load result: ${comp}`); - resolvedComp = comp; - return comp; - })); - }; - return /* @__PURE__ */ defineComponent({ - name: "AsyncComponentWrapper", - __asyncLoader: load, - __asyncHydrate(el, instance, hydrate) { - let patched = false; - (instance.bu || (instance.bu = [])).push(() => patched = true); - const performHydrate = () => { - if (patched) { - warn$1(`Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`); - return; - } - hydrate(); - }; - const doHydrate = hydrateStrategy ? () => { - const teardown = hydrateStrategy(performHydrate, (cb) => forEachElement(el, cb)); - if (teardown) (instance.bum || (instance.bum = [])).push(teardown); - } : performHydrate; - if (resolvedComp) doHydrate(); - else load().then(() => !instance.isUnmounted && doHydrate()); - }, - get __asyncResolved() { - return resolvedComp; - }, - setup() { - const instance = currentInstance; - markAsyncBoundary(instance); - if (resolvedComp) return () => createInnerComp(resolvedComp, instance); - const onError = (err) => { - pendingRequest = null; - handleError(err, instance, 13, !errorComponent); - }; - if (suspensible && instance.suspense || isInSSRComponentSetup) return load().then((comp) => { - return () => createInnerComp(comp, instance); - }).catch((err) => { - onError(err); - return () => errorComponent ? createVNode(errorComponent, { error: err }) : null; - }); - const loaded = /* @__PURE__ */ ref(false); - const error = /* @__PURE__ */ ref(); - const delayed = /* @__PURE__ */ ref(!!delay); - if (delay) setTimeout(() => { - delayed.value = false; - }, delay); - if (timeout != null) setTimeout(() => { - if (!loaded.value && !error.value) { - const err = /* @__PURE__ */ new Error(`Async component timed out after ${timeout}ms.`); - onError(err); - error.value = err; - } - }, timeout); - load().then(() => { - loaded.value = true; - if (instance.parent && isKeepAlive(instance.parent.vnode)) instance.parent.update(); - }).catch((err) => { - onError(err); - error.value = err; - }); - return () => { - if (loaded.value && resolvedComp) return createInnerComp(resolvedComp, instance); - else if (error.value && errorComponent) return createVNode(errorComponent, { error: error.value }); - else if (loadingComponent && !delayed.value) return createInnerComp(loadingComponent, instance); - }; - } - }); -} -function createInnerComp(comp, parent) { - const { ref: ref2, props, children, ce } = parent.vnode; - const vnode = createVNode(comp, props, children); - vnode.ref = ref2; - vnode.ce = ce; - delete parent.vnode.ce; - return vnode; -} -var isKeepAlive = (vnode) => vnode.type.__isKeepAlive; -var KeepAlive = { - name: `KeepAlive`, - __isKeepAlive: true, - props: { - include: [ - String, - RegExp, - Array - ], - exclude: [ - String, - RegExp, - Array - ], - max: [String, Number] - }, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const sharedContext = instance.ctx; - if (!sharedContext.renderer) return () => { - const children = slots.default && slots.default(); - return children && children.length === 1 ? children[0] : children; - }; - const cache = /* @__PURE__ */ new Map(); - const keys = /* @__PURE__ */ new Set(); - let current = null; - instance.__v_cache = cache; - const parentSuspense = instance.suspense; - const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext; - const storageContainer = createElement("div"); - sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { - const instance2 = vnode.component; - move(vnode, container, anchor, 0, parentSuspense); - patch(instance2.vnode, vnode, container, anchor, instance2, parentSuspense, namespace, vnode.slotScopeIds, optimized); - queuePostRenderEffect(() => { - instance2.isDeactivated = false; - if (instance2.a) invokeArrayFns(instance2.a); - const vnodeHook = vnode.props && vnode.props.onVnodeMounted; - if (vnodeHook) invokeVNodeHook(vnodeHook, instance2.parent, vnode); - }, parentSuspense); - devtoolsComponentAdded(instance2); - }; - sharedContext.deactivate = (vnode) => { - const instance2 = vnode.component; - invalidateMount(instance2.m); - invalidateMount(instance2.a); - move(vnode, storageContainer, null, 1, parentSuspense); - queuePostRenderEffect(() => { - if (instance2.da) invokeArrayFns(instance2.da); - const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; - if (vnodeHook) invokeVNodeHook(vnodeHook, instance2.parent, vnode); - instance2.isDeactivated = true; - }, parentSuspense); - devtoolsComponentAdded(instance2); - instance2.__keepAliveStorageContainer = storageContainer; - }; - function unmount(vnode) { - resetShapeFlag(vnode); - _unmount(vnode, instance, parentSuspense, true); - } - function pruneCache(filter) { - cache.forEach((vnode, key) => { - const name = getComponentName(isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type); - if (name && !filter(name)) pruneCacheEntry(key); - }); - } - function pruneCacheEntry(key) { - const cached = cache.get(key); - if (cached && (!current || !isSameVNodeType(cached, current))) unmount(cached); - else if (current) resetShapeFlag(current); - cache.delete(key); - keys.delete(key); - } - watch(() => [props.include, props.exclude], ([include, exclude]) => { - include && pruneCache((name) => matches(include, name)); - exclude && pruneCache((name) => !matches(exclude, name)); - }, { - flush: "post", - deep: true - }); - let pendingCacheKey = null; - const cacheSubtree = () => { - if (pendingCacheKey != null) if (isSuspense(instance.subTree.type)) queuePostRenderEffect(() => { - cache.set(pendingCacheKey, getInnerChild(instance.subTree)); - }, instance.subTree.suspense); - else cache.set(pendingCacheKey, getInnerChild(instance.subTree)); - }; - onMounted(cacheSubtree); - onUpdated(cacheSubtree); - onBeforeUnmount(() => { - cache.forEach((cached) => { - const { subTree, suspense } = instance; - const vnode = getInnerChild(subTree); - if (cached.type === vnode.type && cached.key === vnode.key) { - resetShapeFlag(vnode); - const da = vnode.component.da; - da && queuePostRenderEffect(da, suspense); - return; - } - unmount(cached); - }); - }); - return () => { - pendingCacheKey = null; - if (!slots.default) return current = null; - const children = slots.default(); - const rawVNode = children[0]; - if (children.length > 1) { - warn$1(`KeepAlive should contain exactly one component child.`); - current = null; - return children; - } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { - current = null; - return rawVNode; - } - let vnode = getInnerChild(rawVNode); - if (vnode.type === Comment) { - current = null; - return vnode; - } - const comp = vnode.type; - const name = getComponentName(isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp); - const { include, exclude, max } = props; - if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { - vnode.shapeFlag &= -257; - current = vnode; - return rawVNode; - } - const key = vnode.key == null ? comp : vnode.key; - const cachedVNode = cache.get(key); - if (vnode.el) { - vnode = cloneVNode(vnode); - if (rawVNode.shapeFlag & 128) rawVNode.ssContent = vnode; - } - pendingCacheKey = key; - if (cachedVNode) { - vnode.el = cachedVNode.el; - vnode.component = cachedVNode.component; - if (vnode.transition) setTransitionHooks(vnode, vnode.transition); - vnode.shapeFlag |= 512; - keys.delete(key); - keys.add(key); - } else { - keys.add(key); - if (max && keys.size > parseInt(max, 10)) pruneCacheEntry(keys.values().next().value); - } - vnode.shapeFlag |= 256; - current = vnode; - return isSuspense(rawVNode.type) ? rawVNode : vnode; - }; - } -}; -function matches(pattern, name) { - if (isArray(pattern)) return pattern.some((p) => matches(p, name)); - else if (isString(pattern)) return pattern.split(",").includes(name); - else if (isRegExp(pattern)) { - pattern.lastIndex = 0; - return pattern.test(name); - } - return false; -} -function onActivated(hook, target) { - registerKeepAliveHook(hook, "a", target); -} -function onDeactivated(hook, target) { - registerKeepAliveHook(hook, "da", target); -} -function registerKeepAliveHook(hook, type, target = currentInstance) { - const wrappedHook = hook.__wdc || (hook.__wdc = () => { - let current = target; - while (current) { - if (current.isDeactivated) return; - current = current.parent; - } - return hook(); - }); - injectHook(type, wrappedHook, target); - if (target) { - let current = target.parent; - while (current && current.parent) { - if (isKeepAlive(current.parent.vnode)) injectToKeepAliveRoot(wrappedHook, type, target, current); - current = current.parent; - } - } -} -function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { - const injected = injectHook(type, hook, keepAliveRoot, true); - onUnmounted(() => { - remove(keepAliveRoot[type], injected); - }, target); -} -function resetShapeFlag(vnode) { - vnode.shapeFlag &= -257; - vnode.shapeFlag &= -513; -} -function getInnerChild(vnode) { - return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; -} -function injectHook(type, hook, target = currentInstance, prepend = false) { - if (target) { - const hooks = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - pauseTracking(); - const reset = setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - reset(); - resetTracking(); - return res; - }); - if (prepend) hooks.unshift(wrappedHook); - else hooks.push(wrappedHook); - return wrappedHook; - } else warn$1(`${toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, ""))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`); -} -var createHook = (lifecycle) => (hook, target = currentInstance) => { - if (!isInSSRComponentSetup || lifecycle === "sp") injectHook(lifecycle, (...args) => hook(...args), target); -}; -var onBeforeMount = createHook("bm"); -var onMounted = createHook("m"); -var onBeforeUpdate = createHook("bu"); -var onUpdated = createHook("u"); -var onBeforeUnmount = createHook("bum"); -var onUnmounted = createHook("um"); -var onServerPrefetch = createHook("sp"); -var onRenderTriggered = createHook("rtg"); -var onRenderTracked = createHook("rtc"); -function onErrorCaptured(hook, target = currentInstance) { - injectHook("ec", hook, target); -} -var COMPONENTS = "components"; -var DIRECTIVES = "directives"; -function resolveComponent(name, maybeSelfReference) { - return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; -} -var NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc"); -function resolveDynamicComponent(component) { - if (isString(component)) return resolveAsset(COMPONENTS, component, false) || component; - else return component || NULL_DYNAMIC_COMPONENT; -} -function resolveDirective(name) { - return resolveAsset(DIRECTIVES, name); -} -function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { - const instance = currentRenderingInstance || currentInstance; - if (instance) { - const Component = instance.type; - if (type === COMPONENTS) { - const selfName = getComponentName(Component, false); - if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) return Component; - } - const res = resolve(instance[type] || Component[type], name) || resolve(instance.appContext[type], name); - if (!res && maybeSelfReference) return Component; - if (warnMissing && !res) { - const extra = type === COMPONENTS ? ` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; - warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); - } - return res; - } else warn$1(`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`); -} -function resolve(registry, name) { - return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); -} -function renderList(source, renderItem, cache, index) { - let ret; - const cached = cache && cache[index]; - const sourceIsArray = isArray(source); - if (sourceIsArray || isString(source)) { - const sourceIsReactiveArray = sourceIsArray && /* @__PURE__ */ isReactive(source); - let needsWrap = false; - let isReadonlySource = false; - if (sourceIsReactiveArray) { - needsWrap = !/* @__PURE__ */ isShallow(source); - isReadonlySource = /* @__PURE__ */ isReadonly(source); - source = shallowReadArray(source); - } - ret = new Array(source.length); - for (let i = 0, l = source.length; i < l; i++) ret[i] = renderItem(needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i], i, void 0, cached && cached[i]); - } else if (typeof source === "number") if (!Number.isInteger(source) || source < 0) { - warn$1(`The v-for range expects a positive integer value but got ${source}.`); - ret = []; - } else { - ret = new Array(source); - for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); - } - else if (isObject(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i])); - else { - const keys = Object.keys(source); - ret = new Array(keys.length); - for (let i = 0, l = keys.length; i < l; i++) { - const key = keys[i]; - ret[i] = renderItem(source[key], key, i, cached && cached[i]); - } - } - else ret = []; - if (cache) cache[index] = ret; - return ret; -} -function createSlots(slots, dynamicSlots) { - for (let i = 0; i < dynamicSlots.length; i++) { - const slot = dynamicSlots[i]; - if (isArray(slot)) for (let j = 0; j < slot.length; j++) slots[slot[j].name] = slot[j].fn; - else if (slot) slots[slot.name] = slot.key ? (...args) => { - const res = slot.fn(...args); - if (res) res.key = slot.key; - return res; - } : slot.fn; - } - return slots; -} -function renderSlot(slots, name, props = {}, fallback, noSlotted) { - if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { - const hasProps = Object.keys(props).length > 0; - if (name !== "default") props.name = name; - return openBlock(), createBlock(Fragment, null, [createVNode("slot", props, fallback && fallback())], hasProps ? -2 : 64); - } - let slot = slots[name]; - if (slot && slot.length > 1) { - warn$1(`SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`); - slot = () => []; - } - if (slot && slot._c) slot._d = false; - openBlock(); - const validSlotContent = slot && ensureValidVNode(slot(props)); - const slotKey = props.key || validSlotContent && validSlotContent.key; - const rendered = createBlock(Fragment, { key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + (!validSlotContent && fallback ? "_fb" : "") }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 ? 64 : -2); - if (!noSlotted && rendered.scopeId) rendered.slotScopeIds = [rendered.scopeId + "-s"]; - if (slot && slot._c) slot._d = true; - return rendered; -} -function ensureValidVNode(vnodes) { - return vnodes.some((child) => { - if (!isVNode(child)) return true; - if (child.type === Comment) return false; - if (child.type === Fragment && !ensureValidVNode(child.children)) return false; - return true; - }) ? vnodes : null; -} -function toHandlers(obj, preserveCaseIfNecessary) { - const ret = {}; - if (!isObject(obj)) { - warn$1(`v-on with no argument expects an object value.`); - return ret; - } - for (const key in obj) ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; - return ret; -} -var getPublicInstance = (i) => { - if (!i) return null; - if (isStatefulComponent(i)) return getComponentPublicInstance(i); - return getPublicInstance(i.parent); -}; -var publicPropertiesMap = /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { - $: (i) => i, - $el: (i) => i.vnode.el, - $data: (i) => i.data, - $props: (i) => /* @__PURE__ */ shallowReadonly(i.props), - $attrs: (i) => /* @__PURE__ */ shallowReadonly(i.attrs), - $slots: (i) => /* @__PURE__ */ shallowReadonly(i.slots), - $refs: (i) => /* @__PURE__ */ shallowReadonly(i.refs), - $parent: (i) => getPublicInstance(i.parent), - $root: (i) => getPublicInstance(i.root), - $host: (i) => i.ce, - $emit: (i) => i.emit, - $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type, - $forceUpdate: (i) => i.f || (i.f = () => { - queueJob(i.update); - }), - $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), - $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP -}); -var isReservedPrefix = (key) => key === "_" || key === "$"; -var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); -var PublicInstanceProxyHandlers = { - get({ _: instance }, key) { - if (key === "__v_skip") return true; - const { ctx, setupState, data, props, accessCache, type, appContext } = instance; - if (key === "__isVue") return true; - if (key[0] !== "$") { - const n = accessCache[key]; - if (n !== void 0) switch (n) { - case 1: return setupState[key]; - case 2: return data[key]; - case 4: return ctx[key]; - case 3: return props[key]; - } - else if (hasSetupBinding(setupState, key)) { - accessCache[key] = 1; - return setupState[key]; - } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) { - accessCache[key] = 2; - return data[key]; - } else if (hasOwn(props, key)) { - accessCache[key] = 3; - return props[key]; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) accessCache[key] = 0; - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance.attrs, "get", ""); - markAttrsAccessed(); - } else if (key === "$slots") track(instance, "get", key); - return publicGetter(instance); - } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) return cssModule; - else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if (globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) return globalProperties[key]; - else if (currentRenderingInstance && (!isString(key) || key.indexOf("__v") !== 0)) { - if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`); - else if (instance === currentRenderingInstance) warn$1(`Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`); - } - }, - set({ _: instance }, key, value) { - const { data, setupState, ctx } = instance; - if (hasSetupBinding(setupState, key)) { - setupState[key] = value; - return true; - } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { - warn$1(`Cannot mutate + +