From 0970cb573a62b16d927198691a335e08e951f82b Mon Sep 17 00:00:00 2001 From: Atila Fassina Date: Sat, 9 Nov 2024 16:24:21 +0100 Subject: [PATCH] feat: create template for Solid based on others --- README.md | 11 + solid-example-plugin/.eslintrc.cjs | 18 + solid-example-plugin/.gitignore | 24 + solid-example-plugin/README.md | 5 + solid-example-plugin/index.html | 13 + solid-example-plugin/package-lock.json | 3445 +++++++++++++++++++++ solid-example-plugin/package.json | 25 + solid-example-plugin/public/CORS | 1 + solid-example-plugin/public/_headers | 2 + solid-example-plugin/public/favicon.ico | Bin 0 -> 15406 bytes solid-example-plugin/public/icon.png | Bin 0 -> 47032 bytes solid-example-plugin/public/manifest.json | 7 + solid-example-plugin/src/App.css | 0 solid-example-plugin/src/App.tsx | 28 + solid-example-plugin/src/assets/.gitkeep | 0 solid-example-plugin/src/index.css | 9 + solid-example-plugin/src/main.tsx | 5 + solid-example-plugin/src/model.ts | 10 + solid-example-plugin/src/plugin.ts | 11 + solid-example-plugin/src/vite-env.d.ts | 1 + solid-example-plugin/tsconfig.json | 28 + solid-example-plugin/tsconfig.node.json | 11 + solid-example-plugin/vite.config.ts | 21 + 23 files changed, 3675 insertions(+) create mode 100644 solid-example-plugin/.eslintrc.cjs create mode 100644 solid-example-plugin/.gitignore create mode 100644 solid-example-plugin/README.md create mode 100644 solid-example-plugin/index.html create mode 100644 solid-example-plugin/package-lock.json create mode 100644 solid-example-plugin/package.json create mode 100644 solid-example-plugin/public/CORS create mode 100644 solid-example-plugin/public/_headers create mode 100644 solid-example-plugin/public/favicon.ico create mode 100644 solid-example-plugin/public/icon.png create mode 100644 solid-example-plugin/public/manifest.json create mode 100644 solid-example-plugin/src/App.css create mode 100644 solid-example-plugin/src/App.tsx create mode 100644 solid-example-plugin/src/assets/.gitkeep create mode 100644 solid-example-plugin/src/index.css create mode 100644 solid-example-plugin/src/main.tsx create mode 100644 solid-example-plugin/src/model.ts create mode 100644 solid-example-plugin/src/plugin.ts create mode 100644 solid-example-plugin/src/vite-env.d.ts create mode 100644 solid-example-plugin/tsconfig.json create mode 100644 solid-example-plugin/tsconfig.node.json create mode 100644 solid-example-plugin/vite.config.ts diff --git a/README.md b/README.md index 17ac5f4..a0fa7c9 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ This collection of plugins is designed to showcase how to create plugins using p | Angular | 18.0.0 | | React | 18.2.0 | | Vue | 3.4.21 | +| Solid | 1.9.3 | _\*: version we used in the examples._ @@ -46,3 +47,13 @@ npm run dev ``` Plugin url: http://localhost:4403/manifest.json + +### Solid + +```bash +cd vue-example-plugin +npm install +npm run dev +``` + +Plugin url: http://localhost:4404/manifest.json diff --git a/solid-example-plugin/.eslintrc.cjs b/solid-example-plugin/.eslintrc.cjs new file mode 100644 index 0000000..d6c9537 --- /dev/null +++ b/solid-example-plugin/.eslintrc.cjs @@ -0,0 +1,18 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/solid-example-plugin/.gitignore b/solid-example-plugin/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/solid-example-plugin/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/solid-example-plugin/README.md b/solid-example-plugin/README.md new file mode 100644 index 0000000..fd870c2 --- /dev/null +++ b/solid-example-plugin/README.md @@ -0,0 +1,5 @@ +# Solid example plugin + +This is a plugin example for penpot. + +For the full documentation go to: [Plugins](https://help.penpot.app/plugins/). diff --git a/solid-example-plugin/index.html b/solid-example-plugin/index.html new file mode 100644 index 0000000..832adb4 --- /dev/null +++ b/solid-example-plugin/index.html @@ -0,0 +1,13 @@ + + + + + + + Penopot Solid + + +
+ + + diff --git a/solid-example-plugin/package-lock.json b/solid-example-plugin/package-lock.json new file mode 100644 index 0000000..909f100 --- /dev/null +++ b/solid-example-plugin/package-lock.json @@ -0,0 +1,3445 @@ +{ + "name": "solid-example-plugin", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "solid-example-plugin", + "version": "0.0.0", + "dependencies": { + "@penpot/plugin-styles": "^0.8.0", + "@penpot/plugin-types": "^1.0.0", + "solid-js": "^1.9.3" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "typescript": "^5.2.2", + "vite": "^5.2.0", + "vite-plugin-solid": "^2.10.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.0.tgz", + "integrity": "sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.0.tgz", + "integrity": "sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "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" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.0.tgz", + "integrity": "sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.0", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "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/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-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.1.tgz", + "integrity": "sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.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/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@penpot/plugin-styles": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@penpot/plugin-styles/-/plugin-styles-0.8.0.tgz", + "integrity": "sha512-wliOf2seBZcj5Zc730NTmZhqy+8PjHNltWG71ui3V/7zOkNr4CAChNk9rPzPBOnu9VJ5NhZ0SJLlUImKwPYypQ==" + }, + "node_modules/@penpot/plugin-types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@penpot/plugin-types/-/plugin-types-1.0.0.tgz", + "integrity": "sha512-xvBckpjyLVKbTJ2ZsBWZskuWpDlnJONuQ/SeF/g0PLKTkLudCfO56RT0KeAhesxzfZoewu194/S2CHaZHoRjKQ==" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.3.tgz", + "integrity": "sha512-ufb2CH2KfBWPJok95frEZZ82LtDl0A6QKTa8MoM+cWwDZvVGl5/jNb79pIhRvAalUu+7LD91VYR0nwRD799HkQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.3.tgz", + "integrity": "sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.3.tgz", + "integrity": "sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.3.tgz", + "integrity": "sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.3.tgz", + "integrity": "sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.3.tgz", + "integrity": "sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.3.tgz", + "integrity": "sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.3.tgz", + "integrity": "sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.3.tgz", + "integrity": "sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.3.tgz", + "integrity": "sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.3.tgz", + "integrity": "sha512-yNaWw+GAO8JjVx3s3cMeG5Esz1cKVzz8PkTJSfYzE5u7A+NvGmbVFEHP+BikTIyYWuz0+DX9kaA3pH9Sqxp69g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.3.tgz", + "integrity": "sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.3.tgz", + "integrity": "sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.3.tgz", + "integrity": "sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.3.tgz", + "integrity": "sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.3.tgz", + "integrity": "sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.3.tgz", + "integrity": "sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.3.tgz", + "integrity": "sha512-HGZgRFFYrMrP3TJlq58nR1xy8zHKId25vhmm5S9jETEfDf6xybPxsavFTJaufe2zgOGYJBskGlj49CwtEuFhWQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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/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_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": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jsx-dom-expressions": { + "version": "0.39.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jsx-dom-expressions/-/babel-plugin-jsx-dom-expressions-0.39.3.tgz", + "integrity": "sha512-6RzmSu21zYPlV2gNwzjGG9FgODtt9hIWnx7L//OIioIEuRcnpDZoY8Tr+I81Cy1SrH4qoDyKpwHHo6uAMAeyPA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "7.18.6", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.20.7", + "html-entities": "2.3.3", + "parse5": "^7.1.2", + "validate-html-nesting": "^1.2.1" + }, + "peerDependencies": { + "@babel/core": "^7.20.12" + } + }, + "node_modules/babel-plugin-jsx-dom-expressions/node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-preset-solid": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.9.3.tgz", + "integrity": "sha512-jvlx5wDp8s+bEF9sGFw/84SInXOA51ttkUEroQziKMbxplXThVKt83qB6bDTa1HuLNatdU9FHpFOiQWs1tLQIg==", + "dev": true, + "dependencies": { + "babel-plugin-jsx-dom-expressions": "^0.39.3" + }, + "peerDependencies": { + "@babel/core": "^7.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/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "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": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001674", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001674.tgz", + "integrity": "sha512-jOsKlZVRnzfhLojb+Ykb+gyUSp9Xb57So+fAiFlLzzTKpqg8xxSav0e40c8/4F/v9N8QSvrRRaLeVzQbLqomYw==", + "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/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": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "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": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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/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/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/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.49", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.49.tgz", + "integrity": "sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==", + "dev": true, + "license": "ISC" + }, + "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, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "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-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.14.tgz", + "integrity": "sha512-aXvzCTK7ZBv1e7fahFuR3Z/fyQQSIQ711yPgYRj+Oj64tyTgO4iQIDmYXDBqvSWQ/FA4OSCsXOStlF+noU0/NA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "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/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/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/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": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/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==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "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": "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", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "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/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "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, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "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": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "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/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "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/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "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/merge-anything": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/merge-anything/-/merge-anything-5.1.7.tgz", + "integrity": "sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==", + "dev": true, + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "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/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "dev": true, + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "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.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "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/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.3.tgz", + "integrity": "sha512-HBW896xR5HGmoksbi3JBDtmVzWiPAYqp7wip50hjQ67JbDz61nyoMPdqu1DvVW9asYb2M65Z20ZHsyJCMqMyDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.24.3", + "@rollup/rollup-android-arm64": "4.24.3", + "@rollup/rollup-darwin-arm64": "4.24.3", + "@rollup/rollup-darwin-x64": "4.24.3", + "@rollup/rollup-freebsd-arm64": "4.24.3", + "@rollup/rollup-freebsd-x64": "4.24.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.3", + "@rollup/rollup-linux-arm-musleabihf": "4.24.3", + "@rollup/rollup-linux-arm64-gnu": "4.24.3", + "@rollup/rollup-linux-arm64-musl": "4.24.3", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.3", + "@rollup/rollup-linux-riscv64-gnu": "4.24.3", + "@rollup/rollup-linux-s390x-gnu": "4.24.3", + "@rollup/rollup-linux-x64-gnu": "4.24.3", + "@rollup/rollup-linux-x64-musl": "4.24.3", + "@rollup/rollup-win32-arm64-msvc": "4.24.3", + "@rollup/rollup-win32-ia32-msvc": "4.24.3", + "@rollup/rollup-win32-x64-msvc": "4.24.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "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", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/seroval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.1.1.tgz", + "integrity": "sha512-rqEO6FZk8mv7Hyv4UCj3FD3b6Waqft605TLfsCe/BiaylRpyyMC0b+uA5TJKawX3KzMrdi3wsLbCaLplrQmBvQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/seroval-plugins": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.1.1.tgz", + "integrity": "sha512-qNSy1+nUj7hsCOon7AO4wdAIo9P0jrzAMp18XhiOzA6/uO5TKtP7ScozVJ8T293oRIvi5wyCHSM4TrJo/c/GJA==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "seroval": "^1.0" + } + }, + "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": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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", + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/solid-js": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.3.tgz", + "integrity": "sha512-5ba3taPoZGt9GY3YlsCB24kCg0Lv/rie/HTD4kG6h4daZZz7+yK02xn8Vx8dLYBc9i6Ps5JwAbEiqjmKaLB3Ag==", + "dependencies": { + "csstype": "^3.1.0", + "seroval": "^1.1.0", + "seroval-plugins": "^1.1.0" + } + }, + "node_modules/solid-refresh": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/solid-refresh/-/solid-refresh-0.6.3.tgz", + "integrity": "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.23.6", + "@babel/helper-module-imports": "^7.22.15", + "@babel/types": "^7.23.6" + }, + "peerDependencies": { + "solid-js": "^1.3" + } + }, + "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": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "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": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "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_modules/validate-html-nesting": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/validate-html-nesting/-/validate-html-nesting-1.2.2.tgz", + "integrity": "sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==", + "dev": true + }, + "node_modules/vite": { + "version": "5.4.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", + "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-solid": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/vite-plugin-solid/-/vite-plugin-solid-2.10.2.tgz", + "integrity": "sha512-AOEtwMe2baBSXMXdo+BUwECC8IFHcKS6WQV/1NEd+Q7vHPap5fmIhLcAzr+DUJ04/KHx/1UBU0l1/GWP+rMAPQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.3", + "@types/babel__core": "^7.20.4", + "babel-preset-solid": "^1.8.4", + "merge-anything": "^5.1.7", + "solid-refresh": "^0.6.3", + "vitefu": "^0.2.5" + }, + "peerDependencies": { + "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", + "solid-js": "^1.7.2", + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@testing-library/jest-dom": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "dev": true, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "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, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "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/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/solid-example-plugin/package.json b/solid-example-plugin/package.json new file mode 100644 index 0000000..703df3f --- /dev/null +++ b/solid-example-plugin/package.json @@ -0,0 +1,25 @@ +{ + "name": "solid-example-plugin", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite build --watch & vite preview", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "@penpot/plugin-styles": "^0.8.0", + "@penpot/plugin-types": "^1.0.0", + "solid-js": "^1.9.3" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", + "eslint": "^8.57.0", + "typescript": "^5.2.2", + "vite": "^5.2.0", + "vite-plugin-solid": "^2.10.2" + } +} diff --git a/solid-example-plugin/public/CORS b/solid-example-plugin/public/CORS new file mode 100644 index 0000000..72e8ffc --- /dev/null +++ b/solid-example-plugin/public/CORS @@ -0,0 +1 @@ +* diff --git a/solid-example-plugin/public/_headers b/solid-example-plugin/public/_headers new file mode 100644 index 0000000..c776a47 --- /dev/null +++ b/solid-example-plugin/public/_headers @@ -0,0 +1,2 @@ +/* + Access-Control-Allow-Origin: * diff --git a/solid-example-plugin/public/favicon.ico b/solid-example-plugin/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..70e70bf5dba6991103efa6168f2afd247a07a49e GIT binary patch literal 15406 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 L`=18xnFjs|Z!;rW literal 0 HcmV?d00001 diff --git a/solid-example-plugin/public/icon.png b/solid-example-plugin/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d8b176171a4dc93114df6002e7446dd3a491f4e4 GIT binary patch literal 47032 zcmXtf1yCGa(>3lI+%;%|yA#|!xLdH`?vmgTECeUGyX)d^!F_Re_kVca?=K3rYG&t7 z_r0yB58=v+Qm9CTNDvSZs4~*xst^#6LBMZ10vvEQQw&h&9XXZzgrXgawbv2kz^t!in&~$o8@(KqjRQFIoubKRJvIo z6cJ_wjcoE4i!Ve3>7aew$Dde5mL`SQc|3jST*zk3qQX+8ktH#9oECfKbQ3ZWbs)jzQN&4#vuZZcnK(HH0*qTiq)T0H9Tv~62GXe89MK2hJ%J}EFeNJU zh{R8i80U_|{8+#>(Z+2E9G(e8V&9hl9)|aCjUht1ZTQeST;Cvr^B-HW-yhUi6XOT2 z)N9?i(*uhKDK=xAWPqmTB^Ww2-(^S-;8qU1MFa02VSq~y`EjqmUF#5$V>D54Q<)>S zBC&#^b%-c{2Mdulq%Sda&Y%>1G$@&3V4(s*^a7E$=)N|U&Kf@JP{3Lu@xO|sp5Qy` z=T&dkT7b0?Aa-+KdOAuq8RKjJ(*kKf0IJS^!Tm0^XpT%|(iu}l3@VT<9nH+zE(8^2 zY6&9n$an_$3sPvRX@xVDLf=Y1NRU=ipr)q&696GRYQe6d!Fjx@Iao>5P;*#XZ@W|j z9od)jJ40-iP;1h8%E~T41PpgirGZgPnE5d2`!+z*sAo5A)OvfoH_N@Ym9Lqstglx3 zE8O1+CQR8&S#&~@2T;V331Y3`cI0}7y5Y42D!9vNKD*xaM&ROlMBrkSQb$LJr2c{q zmpc5=A|DR>+NYN!Pz21g=W;W0VH&!80s{f{{Niz*nRfp&pmdOs^?A7oYZ9_r7L~>U zJ%kDafw%|n&x}U!@u+$z&7i!}?$hj}PefkBP)pBdZbY1%}5LelQO@|SRR2V!6qn9B<& z8u$6ZZ|Y34{4AiXMuR7AnglV^C4XZI2b=c=ww?J@_rE3MM-L0RUwNB5_O)rppio?f z!VCcK5FyX{9{U5L&9@CF>wXj2lINfPF~a}dLC13V`5CpnJ&_rjCEJkH_-~g}Ya~e^ znCHJ$SqTxU^Z!;>Uh+d_C`#GN=dGMlrpW)FOnlS!MOH$7vz`qzmBBv65l9Da(v@1xW=>v){!X|zN-+nDT7DnNT9GQ8z!9=Uvyu1wz_POYTkPH<3N zSqM_(7z>I*lk1si+60F@LB5wHU68;Fo8aG-XmBnUjHc=qLqtVX?fa$gZ6-W%$N23h zNCD$rg=li420@YY@lDZw<-;Ix`4q-3UxQ4D&JmGMN zfoa}f=MqcW)W4?K19zv^gp$yR&6&qqthzg-Y( zeqRNNAAL9zy3XLwJqdICbrL&}=-u!pdAT8LO2(B4g=LM^UQH67p91YfLW2qrRuDFT zXq6D&uc-gmG=)c0P^!xD%570UsZI=R@V-~+qk;jk=`rDm)n?{-bhhJ$JmjA#J`BNp zeK!=IOfxWBa|Ug36VW$oYl}OB#mi~$#5#%pJxV;$v!D`qEKUgQ0uv@$j4_! zc6Fu+h?Vv();V5#;MI;BS4vbAiJ-iwbId@XDFtw{ld$jG<$r;X=0p1v^&qx0OJ8=@ zZ6lyg9P5jz^#AUDup}2#+t;GW@=N_v;1UDY_jib^5Kb(Fj4(ZOvH|S}p zqyfS{!ajDOd#sh9=Z85BcYp~}%kYPSj6unsK2R6NU8=UJq+0z!h2iqwtrS)eu@pSP zBy;R`FAwZ!^>~c_lRAl^gEe6MVD&yC4@3e9OU3OKf&`Mr0wN?gJ{Jx%)nT+iZ_4-k zJECUTdBT_(iUW&^4lw*A%b0`XiMZ*6z#;J99K>SNZ?gnH?jv{3}YZExl=vfbhQ8(${ki-R)(5gjb$L9HTx;)63eT?H^V#*urAD^&6dqJT$B|GS+D z@sm+-Ut!*` z?!dT^$FW*vluy%FpCSnn4(^*>2!DZPWtu~Ezif_I#MxHci~(CxgSdhW_^)6_m-HP}Nrvyb|GbZnPuncv+F~B%%NR_M zFkl&z2}7_#ViMsyWl`9><3hUS8?AloN=c1we+h$;yqEx;ycjM(PU=i8m)p7SCLGpy z->`_W0}Lwf=Us3qN3SaJ)+{nwLD-O z*Bn7{=>aD7uzWr16Unq>?P_E6wltqOw4#moN?41sEdevnrp1IQ10kmJDhavKB3`gs zE16&)drOv6Oe4`oYd)*>7ekZ;r>n2NiGx**NqYYw*2j zD2+!h>yi10i?wO$v1@q8W6IDvB(Hg+$PMN2eTXw~1c+lG90Ig5$jx-tlrAH1Jsznh zm4P8<_m|*VBnrXd_5g;zGC`SvfQf2u$s2wA2V1Sy^j1NHFK8WBTaeHPf-I37m4v8> zdGHwhFfo%~19__B9u#jo~gJ(=&X;$^f*>QVxN9@hIe0uVhAJuqpl!PFmn zFLy_jivI58^7Mojk@6lv3Y6SZL(Plt$0OI#z<8kJAC1bq`1szRj<_FWB=3w`nNLqH zh)dfVE-mxVWFB&W`Ri#hn{X>Su|G7iH-jd477_Pvyw*G(3Z{>i`G*Lht}&01#ufGZ_g72BWvD2aIeur=KxYgoF{qFDKU{wM5E1$pz+I1Q z9pTuwmIH#IA(>qsu9 zYfsnx;UcAflq05ZB>;S4+X=1;rwIj*$3(z=7yGyWJ<_Y6qSDv75PB>rEaE&Fj#HQr z+2UmifmV>gmpJNNGH57{2G{_iij)yKWYT^!KG(W`QIgQ!cVyd*sJeB3{CJdOnwTAk zI1Gmny|CE>_X4ELQ6VP}Tm)`oJDo?KN9wsGu>4+pk%J}2CaoXQz@% zN5cL>dz_WOVPKM$)YCJGs;RLfrcf1?l}!DMqBO#HP?n>Dxdi&Cpz$V{g`bhUfu)sy z#!4n|k!c-J*47O41az<73V5i^7g@?tF$cxo%lZ$fZ4l}C^%Mgp9E2X1Q~b@RC6V=9 zeIFOw?;x~&X^g71>bT6YSkUNmq$h(h_@N-Bk%KxRVVnM70k*U;qJ)P`I|*w=A09<= z@JuH?z-HJ(~k`)0$PbkcfPcMb!UQ6->lLFgU z$ixShrH;<7CR}#<;LP-AJe7IYDk(tfx6BGRDAa-R z6zV3p#_u)1DEOqks5tG$|YaMPdZ7AAAp$yQLzJtrRmM4EdSO@)xuK-_V0j+9t00*V$i*obf;VY0{PoCCwbao@o=8@PP)1)(Yy|B|cA=1XzIx z>uE3srH&C+(geU*U=!+4uqsgfR+${w$P2x2lq)zAwY9hN=&4%NzA9^o@lFL+Q->7% z!cQHps5z-iTUKX9ZNgXxOe~{wpy)NP_TGdPKzK$%nOyj-n8NQ(b2RTGZ}7cfuAqs8 z+khKAcj}gNjhnwSyJtnzOax``x)Yxaeb$=K1L}-?rwl<40nkSn4r(N>cT?~5ZGL_r z4G&LX)YpA2U})P(6X(0Av;#T6`VxIW&!! z@M~#_Xctf;ut8O1$==EcW?QfVFl`ak_%^QOzhm>!|ZaeprZcfI00_20I(^F?p;MP9HSA z9!7fZ-B^Z2VFWpjlM8$biB3bNTWB6AxFy*|OVuHgi5!FjP47!csxv(?x=qh4W&ciT z4=4s9iKsoysF7?ScyX;sw+2W^8+$QHeeppd`|KH5%G8PxEb6n8E+eVK#@u;ZF?KR? zBqxI)Lj&SRfItt1KZxVS{(72UU2pK2JvV??+MM~WlrucrrkA^Rj}6KSj|CNP1r{Qm z-IQ%)%{v7^2+9?BKZeI3?G0r4TTZNfNqZtLX8g$9u%2~^MH394qS8)R!YAS@SFTg= zNG^em1KkNM2jc6-ycT#4wEPv(-(>daXA~eDi7PZ5e76$T*qA)GoBofQruXvEU%0B- zSIkDRBlA@puJ`$YJ$Fr7(u^t822FLoYzZ+2Qs#jR`~Cw3Gw?{y}~I*~IOD)Q#CBr1tB}u^!h8 z7cXl}?3!=j;+~RNrTfrPgj(uMB235Qt`t(F?K)2498Lmm+>h9Si_JQ(jLfJ(V(T;; z9#zepy5fONbiELlw|cnAw&zrSpbt9w5P^+)jnDLzWmk(S&6||0{Rs+)aXM*~`$0{A z=vv)ijsCV&$EW{UqkWMqoQ@;Rlo68?GkSD1Rn?!#9&RqCN=r;)J zT``Y^yPx`1}hNPE#ooIF4R8@j3d-^=p!6pDtbJD5R{A^ z4lUDTG36Y40UU1?B|m){2R&5pmMU8J~-OVy@QF4h}EKJpE-)vq-cqM z^d+j!HEM_(2z9gw^vqz^yk5d&v+gF$PjBZMKu26yPY(qz9TsVP!GC*#6k!uF7&A05 z{Y{XTnvMLY!<+PNB92i*Q6|(c2)#gTgU8yXgbXAEsqD`Qahv%A-|WITfiB@;Ppt9k z80+o>KDe@;7YbfRCZ>_U5@gFdy|5(WWu};X^2Mho3^Bs;E)I%Q&XBYZMjq-Xgdw!6 zwbK4Luo!9}s1~HwCO#x#RBYRJz!{ogm#q@P=}0PT2C=|etEe~cK1rg{IX}<{Y9*f zODdaXNan())q(^b34L+)Oq_($=HBx$;X~%o8WsP{CtuG`1|a#omK8(D5-ZDA#%@d= zbm2UG&~(!`Hx`jjp=O`k4aQNPE0;Lp-F|9X+Vh_zgyQ4}7!RJX#D!vJsKo`MG1R83 zb9D3a-a`@*pO)Z`-RAO60~}z+H#oq^MgmMFm}VS=O-E<*m;G`|7&x9zD@~wwY5B07 z!W*JvRT@~j3SMyoJ^!f3Q#m7V!uG+a(fp!Eh?~!f{M~m_@r7Y<9gsR1oQ_HW0_w`E z!+HD>WImx)!>*=%yCyd(H z;A#qsgDSQChaR3p760}JNHWAgr4iVFQr|!g=^H3LC%o+WqZI#>kDolZ2tHt$)N@IJ z%}jEr07NVxh@?S-m0#A%junWJTzJj%N7s2$X45ls(pKdsQ?f`HFnUpSa$3-J{LYt| zAr3IZxzM}Na=+Mq=*Q=UXs!9%Q24hVL&+DMHaYS=63{8{vLZ=Tvto z0rn68B%QS23}~3q)R*==h{fSi#9HKE2^>mj59t9hKW%_oL8#Kj=S-oBg_mP+ZR}ymrF|iKQeq$;iC)l!S@3FVjN&jNu+qhq zjUf6ynm=DITeLpb*KwP&{Runy5;{ouY7j^rYFTwQ$fUEBc5-?~J|yi9zZ{@Hp1Fd9 z$qzLk4Y4NqPtIMYyXT9?=>dESuU*bu0fOG2&3G!aYf>rGT;FCb$>4CgpZcMl$!(m< zVsa#M+-+OOa@)CD0kEL*^iAUe6Djhnt6vPE`R?<|jN_?%nG-^Ky`Wd1a-no^e17o( z0EwLe*UrV+3BXT*W7G+0%P0t)N*FCNNSsY7(noG)cai3dr=>Kf&Z@BnmNOC-lD7Vv zYys?G=^M#hwmmSqxt&;W8WfVs zBi8_ms*!p&5xL$NkdPOoA!RwaUOWKD*FNWJ5^$OT9Rz|GzR;RMT|>jgNvf;c-RDZ? z{A5%<@wv%^>%5m_+!PbaH<{>QK7DG_WHdd|7DtL`b`Ja?;oC zt~c@diW!ek6lxK`Q{pqZf7ejqxZP#^a>i{pA*s}??)1USvh!Ql4sy-7AozEht-}bN z9=(9+5{u~pBg3{N2BbUl{p^lUZ}%F&rWp)MAQNwXdpXcB^tE?ik58pca}8^u9HdQ5 zJV&`rI{PzViu{%qT)^m!z=jgGz)XS#|JuXD1A~B6*47qVC2k`mw7Km0 zAH4$5LJ+hMI5sW3S{l9e{*4+|-rcV2$d55!lE4mBKi>TS7Ar?_!0pD=vP3u+VoD|d zoslw}7MYo6n58$nODEv*XPx`I`PMEJmmR$kP^H|S2uthx22*Z%dwF5t5GdNZP*+#0 z0Ffg;Ekn`mD`Cn3J$|%FPYDj-qiFLh9+j&v*L=`;sO?LqQKmL^?sXRrztI=<8}#EY z%#7epVMynPAuP#>Mfdc6U=wURNs01h#JqPk!elL|_V!1dW;@E-8a;(0nze^%WLj4* zUPvc&mPH&LLTlG&%aMW5UhGZ_5Q;>+e<1vY$BubtzuDN(7Oo#0uli4(cF6p-8r|oX zV$}tv1nXx8V~;O3I7Di2m6U>b>8fsHiwIH<0tTQf>1EMmD!_>~GrbdK3K`v1XaD^h z4wdT!*S~d4G}_EftyOrHYir|2!@;5N_vB4Wu{tkN*RX{s#xFhJWyGd<@08a(DjqpQ z(r=_hEY;qepOvk>7PB8x=x#BBiC0+GMRyv}* z$cC0(SN0BhD+l2MXbH(_Ls7MgmWO$)fO>Lz@uebCQt-Z^nL~3Yx1}sF4^lG5_iiIZ^s`2npQW>+5md3H0^* zT$Q6YZ*|bp(YxyW#n1?kK(QR|os!SsNWCzX0`DE=*2{eFksA5xG=6MjenXNX6bLCZ zTw1Bl{k6t+>jT3fC-Oc${5X`~%rHbgW(-7yL<_n@bJ`FE^wW8N4z09Ywc$)Ddjwk2 zc_Y!OMc=SJ4#5P@#r3t(dB7S9!A$bs;3qZ@BQi>=#O5XeoNBF4CB%QR`AN3MH~q(?P$wd48ZA;Ud&#G4Cl!U^9Rgn>PM;{9sz8zz`U+ zLDT;*qM^aSUbWqc*z_vBiycv(F4a+arTqPrBL5^Q)!9KAHOw? zvX=|Iv?cHTn{)!a0azKCYcw>s$Iu?z>Z;a?7(+(Jhw_?u;Dg>)nZ~jU7Yh3MASppq z(T%T|9uXKRQsqtNWE5egVg|tQgyzL&axMD5D~4dq2JS6%d|1S-srMCw{Er> zpNMTiON+I8Q2Yl~R(b7Tw|!DlS!EHpwTA6>W{7{uDRJ@_xoSL?v|_|tk7#dPB8HTS z$*1s(>cU=?Y3-xQM3Vo{1=uqHtf=Gnth?7bvJBdY@) zyxd(ee`vPEkn^Rbj|bSe73H=1ObHI%rakw zKcbAosdjp3WUO~&q@K8x%63H$6o5I+GSak;c!9c=^H(!>zL+S%xcZNFt2bxoaibxl z3`M3Cl8EDv*n+Wih8WOCs^E&3Wr^pjzsuPET4k?~@QT7V-;?de!=iU?SM+k)+U-ai z`)n;lMIr4^m!-B4Egwj|1h;Z?n|b-u#0~cl>PW3^x2MHIwH)tR(n|G}=z!sJJP>by zypD35HStT-cW7LGcIi{-AKwFoPo8IL+P(v33I$5fMn66urjvY3({8pSI3Y=;hPvai z1fTvVQBW|H_Vo&tyzrGv-++*wUVm@xZcTai)rn(Er|{k09y`xy$FJd%xv#sg=g`a6 z)-ASsHXN5L*`g@GWWmNqir(7RtZ$>o#}5#xq(twQ2p@-F+=>dG-D}%OGM2DxUvZM) zc&Rq4Eil2#ruI#BePp|*ZDW4RyvFxp1Hrt$@6&QqNXu@8a4o|Hlmn_@FG14`lD2VM zz}tq26DBZP-HHTySue?%PYA zMjyFqQXuo&z=_9e=|F3 z$na^{v;jQ)Pvg3Nf2J=y3t?1mzj$-oq`^0742e+L2RpGlcO}|?-@o_RvL;}s76h5o zZXF#ceRU!2DzHB;*0ikOlMa=?GBY=Ou`b{SZINU`?_%BAH zB{@vIC|$0*Cz~{+w?PmP;q>`>diFjJMoKQ}>5oO(pU8bl!^Im&czGI0RgxLSMP9bC z(bhB=SK8Tm)-zCS$NHka14Q|rnITi&w_|#FV&P%)Gdv((|5~&Z7#q6{wIRHQVv`lvLgK;PM}OtYJ)^aw?B}xRJ3NUxH?e%`HhzK|zn$)9XE*%*JUeS!Tw&p@ zfC^7YsAsW(RtkBG`&_v(It9t?=phn-&OxGgA2NY;#+fXD9@YUwn!i8Z+pM2 z-3A&h;bL7Z7S3@J8E>NI+Ot?xPnx*p8zwW@FaA+JH%J&1EQiikT z<%*3`h10B#-E_N#g2{+mlHWSyJiu|5p664rHIF}^q*%Sr*Eu}VXQOdGtyYB$!xcs_ z=>#yw9cH!?pKc=500T9-Z!qs%m6d69Huqck(1FAKeejl2$M!n1!OlQd>skcu)5FCk zxGV3zSQnJvV`BV#I7@s?b9DEkE0}-`C%@#gj>_uNW1-r@`Xngu(d%}0UQJn7t`v)@ zu$D~~0PLDaGX&Kxpd=bpHP=OSDp?aX2NU*$1>O0YS$(k^hPiZ>b??o#S^(w$xBoSR8cmGbxAcMn3j?idEq?elLYzUz2pvQLko00CNan z3Wp%K=F$ImlhvX&rSHsV)E8ZFtSiSP?Xmaa{=BP5C4^6fbaNFNzR9KsuC!C>_R4gp z$x-kXx&X%2&d#=^!b0DZ*JfmRK~-(q$|ac!1|HU_hts+F;8E`4&ROvbnTWG9a*A)i zd#iGF|9PDwitHRyMUM&Vm220Y?I)eHQ7fB3%z&4rHHN7KcNnz*bLqc1sm@!jR~}pW zw8W1e{9gOG)7__T+Mbs_SlifjhIoIUBxi$4KSEyqjQi>i4wzkEPfU{VbEv}l?4&P% z3irXsmw=FT{6R)$R7R18n+`!ZH!k8gt^~GbTAJ>?+ZdmL=a#>Rm)E~WcQm-*M??GE zsj#d{^ejInrQo8vTNcmi7Z!rLMczXfzW5$?2xJM3IpGPUt?=t-FZkk$z}@Q^*k$ZI zXRa~ma)3zSY1P%E=dhMiGq6x)#m~Kdfw1m#m$2&l6dH1VD!o@(#P+V|NSMUX<=#inK3d_8^}NWHc2u*vN92Saq!l>BpM>ENr?&UnY@Tnq@R*-M^f^J8T_Bc73v{*?}1-+o%5Ete> zzKqZpwM!@VhwEU8-oD}1+*hFBt!Tb5xIInYgNV6Yn*19TrChl$|#!uI7$3~FiKlX9OeGm2iz6eX+h%1eN#e|TEdxViB z1vhRirG00XUpW;T$NSxZ>s)z0i{F!h+Q(DN*uDP67(vBjImDP~-~rs5s0m@eq%emk z%}uFc#%8Zq!4b&Ljlpljj`KLaOnBP%~j+pXlLjIfT4Uo3BRXcr+j5 z0JjCUD5h?(6lBho_F%kf-*&g*^msc&L1FN)f(CTTdbS*AZFk{iuSuvo0ALC}!zrpV zzs1_d`eLgL#V^-r+%UMFwAe*w#7$^GdWS8=@}W38s=-?doP%sxwS8lGo>X1)_#A2f zhr^dt*fjy&2pu>b#Q8}~gc%6{Bi=omD9fY13<}~|Sdf-+t}Ux(D7E&uDvt$vb>o@y zz(3d(WB@&2^#1_ioK?k|%D?Fb)xM5Df+HZ#$SwJxN&dy%6^axuCAdl|Il#R9GNa;P zrgNS+nZGz2IBU@5sL0Px(mnG^Bzk+rK>bQhvF#+P8V^j^Ao%irtz3P;lDWRxY8;j& zG+&|6`h+`IzCKtp@s-uOmt4DbsX|&oW;?oZdq-}zapuD=o=j1e^T*M0OfZSKys|)R z`WA{j$OEhZI_OK*U&S<|_!wF2K5Y&Sv?9r`S1jE6?!~M07t8L)#=}u^+P90=8n$U4 zh~(PjHB>|=s2RxvoIiY6(9$3KE9r?GNwt&Ib}<(!F7b1!(Y?Z?;Uhp0n0`b(UbM-Q z-cT7nj2Ma~3NY9s?1F<_6BUQ;uc>um#Em>8*!n9%6YtZZ=4dYU3&AItn!1qS)vv?n ze*6l6!E081@!DUR_C`Cty46IB7MhyKqp)vovF^KM;5w1v;Yg%*?xuZAHUTp6dQy@M zlqU&^xR+=w)@bu>!IOvG#Z%4REf>BP&o_+R*DwS&-A|+Ux4I3P7>#ezSwiW_f9SkP-M7}4 z8*3f*#<%=%w>P?)5fSxLG8L=RWDF8Hx!Ij|Wci3u+=;oG$j&<3e+?p-&zMZK?t2N{ zd;BQtSR?Jw<9mh^h^oK|Y$*4jGPHddBv7lTBEeeJgz1IUGktRv5R$IJOyvvw1s3`0 zclmQw5$xbdU`jjTHi!rzFxh&Sr3jIS|AHJJuV`H;{Ww#bXVb+*)*=_Mi%WQSde>Y-1fV*9e5sEn8748ep~!* zw=ODt{Le7LCs7>?eppRs7)h``h!>}#90QkdG&zf@z>w@|T+#pe!5uC-bzJGF+~$0t z8#JkG(La!NebuX|F0rGB-@=~pvKpg0yEKd={IVVYa?QI>&Kd*T9;|yL*uHmNgBMr~a1vYHkaa1_yhPcZaM4&?m%+QB{(fBm2 z@N$J;Wyb^QR>A1srrryjy@#(cULW|Hu^Z~8qo`);>Z=PoGWA_uvAH>U%@vzRWo0)v z6R}G>?K#sP_U6hJ>!f`Xl5G z*zV~G^z6G+pLOZZs1ZxmEr>f9Rp(a9?w|>TmZk+^eNc~8oj+)X6Y`;Jh5byPpHkT< zGkC@2)wbfgvjUvvU#b1x4+;C_nYFxmXB}~vTq-J=^P3$9wP_g%d78dnpoZVW#PZ6B z=}}M^AhC;zjQOf=GiY1wa5EtcSi7Rz{H*rp8r9{w{)!g94hH&-=yq?Q{i9~48#J$p ztc8O5lav?&xV4ns=g$Lev8-`%@?mov_zJ9Zn(9?$MMWcAK$v&5tTebMingt&XrMps zv*o&)qGcplV2-U*f9OJZXs_|`o6>c0S?Dxk)g7&KspGM^vBUFf58OU?aZ9vS(T(Va zJ}7!d6{)}1&~$)-4$PNE#7V`#BI(l1>Xfi(xuN=jRSdLs{bi;19*e`@m%Rv3^fG_< zcZ&w|Ftf&~03t<&8(a7Yz!MQIs=Xy|Uw`K1rFK^_{zS|2>kb+D&8JEsGLni`xfy4= zB?2jPrDL^1=mZy8*T(uD3>F0%9gHJNPgI~S7whS1rsGX11Bv9cw-ewH3_X{9638H* zI!5thVBRZLJsK(!>+be&1B;mW`T#w#OcvOvgW+?1afFUkXbO6Ax!D5Pk9w#qi5MFn zw6UoQFjpeWUUzQH&BS-XCmU^q$PJsu*VHt0nJ0Z|v*WBhI-V+-bB(CqUhKl4JD@nQ zD$vo8wnvoK>uhM1b-s@0StVE9hMqFdN{Wl0KUNt7dUid9gvM4*4bCiReRz2WlGahTwq?iGOH1-RbD;@|ODT7hdXTvP%l zy}{$Dw`qGhxmbRaI!SMDemPfRa*)yKqQt+E>{$>2fUe-rO=w^2VE`WxS=9YqK$*C|4@GySQ&JzF}ld4J| z+UW8IP25CL4&_)R?ExL$AfiBB&Qv0RH!Sz&`R8h)T2R$>@6PtTvN7 zHIICeBp-FPIu=hiyLb}38=8sN=p~DG$a&siMmKhnc8{wNr*>NYuM6`h<$1; zNPym!f^S#|7DiZjT{z~CUxF#k&F6Y?_&&_-++uvkw(G%aQ|IPbIh%B&%k!Yhl0Aq5&y@b-P@Fdp)$kPnNuhQU=f)k&YxZ> zuDm%=TTP(8|5yc|UN1ZkQ*B!8KV`9zLo1touslT|g<^8q^ci3^Ga?i6c;ZbfWh0>z zxE@dhJvu7KS2Ej2tAY?NF^7Pr4Q z5YZD_Y+L`Cwb1NWxr^f-ZO7qhT$LUuMp+EOw}vC;EP6PCwu)01ZY&rVta!{fZniJ_-nqj(#?<^1bt>B;vNWye^`krdhz7Tci~Z z#WVB_#U;uZ4_D{>8jm+`_|?!7bDu=sS(p7Ir@o~x{~$zOr0Me8bQw4*c!VzR(k7KS z{_)Y{YAPNtETZm2pthkRvzVRP6mXxf%kmN78)F+i`llnGCV%?lVK3+r7gV=r&^Fkq zEmC?ew5kDndKcSr-jFo7F1jCOnNu8$CvQH z89$z*U+E%w!&fds&58py%&!R@?asE=>oYT>*H^Fo_C#f+YMIG@2HBzEzz5yQ{(^xw zI5+}zp6s=qZ|{e4S!uUScNA#i@N{_OX_Iv$A!b>|K<_xj_rd9und>_fcxQgCzI8o% zevFE4vVp|Q^11Gg2pc6;1va58_+rtrL~xA5C_Oj0$d|)K&>>^kS!?IDb=P@zr$JxN z#l^*8O@h11sowQqSx!x@xiXTPMD)(KsKn%zxwFb>0F6ss!?CD34yZ7Io^D#Uzr@8!j>|0JKGJQ``OFKISK1VM*>#LpR(JIf+_4}rAUC5}Y zBxlWy20;9dCS5h{cChq&`kZEl-STi=H$8~1db1#+GDphWy`|e&(_U~zo`gfz*&pKA zV0i#NGcy+lOvIBkE};x5p>k3L?`8EGH!H-|Y@jRO&dE}jw|A5l2J=BSPW+|yR4f#T z)E|pD{F2}2p|QUOVnajiFu%OV?I%*NrNgrc1!-`{vk%@|Q!^94jZMnaR&3c(UetCt zfMow7!Iw_$v?!+G0y6nIcz5j2Ng1B)%uzEZZJ|{7`p5f6CqENP*0r@~0}Y93#5*Wb zQqpwJ*$yluW+f#)KEC@yT~Bj*BAvrf4`4<7WJ1FG}@c_Dg+&EvBU)2!%C3y6{O zBC8fc0J*F|f>sENpalJx(YEW$o^~`ap=2D0G5;<*?09FUF?;#-W?tWw)%fqFIhEhi zQQhMyS{&JYmcttzXQ4FQ?$AkDe>^qWLD0g%2uW}kNJ=iV&^^=6oaQ|i&!i+z&CEP} zG!HAJtwbd`RE-}NgstuCR)d8VXfsE)bF27sw6xrswB-g%$j9ele)qlg5$GtZ9VW?> zOZF|84d9>)B_y2yl+aN~D6jCN^N8?w3byXoq~^j>doIZ<~Ebj-)BMrVc5Wf;at&x;$)%b@Ea!> zD5Y02!xIt4JT-?JOe8L7^@~e>*w~RMDx?K=(WA+6&~ayZRv0fwnVQ*@~2m0;WpfWl0flg0Yq9f^VM4ScHW;L?wjVsyw6Tbq0#9q^z$S!%()(iS2zvNsc8DlMHy~akg|EvG2UN=n5WqIW~NGWTg@^po*;P!6uL# z?cx4=S0ntXp`_(!V*1p~+|cxuQuN?v*;=jHjVl*pBa_Bc*gl+5pdd-2&*n3pgO^W! zax(2Zl|0dG`75QI@Jl=Z0x3710Anl)y$u{I4I9S2O6{JOh=_z3d7Uu}0PQeyl|i)Z z?c2!z$v%02K$H++**jGK;hF|Ivl{Yv%?p7nW9?KgydVbcbhR$rfL`VKWR&9B^wxtk zi$4xoYKNVHJN&rGp&QDF^|_ki_LgOepEqJp=u9BSN5@BCN>HSur)c_O2r+q?ii&dZ zNc8VtS>x~D@^VXX*CE@FPmh4us;?hxi<)!TkMxhq`NFYlsh{=(DMnvGj^WG-ju{kk zHC3fZar(4%S}z zs}yc$7+T5SX=lC@D3|lMrA!#?K6vm}m?STPuor^CP<*gGcQbzeRtZtJUz1h)IyC+yhX6Ex+9uoFz0a4wkFdGmnDo0H7e! zpDSbXe-T?^JVB>L1(^B~o_iw=)!81kOaCS!Sm`{eX@X0#F49h{%0j5_`Qzc87(AO( z1m5ay?%%MQPv1^00ZLEWQcHLKS^?b-0~yBDY0Vc<-A zF8L>FtWG}ohM*OXizyj@Rs9g$oi{0i-rgY<(y=7wYQuQt_Z%na>i;>%sfFi}jhj>L zwWN(fpL^YbH#76{^=#}nnx9~{2d|;V`Nes@e~uky3>yK;Li*v!J{B`+(^wblaX&yP zcgJI{@+5kAmCCw$Cop?H^WngB0d;aNC8h26N*4*n%7u#97TFU1b^3CE5pcWS+PP4& z{#8=W@vgPpl>V{&s;Hb=SU9<2-<1+BBZh1)2jl;90W?EVHptq&ug1eLuTdRO{MxT5w~!DiAfOy{&q+?nOk0Z^!dmF0Y=^rJ=t_s-?B%aE}-GZ?d$>mjF!p zzPX<-|nw_5!v`A2?!yiL`|c7AA} zF$M6seUjtn%|jq%FBYAnUDA=@BA?;mlHSz{b#+C>#+)|T_ig6aX)gHpdLAigns5vw z{|4C9rp{B9Kubb|o=fYC1y{=3mm<>g8I{Blradr{c%M0PdLXt=TV=+in&qsdbL2yP zN&SWG3aRSz^L;C7w=2-RN7$VFfqIJwIAlqC*e|p@7WlM^*!HqYL#W&0*NKc|%k#BX zWb2h-xMM+P=%3xpcOLnxzl2LAX;zgsfAi}ym!kWynO7xyDx6BC6koivsU{=bZ_g}; z=M9}tQ#p^z$~AnRHwy~3a3wGe3_juWOcpdbJFBtpR4#U43ClW}5L+r`*}8Y;0z;`- z?e;KY31Ezdktw z{quz5wFNfo_4Y^N8rz%Gn(v#M_ZVz;NAvGh^W~v17vFj#`vmmnDc=Pxvp3e%=uwG( zen&OL=_~LL9!5E%9W~nbXYgU+4JYZoBMliVo}JH|g4V|fF-}t7nHsmZUA*W8KQqNx z$ie$jaeV#p|7g1A z;JTi-e}jgNZ8kQV#3k)X72qXxjB2z?(=-Kd$mS@ zsgGei++cX3f{BPrPP^7&bge|ED-z)<1|*SV@K`4<+Tw1!3p%-=wPqL{BXpbb&&W}a zBg&-rxxm-@UD1se+sqv{SAG@KG_|-hJw|C;*x4oW=HX%u4LhlNaplDjPIk_#ctJz6 zlGDYAzuxTty^XrY#mbVy*zWoCoz2Dht4VB*>w_+oyZB{({$7Oy`rF#tG6W zCvGN88SbMCDPXO=9hSe^+I`LksRLeLhp;nO5xQwbH^2LR13$bnBK<+E$FL+SzA($~ zliw>?$8a5cX^+~QEQMMe-f-@V7q~3Nu1S>z5*yog!4lfV@iAL9h5F8N_^qj>B?HQX zO>E}D);32We+l*)+2K$;f!x+6=UbPeUhE-4=xO@0by!u`|LTET8t22rNf4|6YTcF= z1ZQ6M>%j^s5+HxjPV<^I#?5TLLq882e;zl;stJG^lag9V>0=vrcO`Ck`RH|_c?+4M zc-hY0qzP_Tse`Y7)my}`0`~Jh6x5g#_%tRulidQ1SdEV417)5Auxz4;^xIg(qbH#~ zJscDpY!zL!3@tD7cdJd^9y?6C=$K_eZYg%f^{TmUiH(u4QIr%C?7lR-N?%wjmpity zVv=v6YTBF-0iawzd2T+LGaZ-X&Hb*M(!w!~fIDE@))o^RWh5d3iDqon`r}*ZXnnni zhbM{wi=(0x93WJtdciXYdi%oX?sQ?l^Iktb{OmW{>8O4^$2FEQA@A2Yy1dadB>6Hd zGM2)|{txZ|!$>+a*X`=lg?YF#&{RZeIsE&l650ZP& z=lP5_=YwH>F8NU`j(lkhivoBHAP||@*l+s58V=?&I!f{KPE20Ofha4H=;*19zegVW zPSbvtw9m_xmsH0tQ0{YRB(M~kQ;@e7&-d2@dY>8Pw?qOe{qe1pCQL#KgENJ?YbTZ3 zCFAcv?nz5;GVo+b>gC&4wObZ7X24XXqFSj^v)v;$_%dUOS;{Le>{d)i+Z#lA*+0GX zi!3;5%<5nC4v!^bdPVZm;#-5rhZxJIQiHU11(fkQY z+}X*|t6FMmzW&3YdfMOqmG@llXLDV8SRNNvRpU@+^mP3*rvoXV_?*?&)kbBj0hio7 zcvJ<)xpGV0z^SVVYbKX9f|ESFy8aR8{W+L;GbZPsc62(Pl8#+0b2{t7)}-|CjF^e2 zwr9$6^QLNky_GffjlJTOyyldJbs=%cEr812zLL8W2@c-!987gePPF2q1z)=3Tr>fQ zY_}c>J*RbPBbHaZ*HUpZ`!XG=u8rnKrpiQEQ@ z;^LyQtgj^+uKA*U;>z{6xP&HmzXbi;=oiQ6m5Ka1CR86?{k#vA{`KV$5-QL% z`WmCSauS-y$3ct9A;KS%OVNzVtkn{9i8ck<`1*t)VQhxNQEwK_&Vit8j z#+};A;X|}O$B7>u36VG(l%1z3UkvU3_V#pob=&pv@u=|s+;j2CL|Xde(~21!51pIX z74wK_G_fr>FIL>xQWJNwsJ83l8y|h|&fXrCv!$lo?|{|5j`=1!NvXfX@5RK0#~upo zJWOY@gQQijuJ^7%bcSAw;wZ0vD93)Tf2XF}{JD5_2toOdVyn6H3jQnn{D*{@7t7Me zq#JCJXwIGW|dZ)tDi*D3Wv&3yiKdX7@~V4p7D_bYGHLw9Q4LI zN>Q6Qw(;6-I)%KGc=bSn#~;ZQF{Hfgl8ZVR_ogZH_$OTj(FqtirHeC)Jqc+37SUv_ zQl8pe=DQ(^G8sQs|31L$>rB+}zINCi?v=!CJ1C<`BN4tiFKpq+Qc9S*0BTmZW%Bu; zj5jD!?E-8-wcdJ8O--=>v(bGqP%--%&wsJ8!_gg@R0O6sNIOty-9l z)!On>YU5qYN~eH+a3h&GFeIeayCJJ;eBv@bLC3_+#=I}==DBim>g?<2h0oR_?X+{c zFPsQXYWsn~_y63!Q129e0S9R?zd_3c8o&jN?yis5;U!94pTM7)FWm9|_PAbf*Ce2A zItN6am9=QowU)gdGI59Nshs7rKBzenMQ&=dI$V6~kPc)a?zEtdwy2M^^X$0Kx%;&G zDeSMMRR`qRA+5MZLOZ310wH-8$wOo!N9o|ble_D~5;fg_jbvo-reB^~HeXRUxZF6m z-Dv%$aXS(@V22gBty6*a)Lw@2^D{6DatM`IyUjCf-EVH8 zvsQI;OupyBhPZ+BI6)UomskVJK;?zOzWW)Me5i2?>i7FcTDH#c)S!SsF}yzag!->Z zBgf-P1yd%N8Vavp`6o6>APr!l`sbqVS@u-yN%c&z=$S#g8&>qNd&}>5@p# z9?v8Kcyx|F^s z)D;;IFux;{bM8LXOVNbVE+vgfki(JlP%6{r!#xJFNI;bTVJ)e&juFE@I_f#jB}}(8 zvls&ZnH*raWVkpiU97Y|=Bz%GMp%ehd?#WAftG=^JB$y4&_`B3XXDE+ql@m1UDAsx zlXy_>w(tJ@#?{e^W3-e*hSb?B0}B@<#z3@7*-_I)xHLSB^!BM0l@Zt*a}O=SuN)lA zOwHs#yum&-3_WdX*8bi#MvUOY+P{OrPBkc!RQKzy@KJ@EPPWe*a!xRTysNsrR~!Sw z0=ua-QHopxn=np0IcaM3>gT3i_>`G&?FM4A4x)Z2I0+5L>8-are#n+6JaJ+@8l#5i zyQ#;+-~zG7NJL5tCK+>xFYk>FDppFw-u+oHIdlr>FZdIJ0|Cr`5Xis(P$Z9D9R;7= z57A@Ns&(IT9-gvg2Xlj`szeLz!HM%%>%?V{khD6l|1e>tdg0=7t;^;?aK-HC^pJ6ZG?Sa|&3*rp zefgW8m%Okf-azDeIP&=+x(69XY;f@~N;=I67y0?3bV~TG|MZcIr&l-?BZ1^)`TA!X?&(|B*A!-l)*4K+8PKA4vO%FKT-Shkc35?D?7LRho z*J>96Ieqx;%lyC>ft^yZ*Z*!v)bfq4oE(`=k+G-To116W&OKN;u#^&4OT5qBbbgy7 zjp0;D$09<1=io5bmWJQV;!6Ex<}6ei>|_sCsPXTD9x9?ezJOQu2esGGkVATZ)bvOf zgw>|;d(o{o5YuU{e-f#TLotG|q8t}?cpNV2v*Y|<-x)o1OONppAT`0jQpA{L1VNyo z=a;@=(Y0diGdt`4J@NQB81Q!&t!j^7WiaaJo3T@k%NMkdioO0^-s1?N-B?1H-=ej+ z%Z|n={UZ#@9e={|4hr8FdHIf!lsnm%^SQ6qt(vLx_%PZcV=np-u+XY&^S+n zE9d&UoJfuIU|8ERl*k531i2Dx#0ZK))~9oEqRlxqY7li_8j!@{?;UO$n_nCJ3=+|& zDFQ0OGl+ZbO7+X{A6#17+y&;YmeiFX)t_@aFTcH~wV1B5@V}I2Yio(3m!WC)lz!}UO7}pO*E8ML*KVP$6k1agCOc1K4jz`XQwqX zDPbNkWjQs$4M+rXaJ48FRiXPuH4s6YexI~ywV`Dy8iW{M7&E>e0DI}zS2%yNvqS|u zWUd?!*vH0dXzRx(b8QGPtI;GHcsVfTrvE@eqiR=~!c-0ls-t5;?dD*w=c5!TA3y*g zUlEup;tED86htncAO59G4$Uq>tO!n3DA(%!S?_4Onorj`6=KSQpm`H9!#oi@YqG;_ zkR(jheK-X(atY1OAuHldIyeV+&Qn<-xV#LyAC)Bd_Pgbrf-#%Wx76LAa^YC=xh7SE z$LDU4ZB)eK6$``?sPVO4Sl%BloTuJx7h@R9O{N@aYtW#h3Ei2D_U+n&$DJ!kk*|=T z1n6zr3W2)xUGpGRT-17j*inqN1*s)Y}!KCG_%{c3avtEuyGtZR5<6BKls@YS`=3uFBsBg}Hek#hs zgY~dGI(i)MOD+!E+u4Z~_Xhk_ydzwsP{G55MwK?v4D5QD2E#2^V z|F5{!P>XA#nJYnV$1R>B+&F@f6>D*Rew&e+x-gPqD6gDZv}{4*_O@Tu`(frn2weB; z2ZCSi`$F?_yCXCvea`d=A%j*IGF&LW8}}owtgZP$It=6ou41)wDL9$3a3m;cu#*O~ z?y*s7(iK6ru=g&ry7hL$^~vFp*#b4xw~kGl&f(^*DkDeE2KyUzB2_F@d}(Qi&xUw` zLpdru2sRk}lIq3J{vQZ3xiig+x z6#n=>7VCaxi6BB6x&ffjR85xyYj;Xb5kJHOt$5bpe7((sirqD2C{BoG@Xv@uRTc+Q z+E4_AiDKoCKR2@B z7IToJ&aMVxfG80B-5)4=c`{N`!zLonvEtzqOY#-b)np<~mbkJpqsSc_F<2ly zp~<6zy2(%cdo*3W64)p8fTR>eeti_bW|#=mqWv=~Tp}JeG{{how7Ur6KSf;p6e)5K zHhSBEX;md^J6S0s9{;-U^ZfeWdH1eq&R5@wVkQkm8*2iW+KM7oNJGV_ttubqcLD?S zVRIq;+vCl$OHm47ne~XxVrFii$L9T==q+YuW>A*j_>PxJJZW8Z&kNy+t(LGV|mdW3FtdNHPS*22MfOcF^0(0M-NFPY;WCE=O(x!q(SP;)DH z(0*^Az}<#`og9==;jwdQ@XBvSB81raxs+o+KRfPt#e?Tk$S*tLD~%}LCDDO$VLLjr zC!E@4rYt<^nNc~>m^<}%E)y__Lx2mcgNqj2BHrdYZ%Ftuv*ncSrFwZ@Jn$AHQf4`! zxH^e>W^0Xhwt11qWGKL5?T;{W})4RC(z84L3J4hfMm%<#BKCli!04Tc%9wac?o% z2{=nRI?=i_a|!PYSQYw)t5l+EcnGOfQDC zZA$PiN+pC|KJarM+oLpun4BG7#Z?xVQx1s1R)^O%_`lVbxn7|PrSMjFeoElT5fA}m z@a?7HV*}yk=|!IYRjABfgsJk#I=h6hiD_JZU zxS96yIZ@E1=4394EGdD)9pWiYIN+V)ZYeTSF#-yO79}W$obX3*cwk8(QxflWzIT5# zg+KI*6ZYo38T;p!CWz`a91gx7GHgJf3NDu`Cq2?-eOKT<7DL3{@Lp;d8T~FM_?$KyHiGb|vH z8@zHMEH=x%p38mlt6#7wJ+Cov0P%qD)ZG$HgXnL#08#wGf?t0igCfD3F`$r6l+#|@ ze(AT`h~dVmyw~ROaFc+$Gv>gR>%is3Fu4%ra|Ga=q940F75s7&7z!en9QmmPNQ5M` z#Gp1oK@C(K*ad8_?bgE5GMxIzt^|pI50^$6nn7Ax#(;srGYCUxgTy&J{fUwOPXfNL zIg=C>OToYxPHT&=#v{*?2eIAsIVMMXzEuCISAZY@OLZBa?zS6TP^UBJ;V?(#*Da3Q zR7)T~zPUVwjmXBug@Np&RYox0%s!rg&Iu%!TqOv^whbkZ&3*G7FWvKSWqnAQHyZuv z=y6a2zwKJ$u1&Cqv{B%dFo6BG$ZYTphDSjmfPQj5bdI4CW6+DYtGryWClU?d0EF)G zc!!S8@H&d>_uDs)kx$1i80aiGdL5?Jf6W!Np)##pXNW9A<}CVC@``}gwTb`~ zR)bSQ6CxnkA%D0qI8RGOmZ&8`a*#doFRu z-uHkt&5U?u|2cIW4}|b2ZpB7Ka!q+HGIHa(R&`~+;B$d-$LERg&*M7y!%vo4XwZ2n zKvH=cv&ShtW4hnZmNN1lsjH%OT-SUHk9UgxQz4F8c0UOEaD!)!r|bI=1@& zm+UO0oamw=&QUR>!{`c{-iw3x8>b^piEjxYzKXJ**w@FRcRDYkyhDF<7dNBhhjWjb zG8k=bt-7LSjLU4k*l&Q;b-Xt$?h&9+zW?i&YkpyrCNTrUe_Ol7<8$tir0)BYBn>k< zCL&beZ!0a{t2S;asdM}S19y!JM7BZIIqxbKmy**r-;hyZ1I$@jujjHkJy^&fmIek% zq*$F=r!YF!R;fhapL!NP3-TM$(k|9VE2kU@cb*Dr5IHWk;>FKD4Xy|wh&#L?Agc>ebgq*qcQ{2q zE5rrsa#j}dJ4^Gd;?UzZfDQ}`SBB!u+J5-&Uo+rEyttP*U8@+|!^YC?mKLU2>4fG5{jKwW5V05b`v3CVMdwl`w=cxm6!K!#Sxmy%mJ{zQ&TNW z6qrK5h1%F#7Vv~qn|=iWM^(Ul-R3Yisf)|i;ZPr_K^Y-&BHkvY1q0DnPiQw0(9^e4 zFvMNbGYc(eTWsmX1$1hZ8H>qbB$G$x8c!b4n{`Vy|Hyf2sDJ}vdJ367ue7PHbQDmJ z^65+`etkL#lH?jF7@=(i1^;;cDeh4zOXXK68BBrQ9`ynNtm&NX_An?L3#-0wv$GnQ zIFVHWAVG?`>AlSF(O*7)I0nse0%HOw>-xc|j4b*4z_4ghrS|mkD#)Pjj#z+9=P)B7 zg7=I9nz$m+*2jjebWdA5qvd8zTU!wjLCH}FT3|ZRaylw@FplBRTZyUO7Km-8y10Zq zq4DwmLIL-9-SLXJS}ZF4Xl@B^x=XXz*w^XTBErD|m0$;j`k{;6}z#<%)t{Xe*wPsyKK9ypU2fM`*W@3{x|3Wmceld2ITksJLS$f9E@ma;Dg}Rblj|gc*_JxTBmVsCYe-xA-Dr!}h2gnWsy@=CxudDsWJ(A{)J1R(@ zx+50Azc+IG{=w(Cn_!0&suERBYH=~)Fjv{0Cs&D4O!(yOmPCG0I_ptbIA+j;(c$hr z-)#<1ZN2GHoGV7mpj9rjVuh~2o@8ZVqa_%T4U`cR7RWD7(X0eH8&&bH$dDJ4)8fCO zt3$%}wln&u9`hO5v;oG}XMcORw|itk{`|E4TtydB7LqnCi>hEZ%1_03xXu87 zM^6lt&Ior!-LDKWQGKj9eVRG*3#?0#Pf*~Ex~**gT}2SVh-A?qe!be`fiXO=I4Wpd zagg`pqa!>a;^9vDy}W5Kbi$;P)WY$>?#c332wT(~W~@>7Uh_Dybw6@|j{;Yv8L)01frCM=Hobim zGkkN_XJ8mwuVae0ivLZ;g$rzNYUSt8YsjLKt0aKAX%rH6^p}Fuqh=svPBUI?^t z>aH#i8Zu!fXB0q(d8Lr);oTeF({Sg2X#{#?{``m$lE3%`? zW@P`)zoHVQKy5E^UPT8Vt^ZlLCPj(_tnqOSpolU^h+^ql2;74C8l}R1=7#}hv$3$S z!hd7{9^6$~Jve=TUzVTooFGM>j*lHdYh>&w>C$A7!;Bb|pToW*)Z7~oG$l8S;MAIQ zd>Ma#`*$bykCG2??2<{4hf>c>=-&PHwa4CkIms=IEL}TX#;UaL&S;>4%q7f|&FmRl zAhA;Q&?P)(&#uevsPXXCYaLioFag0)omRMpLPNoZ6#=QX;_6&*>g(fP+k}h`9?|si z@1ukq&j1<3uLHV!FF!f7Cd^Xq@A4j z$K&_b0)l2v7Cgc*7+1N-uF`*Gb6Z66CMF7UY=E~kX~w#b3fnh*)(%uwc^aCli{m-r z?0Ox*hyeIz;?_!J%lO!phZom>V(t9-TUPZjC6kb#tgI|v24s-0@~*tO$-ln&4>=`! z@d~NX@T6pN?f(Fz`ca^&^Gh&RR7Ptyh@1~HZX6Py5lfUFwe$H9i~h<^hH%*Rr+5e| zTyWY#`GH?^TXfss59mO^&-G#oHNZJAKYw^S8Mq51kkfd1b3%jjhk`d4B4Gk@bVea5 z`Rmiw*mdJKooYf4Voz|OM^L(Qv1LpGri8@R!;l9Nksf_OO;C@4Thp)I_TS#uvvA1;=}j>ExwhZ|Uav)eVUB$yef2A46K(4`xgCX~K{MM5I! zXdR{mDm)K=I)hQ6S;A%N{~c8u72RJ8Op>T&4UbWiD^)7w>Hgmn(iHujb%_@ya!CUK zjJ}f{;sR=nT55{H-xAqYw@W=96^)43o7;M$VZ@1zhA(;Qs*adLS%VG66&kg}w$MmU zG)YPaU5rt2L;MX5I#7W-8rgE|epkeo#7ybH!>p_6+N^$@sayY2BO^1=TP%G&EtzcL zt|TPQlZ{|R1%;a760&bM()c6$%__x6IEqe+`U`R91C8#yTPVjQLy%Q5QRTvJs${Z) z$4=;vCKu|d!cBQ4!0lgN2WWlGt;!m z6gz32w{=_`SkoqEMxrVy<2nDzAAq24{)u8HZW zQu7(x)zbN~v3B~4HM27O#lQ#Jm2S|o`JW>5_U)VLh&cx!7;NnEECr|0t8{Re5Cn2l zFc_5@Jh9-igU^D4<(UXahW7V~6p`A+Zf~e>wf#WOx}>b z{$cJ|Kc4ILo#H_S8z0d}eT~u>pTuCi2AFkAPEH8~#4*jo1baiXd}r@G^SZYF-rOJk zO1PWb4%-ENLPJKp3q9YG2{R^#E^om+uHrzun`!s~7F<(eXzr%sTq{=Y?O;=^DP9~1 z!r5SN>|TAEE<->Af9h;Nbyq^?(cW<2U0YiW{qCo0#m&-miU=GYeZ$pm8VUdGG#o;LrH@_$TIATUlx3IZMfJfz1z6B40@mJdmN7 z|5~&aGmaBzA_xo&mlwEu77&oG*NX=hSa2dU=<*S_s)NH-Dpkfu8SN-UvshDy}9 z*-t@~0ef&|n#8&>XFPmFDb`y|4mZeP=vhJ;Nt`1oSoO+lPd!4wkGO&{_RbIq@|Vx$ zDUA0sY%Rmwv%8J2qN|#k6vZDWKvm9+AJYyz7MvFEZ6&Hl_*V&>Aq&r8VtCvjnH5nO zKC#~^7{$UNKKWeXfYo9MRGSl?<#aJB8_2-Yc%os`4mU$v-*eJ+bnOdukVhl2ratczT|fJ5EAM(hBiztsaFeKv{L;P z3n%6zg#p{N3VE_(qGm=7+%#7!x4W~p<{Sa>sH=pG1_nZW*-ZX=49SK0Ra>z!wfBd1 zh?nOMKdX746tY5W!F00>X)h}d4%NxU5NwWhL90ht4t44)v2yiHj!}K-1(QIQ2i@BFsG6E(W)2x{Rd#)*4r5pH6<9gpdMrK z_}$0nTTP4$yK&j!kO8JQ>vuo&g(hN_8R&7Rp}i!_@)0>0^S8dl?;m?lHtvuD`n^}v z;YfRHD~$y$D;`TQr1Mrf)JfKv%Q3~oGx2~E_l=pk2}m5p<`=~hQ@KORXbD{`!0_B= zkT}Km&_E0Du8@JCieSZ(akS!Iwk^x|6dX)`?rHcFD~y}`Bc}068aE5Lu^z2;$olH) z#;S6Nj3`|4yOGAjKaO_*naShv&XQ+H2zE}VvVV7FR3kfQ;&k)O>!Zz!0U!xcE?hvO zd7A5y2Op?-z}%hCym;Zc==}-V86(!!v1w9xmS>)c?^Y|eodKr4FEB$3JrmJYz_Ro9 z2{rp?HSQ;*U1imu|!piQA|!dr>ECg zn(2A&1Z@1Pv=sEAL_g=>h;fAQ`(5jwcOeU4;_-Na0mBOD`mci)u~7E=f8iDnr^EF+ z2#C~G44j==0aF?vuH;_c#(o;uHIeb*dEtnWZPEy`yyk8eRMkwmm8(Q^`*jnwj~DGb*<1iO6}h%zo&Y+|h}j?2yddIUZ$o$e*stgikitf}WhU zw=UoD&Q0w2$ps5vk-N8I+j9ML3AfeA9Kus0BbS-{KQs}*RiPl%&ekK{}PgdEyMKDNA4He zxrKUJR|a}B5ldo^t)DVu#|k)TJF(2@HC3bD7#h(% zVsX+}?ZJpH`{T_@)iO`BukIzjY2n@QW;g z-`Kd;RE&A+Dic@R_+`PW#wQXG^D$V;Y85In)0i^rjgjd zip_Si=g&NZE?A=mHkytN^|O*C)AmOY_y{>FK$_FH55raT^?yD+lK}in5T9PQO$Z2k z9Wa@$`A?nvQF76&_TXZj6ZY0vzMYyc2Nv%!82kzz8ma|%=!;_#`IxST?aRxowdygB zNyTx3G_SL`0Uq#ec9Qiq3aW#Q$TH)TegD~dhrdlMKpQim`S^-!Xu-h>CbgcjbonE+ZNcJ~{?mw>5-{M!zotgO3T5g$Bc#Vcnu7h_d-|0k4; z4rwa{N+HqOmJx8wv|&nd%YRhCf2E+9{!oKtVjLbwz&Y{NPFc8E>W(#$&D^e|j1)V? z=a6An&(A2<*Em#Ep^{5FeSDeDVaH(XyqQYK!{}g^AV=^1{{7~r_59b$zl0SKol>py zhE*!R%FAH=r=gRb!1{0(O9X|~ckaowOTcBQ!S-E18e;xR!1*2pd_~f|7}-gzSe3m+ zfIZM~BjbjCqfx*#DA%DvswqYc-J|VRii*c4{&H*n)kTQghChAdkr3y4^hWyTbLm_5IuB-a`K_^v!TUxg-226hoIw(RU&6crxF zxZa@@!qQtB-sO8%zSeiGHvGKF^#65p#@JXOzyrW}cv3krF4z_=kzp(Gv@W_KJ zd0^WB%k;c9ppi<Y%abKFXn)KJzjU^`{5{nOVj#bJO0FH_1CYw2a_Qm9B<^zG$!pq|Ns)Iid#7TsJ z;9DVDaW+JtSkch@sOGYFzQM>ee@)fE_{xgVCZRPL?z7mB{%3{q33^R8{|zVD9i4c9xIstpl?Kn<)Lnt&M`c36`u?_Cv3eAQAU z&gm%~Zz|Dh=Z^?{^^y#0%k5W4J-F%ji}b2psGuFdiumD`txufJZB3)6b$^kNmk8pk ztQs&+^(Cn7rNO9)i5(mp5SfKfsDbl$780%}XF-K4NAG51o8g0L*L8W0Q62O4zV%CnlxIH1v7vNz6SROKJR2{Xaq=dppK~Ju-NO;)5aA3G56W+T6h4JFY zS%aBE;gYefFK-QQk(Q)R83(Q|!wqR)`WKAn3z$yy+%_^|NmPogGPrSJaKXUw{`LKy z0y1KlAVog6AD(m0`Lkt)g^paObz0Yco}B+Av`S9SbVi3&Q>Okeb%5Oe&s_P2@_DP! z%0mJ5Sza@AODU&NvyFc^Qc*K(H{2*H`czzCIM8n`uZ;)XEs=^mqTK0;0didE3P7Ax z|LWCREh8h6+8b~f6;&5sLiKMtoj0&_y1%ethK29Fgg|O+tXCt5k))D_8{w`TIc(38 ziEGH(%`xlDTwbR}Z&$bMMHUU~)V%RmR=o*B2JNx+C+zG@Sk+hCzJ=X%?gJxaT9Y+; zLHPmJgz&-k3q*ysC#AdLm6D?7z$ag%XnY-{SrrG=Acw~S;pOq7qHy})L+lc0Xk!3T z3kM1C|C57r%9W{`{dfwrhjhOpLfb93Ae~YJI+Wb;eXHFT-_(}}5qo;0Stz&rE$4I) zyK^p%1%tCNi;M$FGl6*4kN3D93znj#9{c;Mo0<89*%Li7NQi1sc7NIt_h9>K7er|1 zRL5E2AfT`(krPr;3Dint(pzPG1^PVTCj~Ix+*l|pM)&n!pI2#ObCmThH^vIrL?OuX)C*1NlPY%EFl6@2|$M5l+7 z{XkR8o;j|g;_(T&-_|IaHQDX#1LBOiKis}%VKVIVG~Le+L{crBDjtPhpc0^1v8z!~ z{Hs{iVDEqdXk%lAde*MBFoJ0$YLFKu7gfu+IGGjBAuW9^s=5%cT(}!!biC4c=2AFn zB9t}>1sgyWD|Yo45?U}n#7tb^&=L{U+`PWv^{VJ?LyXKg9>}VhzY}PXrlG#}%b35G zOVA*I=+jZD+eWV3}1_)($T? zI%ZELOBZ`kbK{M>Uzo6U97+LA0Z_z^=SfH*iG!DwIb-r2fXT~cawZVIpATDEnO6Xv1k#J!2DCa|KZP$J zR2_hek*9v0+$42#-Fralaj%DiH!c-(Vd2hU1!?n|lY@zb5USraVZHwwvRtK=gajZuwlJ&7c26Ng+U(fPgFrG{bT3ukY7ou*5UKRGOSE(VbA{Xe_>6jVhlx zM8GxO7Y90$Mv5f$ZFL;C+y86gz<1dYownUOtQXMVTSFTnx%t5JcI-kn@_@x%#D2%p zr=o*J6n|-L?Wvyy$A!}0JA<wqK2;Bzk2%yd~`ut~(3zd@}9-K4c6e4lfKy9K8ws zL=e0pUTM%rt{%nXH{$-}5{_Z)IUu^b-M~Rw`uQbD7snhIXeTA*CrDkZs$%S2ZLPj| zt#ccK7nNmIg4=egMH3xP;E>{=I%;y6tQI``=gfi!4@QCP*-dTpiNdq~YzjGbcHnhr zX=@TqtDgS{2h7q0GjXOk5_(8bvFUmTS|DGvRP4>!g1*k|j4oM;tSMfA6>#-75C)LM ztt*#1eWYycEhH>KZCD;ZTDE-HD+R8e1|owFXs20|yeVY_+VhBvnzaDfOyCjWrcv#2 z^5ke^Xi;r*V98@o2J-_aC;(u!#+H`AP+GYd5FZZ?=iE5hGi8?N=R@FePB^@lzC1D9@xDI|DpAFy{jOo+b43yA@L;Qj|JrHG*`{sEYu}=SX08JnYbuMH$k9U zdFVXEd(>%1#h}lt?@?C#&##bXpe&FM!<{N@P>(#n{ebUhOVVwdG}g4JiU~GumQJk_ zc>qQ=i;JuP$gu7gd0*2XY6_tGr%4A=qB zhP}~j2RLu#tR&;^<7Yz>GxC6C^Ro1{a|HvLbqC6r!G$#yz0u>zBQ{0OTHme*4)Y(8=LSlLC(YvaIRhVs1X0wSk3y za9NA79T=G3)Fv^}atX!6bZ~mYxD2as5w;NqXrHhBjGa@mG4Z{B2AwV9pLKf*@)~8U zXCu6CZ#Ctm0GG{vrYhUt)@C59xVQ?u#~{wt-I--iGc`H5%COR+SS4zSQa&uRA0G;K zyRDG4%GyAW-h0%f$+FjbD1Nxx*_j%8_2F0Z?B5cgmgtR-1{%$@aeSj_zbm}p(||5b z)WlhuH5Pm=nX`N4j~@Kzjqc2=JW+@JY8R_mc+&Rb>dN3$u4@Z3-q>jJ55B5H7W0e@ z68b=rn}&xZAJY$(o=~7yHX}HH5>nR zAGs5kh*=8jt&Z(6f=N~|Wp4O<-0a7g3u~2|9gqQ(ehXNVr?rzK# zn<1|!0kb%r6@HI^5HV+E8H{M?m~X4h8T5BRc@Z99de<)8UU4k}b?}ralx(P=PYypG zJ2@$#ay=vxJd`(O;`K)2R z0wzoN+NbBJ$q4M%fu?N(k+OxSlJ?c&sc}o(VJaGQAZ0Ekv+p9uPyTWj(`AGM*#Hi% z(el+CNExL)-(J@$mtM)b-uIx>X6^rrEAwP$j-7DHB_r74$qN&lBDq%a?{7*Wt5Mnz zh+$W@Yn)^Ad})>ut0X>UcyHKrVOoHe1CEKp%!1&t7k6m-NJzK07t$A=0l5U`1r9$U9xh%% ziWIXb$XcFe!j&uibgH^Nbq4?RLh4Q0So$h>SBOO5_M!gwqPF53=1cLxFVSYkN@|(X{dly3|LhJxeKD8NbFWI= zxs0cW#{vqSVA^CD8W#cI58q6+3u3iO*9_7&20lW7PO5CXvz+nVEZ+ zu=Mv29IagOWdf8&B{%MPcK^-C^HX5Y2Atl`@HlTjy4n9oi_4FWhN$g%kq9A&XmbZK zZ6!K0o5M$M#3aXx4|Iyq2Tb<+kD$ZggSt=-+(158qZ~|sTH|LOpT9{n`NI8_WZ zsA^IgLfv%Y)SD>zaEGo?iShIVhLj*WdNmmp(6@W_$#{^8CT4_e>8CTtcDn~ z2nBhbipqBXjnm@r7N;G4>FzC2DiD1^!oVc8pQGS$yQAW(t?0|l#O>5o3&VRn??32p zD^L?5vZVk#?5`s>9Y#P}x2YB@hfY|W@-wA`@=FkzE3~0&-CWP^C}n>7sYx=&GYqo% z&dfsfu(|$6&;Rc8lD=oquiFS>$@Q$f%m0i@D3dUdnF_;oX%e@K&(2V){raz?9zt16 zOh{HP@;_L@ysWPl*LmbPJ!*igvPW}BR_(p1xna=ywu69ui?Dr5;~!P7|EuVlqcUrQ z_?z2o+uF>{wyih2&32o;ZQfj)HruvsV>36m;k#e|b~@*F?=$nv{4lfrs-hhMICstb z#Y5yzu7UGYwcUTh-!YI@V@!8Gq0Z|1`E#8vald5CwyqUQ3Fih){ z+Zj6VCrH~ONbQ57{gd(|a_$w>Ls&sKn79JB_6{wzzR`U$kuoB#@oB-YU!Q)r5de@! z9-(#v*%YQR; z^qLkA>X-LU;3wH6=zgqgZ9VRlpaiA$ad@PLHU2YkjU@OU2rH5iVYZIsNB&YAC%Ky) zC>+u5*qyW7dXGFQGuaBV99sc>m4)f`*(WY%~v6Y4y1%UXX+oHPwAqCKn zkU?B)NWlWjq!t$j;K-b`I>wigaR~3E5GkPirOun+>xn;~DSuk~r}UjlE$}%^oec1l zIys%F^6d-)+0bu6Yt0?6EZK)6uoP;xvj=UXiWjnVJ07x~p zr1iSA5(%77fbd=WjI%@^Ue4T&X4j>2@%KJ_2xp*VYPWJG11BSn`Xue|7i}3pJ1Vr< zu6Hi-9WJQu_tb-IBYKean*vLv4=xU3w~+|oH6VE&zla^icJtT+QW5x4PXkbldahdB z8h))j4zncygCbf`58HvBMWuGH$QrH2Q?PHUs#9qmt=s3y1!Ps zbKaJ??h9@RLkI-${5pa)0O@eaLT5bTo&cMxspWzKDYD(2FTQj4y?3|gGaSlJm3TxA z;Isw4@XQc7JgDan?mR8U(p%f$=ZwP@k?CUs#tL+Q9w!j%<&H3@RYA?C{40ZWTBC^3eH# zj^8x07>7QBYt6}p%{s|Srq+L4Iyfv4FnICm1D#$PN@3Rh1xSqf`S4od;{fCEK&@Ga z@Ulx8mMG*hUpNo549NWD-+p2Pr`CO>`v zTF5BAc`9)NvX8XIMds$#U>AI^UCuQToh-5oCEhzNUY`n9 zo?~OCuMy1M5XECkyo!6j&Blt<=!(?rt)5vIS1(w3iLyK}>}xTh!Mxr-T+6cnC)YhE zl&@(WfKLn8B$Jm=Fp`N}`zk*^4tp6H0kp{e*ouxoN=6j$Z4(KxLe&KY8*uVK*9j%0 z5(IH@y{Dc+!z2V@5Hv#($`WG0ER8iko26wl=@ZymmRnCyLpNQOa=>d}p$p+ZOUD~zh~MHJB0btff_JvTqe z^SXS;v^E3w(|L$?e!)!`@x)Rp&PIzPsiXJr?8a-NmddR|@$5l|y}% z`Zptqluu<<`IT!maE8%|*A#TFPySP=j|)OUUDD)wM(C=Nv;=mHHL zlXbfn3Ez>L)IT;G9YqUh3lE(rhD141q5d;F4m z;>!OuJAngJ)Bun3FO|vpY|W2c1|yCJlhcLIqAF0_jFNDQ}oS5~&-*&YoiAjvam zvr8LawqVC+P`(sVXgCwCmSog2jUapxD?`uF`J(E?16~4hg?*b;X38UY5|g{%MH!$SM@+IP7ko!dd%(D0TAxTp2`a;J*O zOsY|1EOu&~qRJqRzQ>y*60U6Q6@Q=5%gh-K$QDejHZhGB^%Gy59u9{rgvXRE;wR9Y;uq!Rwl2@#KgQYmx8^r`v6?! zOJHaNfYR_X-IFlrH@%ntPDS%|1+c%P{R zNFsdIyEVx@QB&8^msxno^wekO?H;~*~_IE_V@4aT|j;$M&e&jRD?&vZ#gtw3vpO%VeLaGj3Y}A!2oE z@=ifEf9)BQ?N}`A{5L5Ndw`n%UkwbTf89xaqP-KOG-9+MAl=pSQa~d1_wV)_H}pps z#M_n}p@*w==CI#;PG|F&URIPf9KBzhXgalJG-cuOeF8_%-fWRfG|g>GnK>bWazH(m zn^#C;_sSPgPK2P@4Y4+NK{^KJes}H4Ja=j{ik@v;9s}P`@i-}Yb}o-mIT$AL{39ZHONt!B#*0?z`K zUNn?yQAoI!;7=)jZr#;kjc_U|^`4x}jl>}TqHNgwE@ap{$$}VYA7MEL2D@D+-df`= zq~g~N- zkIz9D_Pp2G>Fn&r`E$}z14XYEfb9M!ZFV6S2!gtBrk+hqfWabBG#s~_hq+V7kcQ}l zF)+KkBZ!|wf%kE7IVp$cRZ@WzNKe-jcy?9`SnkdU2(H!r1tF8=6t0W7&z>pOfMvG# z>LoQ*`4E6ti{|M?tXIsUS&O-M=#&5?0_?fxetlFQn0NaG(bK*40&N%Yv{?BsMTV+{ zbswQLrHZ;TtayGUJ~!bV4#iaCu7pG)H=ETl^xa$;vlHnaXUbSF=8U|ogA-Ls-2GE$rJyQb`!We*{AKJHzlL9RCA#r3i zWCBFadb{0jK+~0KzkXPUN_;#o=;O%X-{s84dbMs((2myQ=U0*CM$eXBU7ci=Hj9dEnl=)cb9LzC+q<>>VIJ)5TQJJpePs z05EW*hTvPwvhB@iEPerWYi-|;uj?u{czkF@05=0b;_28J?0*}-i-f+tInarxO5BKhSV8`jU96R(U7Q{YF3werT+EUzskf##* zNc^p<1b3Xd6DEbJF?5BMo)H<&<27>G=$*f#kznhpuzvM_GtA-F)o;@bj5gXeN4rBG zafC-|I*Q+fLa>ffTT_?Bw)EsIs4Xmc=4TKB)&D5=lt^&imTaT)im$#`$ z&jBYJqms$Kaz$#8!_e0Ym@#E#m6Uw<6byo-2kvsziGzdZlaqs53>GRSN;Ixa>QG1H zW8Xnj7uNj!N(_Tq6gEx#E2B%PxNfXvvT5V1$ypWiPnwE~5?I)5)keZ!1cJ&1^~;iz z2*ye>H5g1S*l~Qlj2Tn*ct=4t~e!NkXfTSMTj4sxyIk`}1^PJ9$0bOqcFd zQki}Z-uF>38_f#eEYV?QF*92#J20z7g^FhL+qt(`!hf{*Wo%Q^{Qa|7j95gMw1=a5MWNl&P*ZVsDvQ$TdbtI9gt55e{!SylrV!e|WAd z)asXU`~#!I&_IIUoCh|bs%l`|oPhsgoRHADu94b)Rlui0KUhOPsgz&0^}$oG9jR%6 zHy7CXX7k}agWIS#n27kVMJ?I#uGYZ?Jv|{6V}8wef?kp0nw51W(hNk#SiYm;1&w&9 zWH)=RN809o(f32LKArspy~^A?DYLqpQ7ukP)ZCe^-POf`UlyN{yd&UUAVpEJG?=qB zOD7|i-oXLKXi=kDJ`$G~a4ku8 z4Ag|pfk6_#|Dhk?0`MUmX`qQnD5T*R539AAXBq0DoYzu5pBoS^qPxB>fyif8#IsWHf8L`9DS!`oErr!+>ClQ^U1zyjp6$AsaRN+wTfKOA$HL)V@ zbKh2NqL>!H`|GdEDe}3-o4!w*=;KpS-j2|1E^JD)cG3^)x*gY|2CXTLs`0VXvc)%| zKXR7b)g2F3{{3w+qajvilw3`*9X~PCP=08AH$QN`+>`97u}!sP^`Q6;p$r-Bzu!Q0 zYl}iYpO)m!HEeA*kd{h#9O}h31^O?-fdgtxVjfO~YY&eZMYVX=T=5Pvz zdF;=V4aZ-^%7pcw=ZLvs8U>Lsu}|Y^ChxN#v1iDE3BzL-sGaZ{5qu} za;11A!-MztuipzltUfD-uo{Ve{Txx9Y5x9;gVtfg*iK3+MtJ}1Vzt0Q#g&tbUZ>SE z1pMg${Q44`=ZMP^ay5?u1k?3huIv=Y@595+SKJlLSi(%x+#QB*oTpTnv0)u`(SrX_ z(Afi+E*%8p*uy0#OlCw#bHHzSh0-Xr{QL>8XFPXZMxAQ16$(QrOZ7Ddrnn`}V zBhB?b2^liecHo-`Sn2CqwzPAUs?(YyBUg^OFfQ8S+|4U5J)ND~N1vW$`d5d#|a=CzZol zT)s7Tb1PrhTttBRJ0wNZ&UIzB-rp-~CR;`W3@6$Kw|gva-+Q>3Uxj{Rdbl(H+0L&F z;6}EN(_zsFarz=a=nC)~2Pv6to9bKA{2|Z^ww=*0m$jctO|4_*PKAPjsjQ;O4fKKO z4*Y|kec63=DY+eyni(ZDusre2^M-Rj>@H+k*v7|EbV;EU90-2eOAs zeRimr#^cTF`&MTg2Yb)-@xJ%tqw(UH^rs9o8CjbQ(RFo(#-DDjS&r3)`z{vLmr6=s zgd64$TrjxY#(oF?s$);}^7*MLZRIM5aMXB5+XW;DP9C0Y(x;zJjm=h$4wn~Wl!Q^C zUxR~@+V-!Pr6|br?6gxKuM#RX#$Z}syE^}oS5-B4#<>5PXVm7b;-%`*GuqU289Xqs zp?9RBz8U>9o@`s2(qwuf&=l|&MU5DNjJ>Xk&39IhfB|b@if69{YyS)UR#-vG;rm|#= z1KHEsR?X?gg$6+o)p}9HQWLw~#U+w~zISjc{(WjnFQb3EwEAcTd2(ITA}$WF{6bDP zNV-)Phw~&QH40U$Z2N^hTz(#VQj3BPlN-#)jMtq;B`Up%?FBPX*Z6vp+};g<8H&JV zzdC9YcdM%G@!7<#G}oIZ6ylae|w4kmmDg$60XKN|9V+pPPF3v9O z4|6$eBcCrsh2-bc#QagSpx(Byx>XMl;`*Xs@Jo$e|NZp~uqQ~b*g2qvmgIZGF&gD119B-0VtjSg#e|I9 zGnuP3tK6~z)_T73ntYoj+_)?%iZGUc#US`SpYLR+!HC7XwvuiUQ&ALM>h1sUZ?DY$ z8pGkjg46MfI|?>dgC52j(Zhp>{q~Cxpj}ydUPE?#4NG`$H9R`|X;$$lG4zZ_Y4ba3 zGM?hgStwZT9`-NnwYEC4Wz}T?T@Nv9S#YTVc#wzxalXOY%&Ct5{|+%8n%sE9G7$9unQt89Hu5i z1;6rxyNgQB+%E>eoeeHB^Ekd`8s(MTW=;n$?k={rKm8pydxDX$*mgJf^c0c#fpE=U z&=6|zN<9AY!?Ju_uYa?WR`}vQHe+7Qt;^#Kcf0l^yZg+~(Dm+OZ*U?1Rw51FQG?To z)tzP3TWUMSCjK#avY2RQg&6m9Ey*$B1m~YTclY}WUvJD|rJUW{z_%hvbtE&gL>YKQ zd}*B#UIfSF>+NdK+vkU?(eY)+T#Y!DMdzl5`vd7j^gCpq`mfb2qu(buxFjr&Mi~z!AtU>bVB+m7 z+HR2#8ZQ594-d=br<;~jU6{hpz?M8O&0&chYqS1TbjoxGQAI7&>$gU`*S9%pTWkc# zHV=#bo!&3MteQ(q8u?^8+_;X`%>wQ$YJ=dHNps8;)MZ@a)t`3_yu|eTB zqwxCg#8PAdLoVeTN5-)1NEG@-&X>O&HF#*sU=cVba&!=qgbseBI$@{KULqCN8g-L9?H1b<;-^rCw(;r~ydZ%mdQOK0d`lNW@$zpww+TC>%8b2S$h zpri!-a4d?N=mWp@1?Uf`l2g!GlF*H`q~yF?holDQiWZvgWpp}y z)?A#-jW`}NZr)XR)TbNk1j&`h@FlmU&7B_pX;kcC-f@=Dz+A+ZmxTt2quVb}6#E<7 z+4Vabc||KazQWQHH>$YM*GzbD-(W>eYsc*gz zmDJHYhL1y$BH$yOcAhEV z6=qheKAX6`#(qLiRpGdt@Hf2jx^g^|eCWvCA;*q4GzUw)sZA7!3=JM`pq7Xuh>wHz z<|eiI`i?cnBZ~as0Oxw1Wq2i!EUPpfIvIA1!LDy{D+k@My>6vHWYoc-z|UGMhfiF= z<`&swcD{IazE?C+yF zf2O@VZ`4t>@tM?riZHV&aw(KLWu?Y=070P5htMr|ZHRz^ne=cjPD6EX4wFkPA&8f& zfx={TyZNSvCCCQxjccad$`gp^sFEC=*vd+aG!|}dZuGSDzLQcNio*Sp=)jlmomK5f(FV5MpMkdq9vmMcJ(PpW#1GjT637{`xlWdoqFOKhzRIccwG;fzh?48Ae*H$n{WuL7pRqwR{Y-c^X8MaumB2V z+VZxwjJ+8rVq3TKPPZD{BGQEYF+Xa1cXRas^y za0;IZH|^Hg$EV@$?z#4XX&^vY zAfaxSYtesyP6YbW%MF8g930y_Rc;=Ps8ChPa5l#W^TVm16EnRp_=napdX!gt$bbc|Soe^xCj``s2vb`~}c<^h+o?OxktThFCdPr2q`hC%7!PXb@3M3@gcpi-Z z^YCs_Ba;z3uCMPtml=LcA0c(e{V?jY%P_bT<@w9%>dk$N^Hb~3#=qJc$+lc@hzL(Y zv=J+FYU6ZQEpW?I*?6P^Kk?OR*?pz({5KTmeVq$SLmSUN62vJ+WVU0hc#IC8S^A}Z zuj?B4s}s-a(#nh~i&S#^O49T!!>i5FELJZ?G$q4}@G?Gqg6H-m`+2;-6@$B6X*!t{ zbFydalN~6|hwUBDHQhPXxB;16?GAJa(oQv{?6Ze^8mj15#YKr0K_WS9PR^Gjl)Z(Y z@P$*q-WJuVwuS~nyjxs~G!#`*LxSLp;re=G2KNpQM(PG#bsi`7VH=M!LxAEs2mBFu{(h4; zwd`>=6MXe8d=CG-jFWNsJyKedY6VE1GeBtG*b?k#~YhwGFM;R8@ zk&`T;ndFUv>nM094g1747f445`FgzC{|e(OSM=kMn7yA2$eK1EMdtE5{{H&er~nnnhYavT&zY z%h3-nKeb>|Uz1$JLFevrOY18`li{tO4~P*=H&|SY3so3&1yRRX&TiLNxAxm4UYjK{ z>DA`w5p$VoJzPzbhU_x%6XuA}2+ z_v|7{-*KL=7r(EFQG2!J8R~%)p68TT>48|6-ImMnOH(md8BO66g)07VX(?A(u%F!l zq%v74ZL{v0I0Xprn^WYu-KEH#$=%2<6PPt*5YcLHcAEYE0X0Ip#(4GiOEuCKGQ4qZ zgtNjRa#2BTBA3;)?H#hiCqTic9EkcFE)=@`9Ri8)1x-8x$vh|_ZO}8PSpul!0^ioP zx;ARz!undir4!o|>j>Cl3mWJ-I58$4Ilsv9E;Ig(B}gDS7b``;_*mE&Xh@R)&0z21 zntA`o*P}?3!Q*fN))^{W0-$C%vj4~i`Q~7be}qocsYSMV4e?idUOWO@j3W+1x{7i$ zO@&w`P0=mz8+9JjL=u#k4CWyMZet6+bdM2Dz=nD}kUfJXfI4lL>&6;nR{4|NkOd zab)w7VmSUsNpb+Rq$+!T;YPiDWQ^e{;1S~e?YY^Y!+z~3LxRHM;d=1tp`-g(TSHsq z%DGGxR*}A(_)7Lj@HSMg8Ts6-=^PjnA_(^zeuLLgF^$0K;P$1$5|9_QyFykDmgj68y+5ZZuS6E@7v@;N9ZgFJmKWUbe^SZh%U{TNG zKogv$^`j@Vy3z``NY{QjEOcsUE<5oGeDjBkcR3!RXDFX2PsI8=g9Irs1UXY`y<=*^ zKI-i}VkKZu|%m6u$5QGIP+NR}x+b$pa8uUyaRVM#DS9CCj(w6zuAGy5JI7E8%Q6jupl7g^5|aeK|JQeC1q9;ZnO-QQH3Z!Tzs{vN>FkSh zULOB8*)Q>pl_&(4Jdx>1zDxxS@|cTUjZ{>IWJ2U&E1_6>m}++zu$){?YWiPR_|)c& zb@%)yzazfJ!x_piow;MbJH1YE#3g(9mXfzQpXXleyMouC5lqEJ7 zR@a73tY&S5&9EOp`(IvAcvaumfeVD4sq&TCwfJNj`_GVK8ko^C+$d!QYG(4VmQXBa z!`9#Rhe_C#rBGYl&vkf{2}x ze`k+6-k1LAy`4)53v2zuyXwtkPP^4mKq^A6yb|rMKWTp521cUd#BiIN8}1vNd+%YW zN5v=~`khL~tgbr_b3%N;Y(X#u+E|!Zpb7`yz%NSToVgk^`*jNHat3}$U{3Fa|Hvl@ ztSWAb4}kiXsNK{Bb3G9R@ft9K#@64VXm3M5Jv3xnM0PqmoqZQdNuwF6NtaAj0zObs zfJ~fqmdI5+kV+iXnrx8P=<)2aT+>xgC)dI3-Bf^ihmYm*BukBK*6v=HHCc!>dF&MS ze!$F%jkLKJQugt^U8?z4&6B*z$7e4mn=d<#vP!%zWWM@?uVC1jmaEZyU?`iGfhM># z-D@gGer_FOAzHK){RLvH?^|ccWEdAZ=QL9&em@;>Mr!XK&&R)c&*Ne54EI26VPU7# zxLm-Fjs2+vw~zFPJVFj|sB8aTe5L0~ajdIv?6NcuB0ZuA!0I&0`_&M8T>t6+ikmn| zr0*G#X7;kS0G-PT&Ey-d-JuQ>jva+{25YEV-D<;aIHx*$ot<_7o-jDs*Fr<{=HGw> z&;+`*U6vSrm^{R?h74C%R_+5YhL*yV7ad((&86*LWtm-tj1IA58cGY{H|ml^9^c@snntd_JFwwaL z2vk&ZW|zR2@?fA9j3-IhyRMxl5+spyj+zKUuf)sn+EL%}4P6Yv7ObIx?5`Cq<@O=k zW$JBnH}AE7J0Q*hcivTXtJ5V94A7tlF#WjRPo&CG=E&gg#_lYYX3c-W;DdZ9h{l8} zw!oiaFJTAY)IiWsP=)aYSr9x58Mn0GOH^v9d-bmkEJ}T+oOthsoti;WG+~0UqhKZ8 zf-esn?Lq2U?by|+HLWcT!tCMc0q40Zt1`lxC_*3hqQgTJZ~7s#+i_}D=)ls$qkcFB zi*XG96#;&mD#`+VnYFd*h4;ehXgbrKm&}pG@(bs&)c*=>_zyZBmM^zn6(e(k? zT?2AF6Mh@2CCw1*@dJb!OmYYvYEmYwvyj5K8ANjOjptLlrN|0_(vcuRck7;q z{0UzX%zjDCo?2qkK9-z=6+704?jTEc#Y>*RZaIJ{yiN^E#+x^Sw=(Kkz zOH|h;g?&drO!}%)8+Hk{8V<#dqQ;adD=2@X+vnJHDvw0u6z$=@9-ZWGnnTwdL^*Uh zb`S7y=_IJ3p{z*P-OooN73FY-suT-nxKPW%ggi!JJVt!*sDb5Q3sbaeX&@O>gDCq> zcb8JtaPw{_)6OOVs4O-x>#}8vWc) { + if (event.data && event.data?.type === "theme") { + setTheme(event.data?.content); + } + } + + onMount(() => { + window.addEventListener("message", themeSetter); + }); + + onCleanup(() => { + window.removeEventListener("message", themeSetter); + }); + + return
Welcome to your plugin!
; +} + +export default App; diff --git a/solid-example-plugin/src/assets/.gitkeep b/solid-example-plugin/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/solid-example-plugin/src/index.css b/solid-example-plugin/src/index.css new file mode 100644 index 0000000..aa9f9db --- /dev/null +++ b/solid-example-plugin/src/index.css @@ -0,0 +1,9 @@ +@import '@penpot/plugin-styles/styles.css'; + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} diff --git a/solid-example-plugin/src/main.tsx b/solid-example-plugin/src/main.tsx new file mode 100644 index 0000000..5e1df6a --- /dev/null +++ b/solid-example-plugin/src/main.tsx @@ -0,0 +1,5 @@ +import { render } from "solid-js/web"; +import App from "./App.tsx"; +import "./index.css"; + +render(App, document.getElementById("root")!); diff --git a/solid-example-plugin/src/model.ts b/solid-example-plugin/src/model.ts new file mode 100644 index 0000000..f667c12 --- /dev/null +++ b/solid-example-plugin/src/model.ts @@ -0,0 +1,10 @@ +/** + * This file contains the typescript interfaces for the plugin events. + */ + +export interface ThemePluginEvent { + type: 'theme' + content: string +} + +export type PluginMessageEvent = ThemePluginEvent diff --git a/solid-example-plugin/src/plugin.ts b/solid-example-plugin/src/plugin.ts new file mode 100644 index 0000000..6924ac3 --- /dev/null +++ b/solid-example-plugin/src/plugin.ts @@ -0,0 +1,11 @@ +import type { PluginMessageEvent } from "./model"; + +penpot.ui.open("Solid example plugin", `?theme=${penpot.theme}`); + +penpot.on("themechange", (theme) => { + sendMessage({ type: "theme", content: theme }); +}); + +function sendMessage(message: PluginMessageEvent) { + penpot.ui.sendMessage(message); +} diff --git a/solid-example-plugin/src/vite-env.d.ts b/solid-example-plugin/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/solid-example-plugin/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/solid-example-plugin/tsconfig.json b/solid-example-plugin/tsconfig.json new file mode 100644 index 0000000..6ae4fdc --- /dev/null +++ b/solid-example-plugin/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "typeRoots": ["./node_modules/@types", "./node_modules/@penpot"], + "types": ["plugin-types"], + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + "jsxImportSource": "solid-js", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/solid-example-plugin/tsconfig.node.json b/solid-example-plugin/tsconfig.node.json new file mode 100644 index 0000000..97ede7e --- /dev/null +++ b/solid-example-plugin/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/solid-example-plugin/vite.config.ts b/solid-example-plugin/vite.config.ts new file mode 100644 index 0000000..1019c7d --- /dev/null +++ b/solid-example-plugin/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "vite"; +import solid from "vite-plugin-solid"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [solid()], + build: { + rollupOptions: { + input: { + plugin: "src/plugin.ts", + index: "./index.html", + }, + output: { + entryFileNames: "[name].js", + }, + }, + }, + preview: { + port: 4404, + }, +});