From 1723d675b2b7ecba7fd37c0e9a0405022260f96b Mon Sep 17 00:00:00 2001 From: Stephen Pugh Date: Sat, 20 Apr 2024 16:16:37 -0400 Subject: [PATCH 01/10] =?UTF-8?q?Cambio=20login/registro:=20todo=20manejad?= =?UTF-8?q?o=20por=20Auth0=20ahora=20=F0=9F=94=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/common/Button.jsx | 2 +- src/common/LoginButton.jsx | 17 +++++++++++++++++ src/common/LogoutButton.jsx | 22 ++++++++++++++++++++++ src/common/navbar.jsx | 12 ++---------- src/flights/index.jsx | 6 ++---- src/flights/show.jsx | 2 +- src/main.jsx | 26 ++++++++++++++++++++++---- 8 files changed, 68 insertions(+), 20 deletions(-) create mode 100644 src/common/LoginButton.jsx create mode 100644 src/common/LogoutButton.jsx diff --git a/.gitignore b/.gitignore index a547bf3..d730797 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ dist-ssr *.njsproj *.sln *.sw? +*.env diff --git a/src/common/Button.jsx b/src/common/Button.jsx index c719475..06f6680 100644 --- a/src/common/Button.jsx +++ b/src/common/Button.jsx @@ -1,4 +1,4 @@ -import "./button.css"; +import "./Button.css"; import { useRef, useEffect } from "react"; import PropTypes from "prop-types"; diff --git a/src/common/LoginButton.jsx b/src/common/LoginButton.jsx new file mode 100644 index 0000000..f61331b --- /dev/null +++ b/src/common/LoginButton.jsx @@ -0,0 +1,17 @@ +import "../common/Button.css"; +import { useAuth0 } from "@auth0/auth0-react"; + +const LoginButton = () => { + const { loginWithRedirect, isAuthenticated } = useAuth0(); + if (!isAuthenticated) { + return ( +
+ +
+ ); + } +}; + +export default LoginButton; diff --git a/src/common/LogoutButton.jsx b/src/common/LogoutButton.jsx new file mode 100644 index 0000000..3cbbff9 --- /dev/null +++ b/src/common/LogoutButton.jsx @@ -0,0 +1,22 @@ +import "./Button.css"; +import { useAuth0 } from "@auth0/auth0-react"; + +const LogoutButton = () => { + const { logout, isAuthenticated } = useAuth0(); + + if (isAuthenticated) { + return ( + <> + +
+ + ); + } +}; + +export default LogoutButton; diff --git a/src/common/navbar.jsx b/src/common/navbar.jsx index 29d6c42..04f0411 100644 --- a/src/common/navbar.jsx +++ b/src/common/navbar.jsx @@ -1,5 +1,6 @@ import "./navbar.css"; import { Link } from "react-router-dom"; +import LoginButton from "./LoginButton"; function Navbar() { return ( @@ -10,16 +11,7 @@ function Navbar() {
-
  • - - Iniciar Sesion - -
  • -
  • - - Registrarte - -
  • +
    ); diff --git a/src/flights/index.jsx b/src/flights/index.jsx index 0cf49b6..0616ed6 100644 --- a/src/flights/index.jsx +++ b/src/flights/index.jsx @@ -1,10 +1,8 @@ /* eslint-disable no-unused-vars */ import React, { useEffect, useState } from "react"; import "./index.css"; -import Button from "../common/button.jsx"; -import { Link } from 'react-router-dom'; - - +import Button from "../common/Button.jsx"; +import { Link } from "react-router-dom"; const Flights = () => { const [flights, setFlights] = useState([]); diff --git a/src/flights/show.jsx b/src/flights/show.jsx index fdda655..7c7dd64 100644 --- a/src/flights/show.jsx +++ b/src/flights/show.jsx @@ -1,7 +1,7 @@ import { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import "./index.css"; -import Button from "../common/button.jsx"; +import Button from "../common/Button.jsx"; const Flight = () => { const [flight, setFlight] = useState(null); diff --git a/src/main.jsx b/src/main.jsx index 6856e78..4ec438f 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -3,12 +3,30 @@ import ReactDOM from "react-dom/client"; import { BrowserRouter } from "react-router-dom"; import Navbar from "./common/navbar"; import PageRoutes from "./common/router"; +import { Auth0Provider } from "@auth0/auth0-react"; + +const authorizationParams = { + redirect_uri: window.location.origin + "/flights", // Auth0 redirige a "flights" + // audience:, // aqui deberia ir un API_IDENTIFIER, me imagino que + // cuando conectemos con el backend se dara + scope: "openid profile email", +}; ReactDOM.createRoot(document.getElementById("root")).render( - - - - + + + + + + , ); From 32543e60f99a348d6d888beae3a604bc7f8584bf Mon Sep 17 00:00:00 2001 From: Stephen Pugh Date: Sat, 20 Apr 2024 16:27:50 -0400 Subject: [PATCH 02/10] =?UTF-8?q?A=C3=B1adir=20logout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/LogoutButton.jsx | 6 +++--- src/common/navbar.jsx | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/common/LogoutButton.jsx b/src/common/LogoutButton.jsx index 3cbbff9..b3d88b9 100644 --- a/src/common/LogoutButton.jsx +++ b/src/common/LogoutButton.jsx @@ -1,4 +1,4 @@ -import "./Button.css"; +import "../common/Button.css"; import { useAuth0 } from "@auth0/auth0-react"; const LogoutButton = () => { @@ -8,10 +8,10 @@ const LogoutButton = () => { return ( <>
    diff --git a/src/common/navbar.jsx b/src/common/navbar.jsx index 04f0411..2408056 100644 --- a/src/common/navbar.jsx +++ b/src/common/navbar.jsx @@ -1,8 +1,13 @@ import "./navbar.css"; import { Link } from "react-router-dom"; import LoginButton from "./LoginButton"; +import LogoutButton from "./LogoutButton"; +import { useAuth0 } from "@auth0/auth0-react"; function Navbar() { + + const { isAuthenticated } = useAuth0(); + return ( ); From b736ed80ee102cbd3661abc7fa9782f56a22e118 Mon Sep 17 00:00:00 2001 From: Stephen Pugh Date: Sat, 20 Apr 2024 16:34:34 -0400 Subject: [PATCH 03/10] lint fix --- src/common/navbar.jsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/common/navbar.jsx b/src/common/navbar.jsx index 2408056..2dcc4ea 100644 --- a/src/common/navbar.jsx +++ b/src/common/navbar.jsx @@ -5,7 +5,6 @@ import LogoutButton from "./LogoutButton"; import { useAuth0 } from "@auth0/auth0-react"; function Navbar() { - const { isAuthenticated } = useAuth0(); return ( @@ -16,8 +15,11 @@ function Navbar() {
    - {isAuthenticated ? () : ()} - + {isAuthenticated ? ( + + ) : ( + + )}
    ); From 1f354202319dd31ab60f02bb7f0054ac948fa6d9 Mon Sep 17 00:00:00 2001 From: Fabian Mendoza Date: Sat, 20 Apr 2024 17:12:57 -0400 Subject: [PATCH 04/10] Agregar rutas al router --- package-lock.json | 1243 ++--------------------------------------- package.json | 2 +- src/common/router.jsx | 3 + 3 files changed, 49 insertions(+), 1199 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9de382..16e571b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "flightsbooking", "version": "0.0.0", "dependencies": { - "lint": "^0.8.19", + "lint": "^1.1.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.22.3" @@ -897,19 +897,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@kwsites/file-exists": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", - "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", - "dependencies": { - "debug": "^4.1.1" - } - }, - "node_modules/@kwsites/promise-deferred": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", - "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1282,6 +1269,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1293,14 +1281,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1314,6 +1294,7 @@ "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" }, @@ -1324,7 +1305,8 @@ "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", @@ -1465,27 +1447,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1501,36 +1462,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dependencies": { - "tweetnacl": "^0.14.3" - } + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1596,14 +1538,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001609", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz", @@ -1624,15 +1558,11 @@ } ] }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1642,103 +1572,11 @@ "node": ">=4" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", - "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", - "dependencies": { - "colors": "1.0.3" - }, - "engines": { - "node": ">= 0.2.0" - } - }, - "node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -1746,36 +1584,14 @@ "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==" - }, - "node_modules/colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/convert-source-map": { "version": "2.0.0", @@ -1783,11 +1599,6 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1808,17 +1619,6 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", @@ -1874,6 +1674,7 @@ "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" }, @@ -1886,31 +1687,12 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -1945,14 +1727,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1965,26 +1739,12 @@ "node": ">=6.0.0" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/electron-to-chromium": { "version": "1.4.736", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz", "integrity": "sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==", "dev": true }, - "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, "node_modules/es-abstract": { "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", @@ -2194,6 +1954,7 @@ "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" } @@ -2502,18 +2263,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -2556,47 +2305,11 @@ "node": ">=0.10.0" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-diff": { "version": "1.3.0", @@ -2607,7 +2320,8 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -2624,17 +2338,6 @@ "reusify": "^1.0.4" } }, - "node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -2692,39 +2395,11 @@ "is-callable": "^1.1.3" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.3", @@ -2785,14 +2460,6 @@ "node": ">=6.9.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -2829,18 +2496,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2910,27 +2570,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -2944,6 +2583,7 @@ "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" } @@ -3011,31 +2651,6 @@ "node": ">= 0.4" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -3074,6 +2689,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3082,49 +2698,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/internal-slot": { "version": "1.0.7", @@ -3253,14 +2828,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3282,14 +2849,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, "node_modules/is-generator-function": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", @@ -3453,11 +3012,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, "node_modules/is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", @@ -3510,11 +3064,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, "node_modules/iterator.prototype": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", @@ -3537,6 +3086,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -3544,11 +3094,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -3567,15 +3112,11 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -3583,11 +3124,6 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -3600,20 +3136,6 @@ "node": ">=6" } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -3652,47 +3174,16 @@ } }, "node_modules/lint": { - "version": "0.8.19", - "resolved": "https://registry.npmjs.org/lint/-/lint-0.8.19.tgz", - "integrity": "sha512-i9iqBX/OO2+zSE7hEDXJ0rdLMxvBluK2T/xbCKAhEgyHE1q6kjp1HJGOVagkVB0f0UZ+FnW/wM3smsihQN0tFw==", - "hasInstallScript": true, - "dependencies": { - "chalk": "^2.4.2", - "cli-table": "^0.3.1", - "commander": "^2.17.1", - "inquirer": "^6.1.0", - "js-yaml": ">=3.13.1", - "loadash": "^1.0.0", - "moment": "^2.22.2", - "ora": "^3.0.0", - "prettier": "^1.15.3", - "replace-in-file": "^3.4.2", - "request": "^2.87.0", - "simple-git": "^3.15.0", - "write-yaml": "^1.0.0" - }, - "bin": { - "lint": "index.js", - "omnilint": "index.js" - } - }, - "node_modules/lint/node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lint/-/lint-1.1.2.tgz", + "integrity": "sha512-kOzKdN0iSdkx57102MxZd64yn32rHaB6xqBMN3hyCRiBV2xiurM75XWvTHWNK/SJBCddHPhjDLV+kNr3Uf1MGg==", "bin": { - "prettier": "bin-prettier.js" + "node-lint": "bin/node-lint" }, "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/loadash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/loadash/-/loadash-1.0.0.tgz", - "integrity": "sha512-xlX5HBsXB3KG0FJbJJG/3kYWCfsCyCSus3T+uHVu6QL6YxAdggmm3QeyLgn54N2yi5/UE6xxL5ZWJAAiHzHYEg==", - "deprecated": "Package is unsupport. Please use the lodash package instead." - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3708,28 +3199,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "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/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -3750,37 +3225,11 @@ "yallist": "^3.0.2" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "engines": { - "node": ">=4" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3788,42 +3237,11 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } - }, "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==" - }, - "node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/nanoid": { "version": "3.3.7", @@ -3855,14 +3273,6 @@ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -3978,21 +3388,11 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "dependencies": { "wrappy": "1" } }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -4010,49 +3410,6 @@ "node": ">= 0.8.0" } }, - "node_modules/ora": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", - "dependencies": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -4083,14 +3440,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4116,6 +3465,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -4135,11 +3485,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -4230,27 +3575,15 @@ "react-is": "^16.13.1" } }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "engines": { "node": ">=6" } }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -4378,63 +3711,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/replace-in-file": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-3.4.4.tgz", - "integrity": "sha512-ehq0dFsxSpfPiPLBU5kli38Ud8bZL0CQKG8WQVbvhmyilXaMJ8y4LtDZs/K3MD8C0+rHbsfW8c9r2bUEy0B/6Q==", - "dependencies": { - "chalk": "^2.4.2", - "glob": "^7.1.3", - "yargs": "^13.2.2" - }, - "bin": { - "replace-in-file": "bin/cli.js" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, "node_modules/resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", @@ -4461,18 +3737,6 @@ "node": ">=4" } }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -4532,14 +3796,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4563,22 +3819,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/safe-array-concat": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", @@ -4597,25 +3837,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", @@ -4633,11 +3854,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, "node_modules/scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", @@ -4655,11 +3871,6 @@ "semver": "bin/semver.js" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -4731,25 +3942,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/simple-git": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.24.0.tgz", - "integrity": "sha512-QqAKee9Twv+3k8IFOFfPB2hnk6as6Y6ACUpwCtQvRYBAes23Wv3SZlHVobAzqcE8gfsisCvPw3HGW3HYM+VYYw==", - "dependencies": { - "@kwsites/file-exists": "^1.1.1", - "@kwsites/promise-deferred": "^1.1.1", - "debug": "^4.3.4" - }, - "funding": { - "type": "github", - "url": "https://github.com/steveukx/git-js?sponsor=1" - } - }, "node_modules/source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", @@ -4759,66 +3951,6 @@ "node": ">=0.10.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/string.prototype.matchall": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", @@ -4922,6 +4054,7 @@ "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" }, @@ -4963,22 +4096,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -4988,40 +4105,12 @@ "node": ">=4" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "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 }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -5168,32 +4257,11 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "node_modules/vite": { "version": "5.2.8", "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz", @@ -5249,14 +4317,6 @@ } } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5332,11 +4392,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" - }, "node_modules/which-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", @@ -5356,105 +4411,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/write/-/write-0.3.3.tgz", - "integrity": "sha512-e63bsTAFxFUU8OGClhjhhf2R72Njpq6DDTOFFBxDkfZFwoRRKZUx9rll6g/TvY0UcCdKE2OroYZje0v9ROzmfA==", - "dependencies": { - "fs-exists-sync": "^0.1.0", - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/write-yaml": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/write-yaml/-/write-yaml-1.0.0.tgz", - "integrity": "sha512-QFB0QwNlUTSsICNb1HV+822MvFpTC1gtKcOfm0B9oqz4qOQXbRuMSxWPWryTEFBEZDWbI5zXabXArvShXTdLiA==", - "dependencies": { - "extend-shallow": "^2.0.1", - "js-yaml": "^3.8.3", - "write": "^0.3.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/write-yaml/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/write-yaml/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/yallist": { "version": "3.1.1", @@ -5462,120 +4423,6 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 79e647e..493d5cf 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "preview": "vite preview" }, "dependencies": { - "lint": "^0.8.19", + "lint": "^1.1.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.22.3" diff --git a/src/common/router.jsx b/src/common/router.jsx index 7062cc0..0588b83 100644 --- a/src/common/router.jsx +++ b/src/common/router.jsx @@ -2,6 +2,7 @@ import { Routes, Route } from "react-router-dom"; import Landingpage from "../landingpage"; import Login from "../userpages/login"; import Register from "../userpages/register"; +import Flights from "../flights/index"; const PageRoutes = () => { return ( @@ -9,6 +10,8 @@ const PageRoutes = () => { } /> } /> } /> + } /> + } /> ); }; From 19976e8bd566dd55d926e7e4d2da4c07db817127 Mon Sep 17 00:00:00 2001 From: dlv237 Date: Sat, 20 Apr 2024 22:24:46 -0400 Subject: [PATCH 05/10] Search View --- src/assets/Fondo_avion.jpg | Bin 0 -> 167285 bytes src/common/router.jsx | 2 + src/flights/index.css | 30 +++++- src/flights/index.jsx | 197 ++++++++++++++----------------------- src/flights/search.jsx | 56 +++++++++++ src/flights/show.jsx | 19 +++- src/landingpage.css | 1 - 7 files changed, 175 insertions(+), 130 deletions(-) create mode 100644 src/assets/Fondo_avion.jpg create mode 100644 src/flights/search.jsx diff --git a/src/assets/Fondo_avion.jpg b/src/assets/Fondo_avion.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e0077879c367fea9533e96eafeaf92944caae39 GIT binary patch literal 167285 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

    e}$yx{$iie^gG| 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 HEX2xySj~$g=dt&USW0g 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

    k;xza?(JhcqRTA? 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 DCRNd* literal 0 HcmV?d00001 diff --git a/src/common/router.jsx b/src/common/router.jsx index de115f0..fb3cc35 100644 --- a/src/common/router.jsx +++ b/src/common/router.jsx @@ -4,6 +4,7 @@ import Login from "../userpages/login"; import Register from "../userpages/register"; import Flight from "../flights/show"; import Flights from "../flights/index"; +import Search from "../flights/search"; const PageRoutes = () => { return ( @@ -13,6 +14,7 @@ const PageRoutes = () => { } /> } /> } /> + } /> ); }; diff --git a/src/flights/index.css b/src/flights/index.css index 8c98fb0..5c5fcfc 100644 --- a/src/flights/index.css +++ b/src/flights/index.css @@ -1,15 +1,15 @@ body { - background-color: #dcdcdc; + background-image: url("../assets/Fondo_avion.jpg"); } .flight-container { max-width: 1000px; margin: 0 auto; margin-top: 80px; - background-color: #f4f4f4; + background-color: #ffffff; } .flight-card { - border: 1px solid #f3f3f3; + border: 1px solid #ffffff; border-radius: 4px; padding: 5px; margin: 0; @@ -93,13 +93,33 @@ body { .filters { display: flex; - justify-content: space-between; align-items: center; padding: 10px; background-color: #f2f2f2; border-radius: 5px; font-family: "League Spartan", sans-serif; -} + gap: 60px; +} + + .input-field { + width: 50px; + padding: 10px; + margin: 10px 0; + font-family: "League Spartan", sans-serif; + font-size: 16px; + border: 1px solid #ccc; + border-radius: 4px; + } + + .date-field { + width: 130px; + padding: 10px; + margin: 10px 0; + font-family: "League Spartan", sans-serif; + font-size: 16px; + border: 1px solid #ccc; + border-radius: 4px; + } .flight-info { display: flex; diff --git a/src/flights/index.jsx b/src/flights/index.jsx index 0cf49b6..afca038 100644 --- a/src/flights/index.jsx +++ b/src/flights/index.jsx @@ -2,29 +2,26 @@ import React, { useEffect, useState } from "react"; import "./index.css"; import Button from "../common/button.jsx"; -import { Link } from 'react-router-dom'; - - +import { Link } from "react-router-dom"; +import { useLocation } from "react-router-dom"; const Flights = () => { + const location = useLocation(); + const searchParams = new URLSearchParams(location.search); + const [selectedFlights, setSelectedFlights] = useState([]); + const [flights, setFlights] = useState([]); - const [arrivalFilter, setArrivalFilter] = useState(""); - const [departureFilter, setDepartureFilter] = useState(""); - const [dateFilter, setDateFilter] = useState(null); + const [currentPage, setCurrentPage] = useState(1); - const [itemsPerPage, setItemsPerPage] = useState(5); + const [itemsPerPage, setItemsPerPage] = useState(4); useEffect(() => { const fetchFlights = async () => { try { - const response = await fetch("http://localhost:3000/flights"); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - + const response = await fetch( + `https://flightsbooking.me${location.pathname}${location.search}`, + ); const data = await response.json(); - console.log(data); setFlights(data); } catch (error) { console.error("Error fetching flights:", error); @@ -32,123 +29,77 @@ const Flights = () => { }; fetchFlights(); - }, []); - - const filteredFlights = flights.filter((flight) => { - const departureMatch = departureFilter - ? flight.flights[0].departure_airport.id.includes(departureFilter) - : true; - const arrivalMatch = arrivalFilter - ? flight.flights[0].arrival_airport.id.includes(arrivalFilter) - : true; - const dateMatch = dateFilter - ? flight.flights[0].departure_airport.time.includes(dateFilter) - : true; + }, [location.pathname, location.search]); - return departureMatch && arrivalMatch && dateMatch; - }); - - const startIndex = (currentPage - 1) * itemsPerPage; - const selectedFlights = filteredFlights.slice( - startIndex, - startIndex + itemsPerPage, - ); - const totalPages = Math.ceil(filteredFlights.length / itemsPerPage); + const totalPages = Math.ceil(flights.length / itemsPerPage); return (

    -
    -

    Salida

    - setDepartureFilter(e.target.value)} - placeholder="Departure" - /> -

    Llegada

    - setArrivalFilter(e.target.value)} - placeholder="Arrival" - /> -

    Fecha

    - setDateFilter(e.target.value)} - /> -

    Items por página

    - setItemsPerPage(Math.max(5, e.target.value))} - min="5" - placeholder="Items per page" - /> -
    - {selectedFlights.map((flight, index) => { - const departureDate = new Date( - flight.flights[0].departure_airport.time, - ); - const arrivalDate = new Date(flight.flights[0].arrival_airport.time); + {flights + .slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage) + .map((flight, index) => { + const departureDate = new Date( + flight.flights[0].departure_airport.time, + ); + const arrivalDate = new Date(flight.flights[0].arrival_airport.time); - const departureTime = departureDate.toLocaleTimeString("en-US", { - hour: "2-digit", - minute: "2-digit", - timeZone: "UTC", - }); - let arrivalTime = arrivalDate.toLocaleTimeString("en-US", { - hour: "2-digit", - minute: "2-digit", - timeZone: "UTC", - }); + const departureTime = departureDate.toLocaleTimeString("en-US", { + hour: "2-digit", + minute: "2-digit", + timeZone: "UTC", + }); + let arrivalTime = arrivalDate.toLocaleTimeString("en-US", { + hour: "2-digit", + minute: "2-digit", + timeZone: "UTC", + }); - const durationMs = arrivalDate - departureDate; - const hours = Math.floor(durationMs / 3600000); - const minutes = Math.round((durationMs % 3600000) / 60000); - const duration = `${hours} horas ${minutes} minutos`; + const durationMs = arrivalDate - departureDate; + const hours = Math.floor(durationMs / 3600000); + const minutes = Math.round((durationMs % 3600000) / 60000); + const duration = `${hours} horas ${minutes} minutos`; - if ( - arrivalDate.setHours(0, 0, 0, 0) > departureDate.setHours(0, 0, 0, 0) - ) { - arrivalTime += " +1 día"; - } - const totalPages = Math.ceil(filteredFlights.length / itemsPerPage); - return ( -
    -
    -
    Duración estimada: {duration}
    -

    - {flight.flights[0].departure_airport.id} ({departureTime}) -

    -

    {flight.flights[0].departure_airport.name}

    -
    -

    - {flight.flights[0].arrival_airport.id} ({arrivalTime}) -

    -

    {flight.flights[0].arrival_airport.name}

    -
    -
    -

    Aerolinea: {flight.flights[0].airline}

    - Airline logo -
    -
    -

    - Precio:{" "} - {flight.price.toLocaleString("es-ES", { - style: "currency", - currency: "CLP", - })}{" "} -

    + if ( + arrivalDate.setHours(0, 0, 0, 0) > + departureDate.setHours(0, 0, 0, 0) + ) { + arrivalTime += " +1 día"; + } + const totalPages = Math.ceil(flights.length / itemsPerPage); + return ( +
    +
    +
    Duración estimada: {duration}
    +

    + {flight.flights[0].departure_airport.id} ({departureTime}) +

    +

    {flight.flights[0].departure_airport.name}

    +
    +

    + {flight.flights[0].arrival_airport.id} ({arrivalTime}) +

    +

    {flight.flights[0].arrival_airport.name}

    +
    +
    +

    Aerolinea: {flight.flights[0].airline}

    + Airline logo +
    +
    +

    + Precio:{" "} + {flight.price.toLocaleString("es-ES", { + style: "currency", + currency: "CLP", + })}{" "} +

    - - - -
    + + + +
    +
    -
    - ); - })} + ); + })}
    + +
    +
    + ); +}; + +export default Search; diff --git a/src/flights/show.jsx b/src/flights/show.jsx index fdda655..9263f3c 100644 --- a/src/flights/show.jsx +++ b/src/flights/show.jsx @@ -10,7 +10,7 @@ const Flight = () => { useEffect(() => { const fetchFlight = async () => { try { - const response = await fetch(`http://localhost:3000/flights/${id}`); + const response = await fetch(`https://flightsbooking.me/flights/${id}`); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); @@ -122,6 +122,23 @@ const Flight = () => { {innerFlight.airplane} + + + Fecha de salida: + + + {flight.flights[0].departure_airport.time && + !isNaN(Date.parse(flight.flights[0].departure_airport.time)) + ? new Date( + flight.flights[0].departure_airport.time, + ).toLocaleDateString("es-ES", { + day: "numeric", + month: "long", + year: "numeric", + }) + : "Fecha de salida no disponible"} + + Precio: diff --git a/src/landingpage.css b/src/landingpage.css index a91f885..98eab12 100644 --- a/src/landingpage.css +++ b/src/landingpage.css @@ -15,7 +15,6 @@ .landing-left-container { width: 50%; height: 100vh; - background-image: url("./assets/Fondo_aeropuerto.jpg"); background-size: cover; background-position: center; background-repeat: no-repeat; From 23cc41220110d6c40dcd057b02218ed01d738dd6 Mon Sep 17 00:00:00 2001 From: Stephen Pugh Date: Sat, 20 Apr 2024 23:26:33 -0400 Subject: [PATCH 06/10] =?UTF-8?q?bug=20fix:=20declaraci=C3=B3n=20de=20Flig?= =?UTF-8?q?hts=20repetida=20en=20router.jsx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/router.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/common/router.jsx b/src/common/router.jsx index a82820a..cc2c13e 100644 --- a/src/common/router.jsx +++ b/src/common/router.jsx @@ -4,7 +4,6 @@ import Login from "../userpages/login"; import Register from "../userpages/register"; import Flight from "../flights/show"; import Flights from "../flights/index"; -import Flights from "../flights/index"; const PageRoutes = () => { return ( From eea7a4e930f4a20d6f7e0f44ba627ae99e91f5d6 Mon Sep 17 00:00:00 2001 From: dlv237 Date: Sat, 20 Apr 2024 23:28:46 -0400 Subject: [PATCH 07/10] Search view --- src/flights/show.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/flights/show.jsx b/src/flights/show.jsx index 6056c7c..9263f3c 100644 --- a/src/flights/show.jsx +++ b/src/flights/show.jsx @@ -1,7 +1,7 @@ import { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import "./index.css"; -import Button from "../common/Button.jsx"; +import Button from "../common/button.jsx"; const Flight = () => { const [flight, setFlight] = useState(null); From 8cce80d43eca084efa2e8e5efeea52d446de1048 Mon Sep 17 00:00:00 2001 From: dlv237 Date: Sat, 20 Apr 2024 23:58:08 -0400 Subject: [PATCH 08/10] Search view --- package-lock.json | 182 +++++++++++++++++++++--------------- package.json | 1 + src/common/Button.jsx | 2 +- src/common/LoginButton.jsx | 2 +- src/common/LogoutButton.jsx | 2 +- 5 files changed, 111 insertions(+), 78 deletions(-) diff --git a/package-lock.json b/package-lock.json index 16e571b..bb9bf13 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "flightsbooking", "version": "0.0.0", "dependencies": { + "@auth0/auth0-react": "^2.2.4", "lint": "^1.1.2", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -49,6 +50,23 @@ "node": ">=6.0.0" } }, + "node_modules/@auth0/auth0-react": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@auth0/auth0-react/-/auth0-react-2.2.4.tgz", + "integrity": "sha512-l29PQC0WdgkCoOc6WeMAY26gsy/yXJICW0jHfj0nz8rZZphYKrLNqTRWFFCMJY+sagza9tSgB1kG/UvQYgGh9A==", + "dependencies": { + "@auth0/auth0-spa-js": "^2.1.3" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17 || ^18", + "react-dom": "^16.11.0 || ^17 || ^18" + } + }, + "node_modules/@auth0/auth0-spa-js": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@auth0/auth0-spa-js/-/auth0-spa-js-2.1.3.tgz", + "integrity": "sha512-NMTBNuuG4g3rame1aCnNS5qFYIzsTUV5qTFPRfTyYFS1feS6jsCBR+eTq9YkxCp1yuoM2UIcjunPaoPl77U9xQ==" + }, "node_modules/@babel/code-frame": { "version": "7.24.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", @@ -953,9 +971,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.2.tgz", - "integrity": "sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.15.0.tgz", + "integrity": "sha512-O63bJ7p909pRRQfOJ0k/Jp8gNFMud+ZzLLG5EBWquylHxmRT2k18M2ifg8WyjCgFVdpA7+rI0YZ8EkAtg6dSUw==", "cpu": [ "arm" ], @@ -966,9 +984,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.2.tgz", - "integrity": "sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.15.0.tgz", + "integrity": "sha512-5UywPdmC9jiVOShjQx4uuIcnTQOf85iA4jgg8bkFoH5NYWFfAfrJpv5eeokmTdSmYwUTT5IrcrBCJNkowhrZDA==", "cpu": [ "arm64" ], @@ -979,9 +997,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.2.tgz", - "integrity": "sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.15.0.tgz", + "integrity": "sha512-hNkt75uFfWpRxHItCBmbS0ba70WnibJh6yz60WShSWITLlVRbkvAu1E/c7RlliPY4ajhqJd0UPZz//gNalTd4g==", "cpu": [ "arm64" ], @@ -992,9 +1010,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.2.tgz", - "integrity": "sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.15.0.tgz", + "integrity": "sha512-HnC5bTP7qdfO9nUw/mBhNcjOEZfbS8NwV+nFegiMhYOn1ATAGZF4kfAxR9BuZevBrebWCxMmxm8NCU1CUoz+wQ==", "cpu": [ "x64" ], @@ -1005,9 +1023,22 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.2.tgz", - "integrity": "sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.15.0.tgz", + "integrity": "sha512-QGOIQIJZeIIqMsc4BUGe8TnV4dkXhSW2EhaQ1G4LqMUNpkyeLztvlDlOoNHn7SR7a4dBANdcEbPkkEzz3rzjzA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.15.0.tgz", + "integrity": "sha512-PS/Cp8CinYgoysQ8i4UXYH/TZl06fXszvY/RDkyBYgUB1+tKyOMS925/4FZhfrhkl3XQEKjMc3BKtsxpB9Tz9Q==", "cpu": [ "arm" ], @@ -1018,9 +1049,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.2.tgz", - "integrity": "sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.15.0.tgz", + "integrity": "sha512-XzOsnD6lGDP+k+vGgTYAryVGu8N89qpjMN5BVFUj75dGVFP3FzIVAufJAraxirpDwEQZA7Gjs0Vo5p4UmnnjsA==", "cpu": [ "arm64" ], @@ -1031,9 +1062,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.2.tgz", - "integrity": "sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.15.0.tgz", + "integrity": "sha512-+ScJA4Epbx/ZQGjDnbvTAcb8ZD06b+TlIka2UkujbKf1I/A+yrvEcJwG3/27zMmvcWMQyeCJhbL9TlSjzL0B7Q==", "cpu": [ "arm64" ], @@ -1044,9 +1075,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.2.tgz", - "integrity": "sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.15.0.tgz", + "integrity": "sha512-1cUSvYgnyTakM4FDyf/GxUCDcqmj/hUh1NOizEOJU7+D5xEfFGCxgcNOs3hYBeRMUCcGmGkt01EhD3ILgKpGHQ==", "cpu": [ "ppc64" ], @@ -1057,9 +1088,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.2.tgz", - "integrity": "sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.15.0.tgz", + "integrity": "sha512-3A1FbHDbBUvpJXFAZwVsiROIcstVHP9AX/cwnyIhAp+xyQ1cBCxywKtuzmw0Av1MDNNg/y/9dDHtNypfRa8bdw==", "cpu": [ "riscv64" ], @@ -1070,9 +1101,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.2.tgz", - "integrity": "sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.15.0.tgz", + "integrity": "sha512-hYPbhg9ow6/mXIkojc8LOeiip2sCTuw1taWyoOXTOWk9vawIXz8x7B4KkgWUAtvAElssxhSyEXr2EZycH/FGzQ==", "cpu": [ "s390x" ], @@ -1083,9 +1114,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.2.tgz", - "integrity": "sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.15.0.tgz", + "integrity": "sha512-511qln5mPSUKwv7HI28S1jCD1FK+2WbX5THM9A9annr3c1kzmfnf8Oe3ZakubEjob3IV6OPnNNcesfy+adIrmw==", "cpu": [ "x64" ], @@ -1096,9 +1127,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.2.tgz", - "integrity": "sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.15.0.tgz", + "integrity": "sha512-4qKKGTDIv2bQZ+afhPWqPL+94+dLtk4lw1iwbcylKlLNqQ/Yyjof2CFYBxf6npiDzPV+zf4EWRiHb26/4Vsm9w==", "cpu": [ "x64" ], @@ -1109,9 +1140,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.2.tgz", - "integrity": "sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.15.0.tgz", + "integrity": "sha512-nEtaFBHp1OnbOf+tz66DtID579sNRHGgMC23to8HUyVuOCpCMD0CvRNqiDGLErLNnwApWIUtUl1VvuovCWUxwg==", "cpu": [ "arm64" ], @@ -1122,9 +1153,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.2.tgz", - "integrity": "sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.15.0.tgz", + "integrity": "sha512-5O49NykwSgX6iT2HgZ6cAoGHt6T/FqNMB5OqFOGxU/y1GyFSHquox1sK2OqApQc0ANxiHFQEMNDLNVCL7AUDnQ==", "cpu": [ "ia32" ], @@ -1135,9 +1166,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.2.tgz", - "integrity": "sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.15.0.tgz", + "integrity": "sha512-YA0hTwCunmKNeTOFWdJuKhdXse9jBqgo34FDo+9aS0spfCkp+wj0o1bCcOOTu+0P48O95GTfkLTAaVonwNuIdQ==", "cpu": [ "x64" ], @@ -1201,9 +1232,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.2.78", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.78.tgz", - "integrity": "sha512-qOwdPnnitQY4xKlKayt42q5W5UQrSHjgoXNVEtxeqdITJ99k4VXJOP3vt8Rkm9HmgJpH50UNU+rlqfkfWOqp0A==", + "version": "18.2.79", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", + "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -1539,9 +1570,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001609", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz", - "integrity": "sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==", + "version": "1.0.30001611", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", + "integrity": "sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==", "dev": true, "funding": [ { @@ -1740,9 +1771,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.736", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz", - "integrity": "sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==", + "version": "1.4.745", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", + "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", "dev": true }, "node_modules/es-abstract": { @@ -3763,9 +3794,9 @@ } }, "node_modules/rollup": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.2.tgz", - "integrity": "sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.15.0.tgz", + "integrity": "sha512-i0ir57IMF5o7YvNYyUNeIGG+IZaaucnGZAOsSctO2tPLXlCEaZzyBa+QhpHNSgtpyLMoDev2DyN6a7J1dQA8Tw==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -3778,21 +3809,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.14.2", - "@rollup/rollup-android-arm64": "4.14.2", - "@rollup/rollup-darwin-arm64": "4.14.2", - "@rollup/rollup-darwin-x64": "4.14.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.14.2", - "@rollup/rollup-linux-arm64-gnu": "4.14.2", - "@rollup/rollup-linux-arm64-musl": "4.14.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.14.2", - "@rollup/rollup-linux-riscv64-gnu": "4.14.2", - "@rollup/rollup-linux-s390x-gnu": "4.14.2", - "@rollup/rollup-linux-x64-gnu": "4.14.2", - "@rollup/rollup-linux-x64-musl": "4.14.2", - "@rollup/rollup-win32-arm64-msvc": "4.14.2", - "@rollup/rollup-win32-ia32-msvc": "4.14.2", - "@rollup/rollup-win32-x64-msvc": "4.14.2", + "@rollup/rollup-android-arm-eabi": "4.15.0", + "@rollup/rollup-android-arm64": "4.15.0", + "@rollup/rollup-darwin-arm64": "4.15.0", + "@rollup/rollup-darwin-x64": "4.15.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.15.0", + "@rollup/rollup-linux-arm-musleabihf": "4.15.0", + "@rollup/rollup-linux-arm64-gnu": "4.15.0", + "@rollup/rollup-linux-arm64-musl": "4.15.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.15.0", + "@rollup/rollup-linux-riscv64-gnu": "4.15.0", + "@rollup/rollup-linux-s390x-gnu": "4.15.0", + "@rollup/rollup-linux-x64-gnu": "4.15.0", + "@rollup/rollup-linux-x64-musl": "4.15.0", + "@rollup/rollup-win32-arm64-msvc": "4.15.0", + "@rollup/rollup-win32-ia32-msvc": "4.15.0", + "@rollup/rollup-win32-x64-msvc": "4.15.0", "fsevents": "~2.3.2" } }, @@ -4263,9 +4295,9 @@ } }, "node_modules/vite": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz", - "integrity": "sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", + "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", "dev": true, "dependencies": { "esbuild": "^0.20.1", diff --git a/package.json b/package.json index 493d5cf..a4906ee 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "preview": "vite preview" }, "dependencies": { + "@auth0/auth0-react": "^2.2.4", "lint": "^1.1.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/src/common/Button.jsx b/src/common/Button.jsx index 06f6680..c719475 100644 --- a/src/common/Button.jsx +++ b/src/common/Button.jsx @@ -1,4 +1,4 @@ -import "./Button.css"; +import "./button.css"; import { useRef, useEffect } from "react"; import PropTypes from "prop-types"; diff --git a/src/common/LoginButton.jsx b/src/common/LoginButton.jsx index f61331b..aa58a3a 100644 --- a/src/common/LoginButton.jsx +++ b/src/common/LoginButton.jsx @@ -1,4 +1,4 @@ -import "../common/Button.css"; +import "../common/button.css"; import { useAuth0 } from "@auth0/auth0-react"; const LoginButton = () => { diff --git a/src/common/LogoutButton.jsx b/src/common/LogoutButton.jsx index b3d88b9..79c3200 100644 --- a/src/common/LogoutButton.jsx +++ b/src/common/LogoutButton.jsx @@ -1,4 +1,4 @@ -import "../common/Button.css"; +import "../common/button.css"; import { useAuth0 } from "@auth0/auth0-react"; const LogoutButton = () => { From e591ece9005930c7b08c9ba8e621535aacd678e5 Mon Sep 17 00:00:00 2001 From: lucascovav Date: Sun, 21 Apr 2024 04:55:56 -0400 Subject: [PATCH 09/10] Fix & UbicacionPorIP --- package-lock.json | 3067 +++++++++-------------------------- src/common/Button.css | 18 + src/common/Button.jsx | 96 +- src/common/LocationInfo.jsx | 40 + src/common/button.css | 137 ++ src/common/button.jsx | 68 + src/common/navbar.css | 3 +- src/flights/index.css | 79 +- src/flights/show.jsx | 27 +- src/landingpage.css | 5 +- src/userpages/login.css | 54 +- src/userpages/register.css | 10 +- 12 files changed, 1198 insertions(+), 2406 deletions(-) create mode 100644 src/common/LocationInfo.jsx create mode 100644 src/common/button.css create mode 100644 src/common/button.jsx diff --git a/package-lock.json b/package-lock.json index bb9bf13..5beb144 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,100 +1,60 @@ { "name": "flightsbooking", "version": "0.0.0", - "lockfileVersion": 3, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "flightsbooking", - "version": "0.0.0", - "dependencies": { - "@auth0/auth0-react": "^2.2.4", - "lint": "^1.1.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-router-dom": "^6.22.3" - }, - "devDependencies": { - "@types/react": "^18.2.66", - "@types/react-dom": "^18.2.22", - "@vitejs/plugin-react": "^4.2.1", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.1", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.6", - "prettier": "3.2.5", - "vite": "^5.2.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { + "dependencies": { + "@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/@ampproject/remapping": { + "@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, - "node_modules/@auth0/auth0-react": { + "@auth0/auth0-react": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/@auth0/auth0-react/-/auth0-react-2.2.4.tgz", "integrity": "sha512-l29PQC0WdgkCoOc6WeMAY26gsy/yXJICW0jHfj0nz8rZZphYKrLNqTRWFFCMJY+sagza9tSgB1kG/UvQYgGh9A==", - "dependencies": { + "requires": { "@auth0/auth0-spa-js": "^2.1.3" - }, - "peerDependencies": { - "react": "^16.11.0 || ^17 || ^18", - "react-dom": "^16.11.0 || ^17 || ^18" } }, - "node_modules/@auth0/auth0-spa-js": { + "@auth0/auth0-spa-js": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@auth0/auth0-spa-js/-/auth0-spa-js-2.1.3.tgz", "integrity": "sha512-NMTBNuuG4g3rame1aCnNS5qFYIzsTUV5qTFPRfTyYFS1feS6jsCBR+eTq9YkxCp1yuoM2UIcjunPaoPl77U9xQ==" }, - "node_modules/@babel/code-frame": { + "@babel/code-frame": { "version": "7.24.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, - "dependencies": { + "requires": { "@babel/highlight": "^7.24.2", "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/compat-data": { + "@babel/compat-data": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/core": { + "@babel/core": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", "dev": true, - "dependencies": { + "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.2", "@babel/generator": "^7.24.4", @@ -110,262 +70,186 @@ "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/generator": { + "@babel/generator": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.24.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets": { + "@babel/helper-compilation-targets": { "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, - "dependencies": { + "requires": { "@babel/compat-data": "^7.23.5", "@babel/helper-validator-option": "^7.23.5", "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-environment-visitor": { + "@babel/helper-environment-visitor": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helper-function-name": { + "@babel/helper-function-name": { "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, - "dependencies": { + "requires": { "@babel/template": "^7.22.15", "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-hoist-variables": { + "@babel/helper-hoist-variables": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-imports": { + "@babel/helper-module-imports": { "version": "7.24.3", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-transforms": { + "@babel/helper-module-transforms": { "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { + "@babel/helper-plugin-utils": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helper-simple-access": { + "@babel/helper-simple-access": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-split-export-declaration": { + "@babel/helper-split-export-declaration": { "version": "7.22.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-string-parser": { + "@babel/helper-string-parser": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helper-validator-identifier": { + "@babel/helper-validator-identifier": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helper-validator-option": { + "@babel/helper-validator-option": { "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helpers": { + "@babel/helpers": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", "dev": true, - "dependencies": { + "requires": { "@babel/template": "^7.24.0", "@babel/traverse": "^7.24.1", "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { + "@babel/highlight": { "version": "7.24.2", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/parser": { + "@babel/parser": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } + "dev": true }, - "node_modules/@babel/plugin-transform-react-jsx-self": { + "@babel/plugin-transform-react-jsx-self": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz", "integrity": "sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { + "@babel/plugin-transform-react-jsx-source": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { + "@babel/template": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, - "dependencies": { + "requires": { "@babel/code-frame": "^7.23.5", "@babel/parser": "^7.24.0", "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { + "@babel/traverse": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", "dev": true, - "dependencies": { + "requires": { "@babel/code-frame": "^7.24.1", "@babel/generator": "^7.24.1", "@babel/helper-environment-visitor": "^7.22.20", @@ -376,423 +260,201 @@ "@babel/types": "^7.24.0", "debug": "^4.3.1", "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/types": { + "@babel/types": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@esbuild/aix-ppc64": { + "@esbuild/aix-ppc64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", - "cpu": [ - "ppc64" - ], "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/android-arm": { + "@esbuild/android-arm": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/android-arm64": { + "@esbuild/android-arm64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/android-x64": { + "@esbuild/android-x64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/darwin-arm64": { + "@esbuild/darwin-arm64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", - "cpu": [ - "arm64" - ], "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/darwin-x64": { + "@esbuild/darwin-x64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/freebsd-arm64": { + "@esbuild/freebsd-arm64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/freebsd-x64": { + "@esbuild/freebsd-x64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-arm": { + "@esbuild/linux-arm": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-arm64": { + "@esbuild/linux-arm64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-ia32": { + "@esbuild/linux-ia32": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-loong64": { + "@esbuild/linux-loong64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-mips64el": { + "@esbuild/linux-mips64el": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-ppc64": { + "@esbuild/linux-ppc64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-riscv64": { + "@esbuild/linux-riscv64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-s390x": { + "@esbuild/linux-s390x": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/linux-x64": { + "@esbuild/linux-x64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/netbsd-x64": { + "@esbuild/netbsd-x64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/openbsd-x64": { + "@esbuild/openbsd-x64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/sunos-x64": { + "@esbuild/sunos-x64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/win32-arm64": { + "@esbuild/win32-arm64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/win32-ia32": { + "@esbuild/win32-ia32": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@esbuild/win32-x64": { + "@esbuild/win32-x64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } + "optional": true }, - "node_modules/@eslint-community/eslint-utils": { + "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "dependencies": { + "requires": { "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@eslint-community/regexpp": { + "@eslint-community/regexpp": { "version": "4.10.0", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } + "dev": true }, - "node_modules/@eslint/eslintrc": { + "@eslint/eslintrc": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "dependencies": { + "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.6.0", @@ -803,387 +465,241 @@ "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + } } }, - "node_modules/@eslint/js": { + "@eslint/js": { "version": "8.57.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } + "dev": true }, - "node_modules/@humanwhocodes/config-array": { + "@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, - "dependencies": { + "requires": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/module-importer": { + "@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } + "dev": true }, - "node_modules/@humanwhocodes/object-schema": { + "@humanwhocodes/object-schema": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, - "node_modules/@jridgewell/gen-mapping": { + "@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, - "node_modules/@jridgewell/resolve-uri": { + "@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } + "dev": true }, - "node_modules/@jridgewell/set-array": { + "@jridgewell/set-array": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } + "dev": true }, - "node_modules/@jridgewell/sourcemap-codec": { + "@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 }, - "node_modules/@jridgewell/trace-mapping": { + "@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@nodelib/fs.scandir": { + "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "dependencies": { + "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/@nodelib/fs.stat": { + "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } + "dev": true }, - "node_modules/@nodelib/fs.walk": { + "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "dependencies": { + "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/@pkgr/core": { + "@pkgr/core": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } + "dev": true }, - "node_modules/@remix-run/router": { + "@remix-run/router": { "version": "1.15.3", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", - "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.15.0.tgz", - "integrity": "sha512-O63bJ7p909pRRQfOJ0k/Jp8gNFMud+ZzLLG5EBWquylHxmRT2k18M2ifg8WyjCgFVdpA7+rI0YZ8EkAtg6dSUw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.15.0.tgz", - "integrity": "sha512-5UywPdmC9jiVOShjQx4uuIcnTQOf85iA4jgg8bkFoH5NYWFfAfrJpv5eeokmTdSmYwUTT5IrcrBCJNkowhrZDA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.15.0.tgz", - "integrity": "sha512-hNkt75uFfWpRxHItCBmbS0ba70WnibJh6yz60WShSWITLlVRbkvAu1E/c7RlliPY4ajhqJd0UPZz//gNalTd4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.15.0.tgz", - "integrity": "sha512-HnC5bTP7qdfO9nUw/mBhNcjOEZfbS8NwV+nFegiMhYOn1ATAGZF4kfAxR9BuZevBrebWCxMmxm8NCU1CUoz+wQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.15.0.tgz", - "integrity": "sha512-QGOIQIJZeIIqMsc4BUGe8TnV4dkXhSW2EhaQ1G4LqMUNpkyeLztvlDlOoNHn7SR7a4dBANdcEbPkkEzz3rzjzA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.15.0.tgz", - "integrity": "sha512-PS/Cp8CinYgoysQ8i4UXYH/TZl06fXszvY/RDkyBYgUB1+tKyOMS925/4FZhfrhkl3XQEKjMc3BKtsxpB9Tz9Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.15.0.tgz", - "integrity": "sha512-XzOsnD6lGDP+k+vGgTYAryVGu8N89qpjMN5BVFUj75dGVFP3FzIVAufJAraxirpDwEQZA7Gjs0Vo5p4UmnnjsA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.15.0.tgz", - "integrity": "sha512-+ScJA4Epbx/ZQGjDnbvTAcb8ZD06b+TlIka2UkujbKf1I/A+yrvEcJwG3/27zMmvcWMQyeCJhbL9TlSjzL0B7Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.15.0.tgz", - "integrity": "sha512-1cUSvYgnyTakM4FDyf/GxUCDcqmj/hUh1NOizEOJU7+D5xEfFGCxgcNOs3hYBeRMUCcGmGkt01EhD3ILgKpGHQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.15.0.tgz", - "integrity": "sha512-3A1FbHDbBUvpJXFAZwVsiROIcstVHP9AX/cwnyIhAp+xyQ1cBCxywKtuzmw0Av1MDNNg/y/9dDHtNypfRa8bdw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.15.0.tgz", - "integrity": "sha512-hYPbhg9ow6/mXIkojc8LOeiip2sCTuw1taWyoOXTOWk9vawIXz8x7B4KkgWUAtvAElssxhSyEXr2EZycH/FGzQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.15.0.tgz", - "integrity": "sha512-511qln5mPSUKwv7HI28S1jCD1FK+2WbX5THM9A9annr3c1kzmfnf8Oe3ZakubEjob3IV6OPnNNcesfy+adIrmw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.15.0.tgz", - "integrity": "sha512-4qKKGTDIv2bQZ+afhPWqPL+94+dLtk4lw1iwbcylKlLNqQ/Yyjof2CFYBxf6npiDzPV+zf4EWRiHb26/4Vsm9w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.15.0.tgz", - "integrity": "sha512-nEtaFBHp1OnbOf+tz66DtID579sNRHGgMC23to8HUyVuOCpCMD0CvRNqiDGLErLNnwApWIUtUl1VvuovCWUxwg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.15.0.tgz", - "integrity": "sha512-5O49NykwSgX6iT2HgZ6cAoGHt6T/FqNMB5OqFOGxU/y1GyFSHquox1sK2OqApQc0ANxiHFQEMNDLNVCL7AUDnQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.15.0.tgz", - "integrity": "sha512-YA0hTwCunmKNeTOFWdJuKhdXse9jBqgo34FDo+9aS0spfCkp+wj0o1bCcOOTu+0P48O95GTfkLTAaVonwNuIdQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@types/babel__core": { + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==" + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.0.tgz", + "integrity": "sha512-4fDVBAfWYlw2CtYgHEWarAYSozTx5OYLsSM/cdGW7H51FwI10DaGnjKgdqWyWXY/VjugelzriCiKf1UdM20Bxg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.0.tgz", + "integrity": "sha512-JltUBgsKgN108NO4/hj0B/dJYNrqqmdRCtUet5tFDi/w+0tvQP0FToyWBV4HKBcSX4cvFChrCyt5Rh4FX6M6QQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.0.tgz", + "integrity": "sha512-UwF7tkWf0roggMRv7Vrkof7VgX9tEZIc4vbaQl0/HNX3loWlcum+0ODp1Qsd8s7XvQGT+Zboxx1qxav3vq8YDw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.0.tgz", + "integrity": "sha512-RIY42wn6+Yb0qD29T7Dvm9/AhxrkGDf7X5dgI6rUFXR19+vCLh3u45yLcKOayu2ZQEba9rf/+BX3EggVwckiIw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.0.tgz", + "integrity": "sha512-r2TGCIKzqk8VwjOvW7sveledh6aPao131ejUfZNIyFlWBCruF4HOu51KtLArDa7LL6qKd0vkgxGX3/2NmYpWig==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.0.tgz", + "integrity": "sha512-/QwaDp0RXQTtm25wQFSl02zEm9oveRXr9qAHbdxWCm9YG9dR8esqpyqzS/3GgHDm7jHktPNz9gTENfoUKRCcXQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.0.tgz", + "integrity": "sha512-iypHsz7YEfoyNL0iHbQ7B7pY6hpymvvMgFXXaMd5+WCtvJ9zqWPZKFmo78UeWzWNmTP9JtPiNIQt6efRxx/MNA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.0.tgz", + "integrity": "sha512-7UpYcO0uVeomnoL5MpQhrS0FT7xZUJrEXtKVLmps5bRA7x5AiA1PDuPnMbxcOBWjIM2HHIG1t3ndnRTVMIbk5A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.0.tgz", + "integrity": "sha512-FSuFy4/hOQy0lH135ifnElP/6dKoHcZGHovsaRY0jrfNRR2yjMnVYaqNHKGKy0b/1I8DkD/JtclgJfq7SPti1w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.0.tgz", + "integrity": "sha512-qxAB8MiHuDI8jU0D+WI9Gym3fvUJHA/AjKRXxbEH921SB3AeKQStq1FKFA59dAoqqCArjJ1voXM/gMvgEc1q4Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.0.tgz", + "integrity": "sha512-j/9yBgWFlNFBfG/S1M2zkBNLeLkNVG59T5c4tlmlrxU+XITWJ3aMVWdpcZ/+mu7auGZftAXueAgAE9mb4lAlag==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.0.tgz", + "integrity": "sha512-SjsBA1a9wrEleNneGEsR40HdxKdwCatyHC547o/XINqwPW4cqTYiNy/lL1WTJYWU/KgWIb8HH4SgmFStbWoBzw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.0.tgz", + "integrity": "sha512-YKCs7ghJZ5po6/qgfONiXyFKOKcTK4Kerzk/Kc89QK0JT94Qg4NurL+3Y3rZh5am2tu1OlvHPpBHQNBE8cFgJQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.0.tgz", + "integrity": "sha512-+wtkF+z2nw0ZwwHji01wOW0loxFl24lBNxPtVAXtnPPDL9Ew0EhiCMOegXe/EAH3Zlr8Iw9tyPJXB3DltQLEyw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.0.tgz", + "integrity": "sha512-7qLyKTL7Lf2g0B8bduETVAEI3WVUVwBRVcECojVevPNVAmi19IW1P2X+uMSwhmWNy36Q/qEvxXsfts1I8wpawg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.0.tgz", + "integrity": "sha512-tkfxXt+7c3Ecgn7ln9NJPdBM+QKwQdmFFpgAP+FYhAuRS5y3tY8xeza82gFjbPpytkHmaQnVdMtuzbToCz2tuw==", + "dev": true, + "optional": true + }, + "@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, - "dependencies": { + "requires": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", @@ -1191,264 +707,209 @@ "@types/babel__traverse": "*" } }, - "node_modules/@types/babel__generator": { + "@types/babel__generator": { "version": "7.6.8", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.0.0" } }, - "node_modules/@types/babel__template": { + "@types/babel__template": { "version": "7.4.4", "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, - "dependencies": { + "requires": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, - "node_modules/@types/babel__traverse": { + "@types/babel__traverse": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.20.7" } }, - "node_modules/@types/estree": { + "@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, - "node_modules/@types/prop-types": { + "@types/prop-types": { "version": "15.7.12", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", "dev": true }, - "node_modules/@types/react": { + "@types/react": { "version": "18.2.79", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", "dev": true, - "dependencies": { + "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, - "node_modules/@types/react-dom": { + "@types/react-dom": { "version": "18.2.25", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz", "integrity": "sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==", "dev": true, - "dependencies": { + "requires": { "@types/react": "*" } }, - "node_modules/@ungap/structured-clone": { + "@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, - "node_modules/@vitejs/plugin-react": { + "@vitejs/plugin-react": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", "dev": true, - "dependencies": { + "requires": { "@babel/core": "^7.23.5", "@babel/plugin-transform-react-jsx-self": "^7.23.3", "@babel/plugin-transform-react-jsx-source": "^7.23.3", "@types/babel__core": "^7.20.5", "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" } }, - "node_modules/acorn": { + "acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "dev": true }, - "node_modules/acorn-jsx": { + "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "dev": true }, - "node_modules/ajv": { + "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "dependencies": { + "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-regex": { + "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/ansi-styles": { + "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "dependencies": { + "requires": { "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/argparse": { + "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/array-buffer-byte-length": { + "array-buffer-byte-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.5", "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-includes": { + "array-includes": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.findlast": { + "array.prototype.findlast": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.flat": { + "array.prototype.flat": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.flatmap": { + "array.prototype.flatmap": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.toreversed": { + "array.prototype.toreversed": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" } }, - "node_modules/array.prototype.tosorted": { + "array.prototype.tosorted": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", "es-abstract": "^1.22.3", @@ -1456,12 +917,12 @@ "es-shim-unscopables": "^1.0.2" } }, - "node_modules/arraybuffer.prototype.slice": { + "arraybuffer.prototype.slice": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, - "dependencies": { + "requires": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -1470,318 +931,216 @@ "get-intrinsic": "^1.2.3", "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/available-typed-arrays": { + "available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, - "dependencies": { + "requires": { "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/balanced-match": { + "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/brace-expansion": { + "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "dependencies": { + "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/browserslist": { + "browserslist": { "version": "4.23.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { + "requires": { "caniuse-lite": "^1.0.30001587", "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/call-bind": { + "call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, - "dependencies": { + "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { + "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/caniuse-lite": { + "caniuse-lite": { "version": "1.0.30001611", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", "integrity": "sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] + "dev": true }, - "node_modules/chalk": { + "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "dependencies": { + "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/color-convert": { + "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "dependencies": { + "requires": { "color-name": "1.1.3" } }, - "node_modules/color-name": { + "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 }, - "node_modules/concat-map": { + "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "node_modules/convert-source-map": { + "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, - "node_modules/cross-spawn": { + "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "dependencies": { + "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/csstype": { + "csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, - "node_modules/data-view-buffer": { + "data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/data-view-byte-length": { + "data-view-byte-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/data-view-byte-offset": { + "data-view-byte-offset": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/debug": { + "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "dependencies": { + "requires": { "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } } }, - "node_modules/deep-is": { + "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/define-data-property": { + "define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, - "dependencies": { + "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-properties": { + "define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, - "dependencies": { + "requires": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/doctrine": { + "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "dependencies": { + "requires": { "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" } }, - "node_modules/electron-to-chromium": { + "electron-to-chromium": { "version": "1.4.745", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", "dev": true }, - "node_modules/es-abstract": { + "es-abstract": { "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, - "dependencies": { + "requires": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", "available-typed-arrays": "^1.0.7", @@ -1828,41 +1187,29 @@ "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-define-property": { + "es-define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, - "dependencies": { + "requires": { "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/es-errors": { + "es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } + "dev": true }, - "node_modules/es-iterator-helpers": { + "es-iterator-helpers": { "version": "1.0.18", "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.0", @@ -1877,76 +1224,54 @@ "internal-slot": "^1.0.7", "iterator.prototype": "^1.1.2", "safe-array-concat": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/es-object-atoms": { + "es-object-atoms": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, - "dependencies": { + "requires": { "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/es-set-tostringtag": { + "es-set-tostringtag": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, - "dependencies": { + "requires": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/es-shim-unscopables": { + "es-shim-unscopables": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, - "dependencies": { + "requires": { "hasown": "^2.0.0" } }, - "node_modules/es-to-primitive": { + "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "dependencies": { + "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { + "esbuild": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { + "requires": { "@esbuild/aix-ppc64": "0.20.2", "@esbuild/android-arm": "0.20.2", "@esbuild/android-arm64": "0.20.2", @@ -1972,30 +1297,24 @@ "@esbuild/win32-x64": "0.20.2" } }, - "node_modules/escalade": { + "escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/escape-string-regexp": { + "escape-string-regexp": { "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" - } + "dev": true }, - "node_modules/eslint": { + "eslint": { "version": "8.57.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "dependencies": { + "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", @@ -2035,64 +1354,95 @@ "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/eslint-config-prettier": { + "eslint-config-prettier": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } + "dev": true }, - "node_modules/eslint-plugin-prettier": { + "eslint-plugin-prettier": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", "dev": true, - "dependencies": { + "requires": { "prettier-linter-helpers": "^1.0.0", "synckit": "^0.8.6" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } } }, - "node_modules/eslint-plugin-react": { + "eslint-plugin-react": { "version": "7.34.1", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", "dev": true, - "dependencies": { + "requires": { "array-includes": "^3.1.7", "array.prototype.findlast": "^1.2.4", "array.prototype.flatmap": "^1.3.2", @@ -2112,995 +1462,611 @@ "semver": "^6.3.1", "string.prototype.matchall": "^4.0.10" }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } } }, - "node_modules/eslint-plugin-react-hooks": { + "eslint-plugin-react-hooks": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } + "dev": true }, - "node_modules/eslint-plugin-react-refresh": { + "eslint-plugin-react-refresh": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.6.tgz", "integrity": "sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA==", - "dev": true, - "peerDependencies": { - "eslint": ">=7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/eslint-scope": { + "eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "dependencies": { + "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-visitor-keys": { + "eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { + "espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "dependencies": { + "requires": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" } }, - "node_modules/esquery": { + "esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "dependencies": { + "requires": { "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" } }, - "node_modules/esrecurse": { + "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "dependencies": { + "requires": { "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" } }, - "node_modules/estraverse": { + "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } + "dev": true }, - "node_modules/esutils": { + "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/fast-deep-equal": { + "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/fast-diff": { + "fast-diff": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, - "node_modules/fast-json-stable-stringify": { + "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "node_modules/fast-levenshtein": { + "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/fastq": { + "fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, - "dependencies": { + "requires": { "reusify": "^1.0.4" } }, - "node_modules/file-entry-cache": { + "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "dependencies": { + "requires": { "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/find-up": { + "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "dependencies": { + "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { + "flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, - "dependencies": { + "requires": { "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/flatted": { + "flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, - "node_modules/for-each": { + "for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "dependencies": { + "requires": { "is-callable": "^1.1.3" } }, - "node_modules/fs.realpath": { + "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/fsevents": { + "fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "optional": true }, - "node_modules/function-bind": { + "function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/function.prototype.name": { + "function.prototype.name": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functions-have-names": { + "functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/gensync": { + "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/get-intrinsic": { + "get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, - "dependencies": { + "requires": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-symbol-description": { + "get-symbol-description": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/glob": { + "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "dependencies": { + "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { + "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "dependencies": { + "requires": { "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" } }, - "node_modules/globals": { + "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/globalthis": { + "globalthis": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, - "dependencies": { + "requires": { "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gopd": { + "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, - "dependencies": { + "requires": { "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graphemer": { + "graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/has-bigints": { + "has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/has-flag": { + "has-flag": { "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" - } + "dev": true }, - "node_modules/has-property-descriptors": { + "has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, - "dependencies": { + "requires": { "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { + "has-proto": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/has-symbols": { + "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/has-tostringtag": { + "has-tostringtag": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, - "dependencies": { + "requires": { "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hasown": { + "hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "dependencies": { + "requires": { "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/ignore": { + "ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } + "dev": true }, - "node_modules/import-fresh": { + "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "dependencies": { + "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/imurmurhash": { + "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } + "dev": true }, - "node_modules/inflight": { + "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "dependencies": { + "requires": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/internal-slot": { + "internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, - "dependencies": { + "requires": { "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/is-array-buffer": { + "is-array-buffer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-async-function": { + "is-async-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, - "dependencies": { + "requires": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-bigint": { + "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "dependencies": { + "requires": { "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-boolean-object": { + "is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-callable": { + "is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/is-core-module": { + "is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, - "dependencies": { + "requires": { "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-view": { + "is-data-view": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dev": true, - "dependencies": { + "requires": { "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { + "is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "dependencies": { + "requires": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { + "is-extglob": { "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" - } + "dev": true }, - "node_modules/is-finalizationregistry": { + "is-finalizationregistry": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-generator-function": { + "is-generator-function": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "dependencies": { + "requires": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-glob": { + "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "dependencies": { + "requires": { "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-map": { + "is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/is-negative-zero": { + "is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/is-number-object": { + "is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "dependencies": { + "requires": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-inside": { + "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/is-regex": { + "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-set": { + "is-set": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/is-shared-array-buffer": { + "is-shared-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-string": { + "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "dependencies": { + "requires": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-symbol": { + "is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "dependencies": { + "requires": { "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typed-array": { + "is-typed-array": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, - "dependencies": { + "requires": { "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakmap": { + "is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/is-weakref": { + "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakset": { + "is-weakset": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { + "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, - "node_modules/isexe": { + "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/iterator.prototype": { + "iterator.prototype": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, - "dependencies": { + "requires": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", @@ -3108,607 +2074,419 @@ "set-function-name": "^2.0.1" } }, - "node_modules/js-tokens": { + "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/js-yaml": { + "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "dependencies": { + "requires": { "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsesc": { + "jsesc": { "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" - }, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/json-buffer": { + "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "node_modules/json-schema-traverse": { + "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/json-stable-stringify-without-jsonify": { + "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json5": { + "json5": { "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" - }, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/jsx-ast-utils": { + "jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, - "dependencies": { + "requires": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", "object.assign": "^4.1.4", "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" } }, - "node_modules/keyv": { + "keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, - "dependencies": { + "requires": { "json-buffer": "3.0.1" } }, - "node_modules/levn": { + "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "dependencies": { + "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" } }, - "node_modules/lint": { + "lint": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/lint/-/lint-1.1.2.tgz", - "integrity": "sha512-kOzKdN0iSdkx57102MxZd64yn32rHaB6xqBMN3hyCRiBV2xiurM75XWvTHWNK/SJBCddHPhjDLV+kNr3Uf1MGg==", - "bin": { - "node-lint": "bin/node-lint" - }, - "engines": { - "node": ">=0.4.0" - } + "integrity": "sha512-kOzKdN0iSdkx57102MxZd64yn32rHaB6xqBMN3hyCRiBV2xiurM75XWvTHWNK/SJBCddHPhjDLV+kNr3Uf1MGg==" }, - "node_modules/locate-path": { + "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "dependencies": { + "requires": { "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash.merge": { + "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/loose-envify": { + "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { + "requires": { "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" } }, - "node_modules/lru-cache": { + "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": { + "requires": { "yallist": "^3.0.2" } }, - "node_modules/minimatch": { + "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "dependencies": { + "requires": { "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" } }, - "node_modules/ms": { + "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/nanoid": { + "nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } + "dev": true }, - "node_modules/natural-compare": { + "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/node-releases": { + "node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, - "node_modules/object-assign": { + "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/object-inspect": { + "object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/object-keys": { + "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } + "dev": true }, - "node_modules/object.assign": { + "object.assign": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { + "object.entries": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/object.fromentries": { + "object.fromentries": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.hasown": { + "object.hasown": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", "dev": true, - "dependencies": { + "requires": { "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.values": { + "object.values": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/once": { + "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "dependencies": { + "requires": { "wrappy": "1" } }, - "node_modules/optionator": { + "optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, - "dependencies": { + "requires": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" } }, - "node_modules/p-limit": { + "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "dependencies": { + "requires": { "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { + "p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "dependencies": { + "requires": { "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parent-module": { + "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "dependencies": { + "requires": { "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/path-exists": { + "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/path-is-absolute": { + "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/path-key": { + "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/path-parse": { + "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/picocolors": { + "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, - "node_modules/possible-typed-array-names": { + "possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - } + "dev": true }, - "node_modules/postcss": { + "postcss": { "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { + "requires": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" } }, - "node_modules/prelude-ls": { + "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "dev": true }, - "node_modules/prettier": { + "prettier": { "version": "3.2.5", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } + "dev": true }, - "node_modules/prettier-linter-helpers": { + "prettier-linter-helpers": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "dependencies": { + "requires": { "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" } }, - "node_modules/prop-types": { + "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dev": true, - "dependencies": { + "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, - "node_modules/punycode": { + "punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/queue-microtask": { + "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, - "node_modules/react": { + "react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { + "requires": { "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/react-dom": { + "react-dom": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { + "requires": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" } }, - "node_modules/react-is": { + "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "node_modules/react-refresh": { + "react-refresh": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/react-router": { + "react-router": { "version": "6.22.3", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", - "dependencies": { + "requires": { "@remix-run/router": "1.15.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" } }, - "node_modules/react-router-dom": { + "react-router-dom": { "version": "6.22.3", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", - "dependencies": { + "requires": { "@remix-run/router": "1.15.3", "react-router": "6.22.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" } }, - "node_modules/reflect.getprototypeof": { + "reflect.getprototypeof": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.1", @@ -3716,279 +2494,189 @@ "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "which-builtin-type": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexp.prototype.flags": { + "regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.6", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve": { + "resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, - "dependencies": { + "requires": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-from": { + "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/reusify": { + "reusify": { "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" - } + "dev": true }, - "node_modules/rimraf": { + "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "dependencies": { + "requires": { "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rollup": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.15.0.tgz", - "integrity": "sha512-i0ir57IMF5o7YvNYyUNeIGG+IZaaucnGZAOsSctO2tPLXlCEaZzyBa+QhpHNSgtpyLMoDev2DyN6a7J1dQA8Tw==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.15.0", - "@rollup/rollup-android-arm64": "4.15.0", - "@rollup/rollup-darwin-arm64": "4.15.0", - "@rollup/rollup-darwin-x64": "4.15.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.15.0", - "@rollup/rollup-linux-arm-musleabihf": "4.15.0", - "@rollup/rollup-linux-arm64-gnu": "4.15.0", - "@rollup/rollup-linux-arm64-musl": "4.15.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.15.0", - "@rollup/rollup-linux-riscv64-gnu": "4.15.0", - "@rollup/rollup-linux-s390x-gnu": "4.15.0", - "@rollup/rollup-linux-x64-gnu": "4.15.0", - "@rollup/rollup-linux-x64-musl": "4.15.0", - "@rollup/rollup-win32-arm64-msvc": "4.15.0", - "@rollup/rollup-win32-ia32-msvc": "4.15.0", - "@rollup/rollup-win32-x64-msvc": "4.15.0", + "rollup": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.16.0.tgz", + "integrity": "sha512-joxy/Hd4Ee289394//Q1aoebcxXyHasDieCTk8YtP4G4al4TUlx85EnuCLrfrdtLzrna9kNjH++Sx063wxSgmA==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.16.0", + "@rollup/rollup-android-arm64": "4.16.0", + "@rollup/rollup-darwin-arm64": "4.16.0", + "@rollup/rollup-darwin-x64": "4.16.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.16.0", + "@rollup/rollup-linux-arm-musleabihf": "4.16.0", + "@rollup/rollup-linux-arm64-gnu": "4.16.0", + "@rollup/rollup-linux-arm64-musl": "4.16.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.16.0", + "@rollup/rollup-linux-riscv64-gnu": "4.16.0", + "@rollup/rollup-linux-s390x-gnu": "4.16.0", + "@rollup/rollup-linux-x64-gnu": "4.16.0", + "@rollup/rollup-linux-x64-musl": "4.16.0", + "@rollup/rollup-win32-arm64-msvc": "4.16.0", + "@rollup/rollup-win32-ia32-msvc": "4.16.0", + "@rollup/rollup-win32-x64-msvc": "4.16.0", + "@types/estree": "1.0.5", "fsevents": "~2.3.2" } }, - "node_modules/run-parallel": { + "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { + "requires": { "queue-microtask": "^1.2.2" } }, - "node_modules/safe-array-concat": { + "safe-array-concat": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-regex-test": { + "safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/scheduler": { + "scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { + "requires": { "loose-envify": "^1.1.0" } }, - "node_modules/semver": { + "semver": { "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" - } + "dev": true }, - "node_modules/set-function-length": { + "set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, - "dependencies": { + "requires": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/set-function-name": { + "set-function-name": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, - "dependencies": { + "requires": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/shebang-command": { + "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "dependencies": { + "requires": { "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/shebang-regex": { + "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/side-channel": { + "side-channel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/source-map-js": { + "source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/string.prototype.matchall": { + "string.prototype.matchall": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", @@ -4001,391 +2689,238 @@ "regexp.prototype.flags": "^1.5.2", "set-function-name": "^2.0.2", "side-channel": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trim": { + "string.prototype.trim": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.0", "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trimend": { + "string.prototype.trimend": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trimstart": { + "string.prototype.trimstart": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-ansi": { + "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "dependencies": { + "requires": { "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-json-comments": { + "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/supports-color": { + "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "dependencies": { + "requires": { "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/supports-preserve-symlinks-flag": { + "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/synckit": { + "synckit": { "version": "0.8.8", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", "dev": true, - "dependencies": { + "requires": { "@pkgr/core": "^0.1.0", "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" } }, - "node_modules/text-table": { + "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/to-fast-properties": { + "to-fast-properties": { "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" - } + "dev": true }, - "node_modules/tslib": { + "tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, - "node_modules/type-check": { + "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "dependencies": { + "requires": { "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" } }, - "node_modules/type-fest": { + "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/typed-array-buffer": { + "typed-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/typed-array-byte-length": { + "typed-array-byte-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typed-array-byte-offset": { + "typed-array-byte-offset": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, - "dependencies": { + "requires": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typed-array-length": { + "typed-array-length": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unbox-primitive": { + "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-browserslist-db": { + "update-browserslist-db": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { + "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" } }, - "node_modules/uri-js": { + "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "dependencies": { + "requires": { "punycode": "^2.1.0" } }, - "node_modules/vite": { + "vite": { "version": "5.2.10", "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", "dev": true, - "dependencies": { + "requires": { "esbuild": "^0.20.1", + "fsevents": "~2.3.3", "postcss": "^8.4.38", "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } } }, - "node_modules/which": { + "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "dependencies": { + "requires": { "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { + "which-boxed-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "dependencies": { + "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", "is-number-object": "^1.0.4", "is-string": "^1.0.5", "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-builtin-type": { + "which-builtin-type": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", "dev": true, - "dependencies": { + "requires": { "function.prototype.name": "^1.1.5", "has-tostringtag": "^1.0.0", "is-async-function": "^2.0.0", @@ -4398,74 +2933,50 @@ "which-boxed-primitive": "^1.0.2", "which-collection": "^1.0.1", "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { + "which-collection": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, - "dependencies": { + "requires": { "is-map": "^2.0.3", "is-set": "^2.0.3", "is-weakmap": "^2.0.2", "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-typed-array": { + "which-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, - "dependencies": { + "requires": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrappy": { + "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/yallist": { + "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/yocto-queue": { + "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true } } } diff --git a/src/common/Button.css b/src/common/Button.css index ccd4521..da118e3 100644 --- a/src/common/Button.css +++ b/src/common/Button.css @@ -5,6 +5,7 @@ --hover-back: #6D58FF; --hover-front: #F6F8FF; } + &.simple { --background: #275EFE; --background-hover: #1749DB; @@ -37,7 +38,9 @@ color: var(--c, var(--color)); background: var(--b, var(--background)); transition: color .2s linear var(--c-d, .2s), background .3s linear var(--b-d, .2s); + &:not(.simple) { + &:before, &:after { content: ''; @@ -52,15 +55,18 @@ transition: transform var(--d, .4s) ease-in var(--d-d, 0s), border-radius .5s ease var(--br-d, .08s); } + &:after { --pb: var(--hover-front); --d: .44s; } } + div { z-index: 1; position: relative; display: flex; + span { display: block; backface-visibility: hidden; @@ -68,23 +74,29 @@ animation: var(--name, none) .7s linear forwards .18s; } } + &.in { --name: move; + &:not(.out) { --c: var(--color-hover); --b: var(--background-hover); + &:before, &:after { --y: 0; --br: 5%; } + &:after { --br: 10%; --d-d: .02s; } } + &.out { --name: move-out; + &:before { --d-d: .06s; } @@ -93,26 +105,32 @@ } @keyframes move { + 30%, 36% { transform: translateY(calc(-6px * var(--move))) translateZ(0) rotate(calc(-13deg * var(--rotate) * var(--part))); } + 50% { transform: translateY(calc(3px * var(--move))) translateZ(0) rotate(calc(6deg * var(--rotate) * var(--part))); } + 70% { transform: translateY(calc(-2px * var(--move))) translateZ(0) rotate(calc(-3deg * var(--rotate) * var(--part))); } } @keyframes move-out { + 30%, 36% { transform: translateY(calc(6px * var(--move))) translateZ(0) rotate(calc(13deg * var(--rotate) * var(--part))); } + 50% { transform: translateY(calc(-3px * var(--move))) translateZ(0) rotate(calc(-6deg * var(--rotate) * var(--part))); } + 70% { transform: translateY(calc(2px * var(--move))) translateZ(0) rotate(calc(3deg * var(--rotate) * var(--part))); } diff --git a/src/common/Button.jsx b/src/common/Button.jsx index c719475..d937074 100644 --- a/src/common/Button.jsx +++ b/src/common/Button.jsx @@ -3,66 +3,66 @@ import { useRef, useEffect } from "react"; import PropTypes from "prop-types"; const Button = ({ children, alternative, simple }) => { - const buttonRef = useRef(null); + const buttonRef = useRef(null); - useEffect(() => { - const button = buttonRef.current; - const div = document.createElement("div"); - const letters = children.trim().split(""); + useEffect(() => { + const button = buttonRef.current; + const div = document.createElement("div"); + const letters = children.trim().split(""); - letters.forEach((letter, index, array) => { - const element = document.createElement("span"); - const part = index >= array.length / 2 ? -1 : 1; - const position = - index >= array.length / 2 - ? array.length / 2 - index + (array.length / 2 - 1) - : index; - const move = position / (array.length / 2); - const rotate = 1 - move; + letters.forEach((letter, index, array) => { + const element = document.createElement("span"); + const part = index >= array.length / 2 ? -1 : 1; + const position = + index >= array.length / 2 + ? array.length / 2 - index + (array.length / 2 - 1) + : index; + const move = position / (array.length / 2); + const rotate = 1 - move; - element.innerHTML = !letter.trim() ? " " : letter; - element.style.setProperty("--move", move); - element.style.setProperty("--rotate", rotate); - element.style.setProperty("--part", part); + element.innerHTML = !letter.trim() ? " " : letter; + element.style.setProperty("--move", move); + element.style.setProperty("--rotate", rotate); + element.style.setProperty("--part", part); - div.appendChild(element); - }); + div.appendChild(element); + }); - button.innerHTML = div.outerHTML; + button.innerHTML = div.outerHTML; - button.addEventListener("mouseenter", () => { - if (!button.classList.contains("out")) { - button.classList.add("in"); - } - }); + button.addEventListener("mouseenter", () => { + if (!button.classList.contains("out")) { + button.classList.add("in"); + } + }); - button.addEventListener("mouseleave", () => { - if (button.classList.contains("in")) { - button.classList.add("out"); - setTimeout(() => button.classList.remove("in", "out"), 950); - } - }); - }, [children]); + button.addEventListener("mouseleave", () => { + if (button.classList.contains("in")) { + button.classList.add("out"); + setTimeout(() => button.classList.remove("in", "out"), 950); + } + }); + }, [children]); - let buttonClass = "button"; - if (alternative) { - buttonClass += " button--alternative"; - } - if (simple) { - buttonClass += " button--simple"; - } + let buttonClass = "button"; + if (alternative) { + buttonClass += " button--alternative"; + } + if (simple) { + buttonClass += " button--simple"; + } - return ( - - ); + return ( + + ); }; Button.propTypes = { - children: PropTypes.node.isRequired, - alternative: PropTypes.bool, - simple: PropTypes.bool, + children: PropTypes.node.isRequired, + alternative: PropTypes.bool, + simple: PropTypes.bool, }; export default Button; diff --git a/src/common/LocationInfo.jsx b/src/common/LocationInfo.jsx new file mode 100644 index 0000000..ab65a97 --- /dev/null +++ b/src/common/LocationInfo.jsx @@ -0,0 +1,40 @@ +// LocationInfo.jsx + +import React, { useEffect, useState } from "react"; + +const LocationInfo = () => { + const [location, setLocation] = useState(null); + + useEffect(() => { + const fetchLocation = async () => { + try { + const response = await fetch(`https://ipinfo.io/json?token=9704d049333821`); + const data = await response.json(); + setLocation(data); + } catch (error) { + console.error("Error fetching location:", error); + } + }; + + fetchLocation(); + }, []); + + return ( +
    +

    Ubicación del usuario:

    + {location ? ( +
    +

    IP: {location.ip}

    +

    País: {location.country}

    +

    Región: {location.region}

    +

    Ciudad: {location.city}

    +

    ISP: {location.org}

    +
    + ) : ( +

    Cargando ubicación...

    + )} +
    + ); +}; + +export default LocationInfo; diff --git a/src/common/button.css b/src/common/button.css new file mode 100644 index 0000000..da118e3 --- /dev/null +++ b/src/common/button.css @@ -0,0 +1,137 @@ +.button { + &.alternative { + --color-hover: #2B3044; + --background: #362A89; + --hover-back: #6D58FF; + --hover-front: #F6F8FF; + } + + &.simple { + --background: #275EFE; + --background-hover: #1749DB; + } +} + +.button { + --color: #fff; + --color-hover: var(--color); + --background: #2B3044; + --background-hover: var(--background); + --hover-back: #6D58FF; + --hover-front: #5C86FF; + padding: 8px 28px; + border-radius: 20px; + line-height: 24px; + font-size: 14px; + font-weight: 600; + letter-spacing: .02em; + border: none; + outline: none; + position: relative; + overflow: hidden; + cursor: pointer; + -webkit-appearance: none; + appearance: none; + -webkit-tap-highlight-color: transparent; + -webkit-mask-image: -webkit-radial-gradient(white, black); + mask-image: radial-gradient(white, black); + color: var(--c, var(--color)); + background: var(--b, var(--background)); + transition: color .2s linear var(--c-d, .2s), background .3s linear var(--b-d, .2s); + + &:not(.simple) { + + &:before, + &:after { + content: ''; + position: absolute; + background: var(--pb, var(--hover-back)); + top: 0; + left: 0; + right: 0; + height: 200%; + border-radius: var(--br, 40%); + transform: translateY(var(--y, 50%)); + transition: transform var(--d, .4s) ease-in var(--d-d, 0s), border-radius .5s ease var(--br-d, .08s); + + } + + &:after { + --pb: var(--hover-front); + --d: .44s; + } + } + + div { + z-index: 1; + position: relative; + display: flex; + + span { + display: block; + backface-visibility: hidden; + transform: translateZ(0); + animation: var(--name, none) .7s linear forwards .18s; + } + } + + &.in { + --name: move; + + &:not(.out) { + --c: var(--color-hover); + --b: var(--background-hover); + + &:before, + &:after { + --y: 0; + --br: 5%; + } + + &:after { + --br: 10%; + --d-d: .02s; + } + } + + &.out { + --name: move-out; + + &:before { + --d-d: .06s; + } + } + } +} + +@keyframes move { + + 30%, + 36% { + transform: translateY(calc(-6px * var(--move))) translateZ(0) rotate(calc(-13deg * var(--rotate) * var(--part))); + } + + 50% { + transform: translateY(calc(3px * var(--move))) translateZ(0) rotate(calc(6deg * var(--rotate) * var(--part))); + } + + 70% { + transform: translateY(calc(-2px * var(--move))) translateZ(0) rotate(calc(-3deg * var(--rotate) * var(--part))); + } +} + +@keyframes move-out { + + 30%, + 36% { + transform: translateY(calc(6px * var(--move))) translateZ(0) rotate(calc(13deg * var(--rotate) * var(--part))); + } + + 50% { + transform: translateY(calc(-3px * var(--move))) translateZ(0) rotate(calc(-6deg * var(--rotate) * var(--part))); + } + + 70% { + transform: translateY(calc(2px * var(--move))) translateZ(0) rotate(calc(3deg * var(--rotate) * var(--part))); + } +} \ No newline at end of file diff --git a/src/common/button.jsx b/src/common/button.jsx new file mode 100644 index 0000000..06f6680 --- /dev/null +++ b/src/common/button.jsx @@ -0,0 +1,68 @@ +import "./Button.css"; +import { useRef, useEffect } from "react"; +import PropTypes from "prop-types"; + +const Button = ({ children, alternative, simple }) => { + const buttonRef = useRef(null); + + useEffect(() => { + const button = buttonRef.current; + const div = document.createElement("div"); + const letters = children.trim().split(""); + + letters.forEach((letter, index, array) => { + const element = document.createElement("span"); + const part = index >= array.length / 2 ? -1 : 1; + const position = + index >= array.length / 2 + ? array.length / 2 - index + (array.length / 2 - 1) + : index; + const move = position / (array.length / 2); + const rotate = 1 - move; + + element.innerHTML = !letter.trim() ? " " : letter; + element.style.setProperty("--move", move); + element.style.setProperty("--rotate", rotate); + element.style.setProperty("--part", part); + + div.appendChild(element); + }); + + button.innerHTML = div.outerHTML; + + button.addEventListener("mouseenter", () => { + if (!button.classList.contains("out")) { + button.classList.add("in"); + } + }); + + button.addEventListener("mouseleave", () => { + if (button.classList.contains("in")) { + button.classList.add("out"); + setTimeout(() => button.classList.remove("in", "out"), 950); + } + }); + }, [children]); + + let buttonClass = "button"; + if (alternative) { + buttonClass += " button--alternative"; + } + if (simple) { + buttonClass += " button--simple"; + } + + return ( + + ); +}; + +Button.propTypes = { + children: PropTypes.node.isRequired, + alternative: PropTypes.bool, + simple: PropTypes.bool, +}; + +export default Button; diff --git a/src/common/navbar.css b/src/common/navbar.css index 8a75cc5..fe20ace 100644 --- a/src/common/navbar.css +++ b/src/common/navbar.css @@ -1,4 +1,5 @@ -body, .navbar-container { +body, +.navbar-container { margin: 0; padding: 0; } diff --git a/src/flights/index.css b/src/flights/index.css index 5c5fcfc..0f621b0 100644 --- a/src/flights/index.css +++ b/src/flights/index.css @@ -8,22 +8,25 @@ body { margin-top: 80px; background-color: #ffffff; } + .flight-card { border: 1px solid #ffffff; border-radius: 4px; padding: 5px; - margin: 0; + margin: 0; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15); font-family: "League Spartan", sans-serif; display: flex; flex-direction: row; color: #000035; } -.flight-card h3, .flight-card h4 { - margin: 5px; + +.flight-card h3, +.flight-card h4 { + margin: 5px; } -.flight-card h5{ +.flight-card h5 { font-style: italic; color: brown; } @@ -50,7 +53,7 @@ body { } .flight-card .section-2 img { - width: 50px; + width: 50px; height: auto; } @@ -59,15 +62,15 @@ body { display: flex; justify-content: flex-start; margin: 20px 0; - margin-bottom: 80px; + margin-bottom: 80px; overflow-x: auto; padding: 0 -100px; white-space: nowrap; - } - - .pagination button { +} + +.pagination button { background-color: #2B3044; - color: white; + color: white; border: none; cursor: pointer; padding: 15px 32px; @@ -79,17 +82,17 @@ body { margin: 4px 2px; transition-duration: 0.4s; font-family: "League Spartan", sans-serif; - } - - .pagination button:hover { - background-color: white; +} + +.pagination button:hover { + background-color: white; color: black; - } - - .pagination .active { +} + +.pagination .active { background-color: #3acbf7; color: #2B3044; - } +} .filters { display: flex; @@ -101,25 +104,25 @@ body { gap: 60px; } - .input-field { - width: 50px; - padding: 10px; - margin: 10px 0; - font-family: "League Spartan", sans-serif; - font-size: 16px; - border: 1px solid #ccc; - border-radius: 4px; - } - - .date-field { - width: 130px; - padding: 10px; - margin: 10px 0; - font-family: "League Spartan", sans-serif; - font-size: 16px; - border: 1px solid #ccc; - border-radius: 4px; - } +.input-field { + width: 50px; + padding: 10px; + margin: 10px 0; + font-family: "League Spartan", sans-serif; + font-size: 16px; + border: 1px solid #ccc; + border-radius: 4px; +} + +.date-field { + width: 130px; + padding: 10px; + margin: 10px 0; + font-family: "League Spartan", sans-serif; + font-size: 16px; + border: 1px solid #ccc; + border-radius: 4px; +} .flight-info { display: flex; @@ -159,6 +162,6 @@ body { .flight-info .section-2 img { - width: 50px; + width: 50px; height: auto; } \ No newline at end of file diff --git a/src/flights/show.jsx b/src/flights/show.jsx index 9263f3c..5bc7152 100644 --- a/src/flights/show.jsx +++ b/src/flights/show.jsx @@ -2,10 +2,13 @@ import { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import "./index.css"; import Button from "../common/button.jsx"; +import LocationInfo from '../common/LocationInfo.jsx'; const Flight = () => { const [flight, setFlight] = useState(null); const { id } = useParams(); + const [showLocationInfo, setShowLocationInfo] = useState(false); + useEffect(() => { const fetchFlight = async () => { @@ -128,14 +131,14 @@ const Flight = () => { {flight.flights[0].departure_airport.time && - !isNaN(Date.parse(flight.flights[0].departure_airport.time)) + !isNaN(Date.parse(flight.flights[0].departure_airport.time)) ? new Date( - flight.flights[0].departure_airport.time, - ).toLocaleDateString("es-ES", { - day: "numeric", - month: "long", - year: "numeric", - }) + flight.flights[0].departure_airport.time, + ).toLocaleDateString("es-ES", { + day: "numeric", + month: "long", + year: "numeric", + }) : "Fecha de salida no disponible"} @@ -161,8 +164,18 @@ const Flight = () => { > Comprar vuelo + + + + +
    + + + + {showLocationInfo && } + ); diff --git a/src/landingpage.css b/src/landingpage.css index 98eab12..e55ebf4 100644 --- a/src/landingpage.css +++ b/src/landingpage.css @@ -8,14 +8,15 @@ align-items: center; } -.landing-left-container, .landing-right-container { +.landing-left-container, +.landing-right-container { width: 50%; } .landing-left-container { width: 50%; height: 100vh; - background-size: cover; + background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; diff --git a/src/userpages/login.css b/src/userpages/login.css index 35e00c4..963ea1b 100644 --- a/src/userpages/login.css +++ b/src/userpages/login.css @@ -5,21 +5,21 @@ min-height: 100vh; } -.screen { - background: linear-gradient(90deg, #005287, #4d82bc); - position: relative; +.screen { + background: linear-gradient(90deg, #005287, #4d82bc); + position: relative; height: 600px; - width: 360px; + width: 360px; box-shadow: 0px 0px 24px #000035; } .screen__content { z-index: 1; - position: relative; + position: relative; height: 100%; } -.screen__background { +.screen__background { position: absolute; top: 0; left: 0; @@ -27,7 +27,7 @@ bottom: 0; z-index: 0; -webkit-clip-path: inset(0 0 0 0); - clip-path: inset(0 0 0 0); + clip-path: inset(0 0 0 0); } .screen__background__shape { @@ -38,18 +38,18 @@ .screen__background__shape1 { height: 520px; width: 520px; - background: #FFF; + background: #FFF; top: -50px; - right: 120px; + right: 120px; border-radius: 0 72px 0 0; } .screen__background__shape2 { height: 220px; width: 220px; - background: #84b6f4; + background: #84b6f4; top: -172px; - right: 0; + right: 0; border-radius: 32px; } @@ -58,16 +58,16 @@ width: 190px; background: linear-gradient(270deg, #005287, #4d82bc); top: -24px; - right: 0; + right: 0; border-radius: 32px; } .screen__background__shape4 { height: 400px; width: 200px; - background: #84b6f4; + background: #84b6f4; top: 420px; - right: 50px; + right: 50px; border-radius: 60px; } @@ -78,9 +78,9 @@ } .login__field { - padding: 20px 0px; - position: relative; - color: #000035; + padding: 20px 0px; + position: relative; + color: #000035; } .login__input { @@ -92,7 +92,7 @@ font-weight: 700; width: 75%; transition: .2s; - color: #000035; + color: #000035; } .login__input:active, @@ -128,16 +128,16 @@ } .login-title { - color: #000053; - text-align: center; - margin-bottom: 20px; - font-size: 2.5em; - font-family: "League Spartan", sans-serif; - padding-top: 40px; + color: #000053; + text-align: center; + margin-bottom: 20px; + font-size: 2.5em; + font-family: "League Spartan", sans-serif; + padding-top: 40px; } .button-container { - display: flex; - justify-content: space-between; - margin-top: 20px; + display: flex; + justify-content: space-between; + margin-top: 20px; } \ No newline at end of file diff --git a/src/userpages/register.css b/src/userpages/register.css index fb897fe..b210486 100644 --- a/src/userpages/register.css +++ b/src/userpages/register.css @@ -1,12 +1,12 @@ .register { - width: 320px; - padding: 30px; - padding-top: 70px; + width: 320px; + padding: 30px; + padding-top: 70px; } .register__field { - padding: 10px 0px; - position: relative; + padding: 10px 0px; + position: relative; color: #000035; } From 83dc656d4b2ba5177a4e2dfa4c3cb6c6ebfa7eda Mon Sep 17 00:00:00 2001 From: lucascovav Date: Sun, 21 Apr 2024 05:00:50 -0400 Subject: [PATCH 10/10] Arreglo & UbicacionPorIP --- src/common/Button.jsx | 96 ++++++++++++++++++------------------- src/common/LocationInfo.jsx | 82 +++++++++++++++---------------- src/common/router.jsx | 2 +- src/flights/show.jsx | 32 ++++++------- 4 files changed, 106 insertions(+), 106 deletions(-) diff --git a/src/common/Button.jsx b/src/common/Button.jsx index d937074..c719475 100644 --- a/src/common/Button.jsx +++ b/src/common/Button.jsx @@ -3,66 +3,66 @@ import { useRef, useEffect } from "react"; import PropTypes from "prop-types"; const Button = ({ children, alternative, simple }) => { - const buttonRef = useRef(null); + const buttonRef = useRef(null); - useEffect(() => { - const button = buttonRef.current; - const div = document.createElement("div"); - const letters = children.trim().split(""); + useEffect(() => { + const button = buttonRef.current; + const div = document.createElement("div"); + const letters = children.trim().split(""); - letters.forEach((letter, index, array) => { - const element = document.createElement("span"); - const part = index >= array.length / 2 ? -1 : 1; - const position = - index >= array.length / 2 - ? array.length / 2 - index + (array.length / 2 - 1) - : index; - const move = position / (array.length / 2); - const rotate = 1 - move; + letters.forEach((letter, index, array) => { + const element = document.createElement("span"); + const part = index >= array.length / 2 ? -1 : 1; + const position = + index >= array.length / 2 + ? array.length / 2 - index + (array.length / 2 - 1) + : index; + const move = position / (array.length / 2); + const rotate = 1 - move; - element.innerHTML = !letter.trim() ? " " : letter; - element.style.setProperty("--move", move); - element.style.setProperty("--rotate", rotate); - element.style.setProperty("--part", part); + element.innerHTML = !letter.trim() ? " " : letter; + element.style.setProperty("--move", move); + element.style.setProperty("--rotate", rotate); + element.style.setProperty("--part", part); - div.appendChild(element); - }); + div.appendChild(element); + }); - button.innerHTML = div.outerHTML; + button.innerHTML = div.outerHTML; - button.addEventListener("mouseenter", () => { - if (!button.classList.contains("out")) { - button.classList.add("in"); - } - }); + button.addEventListener("mouseenter", () => { + if (!button.classList.contains("out")) { + button.classList.add("in"); + } + }); - button.addEventListener("mouseleave", () => { - if (button.classList.contains("in")) { - button.classList.add("out"); - setTimeout(() => button.classList.remove("in", "out"), 950); - } - }); - }, [children]); + button.addEventListener("mouseleave", () => { + if (button.classList.contains("in")) { + button.classList.add("out"); + setTimeout(() => button.classList.remove("in", "out"), 950); + } + }); + }, [children]); - let buttonClass = "button"; - if (alternative) { - buttonClass += " button--alternative"; - } - if (simple) { - buttonClass += " button--simple"; - } + let buttonClass = "button"; + if (alternative) { + buttonClass += " button--alternative"; + } + if (simple) { + buttonClass += " button--simple"; + } - return ( - - ); + return ( + + ); }; Button.propTypes = { - children: PropTypes.node.isRequired, - alternative: PropTypes.bool, - simple: PropTypes.bool, + children: PropTypes.node.isRequired, + alternative: PropTypes.bool, + simple: PropTypes.bool, }; export default Button; diff --git a/src/common/LocationInfo.jsx b/src/common/LocationInfo.jsx index ab65a97..8394666 100644 --- a/src/common/LocationInfo.jsx +++ b/src/common/LocationInfo.jsx @@ -1,40 +1,42 @@ -// LocationInfo.jsx - -import React, { useEffect, useState } from "react"; - -const LocationInfo = () => { - const [location, setLocation] = useState(null); - - useEffect(() => { - const fetchLocation = async () => { - try { - const response = await fetch(`https://ipinfo.io/json?token=9704d049333821`); - const data = await response.json(); - setLocation(data); - } catch (error) { - console.error("Error fetching location:", error); - } - }; - - fetchLocation(); - }, []); - - return ( -
    -

    Ubicación del usuario:

    - {location ? ( -
    -

    IP: {location.ip}

    -

    País: {location.country}

    -

    Región: {location.region}

    -

    Ciudad: {location.city}

    -

    ISP: {location.org}

    -
    - ) : ( -

    Cargando ubicación...

    - )} -
    - ); -}; - -export default LocationInfo; +// LocationInfo.jsx + +import { useEffect, useState } from "react"; + +const LocationInfo = () => { + const [location, setLocation] = useState(null); + + useEffect(() => { + const fetchLocation = async () => { + try { + const response = await fetch( + `https://ipinfo.io/json?token=9704d049333821`, + ); + const data = await response.json(); + setLocation(data); + } catch (error) { + console.error("Error fetching location:", error); + } + }; + + fetchLocation(); + }, []); + + return ( +
    +

    Ubicación del usuario:

    + {location ? ( +
    +

    IP: {location.ip}

    +

    País: {location.country}

    +

    Región: {location.region}

    +

    Ciudad: {location.city}

    +

    ISP: {location.org}

    +
    + ) : ( +

    Cargando ubicación...

    + )} +
    + ); +}; + +export default LocationInfo; diff --git a/src/common/router.jsx b/src/common/router.jsx index 0b97d99..fb3cc35 100644 --- a/src/common/router.jsx +++ b/src/common/router.jsx @@ -19,4 +19,4 @@ const PageRoutes = () => { ); }; -export default PageRoutes; \ No newline at end of file +export default PageRoutes; diff --git a/src/flights/show.jsx b/src/flights/show.jsx index 5bc7152..5b6d25e 100644 --- a/src/flights/show.jsx +++ b/src/flights/show.jsx @@ -2,14 +2,13 @@ import { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import "./index.css"; import Button from "../common/button.jsx"; -import LocationInfo from '../common/LocationInfo.jsx'; +import LocationInfo from "../common/LocationInfo.jsx"; const Flight = () => { const [flight, setFlight] = useState(null); const { id } = useParams(); const [showLocationInfo, setShowLocationInfo] = useState(false); - useEffect(() => { const fetchFlight = async () => { try { @@ -131,14 +130,14 @@ const Flight = () => { {flight.flights[0].departure_airport.time && - !isNaN(Date.parse(flight.flights[0].departure_airport.time)) + !isNaN(Date.parse(flight.flights[0].departure_airport.time)) ? new Date( - flight.flights[0].departure_airport.time, - ).toLocaleDateString("es-ES", { - day: "numeric", - month: "long", - year: "numeric", - }) + flight.flights[0].departure_airport.time, + ).toLocaleDateString("es-ES", { + day: "numeric", + month: "long", + year: "numeric", + }) : "Fecha de salida no disponible"} @@ -164,18 +163,17 @@ const Flight = () => { > Comprar vuelo - - - - - - - + {showLocationInfo && } - );