From a755bbd99d8f8341a5d5cb0ce4885c578426b6e3 Mon Sep 17 00:00:00 2001 From: Mark Ross Date: Tue, 19 Sep 2023 18:15:39 -0700 Subject: [PATCH 01/15] Add Firestore support and client app config. --- .firebaserc | 5 + .gitignore | 2 + firebase.json | 15 + firestore.indexes.json | 4 + firestore.rules | 17 + nuxt.config.ts | 17 +- package-lock.json | 1174 +++++++++++++++++++++++++++++++--------- package.json | 7 +- 8 files changed, 981 insertions(+), 260 deletions(-) create mode 100644 .firebaserc create mode 100644 firebase.json create mode 100644 firestore.indexes.json create mode 100644 firestore.rules diff --git a/.firebaserc b/.firebaserc new file mode 100644 index 0000000..6a0ea6d --- /dev/null +++ b/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "lineup-d5a4d" + } +} diff --git a/.gitignore b/.gitignore index 4a7f73a..2c24c55 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ logs .env .env.* !.env.example +service-account.json +.firebase diff --git a/firebase.json b/firebase.json new file mode 100644 index 0000000..87d591c --- /dev/null +++ b/firebase.json @@ -0,0 +1,15 @@ +{ + "firestore": { + "rules": "firestore.rules", + "indexes": "firestore.indexes.json" + }, + "emulators": { + "firestore": { + "port": 8081 + }, + "ui": { + "enabled": true + }, + "singleProjectMode": true + } +} diff --git a/firestore.indexes.json b/firestore.indexes.json new file mode 100644 index 0000000..415027e --- /dev/null +++ b/firestore.indexes.json @@ -0,0 +1,4 @@ +{ + "indexes": [], + "fieldOverrides": [] +} diff --git a/firestore.rules b/firestore.rules new file mode 100644 index 0000000..66d732e --- /dev/null +++ b/firestore.rules @@ -0,0 +1,17 @@ +rules_version = '2'; + +service cloud.firestore { + match /databases/{database}/documents { + + match /count/{day} { + allow read; + // only allow writing { when: now timestamp; n: int } + allow write: if request.resource.data.size() == 2 && request.resource.data.when is timestamp && request.resource.data.n is int; + } + + // forbid everything else + match /{document=**} { + allow read, write: if false; + } + } +} diff --git a/nuxt.config.ts b/nuxt.config.ts index aa81af8..97a3587 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -5,7 +5,8 @@ export default defineNuxtConfig({ "@nuxtjs/color-mode", "@nuxtjs/tailwindcss", "@pinia/nuxt", - "@vueuse/nuxt" + "@vueuse/nuxt", + "nuxt-vuefire" ], // HACK: We have to disable SSR until Pinia has better // support for our usage. See stores/AppSettings.ts. @@ -39,4 +40,18 @@ export default defineNuxtConfig({ // make compatible with @nuxtjs/tailwindcss module classSuffix: '', }, + vuefire: { + emulators: { + // uncomment this line to run the application in production mode without emulators during dev + //enabled: false, + }, + config: { + apiKey: "AIzaSyDWIA7B4lYdJ3ZqG3YdvEtpVdmWoSLS4w0", + authDomain: "lineup-d5a4d.firebaseapp.com", + projectId: "lineup-d5a4d", + storageBucket: "lineup-d5a4d.appspot.com", + messagingSenderId: "540144972644", + appId: "1:540144972644:web:dd7b271978a32ccc210071" + } + }, }) diff --git a/package-lock.json b/package-lock.json index af0d39c..5222e9b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,8 +7,12 @@ "name": "nuxt-app", "hasInstallScript": true, "dependencies": { + "@firebase/app-types": "^0.9.0", + "firebase": "^10.4.0", "nanoid": "^4.0.2", - "sortablejs": "^1.15.0" + "nuxt-vuefire": "^0.3.0", + "sortablejs": "^1.15.0", + "vuefire": "^3.1.17" }, "devDependencies": { "@nuxt/devtools": "latest", @@ -45,7 +49,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -67,7 +70,6 @@ "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, "dependencies": { "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" @@ -80,7 +82,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -92,7 +93,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -106,7 +106,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -115,7 +114,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -127,7 +125,6 @@ "version": "7.22.9", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -136,7 +133,6 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz", "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==", - "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.10", @@ -166,7 +162,6 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -175,7 +170,6 @@ "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", - "dev": true, "dependencies": { "@babel/types": "^7.22.10", "@jridgewell/gen-mapping": "^0.3.2", @@ -202,7 +196,6 @@ "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", @@ -218,7 +211,6 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -259,7 +251,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -268,7 +259,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, "dependencies": { "@babel/template": "^7.22.5", "@babel/types": "^7.22.5" @@ -281,7 +271,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -305,7 +294,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -317,7 +305,6 @@ "version": "7.22.9", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", @@ -374,7 +361,6 @@ "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==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -398,7 +384,6 @@ "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==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -410,7 +395,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -419,7 +403,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -428,7 +411,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -437,7 +419,6 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==", - "dev": true, "dependencies": { "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.11", @@ -451,7 +432,6 @@ "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.4.2", @@ -465,7 +445,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -477,7 +456,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -491,7 +469,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -500,7 +477,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -512,7 +488,6 @@ "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.13.tgz", "integrity": "sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==", - "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -584,7 +559,6 @@ "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.22.13.tgz", "integrity": "sha512-JoI61IOKM8jJv8V4yD0HprU/Lnx3Y29bGGULdIdJgvIUS7oCWcl43gtXoLY7nrYZhZerXYncYfDtmq4wUEofcg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -593,7 +567,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.22.5", "@babel/parser": "^7.22.5", @@ -607,7 +580,6 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.22.10", "@babel/generator": "^7.22.10", @@ -628,7 +600,6 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", - "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.5", @@ -1498,6 +1469,624 @@ "node": ">=12" } }, + "node_modules/@firebase/analytics": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.0.tgz", + "integrity": "sha512-Locv8gAqx0e+GX/0SI3dzmBY5e9kjVDtD+3zCFLJ0tH2hJwuCAiL+5WkHuxKj92rqQj/rvkBUCfA1ewlX2hehg==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/analytics-compat": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.6.tgz", + "integrity": "sha512-4MqpVLFkGK7NJf/5wPEEP7ePBJatwYpyjgJ+wQHQGHfzaCDgntOnl9rL2vbVGGKCnRqWtZDIWhctB86UWXaX2Q==", + "dependencies": { + "@firebase/analytics": "0.10.0", + "@firebase/analytics-types": "0.8.0", + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/analytics-types": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.0.tgz", + "integrity": "sha512-iRP+QKI2+oz3UAh4nPEq14CsEjrjD6a5+fuypjScisAh9kXKFvdJOZJDwk7kikLvWVLGEs9+kIUS4LPQV7VZVw==" + }, + "node_modules/@firebase/app": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.9.19.tgz", + "integrity": "sha512-t/SHyZ3xWkR77ZU9VMoobDNFLdDKQ5xqoCAn4o16gTsA1C8sJ6ZOMZ02neMOPxNHuQXVE4tA8ukilnDbnK7uJA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "idb": "7.1.1", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-check": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.0.tgz", + "integrity": "sha512-dRDnhkcaC2FspMiRK/Vbp+PfsOAEP6ZElGm9iGFJ9fDqHoPs0HOPn7dwpJ51lCFi1+2/7n5pRPGhqF/F03I97g==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/app-check-compat": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.7.tgz", + "integrity": "sha512-cW682AxsyP1G+Z0/P7pO/WT2CzYlNxoNe5QejVarW2o5ZxeWSSPAiVEwpEpQR/bUlUmdeWThYTMvBWaopdBsqw==", + "dependencies": { + "@firebase/app-check": "0.8.0", + "@firebase/app-check-types": "0.5.0", + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/app-check-interop-types": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.0.tgz", + "integrity": "sha512-xAxHPZPIgFXnI+vb4sbBjZcde7ZluzPPaSK7Lx3/nmuVk4TjZvnL8ONnkd4ERQKL8WePQySU+pRcWkh8rDf5Sg==" + }, + "node_modules/@firebase/app-check-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.0.tgz", + "integrity": "sha512-uwSUj32Mlubybw7tedRzR24RP8M8JUVR3NPiMk3/Z4bCmgEKTlQBwMXrehDAZ2wF+TsBq0SN1c6ema71U/JPyQ==" + }, + "node_modules/@firebase/app-compat": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.19.tgz", + "integrity": "sha512-QkJDqYqjhvs4fTMcRVXQkP9hbo5yfoJXDWkhU4VA5Vzs8Qsp76VPzYbqx5SD5OmBy+bz/Ot1UV8qySPGI4aKuw==", + "dependencies": { + "@firebase/app": "0.9.19", + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.0.tgz", + "integrity": "sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q==" + }, + "node_modules/@firebase/auth": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.3.0.tgz", + "integrity": "sha512-vjK4CHbY9aWdiVOrKi6mpa8z6uxeaf7LB/MZTHuZOiGHMcUoTGB6TeMbRShyqk1uaMrxhhZ5Ar/dR0965E1qyA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@react-native-async-storage/async-storage": "^1.18.1" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@firebase/auth-compat": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.4.6.tgz", + "integrity": "sha512-pKp1d4fSf+yoy1EBjTx9ISxlunqhW0vTICk0ByZ3e+Lp6ZIXThfUy4F1hAJlEafD/arM0oepRiAh7LXS1xn/BA==", + "dependencies": { + "@firebase/auth": "1.3.0", + "@firebase/auth-types": "0.12.0", + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/auth-compat/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@firebase/auth-interop-types": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.1.tgz", + "integrity": "sha512-VOaGzKp65MY6P5FI84TfYKBXEPi6LmOCSMMzys6o2BN2LOsqy7pCuZCup7NYnfbk5OkkQKzvIfHOzTm0UDpkyg==" + }, + "node_modules/@firebase/auth-types": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.0.tgz", + "integrity": "sha512-pPwaZt+SPOshK8xNoiQlK5XIrS97kFYc3Rc7xmy373QsOJ9MmqXxLaYssP5Kcds4wd2qK//amx/c+A8O2fVeZA==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/auth/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@firebase/component": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.4.tgz", + "integrity": "sha512-rLMyrXuO9jcAUCaQXCMjCMUsWrba5fzHlNK24xz5j2W6A/SRmK8mZJ/hn7V0fViLbxC0lPMtrK1eYzk6Fg03jA==", + "dependencies": { + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.1.tgz", + "integrity": "sha512-VAhF7gYwunW4Lw/+RQZvW8dlsf2r0YYqV9W0Gi2Mz8+0TGg1mBJWoUtsHfOr8kPJXhcLsC4eP/z3x6L/Fvjk/A==", + "dependencies": { + "@firebase/auth-interop-types": "0.2.1", + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-compat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.1.tgz", + "integrity": "sha512-ky82yLIboLxtAIWyW/52a6HLMVTzD2kpZlEilVDok73pNPLjkJYowj8iaIWK5nTy7+6Gxt7d00zfjL6zckGdXQ==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/database": "1.0.1", + "@firebase/database-types": "1.0.0", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.0.tgz", + "integrity": "sha512-SjnXStoE0Q56HcFgNQ+9SsmJc0c8TqGARdI/T44KXy+Ets3r6x/ivhQozT66bMnCEjJRywYoxNurRTMlZF8VNg==", + "dependencies": { + "@firebase/app-types": "0.9.0", + "@firebase/util": "1.9.3" + } + }, + "node_modules/@firebase/firestore": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.2.0.tgz", + "integrity": "sha512-iKZqIdOBJpJUcwY5airLX0W04TLrQSJuActOP1HG5WoIY5oyGTQE4Ml7hl5GW7mBqFieT4ojtUuDXj6MLrn1lA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "@firebase/webchannel-wrapper": "0.10.3", + "@grpc/grpc-js": "~1.9.0", + "@grpc/proto-loader": "^0.7.8", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10.10.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/firestore-compat": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.18.tgz", + "integrity": "sha512-hkqv4mb1oScKbEtzfcK8Go8c0VpDWmbAvbD6B6XnphLqi27pkXgo9Rp+aSKlD7cBL29VMEekP5bEm9lSVfZpNw==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/firestore": "4.2.0", + "@firebase/firestore-types": "3.0.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/firestore-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.0.tgz", + "integrity": "sha512-Meg4cIezHo9zLamw0ymFYBD4SMjLb+ZXIbuN7T7ddXN6MGoICmOTq3/ltdCGoDCS2u+H1XJs2u/cYp75jsX9Qw==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/firestore/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@firebase/functions": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.10.0.tgz", + "integrity": "sha512-2U+fMNxTYhtwSpkkR6WbBcuNMOVaI7MaH3cZ6UAeNfj7AgEwHwMIFLPpC13YNZhno219F0lfxzTAA0N62ndWzA==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.0", + "@firebase/auth-interop-types": "0.2.1", + "@firebase/component": "0.6.4", + "@firebase/messaging-interop-types": "0.2.0", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/functions-compat": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.5.tgz", + "integrity": "sha512-uD4jwgwVqdWf6uc3NRKF8cSZ0JwGqSlyhPgackyUPe+GAtnERpS4+Vr66g0b3Gge0ezG4iyHo/EXW/Hjx7QhHw==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/functions": "0.10.0", + "@firebase/functions-types": "0.6.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/functions-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.0.tgz", + "integrity": "sha512-hfEw5VJtgWXIRf92ImLkgENqpL6IWpYaXVYiRkFY1jJ9+6tIhWM7IzzwbevwIIud/jaxKVdRzD7QBWfPmkwCYw==" + }, + "node_modules/@firebase/functions/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@firebase/installations": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.4.tgz", + "integrity": "sha512-u5y88rtsp7NYkCHC3ElbFBrPtieUybZluXyzl7+4BsIz4sqb4vSAuwHEUgCgCeaQhvsnxDEU6icly8U9zsJigA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/installations-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.4.tgz", + "integrity": "sha512-LI9dYjp0aT9Njkn9U4JRrDqQ6KXeAmFbRC0E7jI7+hxl5YmRWysq5qgQl22hcWpTk+cm3es66d/apoDU/A9n6Q==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/installations-types": "0.5.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/installations-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.0.tgz", + "integrity": "sha512-9DP+RGfzoI2jH7gY4SlzqvZ+hr7gYzPODrbzVD82Y12kScZ6ZpRg/i3j6rleto8vTFC8n6Len4560FnV1w2IRg==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/installations/node_modules/idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, + "node_modules/@firebase/logger": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.0.tgz", + "integrity": "sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/messaging": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.4.tgz", + "integrity": "sha512-6JLZct6zUaex4g7HI3QbzeUrg9xcnmDAPTWpkoMpd/GoSVWH98zDoWXMGrcvHeCAIsLpFMe4MPoZkJbrPhaASw==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/messaging-interop-types": "0.2.0", + "@firebase/util": "1.9.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/messaging-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.4.tgz", + "integrity": "sha512-lyFjeUhIsPRYDPNIkYX1LcZMpoVbBWXX4rPl7c/rqc7G+EUea7IEtSt4MxTvh6fDfPuzLn7+FZADfscC+tNMfg==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/messaging": "0.12.4", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/messaging-interop-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.0.tgz", + "integrity": "sha512-ujA8dcRuVeBixGR9CtegfpU4YmZf3Lt7QYkcj693FFannwNuZgfAYaTmbJ40dtjB81SAu6tbFPL9YLNT15KmOQ==" + }, + "node_modules/@firebase/messaging/node_modules/idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, + "node_modules/@firebase/performance": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.4.tgz", + "integrity": "sha512-HfTn/bd8mfy/61vEqaBelNiNnvAbUtME2S25A67Nb34zVuCSCRIX4SseXY6zBnOFj3oLisaEqhVcJmVPAej67g==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/performance-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.4.tgz", + "integrity": "sha512-nnHUb8uP9G8islzcld/k6Bg5RhX62VpbAb/Anj7IXs/hp32Eb2LqFPZK4sy3pKkBUO5wcrlRWQa6wKOxqlUqsg==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/performance": "0.6.4", + "@firebase/performance-types": "0.2.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/performance-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.0.tgz", + "integrity": "sha512-kYrbr8e/CYr1KLrLYZZt2noNnf+pRwDq2KK9Au9jHrBMnb0/C9X9yWSXmZkFt4UIdsQknBq8uBB7fsybZdOBTA==" + }, + "node_modules/@firebase/remote-config": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.4.tgz", + "integrity": "sha512-x1ioTHGX8ZwDSTOVp8PBLv2/wfwKzb4pxi0gFezS5GCJwbLlloUH4YYZHHS83IPxnua8b6l0IXUaWd0RgbWwzQ==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/remote-config-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.4.tgz", + "integrity": "sha512-FKiki53jZirrDFkBHglB3C07j5wBpitAaj8kLME6g8Mx+aq7u9P7qfmuSRytiOItADhWUj7O1JIv7n9q87SuwA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/remote-config": "0.4.4", + "@firebase/remote-config-types": "0.3.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.0.tgz", + "integrity": "sha512-RtEH4vdcbXZuZWRZbIRmQVBNsE7VDQpet2qFvq6vwKLBIQRQR5Kh58M4ok3A3US8Sr3rubYnaGqZSurCwI8uMA==" + }, + "node_modules/@firebase/storage": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.11.2.tgz", + "integrity": "sha512-CtvoFaBI4hGXlXbaCHf8humajkbXhs39Nbh6MbNxtwJiCqxPy9iH3D3CCfXAvP0QvAAwmJUTK3+z9a++Kc4nkA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/storage-compat": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.2.tgz", + "integrity": "sha512-wvsXlLa9DVOMQJckbDNhXKKxRNNewyUhhbXev3t8kSgoCotd1v3MmqhKKz93ePhDnhHnDs7bYHy+Qa8dRY6BXw==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/storage": "0.11.2", + "@firebase/storage-types": "0.8.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/storage-types": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.0.tgz", + "integrity": "sha512-isRHcGrTs9kITJC0AVehHfpraWFui39MPaU7Eo8QfWlqW7YPymBmRgjDrlOgFdURh6Cdeg07zmkLP5tzTKRSpg==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/storage/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@firebase/util": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.3.tgz", + "integrity": "sha512-DY02CRhOZwpzO36fHpuVysz6JZrscPiBXD0fXp6qSrL9oNOx5KWICKdR95C0lSITzxp0TZosVyHqzatE8JbcjA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.10.3.tgz", + "integrity": "sha512-+ZplYUN3HOpgCfgInqgdDAbkGGVzES1cs32JJpeqoh87SkRobGXElJx+1GZSaDqzFL+bYiX18qEcBK76mYs8uA==" + }, + "node_modules/@grpc/grpc-js": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.3.tgz", + "integrity": "sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA==", + "dependencies": { + "@grpc/proto-loader": "^0.7.8", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.9.tgz", + "integrity": "sha512-YJsOehVXzgurc+lLAxYnlSMc1p/Gu6VAvnfx0ATi2nzvr0YZcjhmZDeY8SeAKv1M7zE3aEJH0Xo9mK1iZ8GYoQ==", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -1567,7 +2156,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1581,7 +2169,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -1590,7 +2177,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -1608,14 +2194,12 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1814,7 +2398,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1827,7 +2410,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -1836,7 +2418,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2061,7 +2642,6 @@ "version": "3.7.3", "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.7.3.tgz", "integrity": "sha512-bhP02i6CNti15Z4ix3LpR3fd1ANtTcpfS3CDSaCja24hDt3UxIasyp52mqD9LRC+OxrUVHJziB18EwUtS6RLDQ==", - "dev": true, "dependencies": { "@nuxt/schema": "3.7.3", "c12": "^1.4.2", @@ -2129,7 +2709,6 @@ "version": "3.7.3", "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.7.3.tgz", "integrity": "sha512-Uqe3Z9RnAROzv5owQo//PztD9d4csKK6ulwQO1hIAinCh34X7z2zrv9lhm14hlRYU1n7ISEi4S7UeHgL/r8d8A==", - "dev": true, "dependencies": { "@nuxt/ui-templates": "^1.3.1", "defu": "^6.1.2", @@ -2180,8 +2759,7 @@ "node_modules/@nuxt/ui-templates": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@nuxt/ui-templates/-/ui-templates-1.3.1.tgz", - "integrity": "sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==", - "dev": true + "integrity": "sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==" }, "node_modules/@nuxt/vite-builder": { "version": "3.7.3", @@ -2623,6 +3201,68 @@ "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", "dev": true }, + "node_modules/@posva/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@posva/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-8rksr4MD7zNltsgerU9sx3OfOo8l9lABXf8/tII6XijgvTqFO+e+P+cSyfSQhAPgi458LMx75kUTLX3Zxwdc+g==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, "node_modules/@rollup/plugin-alias": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.0.0.tgz", @@ -2847,7 +3487,6 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.4.tgz", "integrity": "sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -2868,8 +3507,7 @@ "node_modules/@rollup/pluginutils/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 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@sideway/address": { "version": "4.1.4", @@ -3042,8 +3680,7 @@ "node_modules/@types/estree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, "node_modules/@types/http-proxy": { "version": "1.17.12", @@ -3078,8 +3715,7 @@ "node_modules/@types/node": { "version": "20.5.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", - "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==", - "dev": true + "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -3352,7 +3988,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", - "dev": true, "dependencies": { "@babel/parser": "^7.21.3", "@vue/shared": "3.3.4", @@ -3363,14 +3998,12 @@ "node_modules/@vue/compiler-core/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 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-dom": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", - "dev": true, "dependencies": { "@vue/compiler-core": "3.3.4", "@vue/shared": "3.3.4" @@ -3380,7 +4013,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", - "dev": true, "dependencies": { "@babel/parser": "^7.20.15", "@vue/compiler-core": "3.3.4", @@ -3397,14 +4029,12 @@ "node_modules/@vue/compiler-sfc/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 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-ssr": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", - "dev": true, "dependencies": { "@vue/compiler-dom": "3.3.4", "@vue/shared": "3.3.4" @@ -3420,7 +4050,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", - "dev": true, "dependencies": { "@vue/shared": "3.3.4" } @@ -3429,7 +4058,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", - "dev": true, "dependencies": { "@babel/parser": "^7.20.15", "@vue/compiler-core": "3.3.4", @@ -3441,14 +4069,12 @@ "node_modules/@vue/reactivity-transform/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 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/runtime-core": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", - "dev": true, "dependencies": { "@vue/reactivity": "3.3.4", "@vue/shared": "3.3.4" @@ -3458,7 +4084,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", - "dev": true, "dependencies": { "@vue/runtime-core": "3.3.4", "@vue/shared": "3.3.4", @@ -3469,7 +4094,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", - "dev": true, "dependencies": { "@vue/compiler-ssr": "3.3.4", "@vue/shared": "3.3.4" @@ -3481,8 +4105,7 @@ "node_modules/@vue/shared": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", - "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==", - "dev": true + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" }, "node_modules/@vueuse/core": { "version": "10.4.1", @@ -3804,7 +4427,6 @@ "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -3953,7 +4575,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -3980,7 +4601,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4277,7 +4897,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -4393,7 +5012,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -4405,7 +5023,6 @@ "version": "4.21.10", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4546,7 +5163,6 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/c12/-/c12-1.4.2.tgz", "integrity": "sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==", - "dev": true, "dependencies": { "chokidar": "^3.5.3", "defu": "^6.1.2", @@ -4711,7 +5327,6 @@ "version": "1.0.30001524", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001524.tgz", "integrity": "sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4743,7 +5358,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -4770,7 +5384,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, "engines": { "node": ">=10" } @@ -4965,7 +5578,6 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -4979,7 +5591,6 @@ "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" }, @@ -4994,7 +5605,6 @@ "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" }, @@ -5005,20 +5615,17 @@ "node_modules/cliui/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 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5032,7 +5639,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5068,7 +5674,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -5076,8 +5681,7 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/color-support": { "version": "1.1.3", @@ -5097,8 +5701,7 @@ "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -5149,7 +5752,6 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", - "dev": true, "engines": { "node": "^14.18.0 || >=16.10.0" } @@ -5184,8 +5786,7 @@ "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie-es": { "version": "1.0.0", @@ -5209,8 +5810,7 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { "version": "7.1.0", @@ -5501,8 +6101,7 @@ "node_modules/csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/cuint": { "version": "0.2.2", @@ -5523,7 +6122,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -5749,8 +6347,7 @@ "node_modules/defu": { "version": "6.1.2", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", - "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==", - "dev": true + "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==" }, "node_modules/delayed-stream": { "version": "1.0.0", @@ -5788,8 +6385,7 @@ "node_modules/destr": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.1.tgz", - "integrity": "sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==", - "dev": true + "integrity": "sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==" }, "node_modules/destroy": { "version": "1.2.0", @@ -5835,7 +6431,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "dependencies": { "path-type": "^4.0.0" }, @@ -5935,7 +6530,6 @@ "version": "16.3.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", - "dev": true, "engines": { "node": ">=12" }, @@ -5964,8 +6558,7 @@ "node_modules/electron-to-chromium": { "version": "1.4.505", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.505.tgz", - "integrity": "sha512-0A50eL5BCCKdxig2SsCXhpuztnB9PfUgRMojj5tMvt8O54lbwz3t6wNgnpiTRosw5QjlJB7ixhVyeg8daLQwSQ==", - "dev": true + "integrity": "sha512-0A50eL5BCCKdxig2SsCXhpuztnB9PfUgRMojj5tMvt8O54lbwz3t6wNgnpiTRosw5QjlJB7ixhVyeg8daLQwSQ==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -5995,7 +6588,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, "dependencies": { "iconv-lite": "^0.6.2" @@ -6054,7 +6646,6 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, "dependencies": { "prr": "~1.0.1" }, @@ -6134,7 +6725,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -6149,7 +6739,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, "engines": { "node": ">=12" }, @@ -6233,7 +6822,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0" } @@ -6328,7 +6916,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6350,11 +6937,21 @@ "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -6406,7 +7003,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6414,11 +7010,43 @@ "node": ">=8" } }, + "node_modules/firebase": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.4.0.tgz", + "integrity": "sha512-3Z8WsNwA7kbcKGZ+nrTZ/ES518pk0K440ZJYD8nUNKN5hV6ll+unhUw30t1msedN6yIFjhsC/9OwT4Z0ohwO2w==", + "dependencies": { + "@firebase/analytics": "0.10.0", + "@firebase/analytics-compat": "0.2.6", + "@firebase/app": "0.9.19", + "@firebase/app-check": "0.8.0", + "@firebase/app-check-compat": "0.3.7", + "@firebase/app-compat": "0.2.19", + "@firebase/app-types": "0.9.0", + "@firebase/auth": "1.3.0", + "@firebase/auth-compat": "0.4.6", + "@firebase/database": "1.0.1", + "@firebase/database-compat": "1.0.1", + "@firebase/firestore": "4.2.0", + "@firebase/firestore-compat": "0.3.18", + "@firebase/functions": "0.10.0", + "@firebase/functions-compat": "0.3.5", + "@firebase/installations": "0.6.4", + "@firebase/installations-compat": "0.2.4", + "@firebase/messaging": "0.12.4", + "@firebase/messaging-compat": "0.2.4", + "@firebase/performance": "0.6.4", + "@firebase/performance-compat": "0.2.4", + "@firebase/remote-config": "0.4.4", + "@firebase/remote-config-compat": "0.2.4", + "@firebase/storage": "0.11.2", + "@firebase/storage-compat": "0.3.2", + "@firebase/util": "1.9.3" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, "bin": { "flat": "cli.js" } @@ -6576,7 +7204,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -6636,7 +7263,6 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -6645,7 +7271,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -6699,7 +7324,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", - "dev": true, "dependencies": { "colorette": "^2.0.19", "defu": "^6.1.2", @@ -6717,7 +7341,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "dependencies": { "debug": "4" }, @@ -6729,7 +7352,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -6789,7 +7411,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -6823,7 +7444,6 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "engines": { "node": ">=4" } @@ -6832,7 +7452,6 @@ "version": "13.2.2", "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, "dependencies": { "dir-glob": "^3.0.1", "fast-glob": "^3.3.0", @@ -6862,8 +7481,7 @@ "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 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/gzip-size": { "version": "7.0.0", @@ -6912,7 +7530,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -6977,14 +7594,12 @@ "node_modules/hash-sum": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" }, "node_modules/hookable": { "version": "5.5.3", "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", - "dev": true + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" }, "node_modules/hosted-git-info": { "version": "7.0.0", @@ -7088,6 +7703,11 @@ "node": ">= 0.8" } }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, "node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", @@ -7165,7 +7785,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -7186,6 +7805,11 @@ "postcss": "^8.1.0" } }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -7210,7 +7834,6 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, "engines": { "node": ">= 4" } @@ -7319,8 +7942,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "2.0.0", @@ -7396,7 +8018,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -7462,7 +8083,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7471,7 +8091,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -7495,7 +8114,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -7575,7 +8193,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -7679,8 +8296,7 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isexe": { "version": "2.0.0", @@ -7751,7 +8367,6 @@ "version": "1.20.0", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", - "dev": true, "bin": { "jiti": "bin/jiti.js" } @@ -7772,8 +8387,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", @@ -7791,7 +8405,6 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -7818,7 +8431,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -7829,8 +8441,7 @@ "node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "node_modules/jsonfile": { "version": "6.1.0", @@ -7886,8 +8497,7 @@ "node_modules/knitwork": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz", - "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==", - "dev": true + "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==" }, "node_modules/koa": { "version": "2.14.2", @@ -8176,7 +8786,6 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", - "dev": true, "engines": { "node": ">=14" }, @@ -8202,6 +8811,11 @@ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", "dev": true }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -8257,11 +8871,15 @@ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "dependencies": { "yallist": "^3.0.2" } @@ -8270,7 +8888,6 @@ "version": "0.30.3", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", - "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -8479,7 +9096,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -8492,7 +9108,6 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8506,14 +9121,12 @@ "node_modules/memory-fs/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/memory-fs/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -8528,7 +9141,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -8546,7 +9158,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -8799,7 +9410,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -8812,7 +9422,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -8823,14 +9432,12 @@ "node_modules/minizlib/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -8842,7 +9449,6 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", - "dev": true, "dependencies": { "acorn": "^8.10.0", "pathe": "^1.1.1", @@ -8854,7 +9460,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, "engines": { "node": ">=4" } @@ -8871,8 +9476,7 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/mz": { "version": "2.7.0", @@ -9050,8 +9654,7 @@ "node_modules/node-fetch-native": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz", - "integrity": "sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==", - "dev": true + "integrity": "sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==" }, "node_modules/node-forge": { "version": "1.3.1", @@ -9240,8 +9843,7 @@ "node_modules/node-releases": { "version": "2.0.13", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "node_modules/nopt": { "version": "5.0.0", @@ -9277,7 +9879,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -9556,6 +10157,37 @@ } } }, + "node_modules/nuxt-vuefire": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/nuxt-vuefire/-/nuxt-vuefire-0.3.0.tgz", + "integrity": "sha512-EeshCQ/f916mDoHmNtsoBo5xQwxYPNI5jHdi6+ul5kkYT415CQrgUQjaXyvMpXUYbEXOkrRmlqOS9kDFrG4/pw==", + "dependencies": { + "@nuxt/kit": "^3.7.1", + "@posva/lru-cache": "^10.0.1", + "strip-json-comments": "^5.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@firebase/app-types": ">=0.8.1", + "firebase": "^9.0.0 || ^10.0.0", + "firebase-admin": "^11.3.0", + "firebase-functions": "^4.1.0", + "vuefire": ">=3.1.17" + }, + "peerDependenciesMeta": { + "@firebase/app-types": { + "optional": true + }, + "firebase-admin": { + "optional": true + }, + "firebase-functions": { + "optional": true + } + } + }, "node_modules/nypm": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.3.tgz", @@ -9687,8 +10319,7 @@ "node_modules/ohash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", - "dev": true + "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==" }, "node_modules/on-finished": { "version": "2.4.1", @@ -9969,7 +10600,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } @@ -9977,8 +10607,7 @@ "node_modules/pathe": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", - "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", - "dev": true + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==" }, "node_modules/pend": { "version": "1.2.0", @@ -9989,20 +10618,17 @@ "node_modules/perfect-debounce": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", - "dev": true + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -10079,7 +10705,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dev": true, "dependencies": { "jsonc-parser": "^3.2.0", "mlly": "^1.2.0", @@ -10134,7 +10759,6 @@ "version": "8.4.29", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", "integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==", - "dev": true, "funding": [ { "type": "opencollective", @@ -10305,7 +10929,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz", "integrity": "sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==", - "dev": true, "dependencies": { "enhanced-resolve": "^4.1.1" } @@ -10314,7 +10937,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", @@ -10328,7 +10950,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, "engines": { "node": ">=6" } @@ -10917,7 +11538,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, "funding": [ { "type": "github", @@ -10970,8 +11590,7 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise-inflight": { "version": "1.0.1", @@ -11005,6 +11624,29 @@ "node": ">= 6" } }, + "node_modules/protobufjs": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", + "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/protocols": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", @@ -11014,8 +11656,7 @@ "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" }, "node_modules/punycode": { "version": "2.3.0", @@ -11030,7 +11671,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -11080,7 +11720,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.1.tgz", "integrity": "sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==", - "dev": true, "dependencies": { "defu": "^6.1.2", "destr": "^2.0.0", @@ -11188,7 +11827,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -11366,7 +12004,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11477,7 +12114,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -11544,7 +12180,7 @@ "version": "3.29.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.2.tgz", "integrity": "sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==", - "dev": true, + "devOptional": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -11699,7 +12335,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -11731,7 +12366,6 @@ "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", @@ -11751,7 +12385,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, "optional": true }, "node_modules/schema-utils": { @@ -11775,8 +12408,7 @@ "node_modules/scule": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", - "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", - "dev": true + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==" }, "node_modules/seek-bzip": { "version": "1.0.6", @@ -11795,7 +12427,6 @@ "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -11810,7 +12441,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -11821,8 +12451,7 @@ "node_modules/semver/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/send": { "version": "0.18.0", @@ -12016,7 +12645,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, "engines": { "node": ">=12" }, @@ -12098,7 +12726,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -12175,8 +12802,7 @@ "node_modules/std-env": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==", - "dev": true + "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" }, "node_modules/streamsearch": { "version": "1.1.0", @@ -12275,7 +12901,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12317,11 +12942,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-json-comments": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz", + "integrity": "sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-literal": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", - "dev": true, "dependencies": { "acorn": "^8.10.0" }, @@ -12624,7 +13259,6 @@ "version": "6.1.15", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", - "dev": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -12689,7 +13323,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -12701,7 +13334,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -12713,7 +13345,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -12721,8 +13352,7 @@ "node_modules/tar/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/terser": { "version": "5.19.3", @@ -12832,7 +13462,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -12841,7 +13470,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -12870,8 +13498,7 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/ts-interface-checker": { "version": "0.1.13", @@ -12882,8 +13509,7 @@ "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tsscmp": { "version": "1.0.6", @@ -12975,8 +13601,7 @@ "node_modules/ufo": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.0.tgz", - "integrity": "sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==", - "dev": true + "integrity": "sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==" }, "node_modules/ultrahtml": { "version": "1.5.2", @@ -13004,7 +13629,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.3.1.tgz", "integrity": "sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==", - "dev": true, "dependencies": { "acorn": "^8.8.2", "estree-walker": "^3.0.3", @@ -13056,7 +13680,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.3.0.tgz", "integrity": "sha512-3jhq3ZG5hFZzrWGDCpx83kjPzefP/EeuKkIO1T0MA4Zwj+dO/Og1mFvZ4aZ5WSDm0FVbbdVIRH1zKBG7c4wOpg==", - "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.4", "escape-string-regexp": "^5.0.0", @@ -13108,7 +13731,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.4.0.tgz", "integrity": "sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==", - "dev": true, "dependencies": { "acorn": "^8.9.0", "chokidar": "^3.5.3", @@ -13248,7 +13870,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.4.0.tgz", "integrity": "sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==", - "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/standalone": "^7.22.9", @@ -13266,7 +13887,6 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, "funding": [ { "type": "opencollective", @@ -13329,8 +13949,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/validate-npm-package-license": { "version": "3.0.4", @@ -14155,7 +14774,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", - "dev": true, "dependencies": { "@vue/compiler-dom": "3.3.4", "@vue/compiler-sfc": "3.3.4", @@ -14177,7 +14795,6 @@ "version": "0.14.6", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", - "dev": true, "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -14220,6 +14837,36 @@ "vue": "^3.2.0" } }, + "node_modules/vuefire": { + "version": "3.1.17", + "resolved": "https://registry.npmjs.org/vuefire/-/vuefire-3.1.17.tgz", + "integrity": "sha512-GQIX+w94etMg2q9pJmbp8HGsJQBEQk6JdnfA++B6rRpswxW5KQLm3FwKmMKDJVrxdCg/+5zy0q//YNGBcQUr6A==", + "dependencies": { + "vue-demi": "latest" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "consola": "^3.2.3", + "firebase": "^9.0.0 || ^10.0.0", + "vue": "^2.7.0 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "consola": { + "optional": true + }, + "firebase": { + "optional": true + } + } + }, "node_modules/wait-on": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.0.1.tgz", @@ -14265,8 +14912,7 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { "version": "5.88.2", @@ -14320,7 +14966,6 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, "engines": { "node": ">=10.13.0" } @@ -14328,8 +14973,7 @@ "node_modules/webpack-virtual-modules": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", - "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", - "dev": true + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" }, "node_modules/webpack/node_modules/json-parse-even-better-errors": { "version": "2.3.1", @@ -14338,11 +14982,31 @@ "dev": true, "peer": true }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -14590,7 +15254,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -14598,8 +15261,7 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { "version": "2.3.2", @@ -14614,7 +15276,6 @@ "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -14632,7 +15293,6 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, "engines": { "node": ">=12" } @@ -14640,14 +15300,12 @@ "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", diff --git a/package.json b/package.json index 34b3b8f..4fe79e1 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "build": "nuxt build", "build:digitalocean": "npm install --production=false && npm run build && npm ci", "dev": "nuxt dev", + "emulators": "firebase emulators:start", "generate": "nuxt generate", "preview": "nuxt preview", "postinstall": "nuxt prepare", @@ -29,8 +30,12 @@ "primevue": "^3.33.0" }, "dependencies": { + "@firebase/app-types": "^0.9.0", + "firebase": "^10.4.0", "nanoid": "^4.0.2", - "sortablejs": "^1.15.0" + "nuxt-vuefire": "^0.3.0", + "sortablejs": "^1.15.0", + "vuefire": "^3.1.17" }, "overrides": { "pinia": { From 6793e40443058201737fc31d4a1d8c601af40f42 Mon Sep 17 00:00:00 2001 From: Mark Ross Date: Tue, 19 Sep 2023 18:40:20 -0700 Subject: [PATCH 02/15] Move lineup functionality to a page. --- app.vue | 2 +- components/lineup/Lineup.vue => pages/lineup.vue | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename components/lineup/Lineup.vue => pages/lineup.vue (100%) diff --git a/app.vue b/app.vue index 0ad1861..8158292 100644 --- a/app.vue +++ b/app.vue @@ -6,7 +6,7 @@ - +
This program is licensed to you for use under the GNU AGPL v3. diff --git a/components/lineup/Lineup.vue b/pages/lineup.vue similarity index 100% rename from components/lineup/Lineup.vue rename to pages/lineup.vue From 05435c62afb7fd1350bcebce610e03bf079a50f2 Mon Sep 17 00:00:00 2001 From: Mark Ross Date: Wed, 20 Sep 2023 12:41:42 -0700 Subject: [PATCH 03/15] Add a home page and a sidebar nav menu. --- README.md | 2 +- app.vue | 70 ++++++++++++++++++++-- nuxt.config.ts | 2 +- package-lock.json | 47 +++++++++++++++ package.json | 1 + pages/index.vue | 34 +++++++++++ plugins/primevue.js | 4 ++ public/favicon/about.txt | 6 ++ public/favicon/android-chrome-192x192.png | Bin 0 -> 17769 bytes public/favicon/android-chrome-512x512.png | Bin 0 -> 56547 bytes public/favicon/apple-touch-icon.png | Bin 0 -> 15892 bytes public/favicon/favicon-16x16.png | Bin 0 -> 732 bytes public/favicon/favicon-32x32.png | Bin 0 -> 1805 bytes public/{ => favicon}/favicon.ico | Bin public/favicon/site.webmanifest | 1 + tailwind.config.js | 3 + 16 files changed, 163 insertions(+), 7 deletions(-) create mode 100644 pages/index.vue create mode 100644 public/favicon/about.txt create mode 100644 public/favicon/android-chrome-192x192.png create mode 100644 public/favicon/android-chrome-512x512.png create mode 100644 public/favicon/apple-touch-icon.png create mode 100644 public/favicon/favicon-16x16.png create mode 100644 public/favicon/favicon-32x32.png rename public/{ => favicon}/favicon.ico (100%) create mode 100644 public/favicon/site.webmanifest diff --git a/README.md b/README.md index 551b5e9..f185029 100644 --- a/README.md +++ b/README.md @@ -75,4 +75,4 @@ An app spec is available under `.do/` which will run the SSG command and publish ## Attributions -The softball favicon (`public/favicon.ico`) is used under the [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/) license from the [twemoji](https://github.com/twitter/twemoji) project. The source image is [here](https://github.com/twitter/twemoji/blob/master/assets/svg/1f94e.svg). \ No newline at end of file +The softball favicon (`public/favicon/favicon.ico`) is used under the [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/) license from the [twemoji](https://github.com/twitter/twemoji) project. \ No newline at end of file diff --git a/app.vue b/app.vue index 8158292..15d27f0 100644 --- a/app.vue +++ b/app.vue @@ -1,15 +1,71 @@ @@ -27,4 +83,8 @@ body { input { @apply placeholder-gray-600 dark:placeholder-gray-400; } + +.router-link-exact-active { + @apply text-orange-600 dark:text-yellow-300; +} diff --git a/nuxt.config.ts b/nuxt.config.ts index 97a3587..847f974 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -28,7 +28,7 @@ export default defineNuxtConfig({ { rel: 'icon', type: 'image/x-icon', - href: '/lineup/favicon.ico' + href: '/lineup/favicon/favicon.ico' } ] } diff --git a/package-lock.json b/package-lock.json index 5222e9b..d477b5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@nuxtjs/color-mode": "^3.3.0", "@nuxtjs/tailwindcss": "^6.8.0", "@pinia/nuxt": "^0.4.11", + "@tailwindcss/typography": "^0.5.10", "@types/lodash-es": "^4.17.9", "@vueuse/integrations": "^10.4.1", "@vueuse/nuxt": "^10.4.1", @@ -3600,6 +3601,34 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", + "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -8816,6 +8845,12 @@ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -8834,12 +8869,24 @@ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", "dev": true }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/lodash.pick": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", diff --git a/package.json b/package.json index 4fe79e1..97098c5 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@nuxtjs/color-mode": "^3.3.0", "@nuxtjs/tailwindcss": "^6.8.0", "@pinia/nuxt": "^0.4.11", + "@tailwindcss/typography": "^0.5.10", "@types/lodash-es": "^4.17.9", "@vueuse/integrations": "^10.4.1", "@vueuse/nuxt": "^10.4.1", diff --git a/pages/index.vue b/pages/index.vue new file mode 100644 index 0000000..cef7c9b --- /dev/null +++ b/pages/index.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/plugins/primevue.js b/plugins/primevue.js index 7b0c3d4..c37aa38 100644 --- a/plugins/primevue.js +++ b/plugins/primevue.js @@ -13,6 +13,8 @@ import Dialog from 'primevue/dialog'; import Inplace from 'primevue/inplace'; import InputText from 'primevue/inputtext'; import Listbox from 'primevue/listbox'; +import Menu from 'primevue/menu'; +import Sidebar from 'primevue/sidebar'; import Toast from 'primevue/toast'; export default defineNuxtPlugin(nuxtApp => { @@ -33,5 +35,7 @@ export default defineNuxtPlugin(nuxtApp => { nuxtApp.vueApp.component('Inplace', Inplace); nuxtApp.vueApp.component('InputText', InputText); nuxtApp.vueApp.component('Listbox', Listbox); + nuxtApp.vueApp.component('Menu', Menu); + nuxtApp.vueApp.component('Sidebar', Sidebar); nuxtApp.vueApp.component('Toast', Toast); }); diff --git a/public/favicon/about.txt b/public/favicon/about.txt new file mode 100644 index 0000000..09b4c49 --- /dev/null +++ b/public/favicon/about.txt @@ -0,0 +1,6 @@ +This favicon was generated using the following graphics from Twitter Twemoji: + +- Graphics Title: 1f94e.svg +- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji) +- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f94e.svg +- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/) diff --git a/public/favicon/android-chrome-192x192.png b/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..a4bb9493377bbec4cea876253639a8edf313cc31 GIT binary patch literal 17769 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⪼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 AKmY&$ literal 0 HcmV?d00001 diff --git a/public/favicon/android-chrome-512x512.png b/public/favicon/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..7b66f16868fdde536bb879afbe944cc8685ae6f9 GIT binary patch literal 56547 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 F{{eC%Ewumu literal 0 HcmV?d00001 diff --git a/public/favicon/apple-touch-icon.png b/public/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..28262ac8139b3e11bc1f4bbe1120b8b3cadb36ba GIT binary patch literal 15892 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

bS3J)W8ElbYtG?%sA99JZhgV@&o&8#(VN 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 vmPiuAhN*E6k#G(blG!&pJKv>{ //"./src/**/*.{vue,js,ts,jsx,tsx}", "./node_modules/primevue/**/*.{vue,js,ts,jsx,tsx}" ], + plugins: [ + require('@tailwindcss/typography') + ], }; \ No newline at end of file From 9f6c5b12a28193ee60b582c060e4b5ae5598e74e Mon Sep 17 00:00:00 2001 From: Mark Ross Date: Wed, 20 Sep 2023 12:42:52 -0700 Subject: [PATCH 04/15] Normalize icon widths. --- components/settings/SettingsButton.vue | 8 ++++---- components/settings/SettingsHelpButton.vue | 2 +- components/settings/SettingsLockButton.vue | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/components/settings/SettingsButton.vue b/components/settings/SettingsButton.vue index 102794c..3219e3f 100644 --- a/components/settings/SettingsButton.vue +++ b/components/settings/SettingsButton.vue @@ -16,7 +16,7 @@ const isDialogVisible = ref(false);