From 18b426704750fb0902da6e4b7c1327d7ac3e8444 Mon Sep 17 00:00:00 2001 From: daniel Date: Tue, 30 Apr 2024 19:17:18 +0330 Subject: [PATCH 1/2] Added Pwa, Installed lib vite-plugin-pwa --- index.html | 8 +- package-lock.json | 2985 +++++++++++++++++++++++++++++-- package.json | 3 +- public/apple-touch-icon.png | Bin 0 -> 12748 bytes public/favicon-16x16.png | Bin 0 -> 641 bytes public/favicon-32x32.png | Bin 0 -> 1513 bytes public/pwa-192x192.png | Bin 0 -> 16977 bytes public/pwa-512x512.png | Bin 0 -> 63235 bytes public/pwa-maskable-192x192.png | Bin 0 -> 7471 bytes public/pwa-maskable-512x512.png | Bin 0 -> 28150 bytes vite.config.js | 50 +- 11 files changed, 2847 insertions(+), 199 deletions(-) create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/pwa-192x192.png create mode 100644 public/pwa-512x512.png create mode 100644 public/pwa-maskable-192x192.png create mode 100644 public/pwa-maskable-512x512.png diff --git a/index.html b/index.html index b55b3292..3e411122 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,12 @@ - + + + + + + - =6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.8.tgz", + "integrity": "sha512-c4IM7OTg6k1Q+AJ153e2mc2QVTezTwnb4VzquwcyiEzGnW0Kedv4do/TrkU98qPeC5LNiMt/QXwIjzYXLBpyZg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", - "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.8.tgz", + "integrity": "sha512-6AWcmZC/MZCO0yKys4uhg5NlxL0ESF3K6IAaoQ+xSXvPyPyxNWRafP+GDbI88Oh68O7QkJgmEtedWPM9U0pZNg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.6", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helpers": "^7.24.8", + "@babel/parser": "^7.24.8", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -138,29 +139,54 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.8.tgz", + "integrity": "sha512-47DG+6F5SzOi0uEvK4wMShmn5yY0mVjVJoWTphdY2B4Rx9wHgjK7Yhtr0ru6nE+sn0v38mzrWOlah0p/YlHHOQ==", "dev": true, "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.8", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -168,178 +194,1535 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.8.tgz", + "integrity": "sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", + "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.8.tgz", + "integrity": "sha512-m4vWKVqvkVAWLXfHCCfff2luJj86U+J0/x+0N3ArG/tP0Fq7zky2dYwMbtPmkc/oulkkbjdL3uWzuoBwQ8R00Q==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", + "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-wrap-function": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", + "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", + "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", + "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", + "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", + "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", + "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.8.tgz", + "integrity": "sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", + "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", + "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", + "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", + "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", "dev": true, "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "dev": true, "dependencies": { - "@babel/types": "^7.22.15" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helpers": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", - "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", "dev": true, "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.6", - "@babel/types": "^7.23.6" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/@babel/preset-env": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.8.tgz", + "integrity": "sha512-vObvMZB6hNWuDxhSaEPTKCwcqkAIuDtE+bQGn4XMXne1DSLzFVY8Vmj1bm+mUQXYNN8NmaQEO+r8MMbzPr1jBQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.8", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.24.7", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.24.8", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.24.7", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.24.7", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -348,21 +1731,26 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "node_modules/@babel/runtime": { "version": "7.24.5", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", @@ -375,33 +1763,33 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", - "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -410,13 +1798,13 @@ } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.8.tgz", + "integrity": "sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1150,14 +2538,14 @@ "dev": true }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "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, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -1173,14 +2561,24 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "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, "engines": { "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -1188,9 +2586,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "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, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1508,6 +2906,92 @@ "node": ">=14.0.0" } }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.9.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.0.tgz", @@ -1677,6 +3161,18 @@ "win32" ] }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1718,6 +3214,12 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, "node_modules/@types/pegjs": { "version": "0.10.6", "resolved": "https://registry.npmjs.org/@types/pegjs/-/pegjs-0.10.6.tgz", @@ -1753,11 +3255,23 @@ "@types/react": "*" } }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, "node_modules/@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true + }, "node_modules/@uiw/codemirror-extensions-basic-setup": { "version": "4.21.25", "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.21.25.tgz", @@ -2085,6 +3599,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, "node_modules/async-validator": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz", @@ -2104,6 +3624,15 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -2174,6 +3703,45 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2232,9 +3800,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "dev": true, "funding": [ { @@ -2251,10 +3819,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -2274,6 +3842,24 @@ "node": ">= 0.4.0" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/call-bind": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", @@ -2306,9 +3892,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001570", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", - "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==", + "version": "1.0.30001641", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz", + "integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==", "dev": true, "funding": [ { @@ -2465,6 +4051,15 @@ "node": ">= 6" } }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/compute-scroll-into-view": { "version": "1.0.20", "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", @@ -2503,6 +4098,19 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/core-js-compat": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/crelt": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", @@ -2522,6 +4130,15 @@ "node": ">= 8" } }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/css-line-break": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", @@ -2594,6 +4211,15 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/define-data-property": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", @@ -2680,10 +4306,25 @@ "integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==", "optional": true }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { - "version": "1.4.614", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.614.tgz", - "integrity": "sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==", + "version": "1.4.827", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.827.tgz", + "integrity": "sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==", "dev": true }, "node_modules/es-abstract": { @@ -2839,9 +4480,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, "engines": { "node": ">=6" @@ -3161,6 +4802,12 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3247,6 +4894,36 @@ "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/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, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -3372,6 +5049,21 @@ } } }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3449,6 +5141,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -3531,6 +5229,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -3670,6 +5374,12 @@ "@babel/runtime": "^7.23.2" } }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "dev": true + }, "node_modules/ignore": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", @@ -3801,6 +5511,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -3897,6 +5622,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -3933,6 +5664,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.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", @@ -3958,6 +5698,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-set": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", @@ -3979,6 +5728,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -4093,6 +5854,94 @@ "set-function-name": "^2.0.1" } }, + "node_modules/jake": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", + "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/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, + "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/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jiti": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", @@ -4137,6 +5986,12 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4161,6 +6016,27 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/jsonschema": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", @@ -4210,6 +6086,15 @@ "json-buffer": "3.0.1" } }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -4289,6 +6174,12 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -4309,6 +6200,15 @@ "yallist": "^3.0.2" } }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, "node_modules/memoize-one": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", @@ -4662,9 +6562,9 @@ "optional": true }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -4884,6 +6784,18 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/pretty-bytes": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", + "dev": true, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/prismjs": { "version": "1.29.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", @@ -4959,6 +6871,15 @@ "performance-now": "^2.1.0" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -5153,11 +7074,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", @@ -5175,6 +7123,53 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", @@ -5310,6 +7305,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -5349,6 +7364,15 @@ "semver": "bin/semver.js" } }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/server-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", @@ -5416,6 +7440,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -5425,6 +7467,32 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, "node_modules/stackblur-canvas": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.6.0.tgz", @@ -5491,12 +7559,26 @@ "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, "node_modules/strip-ansi": { @@ -5511,6 +7593,15 @@ "node": ">=8" } }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -5657,6 +7748,69 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.31.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.2.tgz", + "integrity": "sha512-LGyRZVFm/QElZHy/CPr/O4eNZOZIzsrQ92y4v9UJe/pFJjypje2yI3C2FmPtvUEnhadlSbmG2nXtdcjHOjCfxw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/text-segmentation": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", @@ -5714,6 +7868,15 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", @@ -5829,10 +7992,81 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -5849,8 +8083,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -5960,6 +8194,36 @@ } } }, + "node_modules/vite-plugin-pwa": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.20.0.tgz", + "integrity": "sha512-/kDZyqF8KqoXRpMUQtR5Atri/7BWayW8Gp7Kz/4bfstsV6zSFTxjREbXZYL7zSuRL40HGA+o2hvUAFRmC+bL7g==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "pretty-bytes": "^6.1.1", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vite-pwa/assets-generator": "^0.2.4", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "peerDependenciesMeta": { + "@vite-pwa/assets-generator": { + "optional": true + } + } + }, "node_modules/void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", @@ -5973,6 +8237,23 @@ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6064,6 +8345,328 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/workbox-background-sync": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.1.0.tgz", + "integrity": "sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.1.0.tgz", + "integrity": "sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-build": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.1.1.tgz", + "integrity": "sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==", + "dev": true, + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.24.4", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^2.4.1", + "@rollup/plugin-terser": "^0.4.3", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "7.1.0", + "workbox-broadcast-update": "7.1.0", + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-google-analytics": "7.1.0", + "workbox-navigation-preload": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-range-requests": "7.1.0", + "workbox-recipes": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0", + "workbox-streams": "7.1.0", + "workbox-sw": "7.1.0", + "workbox-window": "7.1.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/workbox-build/node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.1.0.tgz", + "integrity": "sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-core": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.1.0.tgz", + "integrity": "sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.1.0.tgz", + "integrity": "sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.1.0.tgz", + "integrity": "sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==", + "dev": true, + "dependencies": { + "workbox-background-sync": "7.1.0", + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.1.0.tgz", + "integrity": "sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-precaching": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.1.0.tgz", + "integrity": "sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.1.0.tgz", + "integrity": "sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-recipes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.1.0.tgz", + "integrity": "sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==", + "dev": true, + "dependencies": { + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-routing": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.1.0.tgz", + "integrity": "sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-strategies": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.1.0.tgz", + "integrity": "sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-streams": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.1.0.tgz", + "integrity": "sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0" + } + }, + "node_modules/workbox-sw": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.1.0.tgz", + "integrity": "sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==", + "dev": true + }, + "node_modules/workbox-window": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.1.0.tgz", + "integrity": "sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "7.1.0" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index cff6fa59..f1b12212 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,8 @@ "postcss": "^8.4.32", "prettier": "3.2.5", "tailwindcss": "^3.3.6", - "vite": "^5.0.11" + "vite": "^5.0.11", + "vite-plugin-pwa": "^0.20.0" }, "overrides": { "follow-redirects": "^1.15.4" diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..27622617f65fc29cf7b357d1672673daa89b95f1 GIT binary patch literal 12748 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 P00000NkvXXu0mjfB@@#U literal 0 HcmV?d00001 diff --git a/public/pwa-192x192.png b/public/pwa-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..115c8f75defc9dfca5f7b9266499bca120fbe95c GIT binary patch literal 16977 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

5WY{+@F&S1*QaBD ze6+E7GTHO%|Is`-K9Y<-8Gc*5W+#%#^n{dPR|v`O5CI1Q`2E5T$-2lio~FsVXfiFc z@OxJwVGBWYa zx~A4N3Ge^6_2K;xwqG0DldhfImHrU+=;sfIkQ~wvydILIC5`ZiG--|suv~5GBn?ez z5;la;K#9PYa{^ZJElQOpn$xi)B0tkKg5NHOFnKXduDKw^xV2{O54Z02 zcial?7t*A5UwVG|Uz!HjjWn%Y+tiXIlkbK!ypyKkExm}c!;&;@*LSbYkeTT+M`tF@ zNeEJWe4y%Lqh4%`CLxTa*uS!cm-R?uh*lyR2*qw61k^Gi(<4@K6(w86j6H2yFP oSNb1o|91a(|N9SNb<}PAf4GXwY5jN&0{{R307*qoM6N<$g2~ZHT>t<8 literal 0 HcmV?d00001 diff --git a/public/pwa-512x512.png b/public/pwa-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..71764663de34a5332effd69a5f5196a848eb93a9 GIT binary patch literal 63235 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

m|5yvva`7r$YCwZz>NsiGA)B{AN@* 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 literal 0 HcmV?d00001 diff --git a/vite.config.js b/vite.config.js index 5a33944a..d5936484 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,47 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' - +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; +import { VitePWA } from "vite-plugin-pwa"; +const manifestForPlugIn = { + registerType: "prompt", + includeAssests: ["favicon.ico", "apple-touc-icon.png"], + manifest: { + name: "DrawDB", + short_name: "DrawDB", + icons: [ + { + src: "/pwa-192x192.png", + sizes: "192x192", + type: "image/png", + purpose: "any", + }, + { + src: "/pwa-512x512.png", + sizes: "512x512", + type: "image/png", + purpose: "any", + }, + { + src: "/pwa-maskable-192x192.png", + sizes: "192x192", + type: "image/png", + purpose: "maskable", + }, + { + src: "/pwa-maskable-512x512.png", + sizes: "512x512", + type: "image/png", + purpose: "maskable", + }, + ], + start_url: "/editor", + display: "standalone", + background_color: "#14475b", + theme_color: "#14475b", + description: + "Free, simple, and intuitive database design tool and SQL generator.", + }, +}; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react()], -}) + plugins: [react(), VitePWA(manifestForPlugIn)], +}); From 22a7603c210f8dc3941d8d11da36c8c035e0aac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Zed=C3=A9n=20Yver=C3=A5s?= Date: Fri, 12 Jul 2024 22:44:34 +0200 Subject: [PATCH 2/2] fix: minor PWA fixes and implement offline support Minor fixes such as setting the start_url to `/editor`. Also add complete offline support by updating configuration. This is especially nice for mobile users. I've had some slight issues running this via `npm run dev`. However, `npm run build && npm run preview` seems to work fine. --- .gitignore | 1 + package-lock.json | 3 +- package.json | 3 +- src/App.jsx | 2 + src/components/EditorHeader/ControlPanel.jsx | 24 ++++-- src/components/PwaUpdatePrompt.jsx | 34 ++++++++ src/i18n/locales/en.js | 4 + vite.config.js | 90 +++++++++++--------- 8 files changed, 113 insertions(+), 48 deletions(-) create mode 100644 src/components/PwaUpdatePrompt.jsx diff --git a/.gitignore b/.gitignore index 7ceb59f8..5bf9e0c3 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ lerna-debug.log* node_modules dist dist-ssr +dev-dist *.local # Editor directories and files diff --git a/package-lock.json b/package-lock.json index adf9eabf..612dd74d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,8 @@ "prettier": "3.2.5", "tailwindcss": "^3.3.6", "vite": "^5.0.11", - "vite-plugin-pwa": "^0.20.0" + "vite-plugin-pwa": "^0.20.0", + "workbox-window": "^7.1.0" } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/package.json b/package.json index f1b12212..d1564502 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,8 @@ "prettier": "3.2.5", "tailwindcss": "^3.3.6", "vite": "^5.0.11", - "vite-plugin-pwa": "^0.20.0" + "vite-plugin-pwa": "^0.20.0", + "workbox-window": "^7.1.0" }, "overrides": { "follow-redirects": "^1.15.4" diff --git a/src/App.jsx b/src/App.jsx index 7268dceb..5681664d 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -9,6 +9,7 @@ import LandingPage from "./pages/LandingPage"; import SettingsContextProvider from "./context/SettingsContext"; import useSettings from "./hooks/useSettings"; import NotFound from "./pages/NotFound"; +import { PwaUpdatePrompt } from "./components/PwaUpdatePrompt"; export default function App() { return ( @@ -53,6 +54,7 @@ export default function App() { } /> + ); } diff --git a/src/components/EditorHeader/ControlPanel.jsx b/src/components/EditorHeader/ControlPanel.jsx index 089167f0..828db297 100644 --- a/src/components/EditorHeader/ControlPanel.jsx +++ b/src/components/EditorHeader/ControlPanel.jsx @@ -1,6 +1,8 @@ import { useState } from "react"; +import { useRegisterSW } from "virtual:pwa-register/react"; import { IconCaretdown, + IconCloud, IconChevronRight, IconChevronUp, IconChevronDown, @@ -18,6 +20,7 @@ import { InputNumber, Tooltip, Spin, + Tag, Toast, Popconfirm, } from "@douyinfe/semi-ui"; @@ -1287,9 +1290,13 @@ export default function ControlPanel({ }); useHotkeys("ctrl+alt+w, meta+alt+w", fitWindow, { preventDefault: true }); + const { + offlineReady: [isOfflineReady], + } = useRegisterSW(); + return ( <> - {layout.header && header()} + {layout.header && header(isOfflineReady)} {layout.toolbar && toolbar()} -
+
-
+
{databases[database].image && ( {(showEditName || modal === MODAL.RENAME) && }
-
+
{Object.keys(menu).map((category) => ( {getState()} + {isOfflineReady && ( + + } size="large"> + {t("available_offline")} + + + )}
diff --git a/src/components/PwaUpdatePrompt.jsx b/src/components/PwaUpdatePrompt.jsx new file mode 100644 index 00000000..c0a32a3e --- /dev/null +++ b/src/components/PwaUpdatePrompt.jsx @@ -0,0 +1,34 @@ +import { useRegisterSW } from "virtual:pwa-register/react"; +import { Typography, Toast } from "@douyinfe/semi-ui"; +import { useEffect } from "react"; +import { useTranslation } from "react-i18next"; +const { Text } = Typography; + +export function PwaUpdatePrompt() { + const { t } = useTranslation(); + const { + needRefresh: [isRefreshNeeded], + updateServiceWorker, + } = useRegisterSW(); + + useEffect(() => { + if (!isRefreshNeeded) return; + + Toast.info({ + duration: 0, // indefinite + content: ( +
+
{t("update_available")}
+

{t("reload_page_to_update")}

+
+ + {t("reload_now")} + +
+
+ ), + }); + }, [isRefreshNeeded, updateServiceWorker, t]); + + return <>; +} diff --git a/src/i18n/locales/en.js b/src/i18n/locales/en.js index 813f5a1b..4dcfc5cc 100644 --- a/src/i18n/locales/en.js +++ b/src/i18n/locales/en.js @@ -6,6 +6,10 @@ const english = { const en = { translation: { + available_offline: "Available offline", + update_available: "An updated version of drawDB is available!", + reload_page_to_update: "Reload the page to update", + reload_now: "Reload now", report_bug: "Report a bug", import: "Import", file: "File", diff --git a/vite.config.js b/vite.config.js index d5936484..68d11e5c 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,47 +1,55 @@ import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import { VitePWA } from "vite-plugin-pwa"; -const manifestForPlugIn = { - registerType: "prompt", - includeAssests: ["favicon.ico", "apple-touc-icon.png"], - manifest: { - name: "DrawDB", - short_name: "DrawDB", - icons: [ - { - src: "/pwa-192x192.png", - sizes: "192x192", - type: "image/png", - purpose: "any", - }, - { - src: "/pwa-512x512.png", - sizes: "512x512", - type: "image/png", - purpose: "any", - }, - { - src: "/pwa-maskable-192x192.png", - sizes: "192x192", - type: "image/png", - purpose: "maskable", - }, - { - src: "/pwa-maskable-512x512.png", - sizes: "512x512", - type: "image/png", - purpose: "maskable", - }, - ], - start_url: "/editor", - display: "standalone", - background_color: "#14475b", - theme_color: "#14475b", - description: - "Free, simple, and intuitive database design tool and SQL generator.", - }, -}; + // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react(), VitePWA(manifestForPlugIn)], + plugins: [ + react(), + VitePWA({ + workbox: { + globPatterns: ["**/*"], + maximumFileSizeToCacheInBytes: 15_000_000, + }, + includeAssets: ["**/*"], + registerType: "prompt", + manifest: { + name: "DrawDB", + short_name: "DrawDB", + icons: [ + { + src: "/pwa-192x192.png", + sizes: "192x192", + type: "image/png", + purpose: "any", + }, + { + src: "/pwa-512x512.png", + sizes: "512x512", + type: "image/png", + purpose: "any", + }, + { + src: "/pwa-maskable-192x192.png", + sizes: "192x192", + type: "image/png", + purpose: "maskable", + }, + { + src: "/pwa-maskable-512x512.png", + sizes: "512x512", + type: "image/png", + purpose: "maskable", + }, + ], + scope: "/", + start_url: "/editor", + display: "standalone", + background_color: "#14475b", + theme_color: "#14475b", + description: + "Free, simple, and intuitive database design tool and SQL generator.", + }, + }), + ], });