From fc00d58b88a1ca599b426d193703d339286489cd Mon Sep 17 00:00:00 2001 From: sarah z <15064710+sarahzdev@users.noreply.github.com> Date: Tue, 15 Aug 2023 10:05:54 -0700 Subject: [PATCH] Merge pull request #194 from LIT-Protocol/feat/update-mint-relay feat: support new mint and fetch endpoints --- apps/demo-pkp-social-auth-next-ts/README.md | 23 +- .../package-lock.json | 4767 +++++++++------- .../demo-pkp-social-auth-next-ts/package.json | 11 +- .../public/apple.png | Bin 0 -> 38468 bytes .../public/coinbase.png | Bin 0 -> 6328 bytes .../public/discord.png | Bin 0 -> 10386 bytes .../public/google.png | Bin 0 -> 55096 bytes .../public/metamask.png | Bin 0 -> 23631 bytes .../src/components/AccountSelection.tsx | 73 + .../src/components/AuthMethods.tsx | 138 + .../src/components/CreateAccount.tsx | 28 + .../src/components/Dashboard.tsx | 103 + .../src/components/EmailSMSAuth.tsx | 123 + .../src/components/Loading.tsx | 22 + .../src/components/LoginMethods.tsx | 91 + .../src/components/SignUpMethods.tsx | 102 + .../src/components/StytchOTP.tsx | 134 + .../src/components/WebAuthn.tsx | 105 + .../src/hooks/useAccounts.ts | 67 + .../src/hooks/useAuthenticate.ts | 186 + .../src/hooks/useIsMounted.ts | 9 + .../src/hooks/useSession.ts | 60 + .../src/pages/_app.tsx | 86 +- .../src/pages/index.tsx | 695 +-- .../src/pages/login.tsx | 140 + .../src/styles/globals.css | 632 ++- .../src/utils/lit.ts | 319 ++ apps/demo-pkp-social-auth-next-ts/yarn.lock | 5035 ----------------- package.json | 2 + packages/lit-auth-client/src/index.ts | 2 + .../src/lib/lit-auth-client.ts | 12 +- .../src/lib/providers/AppleProvider.ts | 20 + .../src/lib/providers/BaseProvider.ts | 116 +- .../src/lib/providers/DiscordProvider.ts | 44 + .../src/lib/providers/EthWalletProvider.ts | 22 + .../src/lib/providers/GoogleProvider.ts | 20 + .../src/lib/providers/OtpProvider.ts | 39 + .../src/lib/providers/StytchOtpProvider.ts | 123 + .../src/lib/providers/WebAuthnProvider.ts | 115 +- packages/lit-auth-client/src/lib/relay.ts | 79 +- packages/lit-auth-client/src/lib/utils.ts | 113 + packages/types/src/lib/interfaces.ts | 59 +- packages/types/src/lib/types.ts | 13 +- yarn.lock | 10 + 44 files changed, 5945 insertions(+), 7793 deletions(-) create mode 100644 apps/demo-pkp-social-auth-next-ts/public/apple.png create mode 100644 apps/demo-pkp-social-auth-next-ts/public/coinbase.png create mode 100644 apps/demo-pkp-social-auth-next-ts/public/discord.png create mode 100644 apps/demo-pkp-social-auth-next-ts/public/google.png create mode 100644 apps/demo-pkp-social-auth-next-ts/public/metamask.png create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/AccountSelection.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/AuthMethods.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/CreateAccount.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/Dashboard.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/EmailSMSAuth.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/Loading.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/LoginMethods.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/SignUpMethods.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/StytchOTP.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/components/WebAuthn.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/hooks/useAccounts.ts create mode 100644 apps/demo-pkp-social-auth-next-ts/src/hooks/useAuthenticate.ts create mode 100644 apps/demo-pkp-social-auth-next-ts/src/hooks/useIsMounted.ts create mode 100644 apps/demo-pkp-social-auth-next-ts/src/hooks/useSession.ts create mode 100644 apps/demo-pkp-social-auth-next-ts/src/pages/login.tsx create mode 100644 apps/demo-pkp-social-auth-next-ts/src/utils/lit.ts delete mode 100644 apps/demo-pkp-social-auth-next-ts/yarn.lock create mode 100644 packages/lit-auth-client/src/lib/providers/StytchOtpProvider.ts diff --git a/apps/demo-pkp-social-auth-next-ts/README.md b/apps/demo-pkp-social-auth-next-ts/README.md index 1395c90ff5..0bf1e2fad5 100644 --- a/apps/demo-pkp-social-auth-next-ts/README.md +++ b/apps/demo-pkp-social-auth-next-ts/README.md @@ -1,25 +1,30 @@ -# PKP x Google OAuth Web Example 🪢 +# lit-auth-client Web Example 🪢 -This is an example web app that shows how you can mint and use programmable key pairs (PKPs) with just Google account. With PKPs, you can build distributed and customizable MPC wallets. Learn more about PKPs [here](https://developer.litprotocol.com/pkp/wallets/intro). - -Check out the [live demo](https://pkp-social-auth-example.vercel.app/). +This is an example web app that shows how you can mint and use programmable key pairs (PKPs) with social accounts, one-time passwords, and authenticators using the [@lit-protocol/lit-auth-client](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/lit-auth-client) library. ## 💻 Getting Started 1. Clone this repo and install dependencies: ```bash -git clone git@github.com:LIT-Protocol/pkp-social-auth-example.git - -cd pkp-social-auth-example +cd apps/demo-pkp-social-auth-next-ts yarn install ``` -2. Start your development server: +1. Add your Stytch project's `project_id` and `public_token` to `.env.local`: + +```bash +NEXT_PUBLIC_STYTCH_PROJECT_ID="" +NEXT_PUBLIC_STYTCH_PUBLIC_TOKEN="" +``` + +If you're not using Stytch, feel free to comment out the Stytch provider `StytchProvider` and Stytch component `StytchOTP`. + +3. Start your development server: ```bash yarn dev ``` -3. Visit [http://localhost:3000](http://localhost:3000) to start playing with the app. +4. Visit [http://localhost:3000](http://localhost:3000) to start playing with the app. diff --git a/apps/demo-pkp-social-auth-next-ts/package-lock.json b/apps/demo-pkp-social-auth-next-ts/package-lock.json index 1e1ee04b0f..028ed75133 100644 --- a/apps/demo-pkp-social-auth-next-ts/package-lock.json +++ b/apps/demo-pkp-social-auth-next-ts/package-lock.json @@ -8,7 +8,13 @@ "name": "social-auth-next-example", "version": "0.1.0", "dependencies": { - "@lit-protocol/lit-auth-client": "^2.1.137", + "@lit-protocol/auth-helpers": "file:../../packages/auth-helpers", + "@lit-protocol/constants": "file:../../packages/constants", + "@lit-protocol/lit-auth-client": "file:../../packages/lit-auth-client", + "@lit-protocol/pkp-ethers": "file:../../packages/pkp-ethers", + "@lit-protocol/types": "file:../../packages/types", + "@radix-ui/react-radio-group": "^1.1.3", + "@stytch/nextjs": "^9.0.0", "eslint": "8.36.0", "eslint-config-next": "13.2.4", "eslint-config-prettier": "^8.8.0", @@ -21,19 +27,37 @@ }, "devDependencies": { "@types/node": "18.15.11", - "@types/react": "18.0.31" + "@types/react": "18.0.31", + "sass": "^1.64.2" + } + }, + "../../packages/auth-helpers": { + "name": "@lit-protocol/auth-helpers", + "version": "2.2.47", + "license": "MIT", + "peerDependencies": { + "tslib": "^2.3.0" } }, "../../packages/constants": { "name": "@lit-protocol/constants", - "version": "2.1.137", - "extraneous": true, + "version": "2.2.47", "license": "MIT" }, + "../../packages/contracts-sdk": { + "name": "@lit-protocol/contracts-sdk", + "version": "2.2.47", + "extraneous": true, + "license": "MIT", + "peerDependencies": { + "bs58": "^5.0.0", + "date-and-time": "^2.4.1", + "multiformats": "^9.7.1" + } + }, "../../packages/lit-auth-client": { "name": "@lit-protocol/lit-auth-client", - "version": "2.1.137", - "extraneous": true, + "version": "2.2.47", "license": "MIT", "peerDependencies": { "@simplewebauthn/browser": "^7.2.0", @@ -47,10 +71,14 @@ "extraneous": true, "license": "MIT" }, + "../../packages/pkp-ethers": { + "name": "@lit-protocol/pkp-ethers", + "version": "2.2.47", + "license": "MIT" + }, "../../packages/types": { "name": "@lit-protocol/types", - "version": "2.1.137", - "extraneous": true, + "version": "2.2.47", "license": "MIT" }, "../js-sdk/packages/constants": { @@ -65,6 +93,481 @@ "../js-sdk/packages/types": { "extraneous": true }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "peer": true, + "dependencies": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/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==", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/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==", + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/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==", + "peer": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/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==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", + "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "peer": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "peer": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "peer": true + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "peer": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", + "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "peer": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/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==", + "peer": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "peer": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/runtime": { "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", @@ -76,6 +579,64 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", + "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "peer": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@coinbase/wallet-sdk": { "version": "3.6.6", "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.6.6.tgz", @@ -103,6 +664,33 @@ "node": ">= 10.0.0" } }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "peer": true, + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", + "peer": true + }, + "node_modules/@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==", + "peer": true + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "peer": true + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -826,6 +1414,15 @@ "@ethersproject/strings": "^5.7.0" } }, + "node_modules/@github/webauthn-json": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@github/webauthn-json/-/webauthn-json-1.0.3.tgz", + "integrity": "sha512-hD4cCudZUvJGR3CPF9Ugz4XZ1uOK2Sgn5D6CDKxxGhW/m3yQ5nu9744TtGhroDa5rXCJGNjw0/S/tnluyFilHQ==", + "peer": true, + "bin": { + "webauthn-json": "dist/bin/main.js" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -856,390 +1453,114 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, - "node_modules/@ipld/dag-cbor": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", - "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", - "dependencies": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" - } - }, - "node_modules/@ipld/dag-json": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", - "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", - "dependencies": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" - } - }, - "node_modules/@ipld/dag-pb": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", - "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", - "dependencies": { - "multiformats": "^9.5.4" - } - }, - "node_modules/@json-rpc-tools/provider": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz", - "integrity": "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "@json-rpc-tools/utils": "^1.7.6", - "axios": "^0.21.0", - "safe-json-utils": "^1.1.1", - "ws": "^7.4.0" - } - }, - "node_modules/@json-rpc-tools/types": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz", - "integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "keyvaluestorage-interface": "^1.0.0" - } - }, - "node_modules/@json-rpc-tools/utils": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz", - "integrity": "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "@json-rpc-tools/types": "^1.7.6", - "@pedrouid/environment": "^1.0.1" - } - }, - "node_modules/@ledgerhq/connect-kit-loader": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.2.tgz", - "integrity": "sha512-TQ21IjcZOw/scqypaVFY3jHVqI7X7Hta3qN/us6FvTol3AY06UmrhhXGww0E9xHmAbdX241ddwXEiMBSQZFr9g==" - }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", - "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==" - }, - "node_modules/@lit-protocol/access-control-conditions": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/access-control-conditions/-/access-control-conditions-2.1.137.tgz", - "integrity": "sha512-p9nRzo5W1bGVV1eWmZZuy9esOoKLS69BWOBTziqq15kFfzVJvPySymYOx2f2edtQn01kE182Fibr5/bkcuSKAA==", - "dependencies": { - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "tslib": "^2.3.0" - } - }, - "node_modules/@lit-protocol/auth-browser": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/auth-browser/-/auth-browser-2.1.137.tgz", - "integrity": "sha512-tFKRiQgrLRSmvx63qkoqeYS1TljsXkaW1m6bbnW31h6v3m7/zuxMIqiTp9iRMYseiMkvJ9y1evB0DGJkGUy5oQ==", - "dependencies": { - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/misc-browser": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "@walletconnect/ethereum-provider": "2.7.0", - "@web3modal/standalone": "2.2.1", - "ethers": "^5.7.1", - "lit-connect-modal": "^0.1.11", - "lit-siwe": "^1.1.8", - "tslib": "^2.3.0", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.13.3", - "util": "^0.12.4", - "web-vitals": "^3.0.4" - } - }, - "node_modules/@lit-protocol/auth-browser/node_modules/@web3modal/core": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@web3modal/core/-/core-2.2.1.tgz", - "integrity": "sha512-B2O1+uwnEA2pD+NH+W7xIUMqAkUOxuw6WuIbXZ96tXQO8Mqm8tkrJ6MoqmIo6ntLwHLXtcjitH//JvJHjWVt6A==", - "dependencies": { - "buffer": "6.0.3", - "valtio": "1.10.3" - } - }, - "node_modules/@lit-protocol/auth-browser/node_modules/@web3modal/standalone": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.2.1.tgz", - "integrity": "sha512-pHPL+UykZtOZhEhNl+l3wWnNvZZdm8cgJgVQVo8yL7m4N9kTyRbDArsQenlIeIm2xi0kFncXBJbe1kaxl8AWTA==", - "dependencies": { - "@web3modal/core": "2.2.1", - "@web3modal/ui": "2.2.1" - } - }, - "node_modules/@lit-protocol/auth-browser/node_modules/@web3modal/ui": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@web3modal/ui/-/ui-2.2.1.tgz", - "integrity": "sha512-7WfynySxcDYFzGTV+9HODKJ85VVVPB8GGcew2JWr9jYcYfRE6KBM75lo+PRb0zdMFRQtSPpU41fRLCk+vBJ4ww==", - "dependencies": { - "@web3modal/core": "2.2.1", - "lit": "2.6.1", - "motion": "10.15.5", - "qrcode": "1.5.1" - } - }, - "node_modules/@lit-protocol/auth-browser/node_modules/lit": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", - "integrity": "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==", - "dependencies": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.2.0", - "lit-html": "^2.6.0" - } - }, - "node_modules/@lit-protocol/auth-browser/node_modules/qrcode": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz", - "integrity": "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==", - "dependencies": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@lit-protocol/auth-browser/node_modules/tweetnacl-util": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.13.5.tgz", - "integrity": "sha512-/4Q3hpPFAnbBjNLLOmdTdyvInBfZcQBTWy+LWbypmWxAKwOpSQOyyv4ZZts4CoiYtS8Skyix5CkOWytf7XNK9A==" - }, - "node_modules/@lit-protocol/auth-browser/node_modules/valtio": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.10.3.tgz", - "integrity": "sha512-t3Ez/+baJ+Z5tIyeaI6nCAbW/hrmcq2jditwg/X++o5IvCdiGirQKTOv1kJq0glgUo13v5oABCVGcinggBfiKw==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "peer": true, "dependencies": { - "proxy-compare": "2.5.0", - "use-sync-external-store": "1.2.0" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=12.20.0" - }, - "peerDependencies": { - "react": ">=16.8" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } + "node": ">=6.0.0" } }, - "node_modules/@lit-protocol/bls-sdk": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.137.tgz", - "integrity": "sha512-3aAmkXwEQUfUPDH7iKTSAVHgmFy5RmtYqRanPpLgjqG3NCFLd5YjmVNMIaMyee95XQS3/fS7L5xEIon6SWkFhQ==" - }, - "node_modules/@lit-protocol/constants": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.137.tgz", - "integrity": "sha512-dm2mgSPp94TmAziNe/ED/8ZYWlufIQ2IbPy3LB3sGOskEJcwSlhpj8NcT0nNmp2F6sJRldUwWmnxRbgqnqO+jQ==", - "dependencies": { - "@lit-protocol/types": "2.1.137", - "tslib": "^2.3.0" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "peer": true, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@lit-protocol/crypto": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-2.1.137.tgz", - "integrity": "sha512-Jj8et0meH+PWH/9hl+wWa9K7BSc13mJ+8YsKj3vB3nZQzHVPCrSW2pEallf8f5tDWNdCrscoS8Z07vmPgLa+CA==", - "dependencies": { - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "tslib": "^2.3.0" + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "peer": true, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@lit-protocol/ecdsa-sdk": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.137.tgz", - "integrity": "sha512-FGp3xJEGZTX2p8n8o3UXFzxoOVdtLFvulWCLhUfrOXZPlZrHImF5f8J5xXb7dchHe2EB3oeYW5uqlHO0cexXIQ==" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "peer": true }, - "node_modules/@lit-protocol/encryption": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/encryption/-/encryption-2.1.137.tgz", - "integrity": "sha512-ZaWlwzypYJF/61/Q5gGAGy5InAsIfDFDjFIQRqktRlsL3tLkG4BfiC5M1MHKZY/7NeZKQUW6TnmM+ScIDqAyEg==", - "dependencies": { - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/crypto": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "ipfs-http-client": "56.0.0", - "jszip": "^3.10.1", - "tslib": "^2.3.0" + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@lit-protocol/lit-auth-client": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/lit-auth-client/-/lit-auth-client-2.1.137.tgz", - "integrity": "sha512-7OfJ6vw7BgrRmoTJFlKa7YG2yolTT0KYKeeiLZGC2MZALKwkicgkr0R9y+gjF+q7kQC/9k/F+QLCYm1Uc+RNAA==", - "dependencies": { - "@lit-protocol/access-control-conditions": "2.1.137", - "@lit-protocol/auth-browser": "2.1.137", - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/crypto": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/encryption": "2.1.137", - "@lit-protocol/lit-node-client": "2.1.137", - "@lit-protocol/lit-node-client-nodejs": "2.1.137", - "@lit-protocol/lit-third-party-libs": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/misc-browser": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "@simplewebauthn/browser": "^7.2.0", - "@simplewebauthn/typescript-types": "^7.0.0", - "@walletconnect/ethereum-provider": "2.7.0", - "@web3modal/standalone": "^2.2.1", - "base64url": "^3.0.1", - "ethers": "^5.7.1", - "ipfs-http-client": "56.0.0", - "jszip": "^3.10.1", - "lit-connect-modal": "^0.1.11", - "lit-siwe": "^1.1.8", - "nanoid": "3.3.4", - "node-fetch": "^2.6.1", - "tslib": "^2.3.0", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - } - }, - "node_modules/@lit-protocol/lit-auth-client/node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node_modules/@json-rpc-tools/provider": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz", + "integrity": "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@json-rpc-tools/utils": "^1.7.6", + "axios": "^0.21.0", + "safe-json-utils": "^1.1.1", + "ws": "^7.4.0" } }, - "node_modules/@lit-protocol/lit-node-client": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/lit-node-client/-/lit-node-client-2.1.137.tgz", - "integrity": "sha512-zUi24TmYpzBpgbbJTBQEU97yzCmsSUNknOUeOGr6o87wUVGLU/nWJaAO+BftKlsPcJr9SAeBpbYpZx7sKqn/OA==", - "dependencies": { - "@lit-protocol/access-control-conditions": "2.1.137", - "@lit-protocol/auth-browser": "2.1.137", - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/crypto": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/encryption": "2.1.137", - "@lit-protocol/lit-node-client-nodejs": "2.1.137", - "@lit-protocol/lit-third-party-libs": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/misc-browser": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "@walletconnect/ethereum-provider": "2.7.0", - "@web3modal/standalone": "^2.2.1", - "ethers": "^5.7.1", - "ipfs-http-client": "56.0.0", - "jszip": "^3.10.1", - "lit-connect-modal": "^0.1.11", - "lit-siwe": "^1.1.8", - "node-fetch": "^2.6.1", - "tslib": "^2.3.0", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - } - }, - "node_modules/@lit-protocol/lit-node-client-nodejs": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/lit-node-client-nodejs/-/lit-node-client-nodejs-2.1.137.tgz", - "integrity": "sha512-PcJ5Opey9DOXd6xrxFFqhQ7MAQQWFhDS8bI4RTiLNKVgsMjPjG69OrsnbkHJVMKbqck/CUUeiDlToz/NXYbUAA==", - "dependencies": { - "@lit-protocol/access-control-conditions": "2.1.137", - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/crypto": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/encryption": "2.1.137", - "@lit-protocol/lit-third-party-libs": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/misc-browser": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "ipfs-http-client": "56.0.0", - "jszip": "^3.10.1", - "lit-siwe": "^1.1.8", - "node-fetch": "^2.6.1", - "tslib": "^2.3.0" + "node_modules/@json-rpc-tools/types": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz", + "integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0" } }, - "node_modules/@lit-protocol/lit-third-party-libs": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/lit-third-party-libs/-/lit-third-party-libs-2.1.137.tgz", - "integrity": "sha512-6FwNkn8YmhUo3T3mDIjFb60t018WEq//kl6u1Ar1G7UQpEx1ieL4cUxBB2oEXSr+WeSn189ZcQyqEWOvnMRu4g==" - }, - "node_modules/@lit-protocol/misc": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.137.tgz", - "integrity": "sha512-bRx/M5AUVvL3bG/2RqKNtLlU/o4ITc5jdBm3dSGFBQ5N1UmcXPZzrAjwEMy/XpwkjjqGa7unLdOi6onLcRFFoA==", + "node_modules/@json-rpc-tools/utils": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz", + "integrity": "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dependencies": { - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/types": "2.1.137", - "tslib": "^2.3.0" + "@json-rpc-tools/types": "^1.7.6", + "@pedrouid/environment": "^1.0.1" } }, - "node_modules/@lit-protocol/misc-browser": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/misc-browser/-/misc-browser-2.1.137.tgz", - "integrity": "sha512-m6x1FiEpaCjEtlnyis8XeIzIl5Xgav0vGDfIia7ntPh2Wht9xSx4ney0B8hRppGF4kpePeXYDau4xnUWtTOMgg==", - "dependencies": { - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "tslib": "^2.3.0" - } + "node_modules/@ledgerhq/connect-kit-loader": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.2.tgz", + "integrity": "sha512-TQ21IjcZOw/scqypaVFY3jHVqI7X7Hta3qN/us6FvTol3AY06UmrhhXGww0E9xHmAbdX241ddwXEiMBSQZFr9g==" }, - "node_modules/@lit-protocol/nacl": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.137.tgz", - "integrity": "sha512-yS8bV3eQlq4cf8hi0i3IY9LKmMUrbippsXmaHuKxjGnCqgaFqiuM7q7kognwg0nmye5SGGDM819Kb6NJzs4bew==" + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", + "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==" }, - "node_modules/@lit-protocol/types": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.1.137.tgz", - "integrity": "sha512-lGAdM5sPVDR5jMD1RrWEkthOUUxfByKixM8oPS3BplMorVC353pgLvNkwNwJYny/8zkccOJyOLaDTX+nTSsE7Q==" + "node_modules/@lit-protocol/auth-helpers": { + "resolved": "../../packages/auth-helpers", + "link": true }, - "node_modules/@lit-protocol/uint8arrays": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.137.tgz", - "integrity": "sha512-aYSBCrar0RTjHV5j12REzAUn45LAyBIBEwwFUTQbebjgRbgivWD81J4TfJqAe033w62yB4BW3frM4wJQt1A+eg==" + "node_modules/@lit-protocol/constants": { + "resolved": "../../packages/constants", + "link": true + }, + "node_modules/@lit-protocol/lit-auth-client": { + "resolved": "../../packages/lit-auth-client", + "link": true + }, + "node_modules/@lit-protocol/pkp-ethers": { + "resolved": "../../packages/pkp-ethers", + "link": true + }, + "node_modules/@lit-protocol/types": { + "resolved": "../../packages/types", + "link": true }, "node_modules/@lit/reactive-element": { "version": "1.6.1", @@ -1572,15 +1893,15 @@ ] }, "node_modules/@noble/hashes": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", - "integrity": "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } }, "node_modules/@noble/secp256k1": { "version": "1.7.1", @@ -1630,79 +1951,343 @@ "resolved": "https://registry.npmjs.org/@pedrouid/environment/-/environment-1.0.1.tgz", "integrity": "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==" }, - "node_modules/@pkgr/utils": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", - "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", + "node_modules/@pkgr/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", + "dependencies": { + "cross-spawn": "^7.0.3", + "is-glob": "^4.0.3", + "open": "^8.4.0", + "picocolors": "^1.0.0", + "tiny-glob": "^0.2.9", + "tslib": "^2.4.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-radio-group": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz", + "integrity": "sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", "dependencies": { - "cross-spawn": "^7.0.3", - "is-glob": "^4.0.3", - "open": "^8.4.0", - "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" + "@babel/runtime": "^7.13.10" }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://opencollective.com/unts" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, "node_modules/@rushstack/eslint-patch": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", @@ -1743,19 +2328,6 @@ "cross-fetch": "^3.1.5" } }, - "node_modules/@simplewebauthn/browser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-7.2.0.tgz", - "integrity": "sha512-HHIvRPpqKy0UV/BsGAmx4rQRZuZTUFYLLH65FwpSOslqHruiHx3Ql/bq7A75bjWuJ296a+4BIAq3+SPaII01TQ==", - "dependencies": { - "@simplewebauthn/typescript-types": "*" - } - }, - "node_modules/@simplewebauthn/typescript-types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@simplewebauthn/typescript-types/-/typescript-types-7.0.0.tgz", - "integrity": "sha512-bV+xACCFTsrLR/23ozHO06ZllHZaxC8LlI5YCo79GvU2BrN+rePDU2yXwZIYndNWcMQwRdndRdAhpafOh9AC/g==" - }, "node_modules/@solana/buffer-layout": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", @@ -1790,14 +2362,6 @@ "superstruct": "^0.14.2" } }, - "node_modules/@spruceid/siwe-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-1.1.3.tgz", - "integrity": "sha512-oQ8PcwDqjGWJvLmvAF2yzd6iniiWxK0Qtz+Dw+gLD/W5zOQJiKIUXwslHOm8VB8OOOKW9vfR3dnPBhHaZDvRsw==", - "dependencies": { - "apg-js": "^4.1.1" - } - }, "node_modules/@stablelib/aead": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", @@ -1944,6 +2508,245 @@ "@stablelib/wipe": "^1.0.1" } }, + "node_modules/@stytch/core": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@stytch/core/-/core-0.15.0.tgz", + "integrity": "sha512-AIqjFrynjx8iI/2erXe2Q0dgZbEw5iQRxWY7S0aNrRXBl5x/T82G2ZZ5PjmHbXexlwuimNhOo8mQ+yq/x56kww==", + "peer": true, + "dependencies": { + "uuid": "8.3.2" + } + }, + "node_modules/@stytch/nextjs": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@stytch/nextjs/-/nextjs-9.0.0.tgz", + "integrity": "sha512-EnAhrTDwj4+UeyubHlUt799d/EJYX/9Fc5Zz79rrX0E3XpeM+ByVWoODj5ar73Jd54r4tgpVjJxhPhuC/3iz2Q==", + "peerDependencies": { + "@stytch/vanilla-js": "^2.0.0", + "react": ">= 17.0.2", + "react-dom": ">= 17.0.2" + } + }, + "node_modules/@stytch/vanilla-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@stytch/vanilla-js/-/vanilla-js-2.0.0.tgz", + "integrity": "sha512-LOyxmOzmuZYi5E/0GmML6bPBOEa8pZ6x6Tyj/DWFujDDSDbVh7dUezBcdML1OFsKzvmsBY3NGua/sFkovyZqew==", + "peer": true, + "dependencies": { + "@github/webauthn-json": "1.0.3", + "@radix-ui/react-tabs": "0.1.5", + "@stytch/core": "0.15.0", + "awesome-phonenumber": "3.2.0", + "js-cookie": "3.0.1", + "lodash.merge": "4.6.2", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-hot-toast": "2.2.0", + "styled-components": "5.3.5", + "swr": "2.1.1", + "uuid": "8.3.2" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/primitive": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-0.1.0.tgz", + "integrity": "sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-collection": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-0.1.4.tgz", + "integrity": "sha512-3muGI15IdgaDFjOcO7xX8a35HQRBRF6LH9pS6UCeZeRmbslkVeHyJRQr2rzICBUoX7zgIA0kXyMDbpQnJGyJTA==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "0.1.0", + "@radix-ui/react-context": "0.1.1", + "@radix-ui/react-primitive": "0.1.4", + "@radix-ui/react-slot": "0.1.2" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-compose-refs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz", + "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-context": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-0.1.1.tgz", + "integrity": "sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-id": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-0.1.5.tgz", + "integrity": "sha512-IPc4H/63bes0IZ1GJJozSEkSWcDyhNGtKFWUpJ+XtaLyQ1X3x7Mf6fWwWhDcpqlYEP+5WtAvfqcyEsyjP+ZhBQ==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "0.1.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-primitive": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz", + "integrity": "sha512-6gSl2IidySupIMJFjYnDIkIWRyQdbu/AHK7rbICPani+LW4b0XdxBXc46og/iZvuwW8pjCS8I2SadIerv84xYA==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "0.1.2" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-roving-focus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-0.1.5.tgz", + "integrity": "sha512-ClwKPS5JZE+PaHCoW7eu1onvE61pDv4kO8W4t5Ra3qMFQiTJLZMdpBQUhksN//DaVygoLirz4Samdr5Y1x1FSA==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "0.1.0", + "@radix-ui/react-collection": "0.1.4", + "@radix-ui/react-compose-refs": "0.1.0", + "@radix-ui/react-context": "0.1.1", + "@radix-ui/react-id": "0.1.5", + "@radix-ui/react-primitive": "0.1.4", + "@radix-ui/react-use-callback-ref": "0.1.0", + "@radix-ui/react-use-controllable-state": "0.1.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-slot": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-0.1.2.tgz", + "integrity": "sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "0.1.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-tabs": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-0.1.5.tgz", + "integrity": "sha512-ieVQS1TFr0dX1XA8B+CsSFKOE7kcgEaNWWEfItxj9D1GZjn1o3WqPkW+FhQWDAWZLSKCH2PezYF3MNyO41lgJg==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "0.1.0", + "@radix-ui/react-context": "0.1.1", + "@radix-ui/react-id": "0.1.5", + "@radix-ui/react-primitive": "0.1.4", + "@radix-ui/react-roving-focus": "0.1.5", + "@radix-ui/react-use-controllable-state": "0.1.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-use-callback-ref": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz", + "integrity": "sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-use-controllable-state": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz", + "integrity": "sha512-zv7CX/PgsRl46a52Tl45TwqwVJdmqnlQEQhaYMz/yBOD2sx2gCkCFSoF/z9mpnYWmS6DTLNTg5lIps3fV6EnXg==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "0.1.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/@radix-ui/react-use-layout-effect": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz", + "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/@stytch/vanilla-js/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "node_modules/@swc/helpers": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", @@ -2047,16 +2850,6 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, - "node_modules/@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - }, "node_modules/@types/ms": { "version": "0.7.31", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", @@ -2071,13 +2864,13 @@ "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true + "devOptional": true }, "node_modules/@types/react": { "version": "18.0.31", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.31.tgz", "integrity": "sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==", - "dev": true, + "devOptional": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -2088,7 +2881,7 @@ "version": "0.16.3", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "dev": true + "devOptional": true }, "node_modules/@types/trusted-types": { "version": "2.0.3", @@ -2932,15 +3725,18 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/any-signal": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", - "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" - }, - "node_modules/apg-js": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.1.3.tgz", - "integrity": "sha512-XYyDcoBho8OpnWPRnedMwyL+76ovCtsESerHZEfY39dO4IrEqN97mdEYkOyHa0XTX5+3+U5FmpqPLttK0f7n6g==" + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "devOptional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } }, "node_modules/argparse": { "version": "2.0.1", @@ -3071,6 +3867,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/awesome-phonenumber": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/awesome-phonenumber/-/awesome-phonenumber-3.2.0.tgz", + "integrity": "sha512-FvO80NlYiYrpi3QR2B4fZwGeTgDb/MMYKNe2M9y7eDSmuy/7Gg9ifhmaO2z+p7eKZaNJGEx19Br4gAoSqSQyHA==", + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/axe-core": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", @@ -3095,6 +3900,22 @@ "deep-equal": "^2.0.5" } }, + "node_modules/babel-plugin-styled-components": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", + "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "lodash": "^4.17.21", + "picomatch": "^2.3.1" + }, + "peerDependencies": { + "styled-components": ">= 2" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -3127,14 +3948,6 @@ } ] }, - "node_modules/base64url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/bech32": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", @@ -3152,6 +3965,15 @@ "node": ">= 10.0.0" } }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "devOptional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/bind-decorator": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/bind-decorator/-/bind-decorator-1.0.11.tgz", @@ -3165,14 +3987,6 @@ "file-uri-to-path": "1.0.0" } }, - "node_modules/blob-to-it": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", - "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", - "dependencies": { - "browser-readablestream-to-it": "^1.0.3" - } - }, "node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -3213,10 +4027,37 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, - "node_modules/browser-readablestream-to-it": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", - "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "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" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } }, "node_modules/bs58": { "version": "4.0.1", @@ -3290,10 +4131,19 @@ "node": ">=6" } }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30001481", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", - "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "version": "1.0.30001519", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", + "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", "funding": [ { "type": "opencollective", @@ -3309,14 +4159,6 @@ } ] }, - "node_modules/cborg": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.1.tgz", - "integrity": "sha512-et6Qm8MOUY2kCWa5GKk2MlBVoPjHv0hQBmlzI/Z7+5V3VJCeIkGehIB3vWknNsm2kOkAIs6wEKJFJo8luWQQ/w==", - "bin": { - "cborg": "cli.js" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -3332,6 +4174,45 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "devOptional": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "devOptional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -3381,6 +4262,12 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "peer": true + }, "node_modules/copy-to-clipboard": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", @@ -3389,11 +4276,6 @@ "toggle-selection": "^1.0.6" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "node_modules/cross-fetch": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", @@ -3434,30 +4316,31 @@ "node": ">= 8" } }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "node_modules/dag-jose": { + "node_modules/css-color-keywords": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-1.0.0.tgz", - "integrity": "sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g==", - "dependencies": { - "@ipld/dag-cbor": "^6.0.3", - "multiformats": "^9.0.2" + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "peer": true, + "engines": { + "node": ">=4" } }, - "node_modules/dag-jose/node_modules/@ipld/dag-cbor": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz", - "integrity": "sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA==", + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "peer": true, "dependencies": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" } }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -3590,16 +4473,6 @@ "node": ">=8" } }, - "node_modules/dns-over-http-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", - "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", - "dependencies": { - "debug": "^4.3.1", - "native-fetch": "^3.0.0", - "receptacle": "^1.3.2" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -3630,16 +4503,11 @@ "@json-rpc-tools/provider": "^1.5.5" } }, - "node_modules/electron-fetch": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", - "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", - "dependencies": { - "encoding": "^0.1.13" - }, - "engines": { - "node": ">=6" - } + "node_modules/electron-to-chromium": { + "version": "1.4.490", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.490.tgz", + "integrity": "sha512-6s7NVJz+sATdYnIwhdshx/N/9O6rvMxmhVoDSDFdj6iA45gHR8EQje70+RYsF4GeB+k0IeNSBnP7yG9ZXJFr7A==", + "peer": true }, "node_modules/elliptic": { "version": "6.5.4", @@ -3674,6 +4542,8 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "peer": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -3698,11 +4568,6 @@ "node": ">=10.13.0" } }, - "node_modules/err-code": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", - "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" - }, "node_modules/es-abstract": { "version": "1.21.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", @@ -3819,6 +4684,15 @@ "es6-promise": "^4.0.3" } }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -4394,11 +5268,6 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "node_modules/fast-fifo": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.2.0.tgz", - "integrity": "sha512-NcvQXt7Cky1cNau15FWy64IjuO8X0JijhTBBrJj1YlxlDfRkJXNaK9RFUjwpfDPzMdv7wB38jr53l9tkNLxnWg==" - }, "node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -4560,6 +5429,20 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -4590,6 +5473,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -4611,11 +5503,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", - "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" - }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -4726,6 +5613,15 @@ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" }, + "node_modules/goober": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", + "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", + "peer": true, + "peerDependencies": { + "csstype": "^3.0.10" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -4845,6 +5741,15 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "peer": true, + "dependencies": { + "react-is": "^16.7.0" + } + }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -4857,6 +5762,8 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -4891,10 +5798,11 @@ "node": ">= 4" } }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + "node_modules/immutable": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.2.tgz", + "integrity": "sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==", + "devOptional": true }, "node_modules/import-fresh": { "version": "3.3.0", @@ -4933,21 +5841,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/interface-datastore": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", - "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", - "dependencies": { - "interface-store": "^2.0.2", - "nanoid": "^3.0.2", - "uint8arrays": "^3.0.0" - } - }, - "node_modules/interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" - }, "node_modules/internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -4961,122 +5854,6 @@ "node": ">= 0.4" } }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ipfs-core-types": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz", - "integrity": "sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw==", - "dependencies": { - "@ipld/dag-pb": "^2.1.3", - "interface-datastore": "^6.0.2", - "ipfs-unixfs": "^6.0.3", - "multiaddr": "^10.0.0", - "multiformats": "^9.5.1" - } - }, - "node_modules/ipfs-core-utils": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz", - "integrity": "sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q==", - "dependencies": { - "any-signal": "^3.0.0", - "blob-to-it": "^1.0.1", - "browser-readablestream-to-it": "^1.0.1", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.10.3", - "ipfs-unixfs": "^6.0.3", - "ipfs-utils": "^9.0.6", - "it-all": "^1.0.4", - "it-map": "^1.0.4", - "it-peekable": "^1.0.2", - "it-to-stream": "^1.0.0", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiaddr-to-uri": "^8.0.0", - "multiformats": "^9.5.1", - "nanoid": "^3.1.23", - "parse-duration": "^1.0.0", - "timeout-abort-controller": "^3.0.0", - "uint8arrays": "^3.0.0" - } - }, - "node_modules/ipfs-http-client": { - "version": "56.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.0.tgz", - "integrity": "sha512-JF3on9c0hB9XHk/UCxbyC6rSpERuj8F/0QcN/HImZoHNUKZ0/T8DpgVopocKdmGi1gr3Izlop7poaXomSt8Nug==", - "dependencies": { - "@ipld/dag-cbor": "^7.0.0", - "@ipld/dag-json": "^8.0.1", - "@ipld/dag-pb": "^2.1.3", - "any-signal": "^3.0.0", - "dag-jose": "^1.0.0", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.10.0", - "ipfs-core-utils": "^0.14.0", - "ipfs-utils": "^9.0.2", - "it-first": "^1.0.6", - "it-last": "^1.0.4", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiformats": "^9.4.13", - "parse-duration": "^1.0.0", - "stream-to-it": "^0.2.2", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=15.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-unixfs": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", - "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", - "dependencies": { - "err-code": "^3.0.1", - "protobufjs": "^6.10.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/ipfs-utils": { - "version": "9.0.14", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", - "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", - "dependencies": { - "any-signal": "^3.0.0", - "browser-readablestream-to-it": "^1.0.0", - "buffer": "^6.0.1", - "electron-fetch": "^1.7.2", - "err-code": "^3.0.1", - "is-electron": "^2.2.0", - "iso-url": "^1.1.5", - "it-all": "^1.0.4", - "it-glob": "^1.0.1", - "it-to-stream": "^1.0.0", - "merge-options": "^3.0.4", - "nanoid": "^3.1.20", - "native-fetch": "^3.0.0", - "node-fetch": "^2.6.8", - "react-native-fetch-api": "^3.0.0", - "stream-to-it": "^0.2.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -5116,6 +5893,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "devOptional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -5181,11 +5970,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-electron": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", - "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5227,17 +6011,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", @@ -5287,14 +6060,6 @@ "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -5432,14 +6197,6 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/iso-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", - "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", - "engines": { - "node": ">=12" - } - }, "node_modules/isomorphic-ws": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", @@ -5448,53 +6205,6 @@ "ws": "*" } }, - "node_modules/it-all": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", - "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" - }, - "node_modules/it-first": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" - }, - "node_modules/it-glob": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", - "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", - "dependencies": { - "@types/minimatch": "^3.0.4", - "minimatch": "^3.0.4" - } - }, - "node_modules/it-last": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", - "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" - }, - "node_modules/it-map": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" - }, - "node_modules/it-peekable": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", - "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" - }, - "node_modules/it-to-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", - "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", - "dependencies": { - "buffer": "^6.0.3", - "fast-fifo": "^1.0.0", - "get-iterator": "^1.0.2", - "p-defer": "^3.0.0", - "p-fifo": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, "node_modules/jayson": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.7.0.tgz", @@ -5526,6 +6236,15 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" }, + "node_modules/js-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz", + "integrity": "sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==", + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/js-sdsl": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", @@ -5556,6 +6275,18 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/json-rpc-engine": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", @@ -5634,49 +6365,6 @@ "node": ">=4.0" } }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/jszip/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/jszip/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/keccak": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", @@ -5721,14 +6409,6 @@ "node": ">= 0.8.0" } }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dependencies": { - "immediate": "~3.0.5" - } - }, "node_modules/lit": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.3.tgz", @@ -5739,14 +6419,6 @@ "lit-html": "^2.7.0" } }, - "node_modules/lit-connect-modal": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/lit-connect-modal/-/lit-connect-modal-0.1.11.tgz", - "integrity": "sha512-EG6pcCqdxZQJt3MPDq3gJ5Sz4E5sJdydtAF7VFJu6z6GDHO1Ybp8WrTx8CUnHiF54/MQBRi6Nb7cbTvv+BKWvQ==", - "dependencies": { - "micromodal": "^0.4.10" - } - }, "node_modules/lit-element": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz", @@ -5765,22 +6437,6 @@ "@types/trusted-types": "^2.0.2" } }, - "node_modules/lit-siwe": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/lit-siwe/-/lit-siwe-1.1.8.tgz", - "integrity": "sha512-gXI8GG0GAClw6G7T9p4p6Kn9ywDo8j2d90ShaYArJdsqqO9gwXfzxF84SMeY+bpsNqqQ3FahrhEwTCHd6w7wNw==", - "dependencies": { - "@spruceid/siwe-parser": "1.1.3", - "@stablelib/random": "^1.0.1", - "apg-js": "^4.1.1" - }, - "peerDependencies": { - "@ethersproject/contracts": "^5.2.0", - "@ethersproject/hash": "^5.4.0", - "@ethersproject/providers": "^5.2.0", - "@ethersproject/wallet": "^5.2.0" - } - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -5810,11 +6466,6 @@ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -5837,17 +6488,6 @@ "node": ">=10" } }, - "node_modules/merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "dependencies": { - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -5868,14 +6508,6 @@ "node": ">=8.6" } }, - "node_modules/micromodal": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/micromodal/-/micromodal-0.4.10.tgz", - "integrity": "sha512-BUrEnzMPFBwK8nOE4xUDYHLrlGlLULQVjpja99tpJQPSUEWgw3kTLp1n1qv0HmKU29AiHE7Y7sMLiRziDK4ghQ==", - "engines": { - "node": ">=10" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -5923,29 +6555,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "dns-over-http-resolver": "^1.2.3", - "err-code": "^3.0.1", - "is-ip": "^3.1.0", - "multiformats": "^9.4.5", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "node_modules/multiaddr-to-uri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", - "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri", - "dependencies": { - "multiaddr": "^10.0.0" - } - }, "node_modules/multiformats": { "version": "9.9.0", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", @@ -5968,14 +6577,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/native-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", - "peerDependencies": { - "node-fetch": "*" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6070,6 +6671,21 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -6228,23 +6844,6 @@ "node": ">= 0.8.0" } }, - "node_modules/p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-fifo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", - "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", - "dependencies": { - "fast-fifo": "^1.0.0", - "p-defer": "^3.0.0" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -6281,11 +6880,6 @@ "node": ">=6" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -6297,11 +6891,6 @@ "node": ">=6" } }, - "node_modules/parse-duration": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.3.tgz", - "integrity": "sha512-o6NAh12na5VvR6nFejkU0gpQ8jmOY9Y9sTU2ke3L3G/d/3z8jqmbBbeyBGHU73P4JLXfc7tJARygIK3WGIkloA==" - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -6429,6 +7018,12 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "peer": true + }, "node_modules/preact": { "version": "10.13.2", "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.2.tgz", @@ -6460,11 +7055,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "node_modules/process-warning": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", @@ -6480,31 +7070,6 @@ "react-is": "^16.13.1" } }, - "node_modules/protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - }, - "bin": { - "pbjs": "bin/pbjs", - "pbts": "bin/pbts" - } - }, "node_modules/proxy-compare": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.0.tgz", @@ -6618,7 +7183,23 @@ "scheduler": "^0.23.0" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.2.0" + } + }, + "node_modules/react-hot-toast": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.2.0.tgz", + "integrity": "sha512-248rXw13uhf/6TNDVzagX+y7R8J183rp7MwUMNkcrBRyHj/jWOggfXTGlM8zAOuh701WyVW+eUaWG2LeSufX9g==", + "peer": true, + "dependencies": { + "goober": "^2.1.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" } }, "node_modules/react-is": { @@ -6626,14 +7207,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/react-native-fetch-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", - "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", - "dependencies": { - "p-defer": "^3.0.0" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -6647,6 +7220,18 @@ "node": ">= 6" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "devOptional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/real-require": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", @@ -6655,14 +7240,6 @@ "node": ">= 12.13.0" } }, - "node_modules/receptacle": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", - "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", @@ -6721,11 +7298,6 @@ "node": ">=4" } }, - "node_modules/retimer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", - "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -6874,7 +7446,26 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true, + "peer": true + }, + "node_modules/sass": { + "version": "1.64.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.2.tgz", + "integrity": "sha512-TnDlfc+CRnUAgLO9D8cQLFu/GIjJIzJCGkE7o4ekIGQOH7T3GetiRR/PsTWJUHhkzcSPrARkPI+gNWn5alCzDg==", + "devOptional": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/scheduler": { "version": "0.23.0", @@ -6908,11 +7499,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, "node_modules/sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -6925,6 +7511,12 @@ "sha.js": "bin.js" } }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "peer": true + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7022,14 +7614,6 @@ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, - "node_modules/stream-to-it": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", - "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", - "dependencies": { - "get-iterator": "^1.0.2" - } - }, "node_modules/strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -7154,6 +7738,58 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/styled-components": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.5.tgz", + "integrity": "sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.4.5", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/stylis": "^0.8.4", + "@emotion/unitless": "^0.7.4", + "babel-plugin-styled-components": ">= 1.12.0", + "css-to-react-native": "^3.0.0", + "hoist-non-react-statics": "^3.0.0", + "shallowequal": "^1.1.0", + "supports-color": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0", + "react-is": ">= 16.8.0" + } + }, + "node_modules/styled-components/node_modules/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==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/styled-components/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/styled-jsx": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", @@ -7203,6 +7839,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/swr": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.1.1.tgz", + "integrity": "sha512-OgwqZmpjOgxNbaez6qzTVqiRWn+Ti5Uzmktk2c01Afqwc50q6z15DeNC8m9G1aY+w2BwEAsKvk59iq6aHlhgyw==", + "peer": true, + "dependencies": { + "use-sync-external-store": "^1.2.0" + }, + "engines": { + "pnpm": "7" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/synckit": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", @@ -7249,14 +7900,6 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "node_modules/timeout-abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", - "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", - "dependencies": { - "retimer": "^3.0.0" - } - }, "node_modules/tiny-glob": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", @@ -7266,6 +7909,15 @@ "globrex": "^0.1.2" } }, + "node_modules/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==", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -7322,16 +7974,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -7410,6 +8052,36 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "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" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -7484,11 +8156,6 @@ } } }, - "node_modules/varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" - }, "node_modules/wagmi": { "version": "0.12.12", "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-0.12.12.tgz", @@ -7522,11 +8189,6 @@ } } }, - "node_modules/web-vitals": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-3.3.1.tgz", - "integrity": "sha512-LTfY5GjcY3ngFzNsYFSYL+AmVmlWrzPTUxSMDis2rZbf+SzT7HH3NH4Y/l45XOlrAIunOBeURN9qtBHkRskAiA==" - }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -7789,6 +8451,368 @@ } }, "dependencies": { + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "peer": true, + "requires": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, + "dependencies": { + "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==", + "peer": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "peer": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true + }, + "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==", + "peer": true + }, + "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==", + "peer": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "peer": true + }, + "@babel/core": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", + "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "peer": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "peer": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true + } + } + }, + "@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "peer": true, + "requires": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "peer": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "peer": true, + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "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==", + "peer": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "peer": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "peer": true + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "peer": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@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==", + "peer": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "peer": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "peer": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "peer": true + }, + "@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==", + "peer": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@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==", + "peer": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "peer": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "peer": true + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "peer": true + }, + "@babel/helpers": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", + "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "peer": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + } + }, + "@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "peer": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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==", + "peer": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "peer": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true + }, + "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==", + "peer": true + }, + "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==", + "peer": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "peer": true + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "peer": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, "@babel/runtime": { "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", @@ -7797,6 +8821,54 @@ "regenerator-runtime": "^0.13.11" } }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "peer": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", + "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "peer": true, + "requires": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "peer": true + } + } + }, + "@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "peer": true, + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, "@coinbase/wallet-sdk": { "version": "3.6.6", "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.6.6.tgz", @@ -7821,6 +8893,33 @@ "util": "^0.12.4" } }, + "@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "peer": true, + "requires": { + "@emotion/memoize": "^0.8.1" + } + }, + "@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", + "peer": true + }, + "@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==", + "peer": true + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "peer": true + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -8226,6 +9325,12 @@ "@ethersproject/strings": "^5.7.0" } }, + "@github/webauthn-json": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@github/webauthn-json/-/webauthn-json-1.0.3.tgz", + "integrity": "sha512-hD4cCudZUvJGR3CPF9Ugz4XZ1uOK2Sgn5D6CDKxxGhW/m3yQ5nu9744TtGhroDa5rXCJGNjw0/S/tnluyFilHQ==", + "peer": true + }, "@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -8246,30 +9351,43 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, - "@ipld/dag-cbor": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", - "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "peer": true, "requires": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "@ipld/dag-json": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", - "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", - "requires": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" - } + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "peer": true }, - "@ipld/dag-pb": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", - "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "peer": true + }, + "@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==", + "peer": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "peer": true, "requires": { - "multiformats": "^9.5.4" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@json-rpc-tools/provider": { @@ -8310,304 +9428,22 @@ "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==" }, - "@lit-protocol/access-control-conditions": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/access-control-conditions/-/access-control-conditions-2.1.137.tgz", - "integrity": "sha512-p9nRzo5W1bGVV1eWmZZuy9esOoKLS69BWOBTziqq15kFfzVJvPySymYOx2f2edtQn01kE182Fibr5/bkcuSKAA==", - "requires": { - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "tslib": "^2.3.0" - } - }, - "@lit-protocol/auth-browser": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/auth-browser/-/auth-browser-2.1.137.tgz", - "integrity": "sha512-tFKRiQgrLRSmvx63qkoqeYS1TljsXkaW1m6bbnW31h6v3m7/zuxMIqiTp9iRMYseiMkvJ9y1evB0DGJkGUy5oQ==", - "requires": { - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/misc-browser": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "@walletconnect/ethereum-provider": "2.7.0", - "@web3modal/standalone": "2.2.1", - "ethers": "^5.7.1", - "lit-connect-modal": "^0.1.11", - "lit-siwe": "^1.1.8", - "tslib": "^2.3.0", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.13.3", - "util": "^0.12.4", - "web-vitals": "^3.0.4" - }, - "dependencies": { - "@web3modal/core": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@web3modal/core/-/core-2.2.1.tgz", - "integrity": "sha512-B2O1+uwnEA2pD+NH+W7xIUMqAkUOxuw6WuIbXZ96tXQO8Mqm8tkrJ6MoqmIo6ntLwHLXtcjitH//JvJHjWVt6A==", - "requires": { - "buffer": "6.0.3", - "valtio": "1.10.3" - } - }, - "@web3modal/standalone": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.2.1.tgz", - "integrity": "sha512-pHPL+UykZtOZhEhNl+l3wWnNvZZdm8cgJgVQVo8yL7m4N9kTyRbDArsQenlIeIm2xi0kFncXBJbe1kaxl8AWTA==", - "requires": { - "@web3modal/core": "2.2.1", - "@web3modal/ui": "2.2.1" - } - }, - "@web3modal/ui": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@web3modal/ui/-/ui-2.2.1.tgz", - "integrity": "sha512-7WfynySxcDYFzGTV+9HODKJ85VVVPB8GGcew2JWr9jYcYfRE6KBM75lo+PRb0zdMFRQtSPpU41fRLCk+vBJ4ww==", - "requires": { - "@web3modal/core": "2.2.1", - "lit": "2.6.1", - "motion": "10.15.5", - "qrcode": "1.5.1" - } - }, - "lit": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", - "integrity": "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==", - "requires": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.2.0", - "lit-html": "^2.6.0" - } - }, - "qrcode": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz", - "integrity": "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==", - "requires": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - } - }, - "tweetnacl-util": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.13.5.tgz", - "integrity": "sha512-/4Q3hpPFAnbBjNLLOmdTdyvInBfZcQBTWy+LWbypmWxAKwOpSQOyyv4ZZts4CoiYtS8Skyix5CkOWytf7XNK9A==" - }, - "valtio": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.10.3.tgz", - "integrity": "sha512-t3Ez/+baJ+Z5tIyeaI6nCAbW/hrmcq2jditwg/X++o5IvCdiGirQKTOv1kJq0glgUo13v5oABCVGcinggBfiKw==", - "requires": { - "proxy-compare": "2.5.0", - "use-sync-external-store": "1.2.0" - } - } - } - }, - "@lit-protocol/bls-sdk": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.137.tgz", - "integrity": "sha512-3aAmkXwEQUfUPDH7iKTSAVHgmFy5RmtYqRanPpLgjqG3NCFLd5YjmVNMIaMyee95XQS3/fS7L5xEIon6SWkFhQ==" + "@lit-protocol/auth-helpers": { + "version": "file:../../packages/auth-helpers", + "requires": {} }, "@lit-protocol/constants": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.137.tgz", - "integrity": "sha512-dm2mgSPp94TmAziNe/ED/8ZYWlufIQ2IbPy3LB3sGOskEJcwSlhpj8NcT0nNmp2F6sJRldUwWmnxRbgqnqO+jQ==", - "requires": { - "@lit-protocol/types": "2.1.137", - "tslib": "^2.3.0" - } - }, - "@lit-protocol/crypto": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-2.1.137.tgz", - "integrity": "sha512-Jj8et0meH+PWH/9hl+wWa9K7BSc13mJ+8YsKj3vB3nZQzHVPCrSW2pEallf8f5tDWNdCrscoS8Z07vmPgLa+CA==", - "requires": { - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "tslib": "^2.3.0" - } - }, - "@lit-protocol/ecdsa-sdk": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.137.tgz", - "integrity": "sha512-FGp3xJEGZTX2p8n8o3UXFzxoOVdtLFvulWCLhUfrOXZPlZrHImF5f8J5xXb7dchHe2EB3oeYW5uqlHO0cexXIQ==" - }, - "@lit-protocol/encryption": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/encryption/-/encryption-2.1.137.tgz", - "integrity": "sha512-ZaWlwzypYJF/61/Q5gGAGy5InAsIfDFDjFIQRqktRlsL3tLkG4BfiC5M1MHKZY/7NeZKQUW6TnmM+ScIDqAyEg==", - "requires": { - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/crypto": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "ipfs-http-client": "56.0.0", - "jszip": "^3.10.1", - "tslib": "^2.3.0" - } + "version": "file:../../packages/constants" }, "@lit-protocol/lit-auth-client": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/lit-auth-client/-/lit-auth-client-2.1.137.tgz", - "integrity": "sha512-7OfJ6vw7BgrRmoTJFlKa7YG2yolTT0KYKeeiLZGC2MZALKwkicgkr0R9y+gjF+q7kQC/9k/F+QLCYm1Uc+RNAA==", - "requires": { - "@lit-protocol/access-control-conditions": "2.1.137", - "@lit-protocol/auth-browser": "2.1.137", - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/crypto": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/encryption": "2.1.137", - "@lit-protocol/lit-node-client": "2.1.137", - "@lit-protocol/lit-node-client-nodejs": "2.1.137", - "@lit-protocol/lit-third-party-libs": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/misc-browser": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "@simplewebauthn/browser": "^7.2.0", - "@simplewebauthn/typescript-types": "^7.0.0", - "@walletconnect/ethereum-provider": "2.7.0", - "@web3modal/standalone": "^2.2.1", - "base64url": "^3.0.1", - "ethers": "^5.7.1", - "ipfs-http-client": "56.0.0", - "jszip": "^3.10.1", - "lit-connect-modal": "^0.1.11", - "lit-siwe": "^1.1.8", - "nanoid": "3.3.4", - "node-fetch": "^2.6.1", - "tslib": "^2.3.0", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "dependencies": { - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - } - } - }, - "@lit-protocol/lit-node-client": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/lit-node-client/-/lit-node-client-2.1.137.tgz", - "integrity": "sha512-zUi24TmYpzBpgbbJTBQEU97yzCmsSUNknOUeOGr6o87wUVGLU/nWJaAO+BftKlsPcJr9SAeBpbYpZx7sKqn/OA==", - "requires": { - "@lit-protocol/access-control-conditions": "2.1.137", - "@lit-protocol/auth-browser": "2.1.137", - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/crypto": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/encryption": "2.1.137", - "@lit-protocol/lit-node-client-nodejs": "2.1.137", - "@lit-protocol/lit-third-party-libs": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/misc-browser": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "@walletconnect/ethereum-provider": "2.7.0", - "@web3modal/standalone": "^2.2.1", - "ethers": "^5.7.1", - "ipfs-http-client": "56.0.0", - "jszip": "^3.10.1", - "lit-connect-modal": "^0.1.11", - "lit-siwe": "^1.1.8", - "node-fetch": "^2.6.1", - "tslib": "^2.3.0", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - } - }, - "@lit-protocol/lit-node-client-nodejs": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/lit-node-client-nodejs/-/lit-node-client-nodejs-2.1.137.tgz", - "integrity": "sha512-PcJ5Opey9DOXd6xrxFFqhQ7MAQQWFhDS8bI4RTiLNKVgsMjPjG69OrsnbkHJVMKbqck/CUUeiDlToz/NXYbUAA==", - "requires": { - "@lit-protocol/access-control-conditions": "2.1.137", - "@lit-protocol/bls-sdk": "2.1.137", - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/crypto": "2.1.137", - "@lit-protocol/ecdsa-sdk": "2.1.137", - "@lit-protocol/encryption": "2.1.137", - "@lit-protocol/lit-third-party-libs": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/misc-browser": "2.1.137", - "@lit-protocol/nacl": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "ipfs-http-client": "56.0.0", - "jszip": "^3.10.1", - "lit-siwe": "^1.1.8", - "node-fetch": "^2.6.1", - "tslib": "^2.3.0" - } - }, - "@lit-protocol/lit-third-party-libs": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/lit-third-party-libs/-/lit-third-party-libs-2.1.137.tgz", - "integrity": "sha512-6FwNkn8YmhUo3T3mDIjFb60t018WEq//kl6u1Ar1G7UQpEx1ieL4cUxBB2oEXSr+WeSn189ZcQyqEWOvnMRu4g==" - }, - "@lit-protocol/misc": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.137.tgz", - "integrity": "sha512-bRx/M5AUVvL3bG/2RqKNtLlU/o4ITc5jdBm3dSGFBQ5N1UmcXPZzrAjwEMy/XpwkjjqGa7unLdOi6onLcRFFoA==", - "requires": { - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/types": "2.1.137", - "tslib": "^2.3.0" - } - }, - "@lit-protocol/misc-browser": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/misc-browser/-/misc-browser-2.1.137.tgz", - "integrity": "sha512-m6x1FiEpaCjEtlnyis8XeIzIl5Xgav0vGDfIia7ntPh2Wht9xSx4ney0B8hRppGF4kpePeXYDau4xnUWtTOMgg==", - "requires": { - "@lit-protocol/constants": "2.1.137", - "@lit-protocol/misc": "2.1.137", - "@lit-protocol/types": "2.1.137", - "@lit-protocol/uint8arrays": "2.1.137", - "ethers": "^5.7.1", - "tslib": "^2.3.0" - } + "version": "file:../../packages/lit-auth-client", + "requires": {} }, - "@lit-protocol/nacl": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.137.tgz", - "integrity": "sha512-yS8bV3eQlq4cf8hi0i3IY9LKmMUrbippsXmaHuKxjGnCqgaFqiuM7q7kognwg0nmye5SGGDM819Kb6NJzs4bew==" + "@lit-protocol/pkp-ethers": { + "version": "file:../../packages/pkp-ethers" }, "@lit-protocol/types": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.1.137.tgz", - "integrity": "sha512-lGAdM5sPVDR5jMD1RrWEkthOUUxfByKixM8oPS3BplMorVC353pgLvNkwNwJYny/8zkccOJyOLaDTX+nTSsE7Q==" - }, - "@lit-protocol/uint8arrays": { - "version": "2.1.137", - "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.137.tgz", - "integrity": "sha512-aYSBCrar0RTjHV5j12REzAUn45LAyBIBEwwFUTQbebjgRbgivWD81J4TfJqAe033w62yB4BW3frM4wJQt1A+eg==" + "version": "file:../../packages/types" }, "@lit/reactive-element": { "version": "1.6.1", @@ -8813,9 +9649,9 @@ "integrity": "sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==" }, "@noble/hashes": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", - "integrity": "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==" }, "@noble/secp256k1": { "version": "1.7.1", @@ -8863,59 +9699,163 @@ "tslib": "^2.4.0" } }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + "@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "requires": { + "@babel/runtime": "^7.13.10" + } }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + "@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + } }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + "@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "requires": { + "@babel/runtime": "^7.13.10" + } }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + "@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "requires": { + "@babel/runtime": "^7.13.10" + } }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + } + }, + "@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + } + }, + "@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" } }, - "@protobufjs/float": { + "@radix-ui/react-radio-group": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz", + "integrity": "sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + } + }, + "@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + } + }, + "@radix-ui/react-slot": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + } }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + "@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + "@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + } }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + "@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + "@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + } }, "@rushstack/eslint-patch": { "version": "1.2.0", @@ -8959,19 +9899,6 @@ "cross-fetch": "^3.1.5" } }, - "@simplewebauthn/browser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-7.2.0.tgz", - "integrity": "sha512-HHIvRPpqKy0UV/BsGAmx4rQRZuZTUFYLLH65FwpSOslqHruiHx3Ql/bq7A75bjWuJ296a+4BIAq3+SPaII01TQ==", - "requires": { - "@simplewebauthn/typescript-types": "*" - } - }, - "@simplewebauthn/typescript-types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@simplewebauthn/typescript-types/-/typescript-types-7.0.0.tgz", - "integrity": "sha512-bV+xACCFTsrLR/23ozHO06ZllHZaxC8LlI5YCo79GvU2BrN+rePDU2yXwZIYndNWcMQwRdndRdAhpafOh9AC/g==" - }, "@solana/buffer-layout": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", @@ -9003,14 +9930,6 @@ "superstruct": "^0.14.2" } }, - "@spruceid/siwe-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-1.1.3.tgz", - "integrity": "sha512-oQ8PcwDqjGWJvLmvAF2yzd6iniiWxK0Qtz+Dw+gLD/W5zOQJiKIUXwslHOm8VB8OOOKW9vfR3dnPBhHaZDvRsw==", - "requires": { - "apg-js": "^4.1.1" - } - }, "@stablelib/aead": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", @@ -9157,6 +10076,204 @@ "@stablelib/wipe": "^1.0.1" } }, + "@stytch/core": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@stytch/core/-/core-0.15.0.tgz", + "integrity": "sha512-AIqjFrynjx8iI/2erXe2Q0dgZbEw5iQRxWY7S0aNrRXBl5x/T82G2ZZ5PjmHbXexlwuimNhOo8mQ+yq/x56kww==", + "peer": true, + "requires": { + "uuid": "8.3.2" + } + }, + "@stytch/nextjs": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@stytch/nextjs/-/nextjs-9.0.0.tgz", + "integrity": "sha512-EnAhrTDwj4+UeyubHlUt799d/EJYX/9Fc5Zz79rrX0E3XpeM+ByVWoODj5ar73Jd54r4tgpVjJxhPhuC/3iz2Q==", + "requires": {} + }, + "@stytch/vanilla-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@stytch/vanilla-js/-/vanilla-js-2.0.0.tgz", + "integrity": "sha512-LOyxmOzmuZYi5E/0GmML6bPBOEa8pZ6x6Tyj/DWFujDDSDbVh7dUezBcdML1OFsKzvmsBY3NGua/sFkovyZqew==", + "peer": true, + "requires": { + "@github/webauthn-json": "1.0.3", + "@radix-ui/react-tabs": "0.1.5", + "@stytch/core": "0.15.0", + "awesome-phonenumber": "3.2.0", + "js-cookie": "3.0.1", + "lodash.merge": "4.6.2", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-hot-toast": "2.2.0", + "styled-components": "5.3.5", + "swr": "2.1.1", + "uuid": "8.3.2" + }, + "dependencies": { + "@radix-ui/primitive": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-0.1.0.tgz", + "integrity": "sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-collection": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-0.1.4.tgz", + "integrity": "sha512-3muGI15IdgaDFjOcO7xX8a35HQRBRF6LH9pS6UCeZeRmbslkVeHyJRQr2rzICBUoX7zgIA0kXyMDbpQnJGyJTA==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "0.1.0", + "@radix-ui/react-context": "0.1.1", + "@radix-ui/react-primitive": "0.1.4", + "@radix-ui/react-slot": "0.1.2" + } + }, + "@radix-ui/react-compose-refs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz", + "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-context": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-0.1.1.tgz", + "integrity": "sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-id": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-0.1.5.tgz", + "integrity": "sha512-IPc4H/63bes0IZ1GJJozSEkSWcDyhNGtKFWUpJ+XtaLyQ1X3x7Mf6fWwWhDcpqlYEP+5WtAvfqcyEsyjP+ZhBQ==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "0.1.0" + } + }, + "@radix-ui/react-primitive": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz", + "integrity": "sha512-6gSl2IidySupIMJFjYnDIkIWRyQdbu/AHK7rbICPani+LW4b0XdxBXc46og/iZvuwW8pjCS8I2SadIerv84xYA==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "0.1.2" + } + }, + "@radix-ui/react-roving-focus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-0.1.5.tgz", + "integrity": "sha512-ClwKPS5JZE+PaHCoW7eu1onvE61pDv4kO8W4t5Ra3qMFQiTJLZMdpBQUhksN//DaVygoLirz4Samdr5Y1x1FSA==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "0.1.0", + "@radix-ui/react-collection": "0.1.4", + "@radix-ui/react-compose-refs": "0.1.0", + "@radix-ui/react-context": "0.1.1", + "@radix-ui/react-id": "0.1.5", + "@radix-ui/react-primitive": "0.1.4", + "@radix-ui/react-use-callback-ref": "0.1.0", + "@radix-ui/react-use-controllable-state": "0.1.0" + } + }, + "@radix-ui/react-slot": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-0.1.2.tgz", + "integrity": "sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "0.1.0" + } + }, + "@radix-ui/react-tabs": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-0.1.5.tgz", + "integrity": "sha512-ieVQS1TFr0dX1XA8B+CsSFKOE7kcgEaNWWEfItxj9D1GZjn1o3WqPkW+FhQWDAWZLSKCH2PezYF3MNyO41lgJg==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "0.1.0", + "@radix-ui/react-context": "0.1.1", + "@radix-ui/react-id": "0.1.5", + "@radix-ui/react-primitive": "0.1.4", + "@radix-ui/react-roving-focus": "0.1.5", + "@radix-ui/react-use-controllable-state": "0.1.0" + } + }, + "@radix-ui/react-use-callback-ref": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz", + "integrity": "sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-controllable-state": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz", + "integrity": "sha512-zv7CX/PgsRl46a52Tl45TwqwVJdmqnlQEQhaYMz/yBOD2sx2gCkCFSoF/z9mpnYWmS6DTLNTg5lIps3fV6EnXg==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "0.1.0" + } + }, + "@radix-ui/react-use-layout-effect": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz", + "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, "@swc/helpers": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", @@ -9224,16 +10341,6 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, - "@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - }, "@types/ms": { "version": "0.7.31", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", @@ -9248,13 +10355,13 @@ "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true + "devOptional": true }, "@types/react": { "version": "18.0.31", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.31.tgz", "integrity": "sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==", - "dev": true, + "devOptional": true, "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -9265,7 +10372,7 @@ "version": "0.16.3", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "dev": true + "devOptional": true }, "@types/trusted-types": { "version": "2.0.3", @@ -9961,15 +11068,15 @@ "color-convert": "^2.0.1" } }, - "any-signal": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", - "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" - }, - "apg-js": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.1.3.tgz", - "integrity": "sha512-XYyDcoBho8OpnWPRnedMwyL+76ovCtsESerHZEfY39dO4IrEqN97mdEYkOyHa0XTX5+3+U5FmpqPLttK0f7n6g==" + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "devOptional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } }, "argparse": { "version": "2.0.1", @@ -10067,6 +11174,12 @@ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, + "awesome-phonenumber": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/awesome-phonenumber/-/awesome-phonenumber-3.2.0.tgz", + "integrity": "sha512-FvO80NlYiYrpi3QR2B4fZwGeTgDb/MMYKNe2M9y7eDSmuy/7Gg9ifhmaO2z+p7eKZaNJGEx19Br4gAoSqSQyHA==", + "peer": true + }, "axe-core": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", @@ -10088,6 +11201,19 @@ "deep-equal": "^2.0.5" } }, + "babel-plugin-styled-components": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", + "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", + "peer": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "lodash": "^4.17.21", + "picomatch": "^2.3.1" + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -10106,11 +11232,6 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, - "base64url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" - }, "bech32": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", @@ -10124,6 +11245,12 @@ "bindings": "^1.3.0" } }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "devOptional": true + }, "bind-decorator": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/bind-decorator/-/bind-decorator-1.0.11.tgz", @@ -10137,14 +11264,6 @@ "file-uri-to-path": "1.0.0" } }, - "blob-to-it": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", - "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", - "requires": { - "browser-readablestream-to-it": "^1.0.3" - } - }, "bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -10182,10 +11301,17 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, - "browser-readablestream-to-it": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", - "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" + "browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } }, "bs58": { "version": "4.0.1", @@ -10232,15 +11358,16 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, - "caniuse-lite": { - "version": "1.0.30001481", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", - "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==" + "camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "peer": true }, - "cborg": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.1.tgz", - "integrity": "sha512-et6Qm8MOUY2kCWa5GKk2MlBVoPjHv0hQBmlzI/Z7+5V3VJCeIkGehIB3vWknNsm2kOkAIs6wEKJFJo8luWQQ/w==" + "caniuse-lite": { + "version": "1.0.30001519", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", + "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==" }, "chalk": { "version": "4.1.2", @@ -10251,6 +11378,33 @@ "supports-color": "^7.1.0" } }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "devOptional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "devOptional": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -10294,6 +11448,12 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "peer": true + }, "copy-to-clipboard": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", @@ -10302,11 +11462,6 @@ "toggle-selection": "^1.0.6" } }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "cross-fetch": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", @@ -10335,32 +11490,28 @@ "which": "^2.0.1" } }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "dag-jose": { + "css-color-keywords": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-1.0.0.tgz", - "integrity": "sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g==", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "peer": true + }, + "css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "peer": true, "requires": { - "@ipld/dag-cbor": "^6.0.3", - "multiformats": "^9.0.2" - }, - "dependencies": { - "@ipld/dag-cbor": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz", - "integrity": "sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA==", - "requires": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" - } - } + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" } }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, "damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -10455,16 +11606,6 @@ "path-type": "^4.0.0" } }, - "dns-over-http-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", - "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", - "requires": { - "debug": "^4.3.1", - "native-fetch": "^3.0.0", - "receptacle": "^1.3.2" - } - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -10492,13 +11633,11 @@ "@json-rpc-tools/provider": "^1.5.5" } }, - "electron-fetch": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", - "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", - "requires": { - "encoding": "^0.1.13" - } + "electron-to-chromium": { + "version": "1.4.490", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.490.tgz", + "integrity": "sha512-6s7NVJz+sATdYnIwhdshx/N/9O6rvMxmhVoDSDFdj6iA45gHR8EQje70+RYsF4GeB+k0IeNSBnP7yG9ZXJFr7A==", + "peer": true }, "elliptic": { "version": "6.5.4", @@ -10535,6 +11674,8 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "peer": true, "requires": { "iconv-lite": "^0.6.2" } @@ -10556,11 +11697,6 @@ "tapable": "^2.2.0" } }, - "err-code": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", - "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" - }, "es-abstract": { "version": "1.21.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", @@ -10659,6 +11795,12 @@ "es6-promise": "^4.0.3" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "peer": true + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -11087,11 +12229,6 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "fast-fifo": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.2.0.tgz", - "integrity": "sha512-NcvQXt7Cky1cNau15FWy64IjuO8X0JijhTBBrJj1YlxlDfRkJXNaK9RFUjwpfDPzMdv7wB38jr53l9tkNLxnWg==" - }, "fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -11214,6 +12351,13 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -11235,6 +12379,12 @@ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" }, + "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==", + "peer": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -11250,11 +12400,6 @@ "has-symbols": "^1.0.3" } }, - "get-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", - "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" - }, "get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -11329,6 +12474,13 @@ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" }, + "goober": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", + "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", + "peer": true, + "requires": {} + }, "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -11415,6 +12567,15 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "peer": true, + "requires": { + "react-is": "^16.7.0" + } + }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -11427,6 +12588,8 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "peer": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -11441,10 +12604,11 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + "immutable": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.2.tgz", + "integrity": "sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==", + "devOptional": true }, "import-fresh": { "version": "3.3.0", @@ -11474,21 +12638,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "interface-datastore": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", - "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", - "requires": { - "interface-store": "^2.0.2", - "nanoid": "^3.0.2", - "uint8arrays": "^3.0.0" - } - }, - "interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" - }, "internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -11499,107 +12648,6 @@ "side-channel": "^1.0.4" } }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "ipfs-core-types": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz", - "integrity": "sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw==", - "requires": { - "@ipld/dag-pb": "^2.1.3", - "interface-datastore": "^6.0.2", - "ipfs-unixfs": "^6.0.3", - "multiaddr": "^10.0.0", - "multiformats": "^9.5.1" - } - }, - "ipfs-core-utils": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz", - "integrity": "sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q==", - "requires": { - "any-signal": "^3.0.0", - "blob-to-it": "^1.0.1", - "browser-readablestream-to-it": "^1.0.1", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.10.3", - "ipfs-unixfs": "^6.0.3", - "ipfs-utils": "^9.0.6", - "it-all": "^1.0.4", - "it-map": "^1.0.4", - "it-peekable": "^1.0.2", - "it-to-stream": "^1.0.0", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiaddr-to-uri": "^8.0.0", - "multiformats": "^9.5.1", - "nanoid": "^3.1.23", - "parse-duration": "^1.0.0", - "timeout-abort-controller": "^3.0.0", - "uint8arrays": "^3.0.0" - } - }, - "ipfs-http-client": { - "version": "56.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.0.tgz", - "integrity": "sha512-JF3on9c0hB9XHk/UCxbyC6rSpERuj8F/0QcN/HImZoHNUKZ0/T8DpgVopocKdmGi1gr3Izlop7poaXomSt8Nug==", - "requires": { - "@ipld/dag-cbor": "^7.0.0", - "@ipld/dag-json": "^8.0.1", - "@ipld/dag-pb": "^2.1.3", - "any-signal": "^3.0.0", - "dag-jose": "^1.0.0", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.10.0", - "ipfs-core-utils": "^0.14.0", - "ipfs-utils": "^9.0.2", - "it-first": "^1.0.6", - "it-last": "^1.0.4", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiformats": "^9.4.13", - "parse-duration": "^1.0.0", - "stream-to-it": "^0.2.2", - "uint8arrays": "^3.0.0" - } - }, - "ipfs-unixfs": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", - "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", - "requires": { - "err-code": "^3.0.1", - "protobufjs": "^6.10.2" - } - }, - "ipfs-utils": { - "version": "9.0.14", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", - "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", - "requires": { - "any-signal": "^3.0.0", - "browser-readablestream-to-it": "^1.0.0", - "buffer": "^6.0.1", - "electron-fetch": "^1.7.2", - "err-code": "^3.0.1", - "is-electron": "^2.2.0", - "iso-url": "^1.1.5", - "it-all": "^1.0.4", - "it-glob": "^1.0.1", - "it-to-stream": "^1.0.0", - "merge-options": "^3.0.4", - "nanoid": "^3.1.20", - "native-fetch": "^3.0.0", - "node-fetch": "^2.6.8", - "react-native-fetch-api": "^3.0.0", - "stream-to-it": "^0.2.2" - } - }, "is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -11627,6 +12675,15 @@ "has-bigints": "^1.0.1" } }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "devOptional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -11662,11 +12719,6 @@ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" }, - "is-electron": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", - "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -11693,14 +12745,6 @@ "is-extglob": "^2.1.1" } }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, "is-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", @@ -11729,11 +12773,6 @@ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -11829,64 +12868,12 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "iso-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", - "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==" - }, "isomorphic-ws": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", "requires": {} }, - "it-all": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", - "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" - }, - "it-first": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" - }, - "it-glob": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", - "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", - "requires": { - "@types/minimatch": "^3.0.4", - "minimatch": "^3.0.4" - } - }, - "it-last": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", - "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" - }, - "it-map": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" - }, - "it-peekable": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", - "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" - }, - "it-to-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", - "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", - "requires": { - "buffer": "^6.0.3", - "fast-fifo": "^1.0.0", - "get-iterator": "^1.0.2", - "p-defer": "^3.0.0", - "p-fifo": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, "jayson": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.7.0.tgz", @@ -11914,6 +12901,12 @@ } } }, + "js-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz", + "integrity": "sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==", + "peer": true + }, "js-sdsl": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", @@ -11937,6 +12930,12 @@ "argparse": "^2.0.1" } }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "peer": true + }, "json-rpc-engine": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", @@ -11997,51 +12996,6 @@ "object.assign": "^4.1.3" } }, - "jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "keccak": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", @@ -12079,14 +13033,6 @@ "type-check": "~0.4.0" } }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "requires": { - "immediate": "~3.0.5" - } - }, "lit": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.3.tgz", @@ -12097,14 +13043,6 @@ "lit-html": "^2.7.0" } }, - "lit-connect-modal": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/lit-connect-modal/-/lit-connect-modal-0.1.11.tgz", - "integrity": "sha512-EG6pcCqdxZQJt3MPDq3gJ5Sz4E5sJdydtAF7VFJu6z6GDHO1Ybp8WrTx8CUnHiF54/MQBRi6Nb7cbTvv+BKWvQ==", - "requires": { - "micromodal": "^0.4.10" - } - }, "lit-element": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz", @@ -12123,16 +13061,6 @@ "@types/trusted-types": "^2.0.2" } }, - "lit-siwe": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/lit-siwe/-/lit-siwe-1.1.8.tgz", - "integrity": "sha512-gXI8GG0GAClw6G7T9p4p6Kn9ywDo8j2d90ShaYArJdsqqO9gwXfzxF84SMeY+bpsNqqQ3FahrhEwTCHd6w7wNw==", - "requires": { - "@spruceid/siwe-parser": "1.1.3", - "@stablelib/random": "^1.0.1", - "apg-js": "^4.1.1" - } - }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -12156,11 +13084,6 @@ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -12177,14 +13100,6 @@ "yallist": "^4.0.0" } }, - "merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "requires": { - "is-plain-obj": "^2.1.0" - } - }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -12199,11 +13114,6 @@ "picomatch": "^2.3.1" } }, - "micromodal": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/micromodal/-/micromodal-0.4.10.tgz", - "integrity": "sha512-BUrEnzMPFBwK8nOE4xUDYHLrlGlLULQVjpja99tpJQPSUEWgw3kTLp1n1qv0HmKU29AiHE7Y7sMLiRziDK4ghQ==" - }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -12245,27 +13155,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "requires": { - "dns-over-http-resolver": "^1.2.3", - "err-code": "^3.0.1", - "is-ip": "^3.1.0", - "multiformats": "^9.4.5", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "multiaddr-to-uri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", - "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", - "requires": { - "multiaddr": "^10.0.0" - } - }, "multiformats": { "version": "9.9.0", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", @@ -12276,12 +13165,6 @@ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, - "native-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", - "requires": {} - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -12330,6 +13213,18 @@ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "peer": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "devOptional": true + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -12440,20 +13335,6 @@ "word-wrap": "^1.2.3" } }, - "p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - }, - "p-fifo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", - "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", - "requires": { - "fast-fifo": "^1.0.0", - "p-defer": "^3.0.0" - } - }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -12475,11 +13356,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -12488,11 +13364,6 @@ "callsites": "^3.0.0" } }, - "parse-duration": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.3.tgz", - "integrity": "sha512-o6NAh12na5VvR6nFejkU0gpQ8jmOY9Y9sTU2ke3L3G/d/3z8jqmbBbeyBGHU73P4JLXfc7tJARygIK3WGIkloA==" - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -12580,6 +13451,12 @@ "source-map-js": "^1.0.2" } }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "peer": true + }, "preact": { "version": "10.13.2", "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.2.tgz", @@ -12595,11 +13472,6 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==" }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "process-warning": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", @@ -12615,26 +13487,6 @@ "react-is": "^16.13.1" } }, - "protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - } - }, "proxy-compare": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.0.tgz", @@ -12710,19 +13562,20 @@ "scheduler": "^0.23.0" } }, + "react-hot-toast": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.2.0.tgz", + "integrity": "sha512-248rXw13uhf/6TNDVzagX+y7R8J183rp7MwUMNkcrBRyHj/jWOggfXTGlM8zAOuh701WyVW+eUaWG2LeSufX9g==", + "peer": true, + "requires": { + "goober": "^2.1.1" + } + }, "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==" }, - "react-native-fetch-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", - "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", - "requires": { - "p-defer": "^3.0.0" - } - }, "readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -12733,19 +13586,20 @@ "util-deprecate": "^1.0.1" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "devOptional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "real-require": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==" }, - "receptacle": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", - "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", - "requires": { - "ms": "^2.1.1" - } - }, "regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", @@ -12786,11 +13640,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, - "retimer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", - "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" - }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -12876,7 +13725,20 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true, + "peer": true + }, + "sass": { + "version": "1.64.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.2.tgz", + "integrity": "sha512-TnDlfc+CRnUAgLO9D8cQLFu/GIjJIzJCGkE7o4ekIGQOH7T3GetiRR/PsTWJUHhkzcSPrARkPI+gNWn5alCzDg==", + "devOptional": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } }, "scheduler": { "version": "0.23.0", @@ -12904,11 +13766,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -12918,6 +13775,12 @@ "safe-buffer": "^5.0.1" } }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "peer": true + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -12991,14 +13854,6 @@ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, - "stream-to-it": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", - "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", - "requires": { - "get-iterator": "^1.0.2" - } - }, "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -13092,6 +13947,41 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, + "styled-components": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.5.tgz", + "integrity": "sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg==", + "peer": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.4.5", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/stylis": "^0.8.4", + "@emotion/unitless": "^0.7.4", + "babel-plugin-styled-components": ">= 1.12.0", + "css-to-react-native": "^3.0.0", + "hoist-non-react-statics": "^3.0.0", + "shallowequal": "^1.1.0", + "supports-color": "^5.5.0" + }, + "dependencies": { + "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==", + "peer": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "styled-jsx": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", @@ -13118,6 +14008,15 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "swr": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.1.1.tgz", + "integrity": "sha512-OgwqZmpjOgxNbaez6qzTVqiRWn+Ti5Uzmktk2c01Afqwc50q6z15DeNC8m9G1aY+w2BwEAsKvk59iq6aHlhgyw==", + "peer": true, + "requires": { + "use-sync-external-store": "^1.2.0" + } + }, "synckit": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", @@ -13155,14 +14054,6 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "timeout-abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", - "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", - "requires": { - "retimer": "^3.0.0" - } - }, "tiny-glob": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", @@ -13172,6 +14063,12 @@ "globrex": "^0.1.2" } }, + "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==", + "peer": true + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -13221,16 +14118,6 @@ } } }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -13287,6 +14174,16 @@ "which-boxed-primitive": "^1.0.2" } }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "peer": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -13341,11 +14238,6 @@ "use-sync-external-store": "1.2.0" } }, - "varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" - }, "wagmi": { "version": "0.12.12", "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-0.12.12.tgz", @@ -13359,11 +14251,6 @@ "use-sync-external-store": "^1.2.0" } }, - "web-vitals": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-3.3.1.tgz", - "integrity": "sha512-LTfY5GjcY3ngFzNsYFSYL+AmVmlWrzPTUxSMDis2rZbf+SzT7HH3NH4Y/l45XOlrAIunOBeURN9qtBHkRskAiA==" - }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/apps/demo-pkp-social-auth-next-ts/package.json b/apps/demo-pkp-social-auth-next-ts/package.json index 4dd1dbad75..36dcece12e 100644 --- a/apps/demo-pkp-social-auth-next-ts/package.json +++ b/apps/demo-pkp-social-auth-next-ts/package.json @@ -9,7 +9,13 @@ "lint": "next lint" }, "dependencies": { - "@lit-protocol/lit-auth-client": "^2.1.137", + "@lit-protocol/auth-helpers": "file:../../packages/auth-helpers", + "@lit-protocol/constants": "file:../../packages/constants", + "@lit-protocol/lit-auth-client": "file:../../packages/lit-auth-client", + "@lit-protocol/pkp-ethers": "file:../../packages/pkp-ethers", + "@lit-protocol/types": "file:../../packages/types", + "@radix-ui/react-radio-group": "^1.1.3", + "@stytch/nextjs": "^9.0.0", "eslint": "8.36.0", "eslint-config-next": "13.2.4", "eslint-config-prettier": "^8.8.0", @@ -22,6 +28,7 @@ }, "devDependencies": { "@types/node": "18.15.11", - "@types/react": "18.0.31" + "@types/react": "18.0.31", + "sass": "^1.64.2" } } diff --git a/apps/demo-pkp-social-auth-next-ts/public/apple.png b/apps/demo-pkp-social-auth-next-ts/public/apple.png new file mode 100644 index 0000000000000000000000000000000000000000..62884d4434e804acc046a395a5044ad10d932280 GIT binary patch literal 38468 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 literal 0 HcmV?d00001 diff --git a/apps/demo-pkp-social-auth-next-ts/public/discord.png b/apps/demo-pkp-social-auth-next-ts/public/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..e9dc50d7feed9b4e50265cdf12a52a8e3f0b2b59 GIT binary patch literal 10386 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 pJEDEVN3uV1;JzL55R7~;d?82dqB~}Sz(q literal 0 HcmV?d00001 diff --git a/apps/demo-pkp-social-auth-next-ts/public/google.png b/apps/demo-pkp-social-auth-next-ts/public/google.png new file mode 100644 index 0000000000000000000000000000000000000000..9ab6798dc2e85709d1e74b6731c851e409530b76 GIT binary patch literal 55096 zcmYg12{@GN_aE+XZ?-nOs2gP`WUE0Xq7ssQnYc(8CbEqEx{0$@ zHTJzS3^AFpjP3t^L;e2GQ&0E4@A=L-?>Xl^>pPJK`a0|f_zyr3#IAcq%Lsy)kAlAn zzcYgs!OH_Q@DGEhk4x4Ya+Bt zZeK9C5Or)$3d=VvH@;NwU&}*fyQVsOzM*bla|K(sOa6M*>DxkG#>7fN=>RRiAwfhp zK{4U}<0Gv0eS=EgkqwdUZ8v8&FsNE}j@aN>pZ3jZCi2w!od5}SfsA~z7a-OaGw4B>Xp z(- zTtP~znZoxn%A?JC^0IHh0*`D=*mUew&aU`}Cuj1na<1L5#r_`LD$lWG9u&qZINSP+ z9HydPe^59+IKHwqej#%^n(c53`6a|G(8ABHxvmkDe1cbYm&J z;f%(*cH^V~6gE*HycNDXsZ4X1@_6)#Qll2s$KG)3%(`FjOMxJPzdSD3Enok)srBKQ zT|3(MjI#}C0Jo3R`T6{*(-m{!m0d&U(s_!&f3VUf#+JP`!zNrC3L0-KWjQaiM>Z{{ z*YmV{HM?uq<_iQ}`YJxQoN~~zEJ*mu-l>h;NvBSKA7^*BR;aonS5@8}Q9V`4#Joll z-b&h_A~;f}DuM(~-*2APsa3T(7$4`~#*dr0xi2xgI?s7ETXM2@ z86ENldR=oaxlJ9@Fqlns`gnMAJ^KuN@w`Vf=eseVQz)=+|#7_Txax;3J zJ;Jp0i2WuZDi*7zcb|;VedK3)MR`mA3dZqfW>vu(`*){n33kuBgs8s!?-HsrC z_H{b1@cl@B5-Apd3y0jFUrx@YtM;sn&iHcH6huUOoL64+u&3kB4FqfyCKgSph%;yt>? zh3NI-FPm-AK$je!#67B5x`&r$R>-m?P6Z>h6^p&|KK~53yFRT;F2WdD*-lP!ppI_I zs~?e#Z-_i=8T|U{9#o%+vMM>#*IaOjJ$R;q8Y9X{S#*tF=eb-U`6oUO2K8CCsHF!i4&2b<8$;pxq{oMSYJa=Ud<+DaCKkgkc;* zndBhHwnamq-0gdjApo3;eEv)YXiNXdH~JHkjvz*IloXupi$$c1>XH_U}|`t8&V7E@`b z_7rjpIHAEibGPvkGdu{6Oo;b}Mx0OENj1FfBRZBhw%|D4=VdseGg=cEBd$S|&dCkd z(=APyjHi9rz&+j12ZmjGUgch^R?k&=ROJd|$jJP3>DY3Tzh#BZxjoHeZ_>rWlkqT` zRq!Z7W0cD29c21Jmr5JcJ%F~?fLru=mGPq*F_x@?%nXfQyaA=(Yslf~D#AyXy6<~- z9%~Ggb&9;8B3~%wG06m#PCZ{Y5Hh|032sQvJr8)@92jKd`oQ|FP$n*jSd%g%N!}W)qNX0F)5ikqIitLDYFuEJ zOGSkNdhP8JAZf#IS&@E%t_~wkU_9U2PXgo74P`nEp<2@p7sV}F;JNq6$IORMXbqlJ zKbp*=@*DUZ|BReeK zdc8w%oP|QXWnwv7(74$nbk>Zs(f6i{W*(t^JHrSOJdh@`Ay&C<%mOdHM>+|7s}yV6 zmWSXFheCSDb-soL1K9LE#0thrJFND*>vyGOJdQI!F@*v%p5(!&1K3Y{`}t-{>z;ON z>vybfPA)S*yc)?~%@L|gz1Y>geMvLr0GanM(jp{*%1IR8%dW#%Av#^%PBDQs_UVnW zDrI_m1M)+2-G;BKAql10*iR65Oq)?JEfidvU?uP-%#D#+m%t%nG%_3CWEG z@fFRV|IZx$GMh_QU_PQXqGk#iVd?&Z0dj1fOg>%Dd*h)WZuShFZbwq=3XS|$C8sf5 z2+DjFJ?&O0jx4&&h8Y#!roNCG!j>G67??oO$YN)#Zkqpi@(HbI3X;n|`z%+}#upCxL$1(w%X-DkCry(dIP$jZwe_3aM8;XTwjb zOlPHEF0dGdv=BaibCC36S^;O_Be67#@E*B7OIa8YU~d>cq0;= zT?eLT6h9x%X+C~hU#wUae7C_aG#!8{7{R`#e;A7y@0~q?4zrUNnB=fkNg=RpMe;%F|Wp?3}bxN{Wx1IpFHW06q0P-CmzID@DI+ zNja{^2OjdYnIn|SA*ic*KaAsq_mGr|6oipgP`FWwQ(+R#ct8@Av&1J zJLEY=0TT$Cr(GK@r7lRo?B6v|4p4uui%`mepqOw`jPYm=RZ0@xc|P@aBZcQidAEt&Yk@pS8eu z!=Lr%zdbZ^Hcqnm%x_Q#7sgpo(4{;*52oZ?(Anl9UvG{&`8x#VPyg_BE9k?v!Pg+W zL_z?k)9StIh^S9#T_%?Uw{y;QP$35LXH1#fA;am`LY zn!_~+Tu-BGHAt__K>l=%?s*+LUpwocR}Hd2on(O^>9K=Lu^%n)bMR-zZ_vIcre+aJ zXb3X+7-5%BP^baRB4;I2UcM`_O*Kb728GBI_WF|LII~KsAU&*?nkd&kT8>evX>4PI zAngxa7*qiPTL_27Y(8m$45zlD1FkKA`NTAV&C2v8`gtu#;hdI1cT;boW)KiG^QFvJ zi}Z}{*iGKKqSIlE?_mVDX!YY@9(9XON7713A^zbK&!8Ctq-iS^d85q)x5fms?G@p$ za&LFtJM<$cmMEWNfgmoBwnJggw=WMBj7r9d7yB_nPH)`G2bsXF9C%~4cIV3oWthYjC zfy4HDxd{s9myb8VSNE=g5>rY`aN9Ja0FYf~y=|)yZcQF+Bsk`|LIh$sr&WDLV>plm zFVglQ&SJ?8KJP~ZzV+EQ&zbj(0tbO&%cP?QTIX?VYVdcjOV~EzbYqL?>&|1l4Rt-&5lX-m zp~|yW>?BJ&D#8CWEQA3EvEX~kTWT26bs&bu#SOQG9xNwpj?_Z7>5;YpR#&+2HfeFP ze@yU)Jy9Od{pKRp%5iXfsGuN!TG(<4F4D3~q?y*flSz!t8UT;iI%Z)MTLj~Yz0Oyx z{4k!2cNNJ0^~kiZPr(qDZt$^Qd~Y)NtV2%-19_bS2N}e2!g*n=6<>B`+%}A*?~IrKN0r`%@{C`Sc7CY+!YYV+`n3zx8jC?4{gWy*FbDD zD;oh&2|Tl2@m>bE76vf&-b-d!J%kAgz0D8K7C+vLwG{*KV`x5$fk;js-gIy@+IJ^R zJYiD{tk21IWL7&_8KCX}lR^>OeEqtd>zv>i7a$2BGwUDQMH4pRh)AvaRCyQ>({BAt z?jmenftL#Qmp&)kWf3;@;HAv{r7=-*E@AU3Sc-M#QyPfjys)CjUm9qHQjPrtSy)90RhEMhu>3$-50|foO`iiFvE&g0>J~=8z9_fn@coL zcw_E{UI4Bkq(`yJ?fWoptr8%6-Xy<#?BD8&gv{SB9jzd5Xz+4=#&415G+b}MXq@f&V!7zoeaG`yg0 zI*O4AxB}=}auY6K?M~e+Ai*CkZ}u@(*$0gQGHUd-5M-$s4+f_Lz9UyD#+{q@JNN+g zI#8W(r;Z1NSN?bMTFB#{WaYYn78+euPk!&k-T)z9QQpCqmII`89K?61bg|=;Cl|OA z=mxfHF0KC}!odxO?l>=7JxHz`&jI+KNQL!!lcO0g34jgbsdonelaz$g4%Hy|CDj+6>bjUig4IUXb+l_gO-d7hKj=KTGR)WvEE=MG@WU(-oEX8WI&U#2pPlYR zgo}Z7Viw7Mi7*SN7L}IFNzyYhjLjhaK$Ni*dwo(VBWyonmpTeD=Aof5`@CwW2lp4$lFs1mCGCuc2;$g6$JZT8tXRQB^?}GVjc%r4;4P z#Tx~dL%yyg5N7`XQOC&v8aneyQto%4S4i^P@~7tKqPo4Vi7#d_CAp0dJsPEEfw<ySxkOzW`qL890*Ph2jsC#}Hi(+-(~r-H0eRq(pwr?VxNB+uW$`b&pLzIUt)QMvT>@sB0$q!oDG z&LPBizW2gQsvOWP$WKJcZwRx80b#9<$>laiCO86je>!xglFIi$L|4Ls`N8Mu6+}3Q z@la-+z5Q*{$^qcu3fO)ZXk9zNCJB}`k7+z)x6H7-l92tUgItyW*6T))<%5jHQ-Aao zbpv3zYsLIGOB)v=9M(r>;Z^%&!YnV4m?7V9tC1-O*kEmI1`f2RGzL`7i8oX1@P(*lDd*aZUBC1~m zaCYC`Ho70ukd*^b3|QFAx>+gp9lZYfZSj&I4-cx|(u@OCSfx!c5*uec5c0Mufvj25QS%Xw5xP2wpFin#4zoBEn%?%G5wV)TvbG z0a;$BIrsO0qrAt#YDiG^+4MeI0LY2PE|?cjSff0^Dnwh1GHal!MvCZKXq)Hm<~KIN ztCW!kAVAKFfD`dKyx0i{4TTj4moL_q8IOT%#XJ72GXdvB!O*nDGSH(k2RNR;l zd`M%FyP9BJD%JZK82bKVWQoZyf@^UpKM4k^a+m$$Z?~%aCwPt>`WHCoL(!kd;fPoL z#Yd1^=xtaglZ!aKE?`Z*<6@xM{?hjT(tNn>30I^P%vV6}FBxkXp+FT2Dn1XA=e`VP z+hz~2vBHZwUP6shx<++xHSzIT`)d*9bRIj!SgB_a;joJex%59RXb0ps!jT*Z?f)DkahnhVl2jDpW}D?=K@XeKQv_I=qzu0 zdoJ|R3V^*_H{_lxKgR>#mylKN*6+WBV53lP`_lwyzIT4fjHj*gr-;Y8-#tC9YxEH? z#ceCQuQ{cvr^PyS=(3o%2EloIaxXUhpFmo9_Sn^I7~_q<^NZtAmA5~2^wQUNpWfKA z-TRya`!-}Pz=@`VCmC|j#~B@Mt8EZfg~Ez45k}6T<*cfGdBH_5wzC8jj|PX z3)BYp44orINNI6D@Dp0%TbcS#Xe=lXUeIrSQB&(bz(Dq`yv{MzXrF2)d=!b~2iS5I zkha5&PzL@@iw5E6votGpOXc;?MJGF(U$Vo;?*5e0*{Y|L3|$E#w`8KJ5kFZz*7M6p zasC9Pl0PZKlCb6`%^uwsB@OtelOTWR==gg(7i7vFFn!uw@&8ssKm%$LUZwO2SZ2fn zuXRq0b#)cv5ZXjPS59(;x-gK9j{*0>xmHl$z^P7Va8e5c4zB~Q^sz*Qf0{~N<1!rw z9w7?V&2I8G6h1!fN6@Y>)M_mUoLR{eqo z4PyM|{Z;#)xC`TeSC58qNU^S6__Z37_PS0b3{fl~Mr5q6NyWgXLX$Lmc|kLYM` zdz`r)MsWHQ_)VElfqKRmk+?^+zvKDQUJQCr7&@+;LjVg3xc$>4rmgBh7wBARv6q~KF) znYVDt{9N_K;V%Fc>Loo0kVi|)8PH)DJwcLW4vRVR?L+q?rd+&YU_FHFt<~im$PK3m zFQukk+J_L#^wgpD*f>oP#{8H0f3qzmzg7u*s~63?z~$S=d>@C`1oR{lTLbVQN6dxk zwGCXg%m@YNz9kmD@hvTap1*;y?9~{&b09NJ?uFDh*6DTxGaS}X=hgzwISs7>IenbF`{IW#T+% zk}=w;{HNQMXKKjJuXcy#Fy32t=Yn_NS1A_8xUg;oLd2Xp%Zy-{H7QowFh)PLi4nBn zt&hyMn~yDP?vgOZ0e|kC92Y8z432AvZ;1WiYj*y)ccgzyMTvv!VN&aR^Hc=OZiY|f zvFUp9qgTOgr(14L50PK`UaplH=Ms+3s+mH>HX-694{S+6xt*|M;*WTn8~g(1-k=ps z>scbc>>gW+4V#%O(HYhFE|k(bjGL{B0>Sl280(R+=)+;Ghw+hN(>U_KXy1~r=f;)= zj#`IiC_@T(*rMBBNX^TFY8E8K;hi&1A&G)}E^eW9)74o`9*b1Cs(~DQz#%>z4L77FN)Fzh}KA5*JhH)jYzARIG4D`Z!}d z@b~h4eYY+tZ?!c~Iw5@>TRtOff}yQf?Ugp?fT9)q*@IaZ{$^}OK#fuS=VR7`r`^c4 z>nVe^)PPqN_nR%H7l+y1Z%}FL#sL~KlFQE##1sKLJbm{1Jp64gKGOXtuN+(ugTY$s zM=<1X4z?X+7d}{fzsnhU)tS;ka!jkTRSsyROfn1!gAp92s;ZH63^mGDe+I-}d=SVC zuRGihz7)#91ffvN2IDg`6V+4hNlQmpEbv$7Z}`>W1ZrBZPB&CfNhhMEmd7F9%cgDH z7Qq!)6SAG(2#kAr19!y)++fodxfAV+-)wS!sG(GG2PvR?^U1)sTC^|5#p7R6+Su~T zfmeue9ng9c_U>-|Lz*uvI}WL;H>tE_pYz z{96%pgR$!r9M<_O-&P4*z@KPOe8yZ;u664{mlRV|Pu`MTir#Ezoqo9P9J(gmcu!ku8e}Y#Mdnebs>EGF;GhmY4ex=s5h7NjyG*J#2ALIDK);~4@jar zQ57&bUBNnpUSNW9m%gnBDc1(}sF&!H%(eLke(VgZtymieIKTDm6`B!#bG z+>m!5=&ZG{PJ2FRTzf|Mul-OD&=fpsyLdjDA-B^l4shT8wy~kKF_Qu6KU0O67AF&Y zeY@O|MOU6z*J_vom5Td$rV2*0282VY0+y9KF`%Q?XT`n#fia93>K;dcDXfL-AXfX| zvU^{*YxEb6Eyb4}2&jOzSE7NL&A!+xnI=@L8Jhuo8yVvO9{Mv4B2qfDJ>|;<*xU68IqzomAaaQ5nOY8x(bR}M((IEzs44C%pGk??W=_>#j5TZJG? z)FfOpPjWLAMWaKM&DSrGLYY9@U%7Q) z`f`amY2#w=dJ_Jr-x)q(FoF-*VYttR&R1!m&H_0;fAO|k1LVvMP(iBXOdr`N&Hw1t zy9Vn1-&&fd>&BK>@8UFgLcP^N-z*rka|c>CDl&)f zbm|M6L8e8sb}R3W)1R<>^e|s;xCxi9-v?iT#~Kral`s)$_p#;a_miQ^JlyMo2*)^j z+Tw4%JYfI>CM|}qUpp@W242TRoNsl^4u(w^e^TZ_jSBYARxX1^KS1dtE$0P6Hw6O1 zmJucTq-Pfr9A5_1BSpps-fc_7RC8ADoCm>A!HRpUe0mMR%n42IZeFiF1Da7LkFtj( zGW_z}cgV4f8O@DRsxMa{N8sZcq}GKc<$NLN@sRLu`>{jFKmd=D)bTzT6*|QP(d?E(zM8g%wWP0bPBl^o6Qdnk&Zs>WZP}2s2O5lLgjsle6%4&^ zk?z|hcx`?yr5(b!D%bu#iro$|q$jz764AR@;C4>@2DLRQ+fNWkH6qTfowI9W;L*dS zQ0i~mO$@jR(C~Fm>V%df87~2p)i>JeEQ?4WLd#~%3bZw}Y#<0cx%0vn4d8VN+;Bk^ z(c#`SF(FwvS1FGiborZqY^ZCb3u%ZKf79fuY}>(2WbENAzF=j6;$;Xi^wbwT=u&2b z7u7AjsT}Zq)ReX0LU-@S5+Bl97CfX155aTuYJ(AC08)s@)1qi5AzR6Ty~-&-5iL5Exs2|GpJLkbf$Z+|GfU01ZjF7nM%O8KocHUT%{ws+(m^ zNO(Z*t;%j3X3n?sI44^fkSLN@TVQ;xm86p1kdP{^KcD)0jTo^oV>k6AeD+ZZ*^i4O2U_0#^x!vLqnYX{+#{RAJX~f1Qx(;N zB~*Wq>76a~%s&a5LtlK2NmR3h?2)8$=U89A*{P5H9vIgNTHp!Y1pegENpS@85$Mj8 ze;Vr_3E9&QI12^vB(UMwICe2R<5RqwMFS7$e$L1rbRA@03LeC&FoX;#Ry_jUg8Kj| zm$=J-8s?6aL~&BDa6@!WS$Y%*@2Rv#BoJV*sIJA6w@Ge7!qUZs@;gC? zz$3?xdvLy9p;NzsryuXg6!5ZU`-zBibw_o@&4AKIwN76(NhP;!HP9zVbQlz)XPa!G zn1=irTQC4FH%-WXCP5mtA@?zoWM*bqN`goO6`)6HG)pQ0P@HXTxB)8=nDPt!@lmX- z1x+y(?kyHLTRc$j6+X6AF}X~r@!E!w>j<{)iAdgMbEbhfpEhX(;V*4`GKdTVB``AP zu=44@8801xu2uF;pTG@RfPy>mEM^mU9$FW1-LA`Jdl#AH&81 zly>GPGr%iAv!cAkTtX3;?ZAyvPAR!;FmL2L@3HYYjYZ~af>+J`=8@xdC($y+K{xTH zp!GeF2Pm5`|5M7!CIQJEW9GCP&!!Gb==O>|DPIv9TMn(k4PfTijYtEp0H9g;KcLt! zhETVT3HZ3z73w7@b~s1}YJ)kAbq?9;Gp!tq-wq_5m@35F484tjObAQUy0`&j;KE-O zeZ3Ffr1Q)>dj16JLj~rE1*hs^7(Js!y%?0N-)l;TsHH=KGP{G5M z=}6oFn3mB@2ousXPZ>)gg_%;Etv#UXF}57^6vx61nH_SU8yyD(UOPySD}y?gM=ntP zGwnW@EF4I_Jr#;z1~4{gFhe$a@m8jYM_63$Wbu65LsgtDnBC>w;XC@RUG@N*G~}TZ zB)my~QrFw>kQQVHX8T=@9jdid7ce#Fl4WXkVTGam(Q%dS&v66S!6SrChdP_Ux$3~H zp?rUTT}vVq9iz|h*nA}A%D}W)^+bhxoueMGdP&k+-E<;j>2E#@nS>%9kVG&#+*#KS zZ9;&w+hHq^RBi-Ht$?v*?wZ}h%G^(-pAG}ht`D;N-xFUys3pPz}IucOj{ zNjO#(>=ud1MNoQnaKWoUPyci*FW12>e>Pte&^LuS=4HPWjOg6DyX(zK*+Z;-LMTj+aMA&TmY{Z9em9|Z6fy{Xdj0;iH^Rb zL*IR}F{uuEB<2pIR>C!vI~zchha{O=g1LGBf`~;;m50wug6Xz&Y1e`L)|zPoV`-;~ z*-=jPwkNn_Cry|ig0UzYw0++gyk|p#Of1XrTX;n4JA~s?LvQQz*;G6bI+)M?sV^zl z1$Ao-wCvypE&y(@;EJsVl{B7Lhytw)p<$X6U|qYI?a;0P>M28Ja6Ol0xeW_A;GJZ@ z=?vDcvsqt;eNm(gFn#B5lGiFYVjUXF9I{g-&Jm@$hfxSTd{o+f-I#iF?DLr(+AJ_m z?J~B*OEPlZP`9vCTb)HwFp%lie0YQ0Ecca8@5>9lv{{iosF9Xw#!KwbjJvKNcYe9e zF0cyUWWSlq82iwToP?&dKfGPHOF=$%(keW%h@1B==x6Y>3*iQkV6>Sb?>{OVWQ*c> zGud0^M9PQ+EKbQ^J73Xgz|^?D8Bj2R9Rs0mTTp^<9y~h#(^|}lm+lEc33f1bl|c8wX@JdH_E8wzx-u?W+O?&PgbAvK;8rSNNJkZ(Ta8br_U*f==!v zBxe&BbJn8B6CUnaIwo)18HTFfRoid`*7>|%-YlT9F@&knS2dIVJhx2VA#O-K$Q+ga zoMW$3lszXA)>@BX7KGZ`;dwF%sI&J?qMsvf-7a+K?kzT%Q{aX41Z*?9d{W#k?-1bt zw3(bX5dtJ=Z|sT#{0Z(0D5g17sT4Op0yKRuk?w<6h|Z@vQdcsG2f8df zNt+yuvS1|vUhMO*6EFCzuVN%dTn}BD+=6vwf z9EQ`6m9{8y25_Z@-_px#rlf@|@u<#w7YoK|@XHMt^1C^zn*mh@!ZH$Ych~S+rVr24 z)}2uv%iS8_EYC=XwV57ZI|s$QzFcBUD!&F?p~JI?^kdPiU5-o{(Hpqk>)`mjNhj>% z8Jjtvthq`|5y1t#Q!#oV&$B3Gs+^9GyR*FnoJw02n}E|%l}C&yO27$%b6p(Z;1($A zjn=ocSB4rYcQ!%fJ|olI#>y&qg+UHGK8R%pEWNRCe08qfx%7NST^@D95^#;-QzAr4 z9uU-HkW)iP1zHx}1}FU7*;VE!sBu+c_^Rb@Ah>f+lS5~^8Ch)^UCS}6(}ds~VBs5h#A7QX;h}-mX*d5-f+m#%89OI-o~M>Mr}x+l(O|p88idEyfR|D%#!&y7Etn1t!{j&|3Wuc& zEm}8Rbe$sMx0|)`%0ljq(g`u!Ir2F7`M&6RcsS*Du)kSCA zE_hg&7vb>xhC?WmBs33h4nH83ef!x*p@U<+s*7aY?)g0kzaTniDrJnBarx61a09@Z0s)C|y-7*+H3;0xxl^tFb(#uwb+nf2&kHC1izo9sj2mjmwWah+>p@2K?6RNzJV ze{Cim;Vw92Iv%hvA6zxRF;b~M%82sbIw zsE@&~K4|+-wGYk1IJn2$WX0H|XpL>bRSP|9E`gJXM#?4z#DMKR?t35J@BD++W^0z` z$PV%KZr!S|Oz_)T2`J{@$M!gaOZ*;3+69*SW^x)bRs_U@(3E&{;=2RT%#;A#9mD)s zJVUGAZdySv+5HWF8+!yiTOh^laQgd9yAPNT_-{RV|5)*bLOIi`#EX`9<{oj_RNX^Z zc^$SWI2t7{emv~>@4x@~_hGRpd27vsWFtP-#1{{^Er!+qwsJ5s)JlAD?N5)URJQ91 z=@E`&fgFcpbe}sfQT=0w{p5v@4)5bFcVC~YP|yf=q@Yge4p($)OF!JH zrBmp5lDgw3$aBEc4LcFE*rAhp7@4Y@5Y#)8rQrnQAciLN$;Oc6Z(kjdbsacAJ4j@> zo5K zG4=aID>y~UHu0r5wJ$DSXb3ohKx}^k5f6`KA#C=S#F|=zb&QK`&|fuMqoprdly&Fr zgEj6p5b^M<2N=Q&+v4y(X*Yj4j%kF8M>81dn1g@rkMW(e>8`zny;c>6`*K=5e<3qCi$$%#JH8 z%*+Tq{iTQXTJZMxea)Kb+d10t_YxG{wl{NYw1W#_D&3bvbDFiE5Ly3O-1)6nXVuLV zIhEcslPYrk>h78OK_Z?DhQhx2LU~J!4jWl$>o4?cI@5D9P2}@(_KF?fpR6zSL=UO<-)$lNv6m=o$@N*DRu`}n2CRd}EH4(MImmSf?%i!Abub@Z~ge;CYrk{M?1t~PI0 z9saD2ynCDC^z(b# zv*im7352>I4~hR8BzO~)b&eh09-@B@JxLuGMt&LSZ|mf|V`>#(K|zV>j*yZJPhSp3 z!{p^OMRV+R#`uxb1B8Y0=;6;dR8L@460>)QzZuT{gfS4!G1ZA*J6pNRxzsPCFdy}oY4v4pMzu6l7#W9ShWDEhZH$G_%=1tfBta zI_SH3&rDYK4y6S4hbAxpOkpIR7DV}dqEg8w2wc#YuX;{qXU{DOWN|#)DS%-@-myN= z(TZORbX$EMIC87O8&5oA)Jp+(3z?;H8iqjGz?L7eR`1ifG$D#jOjHbX6S{9hae}Q0 z>XKAVJBqB}d_@h$-Z|&F^Q?#IRrcJR&r6My^pB$x`Z9Dl7cbrI*=$^4D%x2a^i+uc*^rL?p>sqiRX>)1ok)eWWX;&q2kLQ=D^Wtk1YM? z3>SZt;-iFQL_go+yYEPuh5aSuYIx5=Zr-IQi`G4|%)?Sice^OPH#tt)!RjzTqlupW z?B)15nqjH1MQ>q1SKUjUYr16XW7|XUHZ&rp8mNN3G7vl${$TO>gt`*8EAi++rS>Av zK7ggT>M`V9&-I6eZWg<=jJr;sG!(FdiT!S+S^BX%t}u=ex5QMNL&#K@b~o%22rO6i zBZX8%?+@I}(x5wJRE?g#WR{NSn0KkLb^rKQ%*;z2eci`Pfjt@UG#x6o7R_nbivK!H zg|CJ8h93xi^Ulh#7KgXr!TZq2t$Vb5;=fik1N57*HSOHfoRdxVxkqt=?G17@{V?~G zh_Uh~EJUmUFT2x1B;V{^$6nmuUoiME*Gs%@<=+#VSNHXSPo&TV(Z#?WclyUv2~}xc zYTdG-mH!w`S#bDM>e8;nm7Bv2GHb!`%Oxn+{KMQ9@r2ck3(#Ywq>%SrikyV=+OXXG zKSVrT3su)ebJn!uC;8n=g@-Dwx4-ynab_oY*G)X!k%BRVj2Pcj^XPY_K!qQ?I$!yq zlQWK~C+bx%qJej$1Efi)B9T}M;ja;op{B(yM2-&U>x7DlABGXy!Swf7jrvbg>klG* zU4FP#-_@=8VYn70q%Z0=GSrhnXQ3EG35Ayt==&qjX9We2>3TF>_lG;+kv*VpZFCPC zNNL1#a45+5yi`OMeCQi))*lEwq8^vsOp}-yZ(?%Id)nlr6 zJt>cH*x_YD*zmImsaPS4SM`;S{fBxoV7~_yck1cOMhO+)vZecWWfvkwT*G-jozhQdp3lu+Y zU!V-p!$J-23niO~vFIBbP9Dp%4*F!?(_EnF7UvFu=`uhAf9Ti$jc91mH}*O|sZ26>X!q75?-#pA_5p;z36!xhCO4{sZu_se zk4a+-p4|PunZ*&KzDAF2@gT6A33zByWC5%2*$O^J2>ps5Bm>XrEc%0#r;)aw}fr40iNMbwP}pI<596>gusvVJ*%sew6ZS?~kl;kwSj23bBS1zdhbx zeeu#?FD|%Hxx*e&p)i}qhg{WrypW%T77iSzi_b<}wN4akkfc=awCmm4tRE{B_)3?m z@e+@P`5TlJ%~70BBAzjS?y_2adGRA&MFzY6q-~6pwGZGTniFw3{=eQ}_pyAAwIf&N zuTJol+fvN;$m70vIZ%A1+=^mN7bXgQt1>iu`+YDJ)t|d%6S+ggDYIe26^&4emquuI zp0rNJ3QSp!8~809&bHpdvemCT6`gohNvvR!cg~QZPqg|hU2jr)`pVjzt-Xa6WH**_ zx_3T&wPslIB_0eQLDB<4#O*94o%ojC?`3mgSBG!KBgL^|N#2AXhMWJ7ij#JHb1!J! zz4!j;86PVY^J-+ir^ku@WGv?Thq=JI*`m-F1%ts4pw?H;@ixN&;0l)15?-4*+8c954 z#_ysm1B!v&!XEp#;bU(MSuSTR!TWMbqB)ne-8h6pUj0$Fb0g?Yn(9&)@wR#MLS)bE zIT#}5)`z*so~$Cp4@&j^`-)3GTd<=}bEO+biKMEv0CHXLF&b9ee9kdpq`ZsDwijiH z1OD9p*1h52e$K3Ro4kBN-86^`@0>2jf1LLTJ``B7cRWxraUqxWtd)0v-{k;8gtE2nV4Y&gyNk;eHuK`Qf4i3)Vq0PQkVe-yFF)xk|Z%Q?pc_pZtm7^%u&U<$q0{ zza=!x#VvM)eR>ESu&Hc}I-YL0FZJ{%VuYMtIlJ~f@wsEF{^JYrkmY@fa2EIFj9FMc za%V(y`m%J)o!`_1-LCnj+O8cx6ty()67LD`KFv+&yZWBRJdXwEzj%AG%MV!aaMavu zP%-=uKtqSK#K?Bow{>SRD*8sWQ03=99<7Y8bnJ$rIaygOW_j)(ZEA9@w@Ih9I7jCT z8zR*^>FiDG>EDPHvVBz#%MPecT@t%M_;LovjdzIr3!(_d9Us? zP4MTov|zam*5e6nobHc>1B-}LmXGHKiKXihkeo>>)m-wPPVXCmenzn#E@ABvuNhE=T= z`eN*4Ou)4#iW8s!C&*}kD+kh|@yH&hpOk@3za}2K)q7)4t`Qmh$V8V}>qCLz zuu*C{>FM)m#pfhcxc$0xPeI-$bl-@=M>m`_an)^Siid=AJ1(&GUr?xloD*N}wiK`4 z082g-gZhxQ|A;GDmN-_?h|MVaa83r7p-h%N^0bxE4| zKw@i9qeff!`R!`F&}Gp@zm!5am;Leqq{at<(tn{A;zvHz8}2N$9UR|E@rf52jOdTZ z!lPm2M5_;TAE)edvrEdpKhY`c#3LoKuEH1hrM{e)nxqq-nb0=S<|8y%xc=Z(Pndtk zrWxfO{2m%g1DQTIGDwdx)r<+sIP8ab+z3eu2AMpu2{YtI)w1iU=uh%ACSo?ht@3G%1 ztGw4gP4t9+5e2E4-mAVr`Aw{C;4{c`+|zENTAj1hSIATYI>9;TdZklVdE z30G8$5BI;kn3#HxQYCEP<~^+L`XlkY=Y$3_DDP%L zGVCvJfUGH2jn^|z`MI>OUJ2~!UlL8v~Irk*uToAjd-;NEk?lx zKCiR-mbe1Hl!q>Y9+x^cH&OA}N1ICEIN(%#^UxE+h|3uR@cu!7J;E?0OGi()@3VCB z_&e($@AdyC9F}6#i|FW$Kg_)(-Ztv>s+js10oquphmaJX&*nX|XW`HPkx;Eug6qJ# zy)^s`NW(Wzk2Ppze5PYB{6c9ZUNGuS^nqjb(&$;xjrgm9JJ5t~48SQ~n7WjmJzlmG z3sN1pN4Ku=9W7KYLaU`)IH=uqv^XCn&_2IjTO241Xc6y8hGrJ-_c-lQmsH*MqpXYN z1%C|kGOVHHoz}AbEhfK4=NEOao0Mg-yart0ez{nGa4==ZouW$D`IMf%PmGX&D7Asz zT|FD5sWHUpP~>8A7XB{G{O=%M-l24hIrHwF?cdWnpeKZu)E-l(70}rOHMOZ$d`tp! zKV5G~C0YW?hc-j>q>KKI!9AMsdZU=L$1k66%e_$WF)J=kJ%=t^a0OSh^eDw*&QIL} z)_~Wywc-zS_OP@T4%DX$h)Yj@R{?8~sJK9Pjo8u19v+r+^C05>q<}?Jo{H&yg?-~h zA?UIM1ox}=%+h~6Vf+GQa_f)8bm8u#piSTIEnh$;p36>Wscp@|!JZr3Zw1MnS|sZOQ=JSvjMm^uLLYliSfK_J>m*SWyzr1bKkARYQ<=-bUD3AOy!6bqKV{1I~LiD7Gf84Yp^dotSB37FkiRC zRnvr#KXi?faem)R&edF751qlqSTY=N7Mt|2NO9!l--TLT;+dc>us7Ip4L4}`Io4$rvT%vOOCp< zBBbd5V1&%*ta<%KdABEL(1@t~o8d;nU83+y{9iC@xh5axkX$iOOGLY6MwsSEInMPU3PaLwqlOr%SrPM!44om2prXTmk(gVR3 z$lzVu1276tFt(gv_fr*9-L^uU1pVmll#3j8Q0^$v;cF{bEqD(rqB~rjbuJi&Fxi6$ zJE!pv1L}aH%u(=pHow2ttSpOYPNj()P=;5Ew)Dc*LFN$g?)4Awv?;G`$A`Y(kdONB zaW+xCe}jPyy7`jKj-cfWEQZ!1Rc4A`QZZyI}ejO056Zep3jmY>pzSp!>Jvs(Br}-C9!1pR;?U0*)U0Hyk{7tsI17>}mb$+!u>yPn3 zRcSS3-_tU4BFd|6Blj*9ErtD)gC$p0jd_J$U(nXvvh5hJVy(4)#GGfnA6q7a5<9j; z&r^*0W(MKd@z?*^&);iSbOarGE&4#XO3-KV;_Ig-I?(O7!`>Q8g4eIpwzVj^3C)wW z{}HTVvuFl#gN}28y5!pAs>7sj#s?kM2;q5 z4_?cnC;W&)w>uB^7M}iFeGWwW8&Otd=9<(>F3~w5cF$;e>&)m2mkJkMkE=|L%4lwHokqjZ8oFJf# zbX}h3`3E|&`4JT7!+JMgx6Mb$wWF8}G#3`0fYz@@(-E5V>ZqiLEjzE3E`xm!1y2H0I`XKzKfir?3Ka$qRHHpk=hf10xr@_x3izyLoN_B`bP;Pl5- z6sNm-b^6N?se3axnRqC4qc|;CCPQZ}t(`2VKNK%UW^~!L%NqmimWmF&_~s#Frg8ILuvWIA3%|hWGGPN%e9m}gvj5-twhtb&~cNx_}XN-BP2esnYO&*_Urrb73uSaC|xBmsF58#3`N9%?hY)G~qCV`7K5D+W=gs~rR({^n* z_Pid2Jbkp}p{ns>GD9X{J|c5)W^9&OYf234Cnewnz1`vl=Mi_{M&#N+|6o@*2R8T8 zv1zp;8eI0>hQVg-!8l2ECL`b1f^A=&Z;0-4wL3H%La0|~RPsUEM!Yo@Yds-wcNC+3 zo)P}@q5FmOdEl;$B@=-g!h2hK*CV7oKPMKoJ#6g#VFJ8dvn&F{#4B-Vg7c4_KUK%C zhFAoMaSoz1*^cyX>BB|`zkw4Pa8pE1fQ=1XCKJH=;CqyL##}7q&y#`r7`w{so*1bk z5XIo^Qdby!AdZB-pV7Og**&}kFs~RsuYP&KBc%BAPxa{W80Jd?!T;a{f863Ri(Sjd zONfOC6!>whvV-2v=5(Fx$6h($v=fdL`)2X%XAhk zhPC;V;t(@-;;rSTzqT&G#y)?1{y%B2#a~pxy^w`fR zM>XhTK$rQOL^ zpIX+UhoSsD4@GKcO6Y7}2W)g7j4$eVzKRZFiX7i-Gz;u^eG|XYYJ0Dp2{<*eve|%9 z1dh>%Fu#dIZEKSQj*$8wBrSYg>INcA#6>t1Ki=C9V11_Nmx0=6s?u^W9^%0PMR-w> zA_ToUhEwXT=)Msl$J>L^rdTimH_aC}80P2Kez6MNB0V z<(N*(3MNp!ZOCuQDh-=rz2CS|epLBU%GA?RO!H{#af-nY*9qjS zYug?wDFy)z)yUHRPXr&rEPAl1AI+Dd7=M2ZG+|nUuOJ`7F;U*M?0|Zy&EAfYz%1__U1-o0O zpmI;&Al3+CH^jyM-Gtfn?Hq8KiDQ%@eR>uj)yWRGrGXC&oKnhST#a!NaD2M72ota= zaG2C@eDG-DMyfTqr4#sy#^|cb^8XB4%sGD!tn2&NUnf=ih)ybO!Y6H&`DlSqNw@(( zDRVfv6g2!WPRg0$*|MuCavv-Pf8&kws8AwnmO8}*J$WYqR`&)6n<)NEqkA(pXUsC0 zK-P!dw~aQ>ojof%uhasi2I4PBkK`EJPt2y~d!;qGKPHZ2S@If$D*SX0Wxj*(<GlrF{);#dU-Yf4A-Z(AObQGa3 zGE`q#vEghN8jNb*4I0ohHZdzdiV3e-!_ywD{RF-Yem~^Vhz{Rbhzqa3m;vO*&)DUo zjoG?AF>ygzSmVh*KVzzfyG7CA7HnV<)^>vNdA966xL^Z`7B~}|i)UN=BXu|bkLuc! zdvO-YNzC>W$(&~>t-|N?4Z&;@ism(;`tl1o79Qwuat6-CSRD3@bsWV&7bf9tz2|1@ zzxDV#J)p+U7DuY#^K4Sn)^sWjgDTo#jn6mv*@=Z5|Eb~Kqhn!{toL7+MWFgrCDVek zct(d?ce+iX2*=|H+t2%@QFIF(c_6t~=%%iZMF{Ys~Y;N6rYRt{o$1dOuE%@~z{2J*>-xjzL z0>wDir*&S-EGN>M_czwqJJTrhOQY!XL}?JWOJ|u3gQeNUS^f(>zRg(U z^bwNKxF%^l2E)ifmH{O;QW}e%WTSatkDW@ zJXG?FD%!^dgAS*qQ~6Oz#v_-0WyNhw0;e{}iMT zJl)px@5{$H!0iT1pnT~}6u{hkD}TS`j2zl|?Xc?Yo>}!Aq~YjOU=dE3YGOIK&dW0* zDwl;(qh>fmimnjBs@Kg}wUW;1zQ5Y6aYj;<$mvM&{+Z~X;+G54dKYTX=AFOyJq*5!{b^W1~v= zyB(|~)pbAstg^-~AkPE$ntAK!RI!lNKi4~lWI&~0W&!^3|4kSR6V5E$9=i#f5Yn8V z`qk_WavRx*IcdA)W3!Wmo1T#QeUVMe{ zNLYwtSuWKFCO-EH8*VDVeU5s7$a-Iov+S;1P6krEY9`GZO7pcwLo#*-zRueI5~$R@ z#YTc9pi68z9w05(^G8*ED9ytI4PI^Sab^01$3HXCga^a70*^AWU_>y35MEpKn0$}H zZN%YfF^?_EnMDg{D9U~kYE!tXeScVdMG~QB%mh|xMGXTG+loSQ76p`>ZbGVqXOzvu zHXCC@58fCqu^ryaFZ{Wzq&HzBqwz+UIqonrATj0&WHkL~Mzh>L2BV0aGZT)VTLH4M zYsZzRHSaV=5d{m4kHoZ=Nr@vp_kRMnD?(?60sxkl*uVM(t-`;tp;z&lGbFK@f8t!| zh&H;i4?t}hjjG>C{nAVhPC>J*0Zg)wb)?)-tbdLrpTZg;9Ys?xvxNKKc9ttlO{~sUKn!d+_ zu3g5d$(H^FqdU)P^&z{UZNM<1EP0L!_KKa>jU)Xp(Mq{%U^5NFc?piQyX-GG@ASnQ z)iIo76n}sI4B3@2Qz`jwO>0JH_9?=X-RWf-&{{NO0UY0cjNF+#nY{Xhi&%)=PjXMO z(}*GyGo!tntqf+hyXpe~F^U zECHJr2Ir&Ii29=#-sJpWhgM)i=|Ph1=m~hX?`)4i8TyVPPPE38{~wWhm`Sy;)3A0EnHM(L8hVaX`#F@fcpxy7m7xo(>~S zuT6fjECR}hPRt(9*_!vgNs$7@F3w>LudLMkOOlA_r+GgL5cIbJFQ4KlrR;1%HTst% zrtfJfTGG_is zXG)znq=nYmHgR3v3?MfIZkl?&e>{fFRF1vX^Kq8ig4pzMyUK- z`1esIp`c1K%rS5JRvOG*e+8-!Xi+LVDG|f$XKjK(O-5^~0(|o3?9g8(-`*=ki<`MP z-mQGv zK0z(+irr2y*e{sD3UpjB2<2EGgJc@kW7~|D+}H3EL1p#i2Kgc7^$Dszc;nCFhtSL( zE@PDAg<=mrb+$>mcIpxA;7Ix7!`R%6$Dy-D75^fC;y0++?#20?cVK)Uu0<1v;AIu% zM+Amj!67sEe&l)_a5&Z7&ivN@lY&{uFHtt-9lNb-w8m zOv!%6uk>*>v@}k{iqMNEE9T5zM8fP|V1U8Ppu4%_=AN@j;*ViSAJaYQjaB7++UC%} zbH3n(qed5`Y%H4YX};8|=){jdAuy`<(*w0=lsPQ%ZtxaTSiNBJF-;l&pF3sD&`L6|GlsKx4*nP;|6oT z#dUW7I6E~jH(gu6%_Sf!zJ2N*`tx2|c*R!vA>@yOGX^Wdm5rC!cddX+52SgKHW>tQ zH(Q(QB@d++wGFOmu!KVN=-yU%O)bRuNj;sh=tTFI>oSJqkhyM|uP*w*4M3H=n(a&B z;M8wD96O~s4S8psq!Nj{u1^|1e+Ewr@}lk5!HF{Ek3NNzxzBxne2|eMhpbbLIN@?l z*)?I~BzFxQi^|_vKOVZvS}wqu#1}KjrOug!Q#H-rUV!4%bF<{0^rEkMj_r$kHo;zm z&wV*SxtiuZ&dhSNO?^%MAaQZv>S_UNYEPR#vcgqU5-`+YiFBIe%jzDjdrA1U^zkXM&`g?S!qA198{$HDOOMWx7vTmBIb2zX;Cj zPX$q~qdivMD7h-VsF$p-eR!>L>}On6IU;6!;JOpte~-vq&kC zozX^}fD_UwU_6#x7)7w2sW=RUlP-15WA*KfaP|L*D3FsWrr1vUfFv`W7(hLtL`_BpmKn zg^06=_KskFSSnDnzssB`hU`*O+>XIr8C!Bu`fBKHmRnd*^j z9zr3j-Q6k-1;}@g;!NZf8V!iWV@~D=;^kSkM-~oZ&}}d$Q*CrRqC?^@Yq?G*lve8Q z%ujn{t)clC&c=7LoqGb4LYz@VwcFj75=H*p1CNuXQe^KQ>r(G~VjmRdR&1Dt3?=L0>7GaBPx zw?|JI=+O)nBdn4WD0anfgl~j4V8+GK_DoXxts!s6daO~;Tx)q(30y{p)Zmm;?aH{4 z*U}_enqt?vhPqd5XVPb}4oCJiVgb6oCq1>WcsICJehe|}ExV@l(9O0c(;sFb54S50LHIVmoWif`uwWAjAt|-Vbki_8* z4214B42xFcPY|w7wcue;l46+mSEc(qn%I*_E}UG#M2OB~b@i+2=-h(M(M z$=FBP`Z|J!#6;QcD*vAjCI*FfGA44!)2;i9HxCpgDJ7<=`)>Z( z>00$A7I}`T(ofNV)0H26WH3wS0wv_Yc(4Q6rZMlVix3>-*G9R%YQ;Q$bt~i6lLm?d zIRfK{ep+hmT8tRK0ZT%CmfBqfGOQarrYD;73!RyE?<@X^ZqcYKwM6lSD@2cTl`;0( zY1Wkjd!>z-bfn$y%O_?*n%umU$-h&>a4b$lA9-dawMMCU$I7k4`dMk=%Xsa?;vF_m zPj~lKRj%_8IK4a>c4cxGJUYNqcJp+q)!iC;jX+)Lr!>C0vF?>iq7h2K2g!Ut>CL)< zw)QHi!lzG_USnKan4TKz;z$}0i?Df(b~fheD-}PqDGChld*M=L&jv)&_GHOu-^3{N zhTb$N2_p{u@2;YltVxj83pp^_mFbqRdUxt(ZoxjwUhZmX^lb%Y*Gk~tCyaYKYdWsF zb^jg4=MktMIR%cLLz7F4PI(2rF2RHn>+Mtv3ngDd{>6r#dmxi>Ub|8;sp+ss9fQAw zz#qOzcGd^9v-Cf*J@^A|6o>QA2jRM$NCyFf1$@Ge}{l_mcjp|9G)I%l&p??-$hNW}dv^f-7~fl&!3{h{|#wFsiLSY2&xMW=81W(svB=$^=7hpYMMQn; zLqa}`34o`qt>G6jB0U zgE^z@`?Q`&-N~zbxaj%y9na+js)1c28&kf$$9#h43E{2rfET`Jb_;LL-Iq~i<5}-s z^skX&k*4MCjfqvRC@wYA;6fg77vfIjlrR??U?IFWcOU!q_jh@;JA+sGF_PWi;YtAp z-}MMMr`sjP;GBvsQ@p1iW~oi7(JkjZs5nyb4HfAs(b^J`C2nOqaop?+bVP3_6C3i@vEXpFAvH5?Vu_KG z?ub}3@maY+k^Ie+C5ct=Kof*1!+VR^@OMe)Zg&2u)U@#MgmOcw7iJaDchb?~2RGeMbIp7ZK;-L91=$E~I|3h>8KeH|@^J?k}VKbHDM!yeo^0g!hzs?cp8) zCdeCa9$VpPctqe}`;^EB#r;p+@Ze3he+uPq(UW$|JS5D;;6~Y5ZL?O{?u0>R8?p<# zZLH;Dj0iV&-3@x;li&AIgQ!UE=A915<%|iW?7dh*{GGevcQf)6(RzV_8O*=qn)j_9D3XOTtPuw51h##(bl1e znov)XWDJ(i#t1ag3%cs>3+d7CWIJ*HoYSAQnh#a(*g=0%)jX}dVmG@Plg%X%y&lTF zxRyl>xCR7~HBESR-hZMR)}4H>w#7ULhW$zfhC6ByHOdgO=sA=6#3Bv_@kYYwpqQ4-eDXJnp`y~02jACLE4O} zYo;e?X|{W2WJDN0+5OL)6@Hu-Q8^OR@<>M{)K8EeHTJdzTO7mW&&WuPEqYD; zC?TIc1=xIV$h#Rcv6C*Gb3qU#*VE9O-~W*RgK=tD+%rDGWw&8hxMnx^36GPZMgPo`ciB)hAi3*Zp#+CnSj#b)M8k7K z-rO1;AM+iPTX>;6pJ{0DTyn7Pk1|iHy}|gn8!)Lp+5PumM;ZUzQp@e^0xG^@5V}&o zSfhtDSa6RXD@jNob;#+EQ(iz`}#_-Bmg z(!U>UZa2?iy=SAEb(ZN!gvJ|wTimvBCSSt_?Je4GwavZ)Y6tS!D_Ew9RiEQQ!wM6n z4^iJy0!nQ2P}@ko09RNbQ31bg>8Kti(Vd;EdHUMj-v(#s z{0ghCsuS9K#}<(c(HK1F8aVA|k$dt}L7#Rw;UbZ1r3bfJ+fh`mJ2=&zj7CAN->@%AeejdH}rb}%)CS_Qn*4+sPY25jV}Ys$I$x1fgmD7mU%x*tz|hm>!otO^O!~RpqxOCd{*O_ z+-@BBQd_HSf(opnVXIE6Ns^QFZ6!L#8Q+ajy z>us89+zYtFY1zeEcZ-ogyI9Sr%s z23oBtTr1i{41j{&BJ%6M>?ZO$49Jx%Y% zc9`)xam@3;lB=*%*M0u89jRGrlqKYvzxv!CZ|`oQ^@Zk*{Yc#AA7DL$P9k8g>Vj2P z9EAQW!A%4!lI#AeOh2ZTq2vBTjHkbC($m|kp6_jos*2$et8H>vcO7Mst}L)I-;j`X zH6_FLY-iuq-9YRIVFlc-^u=)B4N7|psuhdUOtqMlD1Fe`jl9y$9p8k5eYKl!l2zz& z57@*-jC5?3djf0ibF4hXW>T1?&>7Ob%^iR5F7zLH1MZDbBW%>3p>iR}$8W>Y$&4mG zu%-cS^>_3)ax7SMWRt$ZwnpWk+jm-C-t?EZGlYFn5KT73Asi0`eP z0@0_7@b!YkZ{{nvIB!>h7X@0eFhvcJ_$ng>NHpC%y_})ua>QD0+=y97+FP&Ini;^m z#k@?sd5hu#*Yq)@IgnVJV-=h405-oN@8h~Le<6QCV!yqK;DcfoznXviR+q1*Pys%= zQ#S5CWVNjmE2Dr&I=yay8!X|s$z5>k8lwq@tso-4_ts}T!!e4l0UzlZv+7{g?~8(U zJVg3xcws`-w@o0-YW@$o3t!9V&-&hV>gv+>T&T5M$tc4lpLf{e-Fk%x8j{;TKJOGL zRd-?-_2Yg$>nz`qx3E5lDFoH~awB;z1pr(*4VE@P;|7#mn@w<|>sfkQ_@RVyD&)0x znclS538e|;4wg{_BlZuB*eqCntfkr&cbQG8iB4DMWvLNYkmr`#pjmd|bd$7Sz+2)H z^77J#O&2NX)2GU=robNk%s;S#4B--mjm}`ovNvFsKA~7lT}pIOr;zCDF8H1~lX*aB zg|R5u5*8L`Qj=Im#~c2$TsdHoIZt9sYD%#EfNFC|xGa-+={Q4IM-&%>Dnct%OnO<} zcu`25*XgYeD{dA4nta`>fJ%m^kR;=M#wpWu26zfs#t{V>;E(^`!m*~?u*RJcTFPX9 z{a+L^zx2XcBcV2i%EpZ;&fOicG8c40;+kTcR*NF~Okr)22NGig$6qSum2cj;i7s>D z_*v=49Ow%cE%umeDM2oc1{Ho~3YsXlDgViuD&O;h?M-l6;y2k;dgk5TYV z1sedkE!4kY5xo#?v8lBnVDb~V#^B>i?c^DCsBmLjfc?j%5*2qv!VNZFAxO7~No2JR zI5qm1>$TtG^W+Tg8~a_MV87Cu+QX82%_g?wg!I+hDT!5lJ6QeUm5HtIds86aegjW4 z5jdoiaOErjRm}HCt+uIism~=|^IUl@J|3WE-n_)E@4MEpbL_Lrd$#cO)gvn2|LhHF zJjgnwA>WI@BSE}QtiL3$bnE-C5E%Oed!vCdm~K^6Z(>y-2LFK7wu}nu6N%Tgku&`x zxfzK@&JRl0nh2^D8KTu->;_|Jg||@FyAFV$;1Qz|s`S;w@WiUF7VsRBJbjI*49;iw z<|%a5@LAoEI0HQjT^iqD(2W5)+=u?s#dFYzI)!??GH+Oz{&&;_3H zcBTJWA$39SxVtbHqcn3v%D3|}WjjOSCU*<1$Xj0c9#F2|P2dR|zgA>*-SszAAbcD@_keQI_Rx6QRWwz& z&bNF_tB#@TaBHD5j>m_pH;+GU$lZ!{4}iPnX!neZ#7A9WXyr<% zA$ytl_wnDFt~aTRCQ!sb6hRIRWfy?1XFl=o#RDJeUa4`@cn;hA$9p7cU8q7r7-7u0 z3vO2$J)82~92PxR)6J6o(pU2dkm)ahq*2b0P}kA*0DK?2lCekFKR@dGLSAPPOpr7M zzVDGjgb%{-gk+h_1IO_nzb$qGD{@+egC*J=XEn$6DB|GXKpp6JNBCe>_~#Oavw5JK z?NaVGo`lxeD4IB8oXmQunWKD5jzK`td6N$nth*(9q^qStA$uM@Obe$$MDkz0_SolK ztiY&3cl_6Npo&KeLD2~W4Zfuy1L*vS;ClybfcUG8=b-g8-3kh16R*a16H-WN#1%8Z zGay{soBoD+Pl6w69p#o-)%OT5kTv`_I{dGW4;J6;|JT*e$*Y_n0Kc6YAA~C7-~}0} zogo~E*K^57fZmt<_|KQtd-Wt>qRZhPfLG zSodlCyPhJ4gs?-OnUh;{t%bJeeZlovnJ0(2)SD9gC=WyE59$C<>EtVjlloqkoxPNxKC+`C@4lt!Re@1 zqBGnc<8_XF0DsnbJwnkgp8YvTul}10FC4 zczg-C0)SV(k`1L;C(>In;k$suD#0W03FbzGw$nN9 ztMZR#*Z1&viI7kVF3t2#hWf`l>U9ZzqJBbEKib>HfZ6u8`F~OKTu5%`@o4BBz$6}o zD}LM~3K3oi!a33tnJ-i2%XR0C;DeypC%skv zD07%hDbU^|>mo-EC14@0(XYkeolRaR)_*~Qv{zj- zx0AAi-ap5%n=u2q4bXYO9np~Q0N8m+7bz7(I-ovj{P?&R`Dg-{^Ge!)aHsgJ?s}0O z%6rWMSbKb>LRapxpFAbhPS*qN?=&EMYs$({`}8QFCjlO6iYp$S*pPcv*o=zTwG`Cf z&iHo8D(UK@kiUKvg+gq!HCKziqmzkNU=QJXgHw}pCY6Z^Z|TvlL-DR@Bi+CyTClm9 zqjMT+1Ntgg!;%eK38>!J0aN-|ur&}N!GBhoSmm7tS=M*{7DmGz{}yt7;qPE4RPnL? z05l&zNZ6S2pptq~g0B(Ww{8S7EEW2Gw#7y;5G;>u`|Wj9>migO^ut!$%&X9z`Ah?L zXWkv4ZbvShwqniQi$7IxIff@4}<~1MrhxKxNfcA;J@3bXF-20nUDA4g7dUO>&&JlK&lGM@ZeT^)Y;_7dFGEXE`CSrL&o=7)%I##;%r1Gn1py@(>rPi zOt5jf=~{E52Plj^uYEj8d%PgPXMB_H1}LDal!A=rL3iU6Sl0X%WIU0mFZKylzVF~9 zMNTjgMan&+UzW!zv#5=U&`{NTQaRgeLA30Jkcm{b)7WD8!dNt8CC zX4>BASX#%U-6mzBmUn91!kmRXw`-c0Kvjk8^10ol$w2qmD|<6+CPjYnn?v z3p40NQd+nD16jsF;ht7G`=b8JW(PSkg?@O>gZh+2feaAsx*S+ksvzTmM1A{@KWM8D z4w=21Ig~rjSM8G{D~qT4_z3S{?D2w?d3`8vA@#RjBBSio9>AQ*3uUCI+j5*nvR(R? zkXMPPX8qy6Us#Cs{~K1$8xtGQ5jBBZL=p9i!1X0V8R`dRdn?B?tnbP0Fhgb-?7ft8 z?<5FhQEXTnQktg4|X3Ti3`QtD|SO_PlG>_ zS(@u%0m_n*Li>AX+RluaOf;HUsacWDx1-nD@$^?0=ba4}He*=*1$$_*C7-28k18)y zI=3Z2nz@Qz&Gh+S9Zh0&vFNNT-g^iX+RqF&v^^zm9yZ#|9$J0?PDCt)$7sgTaADZ` ztfP=Lmn2ti*s27=J*Wi1bYe$>Oqo`Q@r!|f-4-)iPW=P&IwQ={a~Gi1D~DCZ7j}|F zQ>bjw3Sh=N>S>9aj)KdS?rmQ{QpbeFdTK{EHRfU2`kGb6q=~J$_CiJYHBos8@-SHw zcYMTPVpYJE99XSPgMK3qGaF)V^fY069b${9H`Pr0eq+F=rpm^-V8P@l$V?g#l}`kS zoUcG-A2xUTm7>wDpb_?Xu{-kuR=<^Gj@y>YGRZM{51z-~Ns?pPcLQ+Z@dSY;_t9^l>Wa$C0c9P%#G)bpx7*hT8Q;p`zk6`;^yzk2JFfC zu<>MWRJ794-rh3PuPK9vzaCPfV8HCC*X6Dd`Mw_0RiC$ED=6V+`5TZ-9o#@Sx*Qw9q}@k(+46@;f5> zJPz6P$YmIy`35|^QJ2w8u`;)>CQZGG0>o)QTDUxFRJ6nLJ$nbbb4kN8WQaMrG?tD* z>t+UQXWv*pEnu_mPC6_cODhrua869wRUYg*r=w2Ba9fD0umPe?1qiidxtA}> z%|lnh!l|A=h5b^bOO@uZI5?mv<$@~?jZz8y6GWaCcq`vqXnSuT2&K0j=0JD$ljF{K z3c>QZzZVdMHRg?=BYXm&6u(zWe|hoq0B<4V-d#vg z#*Kb#ZL2Wx>yx$fIV-#=Me4O%%&0NcKRj-lLc|H=eP04!=T9;u?*u}((@SF)y{+^e5}%oha*TQu zFjOdsd0=I~+^iNna&FZ6@o9D&dAnjSwQyJ5f;g)s^@>t*a>t+Rp@W z34Iy2JjWn*EwU^K7Os;jZkq5F-hl(ONnNlM_Oc-Fj1%h*rpPh$9(JO<&mP~}_GN(p zca~dZLKY5Y^G4v;N|p))X<2(Y*GoL5iUm4aqR8qwzC6tJp5U)}2z=Pwu>rM$s2wUvq^j`!!V) zm^`U3B*)JKgIN$f;`Gw|23GHfKn?y6tAtP;^`KcOARFVYsof(8;n&-AvWasp!b?Wxi$w;Xo zWt~ZQze%X{*E^DKh

=e`g#$A->{mrS2c0#}|bB(AgrA1xN?=z(uKR$iG2y+@{ek z=b_6cF7=~0bt3Q(`U*ui=p4kH>m;bXcYkBpLx<5D;>DT)MnWi~DNf{YW= zl(i9dd;~J4XG1^T($J89fn0pL?vt`e4V?!{mfoH<&ZO&NPy8|>IU1Uh3!Pp1VoL5w z?uz@$wcw4QcZvp5Qe!7sE4IpW5zG8&^&r}1&UVeU(9!H2wOV{tmPki?2R|Rh zD-rmiXX?(SE|s88HeK(LXE0B^0pw2WSq_anOO)P(3~X7!&_mtlD7eoLsQcW4)U}Q$ z3Kn;52fo=wmz>`4-)*&h}l!*`jvVeHp$R_YG!>a z8RlreQZVpng^1(G+vZ!acnbpn*woh0w)r6w6Pgh5k-i1wz(A5%8$z4GfQ+1W`JX$o+S_k{~TBc?d)H%>IP+Ment?naG3xyL4q@$~@ z!wK((o;1qZcf*-Kq?J|S9P6Y;H#mBCK+0hm z;y?bQn7IuE>jW8oess!|Dm?NiS?oFS#}7I2>%pMHe@ek?JY$0nXxUT&)I2nb?L-O^ zBk5*DaO{(O-2svx)+K+fzpJniIHH+`*2%nVrBF}s?2lXrq2ih}ZvZtu<)?g^_!!}b zF&9o)!YQ*FORzh0v@*g$DkZTDzDXZDr*sN7_m`tPdkn8rQi%Z1 z*Cf+gNM4gh19&>B+Z{>!#j2Gy2B(e%@n|;zViLG}LoQcA2K-7{0zcm{7M;1?iDV{L zt#0b&C{$Dd3|#?3e=k2N2XH5Y_rRHBz5KzKM;telL9(1GRHT;`oyOPnlNB2rS2nUdT7qV4v8@74?OkQ-5x)}8sSp%G?Av&p> zg3NwoU!=NLZPamKh<4kfEThyNE_>4ckXSoS*_X-QP zp6^0G_CCMMoNnleZtVr%fh}fmT5)oQtwuGLs4IU>^%19TwT)i+JEIJlkTifYK z`de&K_v4!EC7M^jvMI48{5i!PqGZQG{?+VyEfM$m- zL87{?q0%eR1rLCRU`trb6l5%s|MFEJhjnMY1m+g(2z@#)gzKm86)3y|-?crbfV8Z< zyrkN}pw9XWCzbz2U83?>hD@0XqSETmmF3akBc_^OSn_RI8O|gdv8&AJR!Ew_}+}~0i#Uc0Joa-V~gm0rj-z&K;Tjf)c z*YCR%p<6z5%Xmw*5vS&9a=jA-yTE=5F$;IXJV>5auD+15*69-{K$t>=39^r^ArYV3jS`d-K~k8s7DGc+ywq86LmcXQi;DI@4FtuGq*JKU+W39Km!5eHSk-u*C2HE zFt!3e@JK^G8o6m_5(RkyVXbkEBk-BXy{`~)80ip<@&ioXaDZC!R{1F8rhC0=)fLVX zwAYIf>6Xb@nKCfYwlLnvjSncHumQ49Jfuox1PXR*jSm)?R4o}XnR5F&`06~fAW5fx zVT=(I1*^atiTQB5M!)U`m#HDoLOx&USj(d&LP^}EOZ$spx_|6%CR4G#clw*akZ=U) z=nmkPf#>;<0zYZVE^!6249Jzj1eomZ{y3#?A|k431@g+fg6syTWIDSZV@crBI8aThnv$ z%%$2FBNOo+YX=hr@crcVqg`X4&xJOQS-gzx`H`W{mpwZ;f~|+1R3SrUC{O4)^g!mq z8e~+z$gCyqG?8%>es}yRmBNYc|K9N}mty@^Z|G5TkjHeO@FFboJ4I$ubbI=fh7Dt` zQl*QLR4#!PnjkPi>%Vl_vz7xx$H~?`gPh35P71Nyf)vU z^%mGo;QjpR7l~)nE&H#<_(&K0FybZtj>Zvo_a5IEjurcX9;0Vc8!@4tb;W1*kKdff_c| zOmY}rZ$92#Zx--(wjlq80n-MFXjuBliHq~FAf^LB3gq%E2PF0Zi2tJ=Qz zZj_DUk9|)^q^BNjG%wJi_lQ${{K7fiNtZT}_qgqp|53kJjQTp=WJ(3XHX`zna|>k8d8qT*R4;;9fXH)#!RaJjQX}u_T{gK&8u9K=b8O`Y9EOshbyrKv27eQ& zszuYMrXHDh4+oUHB!)pzpfk_0oUdaZJ6aR^VLVZ(1EEGzV$V{qE3a>_v1J?{XqUOW zqVDs&W{P0k^Qc9=5ffeAi25vDn%cjwpyxaz2cq8z?t7x)jGBCSiLgwx= z_xke$cD3T@g^I*567sDtnfnd=iRQNZ(hpUQ^oqrbr9|{hn(z+X0eQaNawvci%!WEu zXQ*#hd3j{_aBxL-g7g;T+c!wc*qXjD%85ttgsb(*D*1-3DNreN=#r(Z8#9xtlJL&L znEf}B%FZxs4X!zSgBa(>4Dyr+Sxr9#JHC@JhvxOZrT}FZXU}QEs}`lR=E5Bi3pQ$q zh}R!v2|o)5_|n@E`Gn}A#Xf1#@1q+lTY0;ar+`p|)URZ_QyqJ6o-2+2m&_M1Q!jqn{rD*F%igH>a#ntulo*m8`dQ(428HTcD%2jC@1v ziSu?<8k4i+{v&m=CRtMyzYsC(IK(YY5WvL|kxib-h&kt4Ng+jRYR+%FZosb_s(VFl zUFRNM4x&ngEY96Fb|TY6$bcIg?7g(k=BQT+O|E-A%*T`W%d(l}`kfqa~1pm=MV(+t0NM7HiwU=OQt)dqZ zv|l1*i^#^yQ>eHJt}k}U1_lm%mFa7@``GSK)eUYV*pPtMXIc{kdyTUX(f2fL7p-21 zh))D~?GchU!2-Q})bM4~o#7<+R$3iTVny-uvuA~O*1Iag1gc?rNn*QXS}m_Co1T_v z-6J1csMp_@uKNRu<_oDThOVgP`t!*9VTox`CW%Vb$f~Py3*b7J>*w7s_w@YW$@xkb zbcOLkR}?Gft=* zU0v}HBZAfeIt+@xkC43C_+TFMaz_;e)t-80g=0$7gYMJWaDD(bI#PCu?4mXQsnO?+ zCn&u^Rvoh6=bRuo35k4kA3H57MmfgGQ)xh&IMnwn(MUUlldGL;1oq-O_kLKsKbM)H z^cq>^&}wow>h$jn4-=M3zE6G6&A6L3Q6-b*$9jgUJi6a3$+$v9w-QZxwA7^4H;5O8 zF9pdO{@F)U;9Fjv=WO}hmJ@3KL5N%y-zl<6h4ZA-D@?ItjnBJ zYZvAUNy5AQuq_DxQg>7~>b+ah-)H++(yHNbxGSgiX6TqwuygjbHM}NV2iw?>cq3^^ zi?0*^$&w#^Z-hLdG<4WUNgK4nzwtrQeUV10zEU)WQqP8`&514EbRl+tAVFYbyk--5 zE_uVmpE8K3tDxf^Ki`IRoz|5;`mE!&LX&kw@!jcx*uLWJHbim@+)%3PfLJ~wX>knk ze2c>5A}NGC9NqEJv7N7D3tOXIW*=AkAMvu18di-)ZDbRBr?7{kxEXFdN`qfprGQT1KP+0&!?P(aXVZSy&goImLO67v7rtI#4j z8Ec*P)A?4*C#xmlO<~i@eZ;8I{6yALo1Nj=W>dOjK9Guy%vnOkjlJXP_tASo zPvFGa)Q#&_UFSN_v=M9&Qema(UDoNvllxW~M;+VgAc!j1lKV%fH+%ildg+#BWO4D+ z4{x)Y69i|B6>bpy%p!w60(~PD9i`k72*s+TSRY1etmx$(|8iqAcC_C*7!WAj4I&U7 z7p|I1I;v{W+R56wnan?ZEl^!_d;v0grGk~M!n_z{cr}RQ9yzBuLVNRyNpa?!r^g zN5(1gWLdaN^rvuA?UD5Tu(+7rdX8d9cGm(fF!^$j^VKANjTOXHCFf%13SXZ;WLJl+ z+(v(eG!9ns1MCi(?eDU8}vkZQT2y_6eom8}i*jP}%!R-}s3 zvQ?Fnr-lo{Dc;9V;J!#dWE=RlN%coz3oRIo9TQ>;5KHxqGb!)`|*6Ko#gC{ipn?mNKk7bppkJJ)sQ5L6&E zLX+lgB!943G`U|AiD)835f)lZ%72gKRVlGVM|bLEnclq`s61vR)wx_)131_8j#qx= ztyx1-G`koSbXD`*ed$<5Db5WU}=gYduFg&L|2C{!-qGsTSuu;Y$Q*b+dnWF-_V_<@ zb6chsX1GsxXpp9Es8Kw{;r;RG`)G2^Z>a2FD(QCo%rrBDC&wN<{JKOnTlB!|h&jBa zF%;8M&SicTvaX@)oT(u{9c?pY`bXz@nMdEBp&&JN>u)le(m7+ynVUJARR-$QTU6NY z`~iu@OKVa_>up?F+np&+ht@tBdS?5aG<8esMC-Qagg#q?<7-eS#+_Ysp5ydws4KBK zC!;2f8Zo9{&xM%eAH%d7O|Gnu9Y7oABPgVbXWay?@0 z91Q+kgEF3crt{m?q`a2B%$WqOUjw4z#7<3MlJ;?(oAmN#zMhrU-G8#b9KVt+PLa7o z^X2F7AOv_s*cmJrkz&`PjqL+G&_z~nE zeHGMRz*mhAs&kh7&Nyr$YE3VRXvMwRyO{gqbWqd-Q+>P2*rFou#ex-CV%l za6S(DaN#*teI!Nd6be;8UgP&yt)7$ODN5#jErYfXEDoo+e~|CElzQ7)wo-fAU~PPM zuZfZwmG;v|zw-hGWrCD#bc#unI$3NtD&py=5t)BeMT|Y48>Q~JX-09HnC*5o+KC}U8sn)#DFOJZy8EiH;q9veVpXP-JS;?6BKH< z4l{`5fq!3;W7vQ790)ID*7Xnm@z#@r<3H)RzSc#4%xJAwLzs=Vx=v)lyYTn#s+s=x zmDT*^th*;MmEoyUCr~H}p%p&uUdI$hsYyp$GJcMp&feTVxUSBgeus0LIn!^MvceL$ z-wC|%#_6kPng1fsd-~d>R6vx8q`E-+xd{yx0Xw34!TCIyMUg6Ai;_D!0+)07>u5d9i!(Si$f^zw@Ptj-`BeSE9C6PH44hpT$a4Pe}SM7P{Ts@~`+`Do% zY{g)`56l%$(&gG+SI00iYFFbY*~9#2-lbLHhxIFQeP-`g#%F38f|Z3yXklDW1+Lb_ zCC__$Y{fBU(ZIRpbJn{R&q-;Y1mfROdRnZS&jXYd-rS>|D|NexQ8nv2Zp5*7XNa#w zS-8!11xO2U0ko>MwQ^coS+4AprvR#x&a%E2{Y2oO{K% zkTb<0w#bv3VeTyjHM3vB=RYyUPrJDFDW+TT*6j3p+IH*NUm;IPr$smev(%R{;bfBZ zuZ6XEOCD;c*Q?fB&s-Pt!+yZ6=}YcDLv{7}PO)oMzKAnxj0g{=HM1{C6D_3(&I;aqXK*Hd2rT0!52T59l12-7-P660kSTJ61MjS@GtSz5W`OHFB9b1|Iz|01woDYbZO%;( zb~`6fJeB-l5Bgt>pPk?|q&PvTMs*P<+6^ZBnc~)ICua*;0|avmk8MHbeGZ135RtW= z9p`L;#mYZa@Obml{vc+s9^t|>><;w;#b~4r5Bv-#_}i9=@F2mf%}1FM{8(;AhVlXX z=-c7>|6y=m*vwYwew*MntHeK+vF34=3%+Z{hvbrE5mBTtCY~e}IMuz{(_2C^*-bDu zi@p`p6mBK;2LNeb?+0}1!JyWFW{5XVrI(Qei6@hzbFtf#5}d97!|~(pqXvmNo~GWq z?#c}JdF4(f`X_7s?eX({9PvLw9}$UKtV&c@ys;&Cqq5hLw)J1R!tFmpOSaNK1Zq^` z^!8P$PCiKncyY$uY9xzo1Gr1`8=c|uRcSuna%L{W_6bP}!H7;`vJ1IuL^KZP@p{r1 z-h~%C_54BczG+m%Y9MsJzB}X|RaF~;LV9c6(@j^KQtKN@WwzO$Z+Eujv6Q_&w+@yC z^*I0K`^&#R6KXvxU%Bh{yfs6Uy_$iwRitTTM65gFyNFYl{YQJ5aSr)k zsJ|p@^?FSAP=7#KAk8VYk0UlrQ^)*41Zw3ms*_C`71d=G-eL9HSIu*|!~2dO;GMXY zQ?M6J-^;(xeT2M(XB+hYm)cqltHfef5gdD|py?0zJf^V}U}#8J@Y;3VYDw?J?@SuG z6>+H#luxv2`s!=d*%*BT1k^@X3dg9&zKR#XG<8nH*2kOJ@Vb<}&ZN3>e)l^epdk-C z9gn}CH^H*^rOi=N>osmqC4ydQLDWG%(abfj>M3auVRqN+F+D_YRG6kNX?uK%SXuBm zJq3$nB-FHtAy1LIyn18!rIhtJ)Vt6L)7Yx>l;pFEK#I^jUzS`-3qyBZnIl_fXth`db;@?0Z;>H2adq>iYWOX)47u)t^Wy2S`6|Ys9VES8BOQ0ZI z#OjMll7FIXiPMJ0XH}lJQ#DLGeeZ5}Ptd6hTW#Z`HJ!&4bywVd-k4=ZRl1|BW+JDt ztW#%W@EKY`ZS;W=9aYmA?BqWEUH{g8@|;_8&gMPn7I*do?si1(X+P!h`d}r{WwyD` zUtUVpD6yb!yrW#?BBxOiYu_4!y!Gc|{>G5ogSatdC*{V3xY~d0lB4UfG9V6$mh-vi0;fIusRs2Vv0a1**_sZu)ubwsI2dm%oIa$74-zSV6K#5qn>)-2_b&89J__Xj6xpF(s)^6I7?%_3N0>i(%LWFcQeM4R|ByG zmeDs4u=}_T$XiEg4*QMjOne&F809;Q+;@^K$4L6SBtDeB>SD8 zhv2kmJnHT%g`4^`EE^R&9o@gkvZg}*h0XUO-MZ$3{=<;Vqdvp)Zq1NoI*uy@{72lwqG18;)qhlZo|jIM`E;B*-}s6>qQc!7M+}5 zfWa*(a`N3D5Vl^bh;;sK~)k%_00bENm8n=bHA4I3kjo(31fe|N#x z^c!=vT&gH*o9R|);zey(Up&t#5Gk? zVvvW&vpcMJFNXRIu`iNSIjUKwta?ML1pIz$RCpv z;|`VpMV%Zd!;5A}+xNygrEwb`{LbyF_4YLzdi-?=Qb(colndyRV=$OPZnN$jF+jhX z1c9fWp#f8(`fgw7bEB)4{b0SHyZ%cO5um*HFY^)VP0+b_pT4{;u~zTwT}aV$KPTuo zmYgG2=x>Hd$JTB3_n0}6{LDkEt9LKgk|6A_Q%M!w*mzK8Ghjrd1$2Hw*2>4Emxf!Z zk4Po}*JMgeS; zC!b8+;$}efsfs1ODu0kK@@_&a4!SZBWuZ7#Cy_Uji4f>hWSJpz08yoS50D>EWa)+% z^1uHrkc1BWQh;-?oKNCHienV&eAAfT+?TCaP6{@JS%&;(UBX&{%yh0EwmsRa-JDlL z^mT;#tIBYC*;N6{1PGJ>fvQrHEh2`GWlX-(s9N9LM{e_?hS2+xEtLo9>pHm@nay=( z28DovnoJ979Vg8gEoL#rg|1hE772n(phHlPdPT~JgG_ZO8n34gKl1v{su8dosHSkr zm}y{BfyC+eYX#Z@uN~E4YOWsn+PXtt5Y`g-e3R1I<4XlF#flekIl#vk5@i1pDxb zLGJaHv!5Q3@H+^dr|+#9Dq^BVeC7UsGrL%`|8R1Sb!$YaeV@HS4%9?V-uL^c5P3pki>?t@+Yj>lkr{3m zYDUXIs-2FG()F_tL?Eob@Pd89w=Y{m!UXHC4VPO8Iv|1FZPmtxF1F_nu8Lt3YY}?; zM_o)5y+w)=vk~fMJ3c=d;w+lm>he_}1M>hmtm2jxJA;P+MNK{sX@pc&j*#7e=C6hH zl)2BanDLfW@@n<|H$X7NUCmAU zJBo`|DO9xUTux=xM%DlRPG+Nb+&bohG@!(L>J0Wm_ zSY$O%xnH$!`Y@$-0sPQ-#X)Z#;zHTpkNc(mrW|u&JK$>rl zum=tE?4_TV%*HUqQ^l+xs7}~}Zt(UyB@k`yUifqq!avzp4V+qe+x$;Eg}4>W(uTG} z(`;CdMSIMTc+UI!DL6x^4_k42WmV=SNHhk=;jrA#nQ}&yRX&F_MyB~I#NUU$23`_) zBVboKjP{Kx(2?2*HZb9C!(h7~5xqKV6D{1zxzy{*gbRh(pVedSakAD36;d39 zxEW#?hBQ_64Z=RsR*h~Io^_h~1ZWtaj*d2IIwFD9Km_x?T4nh$2@m3m&c{lPH`Qxt ztgiT+3R_$19R%MtI@Zdq1cMQ|8&@20jC|G+U~#)Tx_LGu6*0NAd?7)0K0Thi>QQXtMVLz-{mn~Nl{$XIERi(_|N z@lX){WL=Fta4LZ!FI$Rm^FBmP(K>V%oQDUc!p0MeSr`ZlMWJLji`ir$mvMJJ#U7-z zIQjXYA*>dK!cz3y=v@Cg;4&xm(a4ehK@T$~8u3=J=__!w%a{dDEv%!n=*`U%ST`uw zP+d0AE;j5k1q}_7yViZvU0xO$`0N0aW-ik+2x6l;HP=%g`(y9xcwk%^dN8^4oi&m??Y?CR!iL(~g-mahW6DNcmoLH;I1(6OHJV ztsSvRh0OQ}?e1{I6!){cG0{dyxwK8w7Ul>f@XGNr!<4jh79_BdP+qFvaYKU4U;=&@ z8S8S9ZYF_^LdsQViwsQ>iH&RCqN;kIchLZ)iV(YETAMFig#36pM%BE>uXb<>G0}el z{`_U5*mg1l3BMFlHFK!tk*>(8iO>)?Zj*HnM)BJ=58L1?4xO~YpFx|y{cW;%Lhv0) zQrLDHQ+a^X2*VqNn6ECnN12D;S@#w&Aw+!y{Qbc`9vHrNLQ6tvY zQYiq5&$V~^z@33GgXCTLSYkN!>}!gm7L0)GR+;9FWCoIo^1-0yX9L4J7L5i9O`F!! z?@NLXkAHL`<xtb+S?v!{^XOL4)R=x@Wjr7YgY-crMu;YGuI!IV)%+A@vcz%+DH)Rs}*9 zymWp&nUM?S@{ctS)$Q}X;F1RTE?@h%1_wCRBBQan0M}PE&BS2rp~5c4DYv5nIf(Ef z>^O~S>(?WyKxzErjqX≥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 literal 0 HcmV?d00001 diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/AccountSelection.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/AccountSelection.tsx new file mode 100644 index 0000000000..bf0aa40003 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/AccountSelection.tsx @@ -0,0 +1,73 @@ +import * as RadioGroup from '@radix-ui/react-radio-group'; + +import { IRelayPKP } from '@lit-protocol/types'; +import { useState } from 'react'; + +interface AccountSelectionProp { + accounts: IRelayPKP[]; + setCurrentAccount: any; + error?: Error; +} + +export default function AccountSelection({ + accounts, + setCurrentAccount, + error, +}: AccountSelectionProp) { + const [selectedValue, setSelectedValue] = useState('0'); + + async function handleSubmit(event: any) { + event.preventDefault(); + const account = accounts[parseInt(selectedValue)]; + return setCurrentAccount(account); + } + + return ( +

+
+ {error && ( +
+

{error.message}

+
+ )} +

Choose your account

+

Continue with one of your accounts.

+
+ + {accounts.map((account, index) => ( +
+ + {' '} + + + +
+ ))} +
+ +
+
+
+ ); +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/AuthMethods.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/AuthMethods.tsx new file mode 100644 index 0000000000..46438c642d --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/AuthMethods.tsx @@ -0,0 +1,138 @@ +import Image from 'next/image'; + +interface AuthMethodsProps { + handleGoogleLogin: () => Promise; + handleDiscordLogin: () => Promise; + setView: React.Dispatch>; +} + +const AuthMethods = ({ + handleGoogleLogin, + handleDiscordLogin, + setView, +}: AuthMethodsProps) => { + return ( + <> +
+
+ + + {/* */} +
+ + + + +
+ + ); +}; + +export default AuthMethods; diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/CreateAccount.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/CreateAccount.tsx new file mode 100644 index 0000000000..164eafbbb1 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/CreateAccount.tsx @@ -0,0 +1,28 @@ +interface CreateAccountProp { + signUp: any; + error?: Error; +} + +export default function CreateAccount({ signUp, error }: CreateAccountProp) { + return ( +
+
+ {error && ( +
+

{error.message}

+
+ )} +

Need a PKP?

+

+ There doesn't seem to be a Lit wallet associated with your + credentials. Create one today. +

+
+ +
+
+
+ ); +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/Dashboard.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/Dashboard.tsx new file mode 100644 index 0000000000..4d25f469ef --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/Dashboard.tsx @@ -0,0 +1,103 @@ +import { AuthMethod, IRelayPKP, SessionSigs } from '@lit-protocol/types'; +import { ethers } from 'ethers'; +import { useState } from 'react'; +import { PKPEthersWallet } from '@lit-protocol/pkp-ethers'; +import { useRouter } from 'next/router'; +import { useDisconnect } from 'wagmi'; +import { AuthMethodType } from '@lit-protocol/constants'; + +interface DashboardProps { + currentAccount: IRelayPKP; + sessionSigs: SessionSigs; +} + +export default function Dashboard({ + currentAccount, + sessionSigs, +}: DashboardProps) { + const [message, setMessage] = useState('Free the web!'); + const [signature, setSignature] = useState(); + const [recoveredAddress, setRecoveredAddress] = useState(); + const [verified, setVerified] = useState(false); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(); + + const { disconnectAsync } = useDisconnect(); + const router = useRouter(); + + /** + * Sign a message with current PKP + */ + async function signMessageWithPKP() { + setLoading(true); + + try { + const pkpWallet = new PKPEthersWallet({ + controllerSessionSigs: sessionSigs, + pkpPubKey: currentAccount.publicKey, + }); + await pkpWallet.init(); + + const signature = await pkpWallet.signMessage(message); + setSignature(signature); + + // Get the address associated with the signature created by signing the message + const recoveredAddr = ethers.utils.verifyMessage(message, signature); + setRecoveredAddress(recoveredAddr); + + // Check if the address associated with the signature is the same as the current PKP + const verified = + currentAccount.ethAddress.toLowerCase() === recoveredAddr.toLowerCase(); + setVerified(verified); + } catch (err) { + console.error(err); + setError(err); + } + + setLoading(false); + } + + async function handleLogout() { + try { + await disconnectAsync(); + } catch (err) {} + localStorage.removeItem('lit-wallet-sig'); + router.reload(); + } + + return ( +
+
+ +
+

Ready for the open web

+
+

My address: {currentAccount.ethAddress.toLowerCase()}

+
+
+
+

Test out your wallet by signing this message:

+

{message}

+ +
+
+ ); +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/EmailSMSAuth.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/EmailSMSAuth.tsx new file mode 100644 index 0000000000..5e505d1ffd --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/EmailSMSAuth.tsx @@ -0,0 +1,123 @@ +import { useState } from 'react'; + +import { sendOTPCode } from '../utils/lit'; + +type OtpMethod = 'email' | 'phone'; +type OtpStep = 'submit' | 'verify'; + +interface EmailSMSAuthProps { + method: OtpMethod; + setView: React.Dispatch>; + authWithOTP: any; +} + +const EmailSMSAuth = ({ method, setView, authWithOTP }: EmailSMSAuthProps) => { + const [step, setStep] = useState('submit'); + const [userId, setUserId] = useState(''); + const [code, setCode] = useState(''); + const [sendLoading, setSendLoading] = useState(false); + const [sendError, setSendError] = useState(); + + async function handleSendCode(event: any) { + event.preventDefault(); + setSendLoading(true); + setSendError(undefined); + try { + await sendOTPCode(userId); + setStep('verify'); + } catch (err) { + setSendError(err); + } finally { + setSendLoading(false); + } + } + + async function handleAuth(event: any) { + event.preventDefault(); + setSendLoading(false); + setSendError(undefined); + await authWithOTP(code); + } + + return ( + <> + {step === 'submit' && ( + <> + {sendError && ( +
+

{sendError.message}

+
+ )} +

Enter your {method}

+

A verification code will be sent to your {method}.

+
+
+ + setUserId(e.target.value)} + type={method === 'email' ? 'email' : 'tel'} + name={method} + className="form__input" + placeholder={ + method === 'email' ? 'Your email' : 'Your phone number' + } + autoComplete="off" + > + + +
+
+ + )} + {step === 'verify' && ( + <> +

Check your {method}

+

Enter the 6-digit verification code to {userId}

+
+
+ + setCode(e.target.value)} + type="code" + name="code" + className="form__input" + placeholder="Verification code" + autoComplete="off" + > + + +
+
+ + )} + + ); +}; + +export default EmailSMSAuth; diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/Loading.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/Loading.tsx new file mode 100644 index 0000000000..80cb463639 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/Loading.tsx @@ -0,0 +1,22 @@ +interface LoadingProps { + copy: string; + error?: Error; +} + +export default function Loading({ copy, error }: LoadingProps) { + return ( +
+
+ {error && ( +
+

{error.message}

+
+ )} +
+
+

{copy}

+
+
+
+ ); +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/LoginMethods.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/LoginMethods.tsx new file mode 100644 index 0000000000..35e11694a1 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/LoginMethods.tsx @@ -0,0 +1,91 @@ +import { useState } from 'react'; + +import AuthMethods from './AuthMethods'; +import EmailSMSAuth from './EmailSMSAuth'; +import WalletMethods from './WalletMethods'; +import WebAuthn from './WebAuthn'; +import StytchOTP from './StytchOTP'; + +interface LoginProps { + handleGoogleLogin: () => Promise; + handleDiscordLogin: () => Promise; + authWithEthWallet: any; + authWithOTP: any; + authWithWebAuthn: any; + authWithStytch: any; + signUp: any; + error?: Error; +} + +type AuthView = 'default' | 'email' | 'phone' | 'wallet' | 'webauthn'; + +export default function LoginMethods({ + handleGoogleLogin, + handleDiscordLogin, + authWithEthWallet, + authWithOTP, + authWithWebAuthn, + authWithStytch, + signUp, + error, +}: LoginProps) { + const [view, setView] = useState('default'); + + return ( +
+
+ {error && ( +
+

{error.message}

+
+ )} + {view === 'default' && ( + <> +

Welcome back

+

Access your Lit wallet.

+ +
+ +
+ + )} + {view === 'email' && ( + + )} + {/* {view === 'phone' && ( + + )} */} + {view === 'phone' && ( + + )} + {view === 'wallet' && ( + + )} + {view === 'webauthn' && ( + + )} +
+
+ ); +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/SignUpMethods.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/SignUpMethods.tsx new file mode 100644 index 0000000000..8cb51741f9 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/SignUpMethods.tsx @@ -0,0 +1,102 @@ +import { useState } from 'react'; + +import AuthMethods from './AuthMethods'; +import EmailSMSAuth from './EmailSMSAuth'; +import WalletMethods from './WalletMethods'; +import WebAuthn from './WebAuthn'; +import StytchOTP from './StytchOTP'; + +interface SignUpProps { + handleGoogleLogin: () => Promise; + handleDiscordLogin: () => Promise; + authWithEthWallet: any; + authWithOTP: any; + registerWithWebAuthn: any; + authWithWebAuthn: any; + authWithStytch: any; + goToLogin: any; + error?: Error; +} + +type AuthView = 'default' | 'email' | 'phone' | 'wallet' | 'webauthn'; + +export default function SignUpMethods({ + handleGoogleLogin, + handleDiscordLogin, + authWithEthWallet, + authWithOTP, + registerWithWebAuthn, + authWithWebAuthn, + authWithStytch, + goToLogin, + error, +}: SignUpProps) { + const [view, setView] = useState('default'); + + return ( +
+
+ {error && ( +
+

{error.message}

+
+ )} + {view === 'default' && ( + <> +

Get started

+

+ Create a wallet that is secured by accounts you already have. With + Lit-powered MPC wallets, you won't have to worry about seed + phrases or browser extensions. +

+ +
+ +
+ + )} + {view === 'email' && ( + + )} + {/* {view === 'phone' && ( + + )} */} + {view === 'phone' && ( + + )} + {view === 'wallet' && ( + + )} + {view === 'webauthn' && ( + + )} +
+
+ ); +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/StytchOTP.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/StytchOTP.tsx new file mode 100644 index 0000000000..d3f83099fc --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/StytchOTP.tsx @@ -0,0 +1,134 @@ +import { useCallback, useState } from 'react'; +import { useStytch } from '@stytch/nextjs'; + +interface StytchOTPProps { + authWithStytch: any; + setView: React.Dispatch>; +} + +type OtpStep = 'submit' | 'verify'; + +/** + * One-time passcodes can be sent via phone number through Stytch + */ +const StytchOTP = ({ authWithStytch, setView }: StytchOTPProps) => { + const [step, setStep] = useState('submit'); + const [phoneNumber, setPhoneNumber] = useState(''); + const [methodId, setMethodId] = useState(''); + const [code, setCode] = useState(''); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(); + + const stytchClient = useStytch(); + + async function sendPasscode(event: any) { + event.preventDefault(); + setLoading(true); + setError(undefined); + try { + const response = await stytchClient.otps.sms.loginOrCreate(phoneNumber); + setMethodId(response.method_id); + setStep('verify'); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + } + + async function authenticate(event: any) { + event.preventDefault(); + setLoading(true); + setError(undefined); + try { + const response = await stytchClient.otps.authenticate(code, methodId, { + session_duration_minutes: 60, + }); + await authWithStytch(response.session_jwt, response.user_id); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + } + + return ( + <> + {step === 'submit' && ( + <> + {error && ( +
+

{error.message}

+
+ )} +

Enter your phone number

+

A verification code will be sent to your phone number.

+
+
+ + setPhoneNumber(e.target.value)} + type="tel" + name="phone number" + className="form__input" + placeholder="Your phone number" + autoComplete="off" + > + + +
+
+ + )} + {step === 'verify' && ( + <> +

Check your phone

+

Enter the 6-digit verification code to {phoneNumber}

+
+
+ + setCode(e.target.value)} + type="code" + name="code" + className="form__input" + placeholder="Verification code" + autoComplete="off" + > + + +
+
+ + )} + + ); +}; + +export default StytchOTP; diff --git a/apps/demo-pkp-social-auth-next-ts/src/components/WebAuthn.tsx b/apps/demo-pkp-social-auth-next-ts/src/components/WebAuthn.tsx new file mode 100644 index 0000000000..dc1c870838 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/components/WebAuthn.tsx @@ -0,0 +1,105 @@ +import { useState } from 'react'; +import { registerWebAuthn } from '../utils/lit'; + +type WebAuthnStep = 'register' | 'authenticate'; + +interface WebAuthnProps { + start: WebAuthnStep; + authWithWebAuthn: any; + setView: React.Dispatch>; + registerWithWebAuthn?: any; +} + +export default function WebAuthn({ + start, + authWithWebAuthn, + setView, + registerWithWebAuthn, +}: WebAuthnProps) { + const [loading, setLoading] = useState(false); + const [error, setError] = useState(); + const [step, setStep] = useState(start); + + async function handleRegister() { + setError(undefined); + setLoading(true); + try { + await registerWithWebAuthn(); + setStep('authenticate'); + } catch (err) { + console.error(err); + setError(err); + } + setLoading(false); + } + + if (loading) { + return ( + <> + {error && ( +
+

{error.message}

+
+ )} +
+
+

Follow the prompts to continue...

+
+ + ); + } + + return ( + <> + {error && ( +
+

{error.message}

+
+ )} + {step === 'register' && ( + <> +

Register with an authenticator

+

WebAuthn credentials enable simple and secure passwordless authentication.

+
+ + +
+ + )} + {step === 'authenticate' && ( + <> +

Authenticate with your authenticator

+

Sign in using your authenticator.

+
+ + +
+ + )} + + ); +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/hooks/useAccounts.ts b/apps/demo-pkp-social-auth-next-ts/src/hooks/useAccounts.ts new file mode 100644 index 0000000000..5ebe2cc199 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/hooks/useAccounts.ts @@ -0,0 +1,67 @@ +import { useCallback, useState } from 'react'; +import { AuthMethod } from '@lit-protocol/types'; +import { getPKPs, mintPKP } from '../utils/lit'; +import { IRelayPKP } from '@lit-protocol/types'; + +export default function useAccounts() { + const [accounts, setAccounts] = useState([]); + const [currentAccount, setCurrentAccount] = useState(); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(); + + /** + * Fetch PKPs tied to given auth method + */ + const fetchAccounts = useCallback( + async (authMethod: AuthMethod): Promise => { + setLoading(true); + setError(undefined); + try { + // Fetch PKPs tied to given auth method + const myPKPs = await getPKPs(authMethod); + // console.log('fetchAccounts pkps: ', myPKPs); + setAccounts(myPKPs); + // If only one PKP, set as current account + if (myPKPs.length === 1) { + setCurrentAccount(myPKPs[0]); + } + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, + [] + ); + + /** + * Mint a new PKP for current auth method + */ + const createAccount = useCallback( + async (authMethod: AuthMethod): Promise => { + setLoading(true); + setError(undefined); + try { + const newPKP = await mintPKP(authMethod); + // console.log('createAccount pkp: ', newPKP); + setAccounts(prev => [...prev, newPKP]); + setCurrentAccount(newPKP); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, + [] + ); + + return { + fetchAccounts, + createAccount, + setCurrentAccount, + accounts, + currentAccount, + loading, + error, + }; +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/hooks/useAuthenticate.ts b/apps/demo-pkp-social-auth-next-ts/src/hooks/useAuthenticate.ts new file mode 100644 index 0000000000..72aa5bdb32 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/hooks/useAuthenticate.ts @@ -0,0 +1,186 @@ +import { useCallback, useEffect, useState } from 'react'; +import { + isSignInRedirect, + getProviderFromUrl, +} from '@lit-protocol/lit-auth-client'; +import { AuthMethod } from '@lit-protocol/types'; +import { + authenticateWithGoogle, + authenticateWithDiscord, + authenticateWithEthWallet, + authenticateWithWebAuthn, + authenticateWithOTP, + authenticateWithStytch, +} from '../utils/lit'; +import { useConnect } from 'wagmi'; + +export default function useAuthenticate(redirectUri?: string) { + const [authMethod, setAuthMethod] = useState(); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(); + + // wagmi hook + const { connectAsync } = useConnect({ + onError: (err: unknown) => { + setError(err as Error); + }, + }); + + /** + * Handle redirect from Google OAuth + */ + const authWithGoogle = useCallback(async (): Promise => { + setLoading(true); + setError(undefined); + setAuthMethod(undefined); + + try { + const result: AuthMethod = (await authenticateWithGoogle( + redirectUri as any + )) as any; + setAuthMethod(result); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, [redirectUri]); + + /** + * Handle redirect from Discord OAuth + */ + const authWithDiscord = useCallback(async (): Promise => { + setLoading(true); + setError(undefined); + setAuthMethod(undefined); + + try { + const result: AuthMethod = (await authenticateWithDiscord( + redirectUri as any + )) as any; + setAuthMethod(result); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, [redirectUri]); + + /** + * Authenticate with Ethereum wallet + */ + const authWithEthWallet = useCallback( + async (connector: any): Promise => { + setLoading(true); + setError(undefined); + setAuthMethod(undefined); + + try { + const { account, connector: activeConnector } = await connectAsync( + connector + ); + const signer = await activeConnector.getSigner(); + const signMessage = async (message: string) => { + const sig = await signer.signMessage(message); + return sig; + }; + const result: AuthMethod = await authenticateWithEthWallet( + account, + signMessage + ); + setAuthMethod(result); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, + [connectAsync] + ); + + /** + * Authenticate with WebAuthn credential + */ + const authWithWebAuthn = useCallback( + async (username?: string): Promise => { + setLoading(true); + setError(undefined); + setAuthMethod(undefined); + + try { + const result: AuthMethod = await authenticateWithWebAuthn(); + setAuthMethod(result); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, + [] + ); + + /** + * Authenticate with OTP + */ + const authWithOTP = useCallback(async (code: string): Promise => { + setLoading(true); + setError(undefined); + setAuthMethod(undefined); + + try { + const result: AuthMethod = (await authenticateWithOTP(code)) as any; + setAuthMethod(result); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, []); + + /** + * Authenticate with Stytch + */ + const authWithStytch = useCallback( + async (accessToken: string, userId?: string): Promise => { + setLoading(true); + setError(undefined); + setAuthMethod(undefined); + + try { + const result: AuthMethod = (await authenticateWithStytch( + accessToken, + userId + )) as any; + setAuthMethod(result); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, + [] + ); + + useEffect(() => { + // Check if user is redirected from social login + if (redirectUri && isSignInRedirect(redirectUri)) { + // If redirected, authenticate with social provider + const providerName = getProviderFromUrl(); + if (providerName === 'google') { + authWithGoogle(); + } else if (providerName === 'discord') { + authWithDiscord(); + } + } + }, [redirectUri, authWithGoogle, authWithDiscord]); + + return { + authWithEthWallet, + authWithWebAuthn, + authWithOTP, + authWithStytch, + authMethod, + loading, + error, + }; +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/hooks/useIsMounted.ts b/apps/demo-pkp-social-auth-next-ts/src/hooks/useIsMounted.ts new file mode 100644 index 0000000000..436287702d --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/hooks/useIsMounted.ts @@ -0,0 +1,9 @@ +import { useEffect, useState } from 'react'; + +export const useIsMounted = () => { + const [mounted, setMounted] = useState(false); + + useEffect(() => setMounted(true), []); + + return mounted; +}; diff --git a/apps/demo-pkp-social-auth-next-ts/src/hooks/useSession.ts b/apps/demo-pkp-social-auth-next-ts/src/hooks/useSession.ts new file mode 100644 index 0000000000..eb36b159b6 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/hooks/useSession.ts @@ -0,0 +1,60 @@ +import { useCallback, useState } from 'react'; +import { AuthMethod } from '@lit-protocol/types'; +import { getSessionSigs } from '../utils/lit'; +import { LitAbility, LitActionResource } from '@lit-protocol/auth-helpers'; +import { IRelayPKP } from '@lit-protocol/types'; +import { SessionSigs } from '@lit-protocol/types'; + +export default function useSession() { + const [sessionSigs, setSessionSigs] = useState(); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(); + + /** + * Generate session sigs and store new session data + */ + const initSession = useCallback( + async (authMethod: AuthMethod, pkp: IRelayPKP): Promise => { + setLoading(true); + setError(undefined); + try { + // Prepare session sigs params + const chain = 'ethereum'; + const resourceAbilities = [ + { + resource: new LitActionResource('*'), + ability: LitAbility.PKPSigning, + }, + ]; + const expiration = new Date( + Date.now() + 1000 * 60 * 60 * 24 * 7 + ).toISOString(); // 1 week + + // Generate session sigs + const sessionSigs = await getSessionSigs({ + pkpPublicKey: pkp.publicKey, + authMethod, + sessionSigsParams: { + chain, + expiration, + resourceAbilityRequests: resourceAbilities, + }, + }); + + setSessionSigs(sessionSigs); + } catch (err) { + setError(err); + } finally { + setLoading(false); + } + }, + [] + ); + + return { + initSession, + sessionSigs, + loading, + error, + }; +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/pages/_app.tsx b/apps/demo-pkp-social-auth-next-ts/src/pages/_app.tsx index 7206f1d96b..1ed32d2b76 100644 --- a/apps/demo-pkp-social-auth-next-ts/src/pages/_app.tsx +++ b/apps/demo-pkp-social-auth-next-ts/src/pages/_app.tsx @@ -1,84 +1,52 @@ import { AppProps } from 'next/app'; import '../styles/globals.css'; -import { WagmiConfig, createClient, configureChains, mainnet } from 'wagmi'; -import { alchemyProvider } from 'wagmi/providers/alchemy'; +import { WagmiConfig, createClient, configureChains } from 'wagmi'; +import { goerli, mainnet, optimism } from 'wagmi/chains'; import { publicProvider } from 'wagmi/providers/public'; import { CoinbaseWalletConnector } from 'wagmi/connectors/coinbaseWallet'; import { MetaMaskConnector } from 'wagmi/connectors/metaMask'; -import { WalletConnectConnector } from 'wagmi/connectors/walletConnect'; -import { jsonRpcProvider } from 'wagmi/providers/jsonRpc'; -import { Chain } from 'wagmi/chains'; - -const chronicleChain: Chain = { - id: 175177, - name: 'Chronicle', - network: 'chronicle', - // iconUrl: 'https://example.com/icon.svg', - // iconBackground: '#fff', - nativeCurrency: { - decimals: 18, - name: 'Chronicle - Lit Protocol Testnet', - symbol: 'LIT', - }, - rpcUrls: { - default: { - http: ['https://chain-rpc.litprotocol.com/http'], - }, - public: { - http: ['https://chain-rpc.litprotocol.com/http'], - }, - }, - blockExplorers: { - default: { - name: 'Chronicle - Lit Protocol Testnet', - url: 'https://chain.litprotocol.com', - }, - }, - testnet: true, -}; +import { StytchProvider } from '@stytch/nextjs'; +import { createStytchUIClient } from '@stytch/nextjs/ui'; +import { Albert_Sans } from 'next/font/google'; const { provider, chains } = configureChains( - [chronicleChain], - [ - jsonRpcProvider({ - rpc: chain => ({ http: chain.rpcUrls.default.http[0] }), - }), - ] + [mainnet, goerli, optimism], + [publicProvider()] ); -// const { chains, provider, webSocketProvider } = configureChains( -// [mainnet], -// [ -// alchemyProvider({ apiKey: 'onvoLvV97DDoLkAmdi0Cj7sxvfglKqDh' }), -// publicProvider(), -// ] -// ); - const client = createClient({ - autoConnect: true, + autoConnect: false, connectors: [ - new MetaMaskConnector({ chains }), + new MetaMaskConnector({ + chains, + options: { + UNSTABLE_shimOnConnectSelectAccount: true, + }, + }), new CoinbaseWalletConnector({ chains, options: { appName: 'wagmi', }, }), - // new WalletConnectConnector({ - // chains, - // options: { - // projectId: process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID, - // }, - // }), ], provider, - // webSocketProvider, }); +const stytch = createStytchUIClient( + process.env.NEXT_PUBLIC_STYTCH_PUBLIC_TOKEN || '' +); + +const font = Albert_Sans({ subsets: ['latin'] }); + export default function MyApp({ Component, pageProps }: AppProps) { return ( - - - + + +
+ +
+
+
); } diff --git a/apps/demo-pkp-social-auth-next-ts/src/pages/index.tsx b/apps/demo-pkp-social-auth-next-ts/src/pages/index.tsx index 6ab0230db1..62afe0f1fe 100644 --- a/apps/demo-pkp-social-auth-next-ts/src/pages/index.tsx +++ b/apps/demo-pkp-social-auth-next-ts/src/pages/index.tsx @@ -1,631 +1,110 @@ -import Head from 'next/head'; -import { Inter } from 'next/font/google'; -import { useCallback, useEffect, useState } from 'react'; -import { LitNodeClient } from '@lit-protocol/lit-node-client'; -import { - LitAuthClient, - BaseProvider, - GoogleProvider, - DiscordProvider, - EthWalletProvider, - WebAuthnProvider, - isSignInRedirect, - getProviderFromUrl, -} from '@lit-protocol/lit-auth-client'; -import { IRelayPKP, AuthMethod, SessionSigs } from '@lit-protocol/types'; -import { ProviderType } from '@lit-protocol/constants'; -import { ethers } from 'ethers'; +import { useEffect } from 'react'; import { useRouter } from 'next/router'; -import { useConnect, useAccount, useDisconnect, Connector } from 'wagmi'; -import {newSessionCapabilityObject, LitAccessControlConditionResource, LitAbility} from '@lit-protocol/auth-helpers'; - -const inter = Inter({ subsets: ['latin'] }); - -// Local dev only: When using npm link, need to update encryption pkg to handle possible ipfs client init error -// let ipfsClient = null; -// try { -// ipfsClient = require("ipfs-http-client"); -// } catch {} - -enum Views { - SIGN_IN = 'sign_in', - HANDLE_REDIRECT = 'handle_redirect', - REQUEST_AUTHSIG = 'request_authsig', - REGISTERING = 'webauthn_registering', - REGISTERED = 'webauthn_registered', - AUTHENTICATING = 'webauthn_authenticating', - FETCHING = 'fetching', - FETCHED = 'fetched', - MINTING = 'minting', - MINTED = 'minted', - CREATING_SESSION = 'creating_session', - SESSION_CREATED = 'session_created', - ERROR = 'error', -} - -export default function Dashboard() { - const redirectUri = 'http://localhost:3000'; - +import useAuthenticate from '../hooks/useAuthenticate'; +import useSession from '../hooks/useSession'; +import useAccounts from '../hooks/useAccounts'; +import { + ORIGIN, + registerWebAuthn, + signInWithDiscord, + signInWithGoogle, +} from '../utils/lit'; +import { AuthMethodType } from '@lit-protocol/constants'; +import SignUpMethods from '../components/SignUpMethods'; +import Dashboard from '../components/Dashboard'; +import Loading from '../components/Loading'; + +export default function SignUpView() { + const redirectUri = ORIGIN; + + const { + authMethod, + authWithEthWallet, + authWithOTP, + authWithWebAuthn, + authWithStytch, + loading: authLoading, + error: authError, + } = useAuthenticate(redirectUri); + const { + createAccount, + setCurrentAccount, + currentAccount, + loading: accountsLoading, + error: accountsError, + } = useAccounts(); + const { + initSession, + sessionSigs, + loading: sessionLoading, + error: sessionError, + } = useSession(); const router = useRouter(); - const [view, setView] = useState(Views.SIGN_IN); - const [error, setError] = useState(); - - const [litAuthClient, setLitAuthClient] = useState(); - const [litNodeClient, setLitNodeClient] = useState(); - const [currentProviderType, setCurrentProviderType] = - useState(); - const [authMethod, setAuthMethod] = useState(); - const [pkps, setPKPs] = useState([]); - const [currentPKP, setCurrentPKP] = useState(); - const [sessionSigs, setSessionSigs] = useState(); - - const [message, setMessage] = useState('Free the web!'); - const [signature, setSignature] = useState(); - const [recoveredAddress, setRecoveredAddress] = useState(); - const [verified, setVerified] = useState(false); - - // Use wagmi to connect one's eth wallet - const { connectAsync, connectors } = useConnect({ - onError(error) { - console.error(error); - setError(error); - }, - }); - const { isConnected, connector, address } = useAccount(); - const { disconnectAsync } = useDisconnect(); - - /** - * Use wagmi to connect one's eth wallet and then request a signature from one's wallet - */ - async function handleConnectWallet(c: any) { - const { account, chain, connector } = await connectAsync(c); - try { - await authWithWallet(account, connector); - } catch (err) { - console.error(err); - setError(err); - setView(Views.ERROR); - } - } - - /** - * Begin auth flow with Google - */ - async function authWithGoogle() { - setCurrentProviderType(ProviderType.Google); - const provider = litAuthClient.initProvider( - ProviderType.Google - ); - await provider.signIn(); - } + const error = authError || accountsError || sessionError; - /** - * Begin auth flow with Discord - */ - async function authWithDiscord() { - setCurrentProviderType(ProviderType.Discord); - const provider = litAuthClient.initProvider( - ProviderType.Discord - ); - await provider.signIn(); + async function handleGoogleLogin() { + await signInWithGoogle(redirectUri); } - /** - * Request a signature from one's wallet - */ - async function authWithWallet(address: string, connector: Connector) { - setView(Views.REQUEST_AUTHSIG); - - // Create a function to handle signing messages - const signer = await connector.getSigner(); - const signAuthSig = async (message: string) => { - const sig = await signer.signMessage(message); - return sig; - }; - - // Get auth sig - const provider = litAuthClient.getProvider(ProviderType.EthWallet); - const authMethod = await provider.authenticate({ - address, - signMessage: signAuthSig, - }); - setCurrentProviderType(ProviderType.EthWallet); - setAuthMethod(authMethod); - - // Fetch PKPs associated with eth wallet account - setView(Views.FETCHING); - const pkps: IRelayPKP[] = await provider.fetchPKPsThroughRelayer( - authMethod - ); - if (pkps.length > 0) { - setPKPs(pkps); - } - setView(Views.FETCHED); + async function handleDiscordLogin() { + await signInWithDiscord(redirectUri); } async function registerWithWebAuthn() { - setView(Views.REGISTERING); - - try { - // Register new PKP - const provider = litAuthClient.getProvider( - ProviderType.WebAuthn - ) as WebAuthnProvider; - setCurrentProviderType(ProviderType.WebAuthn); - const options = await provider.register(); - - // Verify registration and mint PKP through relayer - const txHash = await provider.verifyAndMintPKPThroughRelayer(options); - setView(Views.MINTING); - const response = await provider.relay.pollRequestUntilTerminalState( - txHash - ); - if (response.status !== 'Succeeded') { - throw new Error('Minting failed'); - } - const newPKP: IRelayPKP = { - tokenId: response.pkpTokenId!, - publicKey: response.pkpPublicKey!, - ethAddress: response.pkpEthAddress!, - }; - - // Add new PKP to list of PKPs - const morePKPs: IRelayPKP[] = [...pkps, newPKP]; - setCurrentPKP(newPKP); - setPKPs(morePKPs); - - setView(Views.REGISTERED); - } catch (err) { - console.error(err); - setError(err); - setView(Views.ERROR); - } - } - - async function authenticateWithWebAuthn() { - setView(Views.AUTHENTICATING); - - try { - const provider = litAuthClient.getProvider( - ProviderType.WebAuthn - ) as WebAuthnProvider; - const authMethod = await provider.authenticate(); - setAuthMethod(authMethod); - - // Authenticate with a WebAuthn credential and create session sigs with authentication data - setView(Views.CREATING_SESSION); - - const litResource = new LitAccessControlConditionResource('*'); - const sessionSigs = await provider.getSessionSigs({ - pkpPublicKey: currentPKP.publicKey, - authMethod, - sessionSigsParams: { - chain: 'ethereum', - resourceAbilityRequests: [{ - resource: litResource, - ability: LitAbility.PKPSigning - }], - }, - }); - setSessionSigs(sessionSigs); - - setView(Views.SESSION_CREATED); - } catch (err) { - console.error(err); - setAuthMethod(null); - setError(err); - setView(Views.ERROR); + const newPKP = await registerWebAuthn(); + if (newPKP) { + setCurrentAccount(newPKP); } } - /** - * Handle redirect from Lit login server - */ - const handleRedirect = useCallback( - async (providerName: string) => { - setView(Views.HANDLE_REDIRECT); - try { - // Get relevant provider - let provider: BaseProvider; - if (providerName === ProviderType.Google) { - provider = litAuthClient.getProvider(ProviderType.Google); - } else if (providerName === ProviderType.Discord) { - provider = litAuthClient.getProvider(ProviderType.Discord); - } - setCurrentProviderType(providerName as ProviderType); - - // Get auth method object that has the OAuth token from redirect callback - const authMethod: AuthMethod = await provider.authenticate(); - setAuthMethod(authMethod); - // Fetch PKPs associated with social account - setView(Views.FETCHING); - const pkps: IRelayPKP[] = await provider.fetchPKPsThroughRelayer( - authMethod - ); - if (pkps.length > 0) { - setPKPs(pkps); - } - setView(Views.FETCHED); - } catch (err) { - console.error(err); - setError(err); - setView(Views.ERROR); - } - - // Clear url params once we have the OAuth token - // Be sure to use the redirect uri route + useEffect(() => { + // If user is authenticated, create an account + // For WebAuthn, the account creation is handled by the registerWithWebAuthn function + if (authMethod && authMethod.authMethodType !== AuthMethodType.WebAuthn) { router.replace(window.location.pathname, undefined, { shallow: true }); - }, - [litAuthClient, router] - ); - - /** - * Mint a new PKP for current auth method - */ - async function mint() { - setView(Views.MINTING); - - try { - // Mint new PKP - const provider = litAuthClient.getProvider(currentProviderType); - const txHash: string = await provider.mintPKPThroughRelayer(authMethod); - const response = await provider.relay.pollRequestUntilTerminalState( - txHash - ); - if (response.status !== 'Succeeded') { - throw new Error('Minting failed'); - } - const newPKP: IRelayPKP = { - tokenId: response.pkpTokenId, - publicKey: response.pkpPublicKey, - ethAddress: response.pkpEthAddress, - }; - - // Add new PKP to list of PKPs - const morePKPs: IRelayPKP[] = [...pkps, newPKP]; - setPKPs(morePKPs); - - setView(Views.MINTED); - setView(Views.CREATING_SESSION); - - // Get session sigs for new PKP - await createSession(newPKP); - } catch (err) { - console.error(err); - setError(err); - setView(Views.ERROR); - } - } - - /** - * Generate session sigs for current PKP and auth method - */ - async function createSession(pkp: IRelayPKP) { - setView(Views.CREATING_SESSION); - - try { - const litResource = new LitAccessControlConditionResource('*'); - // Get session signatures - const provider = litAuthClient.getProvider(currentProviderType); - const sessionSigs = await provider.getSessionSigs({ - pkpPublicKey: pkp.publicKey, - authMethod, - sessionSigsParams: { - chain: 'ethereum', - resourceAbilityRequests: [{ - resource: litResource, - ability: LitAbility.PKPSigning - }], - }, - }); - setCurrentPKP(pkp); - setSessionSigs(sessionSigs); - - setView(Views.SESSION_CREATED); - } catch (err) { - console.error(err); - setError(err); - setView(Views.ERROR); - } - } - - /** - * Sign a message with current PKP - */ - async function signMessageWithPKP() { - try { - const toSign = ethers.utils.arrayify(ethers.utils.hashMessage(message)); - const litActionCode = ` - const go = async () => { - // this requests a signature share from the Lit Node - // the signature share will be automatically returned in the response from the node - // and combined into a full signature by the LitJsSdk for you to use on the client - // all the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function - const sigShare = await LitActions.signEcdsa({ toSign, publicKey, sigName }); - }; - go(); - `; - // Sign message - // @ts-ignore - complains about no authSig, but we don't need one for this action - const results = await litNodeClient.executeJs({ - code: litActionCode, - sessionSigs: sessionSigs, - jsParams: { - toSign: toSign, - publicKey: currentPKP.publicKey, - sigName: 'sig1', - }, - }); - // Get signature - const result = results.signatures['sig1']; - const signature = ethers.utils.joinSignature({ - r: '0x' + result.r, - s: '0x' + result.s, - v: result.recid, - }); - setSignature(signature); - - // Get the address associated with the signature created by signing the message - const recoveredAddr = ethers.utils.verifyMessage(message, signature); - setRecoveredAddress(recoveredAddr); - // Check if the address associated with the signature is the same as the current PKP - const verified = - currentPKP.ethAddress.toLowerCase() === recoveredAddr.toLowerCase(); - setVerified(verified); - } catch (err) { - console.error(err); - setError(err); - setView(Views.ERROR); + createAccount(authMethod); } - } + }, [authMethod, createAccount]); useEffect(() => { - /** - * Initialize LitNodeClient and LitAuthClient - */ - async function initClients() { - try { - // Set up LitNodeClient and connect to Lit nodes - const litNodeClient = new LitNodeClient({ - litNetwork: 'cayenne', - debug: false, - }); - await litNodeClient.connect(); - setLitNodeClient(litNodeClient); - - // Set up LitAuthClient - const litAuthClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: 'test-api-key', - }, - litNodeClient, - }); - - // Initialize providers - litAuthClient.initProvider(ProviderType.Google); - litAuthClient.initProvider(ProviderType.Discord); - litAuthClient.initProvider(ProviderType.EthWallet); - litAuthClient.initProvider(ProviderType.WebAuthn); - - setLitAuthClient(litAuthClient); - } catch (err) { - console.error(err); - setError(err); - setView(Views.ERROR); - } - } - - if (!litNodeClient) { - initClients(); + // If user is authenticated and has at least one account, initialize session + if (authMethod && currentAccount) { + initSession(authMethod, currentAccount); } - }, [litNodeClient]); + }, [authMethod, currentAccount, initSession]); - useEffect(() => { - // Check if app has been redirected from Lit login server - if (litAuthClient && !authMethod && isSignInRedirect(redirectUri)) { - const providerName = getProviderFromUrl(); - handleRedirect(providerName); - } - }, [litAuthClient, handleRedirect, authMethod]); + if (authLoading) { + return ( + + ); + } - if (!litNodeClient) { - return null; + if (accountsLoading) { + return ; } - return ( - <> - - Lit Auth Client - - - - -
- {view === Views.ERROR && ( - <> -

Error

-

{error.message}

- - - )} - {view === Views.SIGN_IN && ( - <> -

Sign in with Lit

- {/* Since eth wallet is connected, prompt user to sign a message or disconnect their wallet */} - <> - {isConnected ? ( - <> - - - - ) : ( - <> - {/* If eth wallet is not connected, show all login options */} - - - {connectors.map(connector => ( - - ))} - - - )} - - - )} - {view === Views.HANDLE_REDIRECT && ( - <> -

Verifying your identity...

- - )} - {view === Views.REQUEST_AUTHSIG && ( - <> -

Check your wallet

- - )} - {view === Views.REGISTERING && ( - <> -

Register your passkey

-

Follow your browser's prompts to create a passkey.

- - )} - {view === Views.REGISTERED && ( - <> -

Minted!

-

- Authenticate with your newly registered passkey. Continue when - you're ready. -

- - - )} - {view === Views.AUTHENTICATING && ( - <> -

Authenticate with your passkey

-

Follow your browser's prompts to create a passkey.

- - )} - {view === Views.FETCHING && ( - <> -

Fetching your PKPs...

- - )} - {view === Views.FETCHED && ( - <> - {pkps.length > 0 ? ( - <> -

Select a PKP to continue

- {/* Select a PKP to create session sigs for */} -
- {pkps.map(pkp => ( - - ))} -
-
- {/* Or mint another PKP */} -

or mint another one:

- - - ) : ( - <> -

Mint a PKP to continue

- - - )} - - )} - {view === Views.MINTING && ( - <> -

Minting your PKP...

- - )} - {view === Views.MINTED && ( - <> -

Minted!

- - )} - {view === Views.CREATING_SESSION && ( - <> -

Saving your session...

- - )} - {view === Views.SESSION_CREATED && ( - <> -

Ready for the open web

-
-

Check out your PKP:

-

{currentPKP.ethAddress}

-
-
-
-

Sign this message with your PKP:

-

{message}

- + if (sessionLoading) { + return ; + } - {signature && ( - <> -

Your signature:

-

{signature}

-

Recovered address:

-

{recoveredAddress}

-

Verified:

-

{verified ? 'true' : 'false'}

- - )} -
- - )} -
- - ); + if (currentAccount && sessionSigs) { + return ( + + ); + } else { + return ( + router.push('/login')} + error={error} + /> + ); + } } diff --git a/apps/demo-pkp-social-auth-next-ts/src/pages/login.tsx b/apps/demo-pkp-social-auth-next-ts/src/pages/login.tsx new file mode 100644 index 0000000000..acb7ea5b15 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/pages/login.tsx @@ -0,0 +1,140 @@ +import { useEffect } from 'react'; +import { useRouter } from 'next/router'; +import useAuthenticate from '../hooks/useAuthenticate'; +import useSession from '../hooks/useSession'; +import useAccounts from '../hooks/useAccounts'; +import { ORIGIN, signInWithDiscord, signInWithGoogle } from '../utils/lit'; +import Dashboard from '../components/Dashboard'; +import Loading from '../components/Loading'; +import LoginMethods from '../components/LoginMethods'; +import AccountSelection from '../components/AccountSelection'; +import CreateAccount from '../components/CreateAccount'; + +export default function LoginView() { + const redirectUri = ORIGIN + '/login'; + + const { + authMethod, + authWithEthWallet, + authWithOTP, + authWithWebAuthn, + authWithStytch, + loading: authLoading, + error: authError, + } = useAuthenticate(redirectUri); + const { + fetchAccounts, + setCurrentAccount, + currentAccount, + accounts, + loading: accountsLoading, + error: accountsError, + } = useAccounts(); + const { + initSession, + sessionSigs, + loading: sessionLoading, + error: sessionError, + } = useSession(); + const router = useRouter(); + + const error = authError || accountsError || sessionError; + + async function handleGoogleLogin() { + await signInWithGoogle(redirectUri); + } + + async function handleDiscordLogin() { + await signInWithDiscord(redirectUri); + } + + function goToSignUp() { + router.push('/'); + } + + useEffect(() => { + // async function fetchDiscord(authMethod) { + // const meResponse = await fetch('https://discord.com/api/users/@me', { + // method: 'GET', + // headers: { + // authorization: `Bearer ${authMethod.accessToken}`, + // }, + // }); + // if (meResponse.ok) { + // const user = await meResponse.json(); + // console.log(user); + // return user.id; + // } else { + // throw new Error('Unable to verify Discord account'); + // } + // } + + // If user is authenticated, fetch accounts + if (authMethod) { + router.replace(window.location.pathname, undefined, { shallow: true }); + // if (authMethod.authMethodType === AuthMethodType.Discord) { + // console.log('discord', authMethod); + // fetchDiscord(authMethod); + // } + fetchAccounts(authMethod); + } + }, [authMethod, fetchAccounts]); + + useEffect(() => { + // If user is authenticated and has selected an account, initialize session + if (authMethod && currentAccount) { + initSession(authMethod, currentAccount); + } + }, [authMethod, currentAccount, initSession]); + + if (authLoading) { + return ( + + ); + } + + if (accountsLoading) { + return ; + } + + if (sessionLoading) { + return ; + } + + // If user is authenticated and has selected an account, initialize session + if (currentAccount && sessionSigs) { + return ( + + ); + } + + // If user is authenticated and has more than 1 account, show account selection + if (authMethod && accounts.length > 0) { + return ( + + ); + } + + // If user is authenticated but has no accounts, prompt to create an account + if (authMethod && accounts.length === 0) { + return ; + } + + // If user is not authenticated, show login methods + return ( + + ); +} diff --git a/apps/demo-pkp-social-auth-next-ts/src/styles/globals.css b/apps/demo-pkp-social-auth-next-ts/src/styles/globals.css index 216ae96a9f..3549dbb599 100644 --- a/apps/demo-pkp-social-auth-next-ts/src/styles/globals.css +++ b/apps/demo-pkp-social-auth-next-ts/src/styles/globals.css @@ -1,3 +1,633 @@ +/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ + +/* +Document +======== +*/ + +/** +Use a better box model (opinionated). +*/ + +*, +::before, +::after { + box-sizing: border-box; +} + +html { + /* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */ + font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji'; + line-height: 1.15; /* 1. Correct the line height in all browsers. */ + -webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */ + -moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */ + tab-size: 4; /* 3 */ +} + +/* +Sections +======== +*/ + +body { + margin: 0; /* Remove the margin in all browsers. */ +} + +/* +Grouping content +================ +*/ + +/** +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ + +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ +} + +/* +Text-level semantics +==================== +*/ + +/** +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr[title] { + text-decoration: underline dotted; +} + +/** +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/** +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, + monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/** +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +Tabular data +============ +*/ + +/** +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ + +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ +} + +/* +Forms +===== +*/ + +/** +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/** +Correct the inability to style clickable types in iOS and Safari. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; +} + +/** +Remove the inner border and padding in Firefox. +*/ + +::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** +Restore the focus styles unset by the previous rule. +*/ + +:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** +Remove the additional ':invalid' styles in Firefox. +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/** +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ + +legend { + padding: 0; +} + +/** +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/** +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/** +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* +Interactive +=========== +*/ + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* Custom styling */ + +:root { + --gray-50: #f7fafc; + --gray-100: #edf2f7; + --gray-200: #e2e8f0; + --gray-300: #cbd5e0; + --gray-400: #a0aec0; + --gray-500: #718096; + --gray-600: #4a5568; + --gray-700: #2d3748; + --gray-800: #1a202c; + --gray-900: #171923; + --primary-light: #e9f2ff; + --primary: #0c66e4; + --primary-dark: #09326c; + --error-light: #ffedeb; + --error: #ef5c48; + --error-dark: #ae2a19; + --success-light: #dffcf0; + --success: #4bce97; + --success-dark: #216e4e; +} + body { - color: darkblue; + background-color: var(--gray-50); + color: var(--gray-900); +} + +main { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 100vh; + padding: 1rem; +} + +.container { + width: 100%; + max-width: 32rem; + max-height: calc(100vh - 2rem); + background-color: white; + border: 1px solid var(--gray-200); + border-radius: 0.5rem; + padding: 1.5rem; + overflow-y: auto; +} + +h1 { + font-size: 1.875rem; + line-height: 2.25rem; + font-weight: bold; + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + font-size: 1rem; + line-height: 1.5rem; + margin: 0; +} + +.btn { + position: relative; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 500; + text-align: center; + border-radius: 0.375rem; + padding: 0.375rem 0.625rem; + cursor: pointer; + background-color: transparent; + border: 1px solid var(--gray-100); +} + +.btn__icon { + position: relative; + width: 1.5rem; + height: 1.5rem; +} + +.btn__label { + display: none; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.btn:focus-visible { + outline-color: var(--gray-100); + outline-offset: 2px; + outline-width: 2px; + outline-style: solid; +} + +.btn:disabled { + opacity: 0.6; +} + +.btn--primary { + background-color: var(--primary); + color: white; +} + +.btn--primary:hover { + background-color: var(--primary-dark); +} + +.btn--loading::after { + content: ''; + position: absolute; + width: 1rem; + height: 1rem; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: auto; + border: 4px solid var(--gray-300); + border-top-color: var(--gray-600); + border-radius: 50%; + animation: spinner 1s ease infinite; +} + +.btn--outline { + flex-grow: 1; +} + +.btn--outline img { + object-fit: contain; +} + +.btn-social { + background-color: var(--gray-50); +} + +.btn--link { + border: none; + color: var(--primary); +} + +.btn--link:hover { + background-color: transparent; + color: var(--primary-dark); +} + +.btn--success { + background-color: var(--success-light); + color: var(--success-dark); + border-color: var(--success); +} + +.btn--error { + background-color: var(--error-light); + color: var(--error-dark); + border-color: var(--error); +} + +.buttons-container { + display: flex; + flex-direction: column; + margin-top: 1.5rem; + gap: 0.5rem; +} + +.social-container { + display: flex; + gap: 0.5rem; +} + +@media (min-width: 640px) { + .btn__label { + display: block; + } +} + +.form-wrapper { + margin: 1.5rem 0; +} + +.form { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.form__input { + font-size: 0.875rem; + line-height: 1.25rem; + padding: 0.5rem 0.875rem; + border: 1px solid var(--gray-200); + border-radius: 0.375rem; + outline: none; +} + +.form__input:focus-visible { + outline-color: var(--gray-100); + outline-offset: 2px; + outline-width: 2px; + outline-style: solid; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.alert { + display: flex; + padding: 1rem; + border-radius: 0.5rem; + margin-bottom: 1.5rem; +} + +.alert p { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.alert--error { + background-color: var(--error-light); + color: var(--error-dark); + border: 1px dashed var(--error); +} + +.details-card { + display: flex; + padding: 1rem; + border-radius: 0.5rem; + background-color: var(--primary-light); + color: var(--primary-dark); + margin-top: 1.5rem; +} + +.details-card p { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.divider { + border-top: 1px solid var(--gray-200); + margin: 1.5rem 0; +} + +.message-card { + display: flex; + flex-direction: column; + padding-bottom: 1.5rem; +} + +.message-card__prompt { + display: flex; + padding: 1rem; + border-radius: 0.5rem; + border: 1px dashed var(--gray-200); + margin: 0.5rem 0; +} + +p.message-card__prompt { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.logout-container { + display: flex; + justify-content: flex-end; + margin-bottom: 0.5rem; +} + +.loader-container { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 1rem; + padding: 1rem; +} + +.loader { + display: block; + position: relative; + width: 2rem; + height: 2rem; +} + +.loader::after { + content: ''; + position: absolute; + width: 2rem; + height: 2rem; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: auto; + border: 4px solid var(--gray-100); + border-top-color: var(--gray-400); + border-radius: 50%; + animation: spinner 1s ease infinite; +} + +@keyframes spinner { + from { + transform: rotate(0turn); + } + + to { + transform: rotate(1turn); + } +} + +.accounts-wrapper { + margin: 1rem 0; + display: flex; + flex-direction: column; + gap: 1rem; +} + +.account-item { + font-size: 0.875rem; + display: flex; + align-items: flex-start; + gap: 0.5rem; + word-break: break-all; +} + +.account-item__radio { + width: 1rem; + height: 1rem; + border: 1px solid var(--gray-500); + border-radius: 100%; + background-color: var(--gray-50); +} + +.account-item__indicator { + width: 1rem; + height: 1rem; + position: relative; +} + +.account-item__indicator::after { + content: ''; + display: block; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 0.5rem; + height: 0.5rem; + border-radius: 100%; + background-color: var(--primary); +} + +.account-item--selected .account-item__label { + color: var(--primary-dark); +} + +.account-item--selected .account-item__radio { + background-color: var(--primary-light); + border-color: var(--primary); } diff --git a/apps/demo-pkp-social-auth-next-ts/src/utils/lit.ts b/apps/demo-pkp-social-auth-next-ts/src/utils/lit.ts new file mode 100644 index 0000000000..7c4fae9f01 --- /dev/null +++ b/apps/demo-pkp-social-auth-next-ts/src/utils/lit.ts @@ -0,0 +1,319 @@ +import { + DiscordProvider, + GoogleProvider, + EthWalletProvider, + WebAuthnProvider, + LitAuthClient, + OtpProvider, +} from '@lit-protocol/lit-auth-client'; +import { LitNodeClient } from '@lit-protocol/lit-node-client'; +import { AuthMethodType, ProviderType } from '@lit-protocol/constants'; +import { + AuthCallbackParams, + AuthMethod, + GetSessionSigsProps, + IRelayPKP, + ProviderOptions, + SessionSigs, +} from '@lit-protocol/types'; + +export const DOMAIN = process.env.NEXT_PUBLIC_PROD_URL || 'localhost'; +export const ORIGIN = + process.env.NEXT_PUBLIC_ENV === 'production' + ? `https://${DOMAIN}` + : `http://${DOMAIN}:3000`; + +export const litNodeClient: LitNodeClient = new LitNodeClient({ + alertWhenUnauthorized: false, + litNetwork: 'serrano', + debug: true, +}); + +export const litAuthClient: LitAuthClient = new LitAuthClient({ + litRelayConfig: { + // relayUrl: 'http://localhost:3001', + relayApiKey: 'test-api-key', + }, + litOtpConfig: { + baseUrl: 'https://auth-api.litgateway.com', + port: '443', + startRoute: '/api/otp/start', + checkRoute: '/api/otp/check', + }, + litNodeClient, +}); + +/** + * Validate provider + */ +export function isSocialLoginSupported(provider: string): boolean { + return ['google', 'discord'].includes(provider); +} + +/** + * Redirect to Lit login + */ +export async function signInWithGoogle(redirectUri: string): Promise { + const googleProvider = litAuthClient.initProvider( + ProviderType.Google, + { redirectUri } + ); + await googleProvider.signIn(); +} + +/** + * Get auth method object from redirect + */ +export async function authenticateWithGoogle( + redirectUri: string +): Promise { + const googleProvider = litAuthClient.initProvider( + ProviderType.Google, + { redirectUri } + ); + const authMethod = await googleProvider.authenticate(); + return authMethod; +} + +/** + * Redirect to Lit login + */ +export async function signInWithDiscord(redirectUri: string): Promise { + const discordProvider = litAuthClient.initProvider( + ProviderType.Discord, + { redirectUri } + ); + await discordProvider.signIn(); +} + +/** + * Get auth method object from redirect + */ +export async function authenticateWithDiscord( + redirectUri: string +): Promise { + const discordProvider = litAuthClient.initProvider( + ProviderType.Discord, + { redirectUri } + ); + const authMethod = await discordProvider.authenticate(); + return authMethod; +} + +/** + * Get auth method object by signing a message with an Ethereum wallet + */ +export async function authenticateWithEthWallet( + address?: string, + signMessage?: (message: string) => Promise +): Promise { + const ethWalletProvider = litAuthClient.initProvider( + ProviderType.EthWallet, + { + domain: DOMAIN, + origin: ORIGIN, + } + ); + const authMethod = await ethWalletProvider.authenticate({ + address, + signMessage, + }); + return authMethod; +} + +/** + * Register new WebAuthn credential + */ +export async function registerWebAuthn(): Promise { + const provider = litAuthClient.initProvider( + ProviderType.WebAuthn + ); + // Register new WebAuthn credential + const options = await provider.register(); + + // Verify registration and mint PKP through relay server + const txHash = await provider.verifyAndMintPKPThroughRelayer(options); + const response = await provider.relay.pollRequestUntilTerminalState(txHash); + if (response.status !== 'Succeeded') { + throw new Error('Minting failed'); + } + const newPKP: IRelayPKP = { + tokenId: response.pkpTokenId, + publicKey: response.pkpPublicKey, + ethAddress: response.pkpEthAddress, + }; + return newPKP; +} + +/** + * Get auth method object by authenticating with a WebAuthn credential + */ +export async function authenticateWithWebAuthn(): Promise< + AuthMethod | undefined +> { + let provider = litAuthClient.getProvider(ProviderType.WebAuthn); + if (!provider) { + provider = litAuthClient.initProvider( + ProviderType.WebAuthn + ); + } + const authMethod = await provider.authenticate(); + return authMethod; +} + +/** + * Send OTP code to user + */ +export async function sendOTPCode(emailOrPhone: string) { + const otpProvider = litAuthClient.initProvider( + ProviderType.Otp, + { + userId: emailOrPhone, + } as unknown as ProviderOptions + ); + const status = await otpProvider.sendOtpCode(); + return status; +} + +/** + * Get auth method object by validating the OTP code + */ +export async function authenticateWithOTP( + code: string +): Promise { + const otpProvider = litAuthClient.getProvider(ProviderType.Otp); + const authMethod = await otpProvider?.authenticate({ code }); + return authMethod; +} + +/** + * Get auth method object by validating Stytch JWT + */ +export async function authenticateWithStytch( + accessToken: string, + userId?: string +) { + const provider = litAuthClient.initProvider(ProviderType.StytchOtp, { + appId: process.env.NEXT_PUBLIC_STYTCH_PROJECT_ID, + }); + // @ts-ignore + const authMethod = await provider?.authenticate({ accessToken, userId }); + return authMethod; +} + +/** + * Generate session sigs for given params + */ +export async function getSessionSigs({ + pkpPublicKey, + authMethod, + sessionSigsParams, +}: { + pkpPublicKey: string; + authMethod: AuthMethod; + sessionSigsParams: GetSessionSigsProps; +}): Promise { + // const provider = getProviderByAuthMethod(authMethod); + // if (provider) { + // const sessionSigs = await provider.getSessionSigs({ + // pkpPublicKey, + // authMethod, + // sessionSigsParams, + // }); + // return sessionSigs; + // } else { + // throw new Error( + // `Provider not found for auth method type ${authMethod.authMethodType}` + // ); + // } + await litNodeClient.connect(); + const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + statement: params.statement, + authMethods: [authMethod], + pkpPublicKey: pkpPublicKey, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; + }; + + const sessionSigs = await litNodeClient.getSessionSigs({ + ...sessionSigsParams, + authNeededCallback, + }); + + return sessionSigs; +} + +export async function updateSessionSigs( + params: GetSessionSigsProps +): Promise { + const sessionSigs = await litNodeClient.getSessionSigs(params); + return sessionSigs; +} + +/** + * Fetch PKPs associated with given auth method + */ +export async function getPKPs(authMethod: AuthMethod): Promise { + const provider = getProviderByAuthMethod(authMethod); + const allPKPs = await provider.fetchPKPsThroughRelayer(authMethod); + return allPKPs; +} + +/** + * Mint a new PKP for current auth method + */ +export async function mintPKP(authMethod: AuthMethod): Promise { + const provider = getProviderByAuthMethod(authMethod); + + let txHash: string; + + if (authMethod.authMethodType === AuthMethodType.WebAuthn) { + // Register new WebAuthn credential + const options = await (provider as WebAuthnProvider).register(); + + // Verify registration and mint PKP through relay server + txHash = await ( + provider as WebAuthnProvider + ).verifyAndMintPKPThroughRelayer(options); + } else { + // Mint PKP through relay server + txHash = await provider.mintPKPThroughRelayer(authMethod); + } + + const response = await provider.relay.pollRequestUntilTerminalState(txHash); + if (response.status !== 'Succeeded') { + throw new Error('Minting failed'); + } + const newPKP: IRelayPKP = { + tokenId: response.pkpTokenId, + publicKey: response.pkpPublicKey, + ethAddress: response.pkpEthAddress, + }; + return newPKP; +} + +/** + * Get provider for given auth method + */ +function getProviderByAuthMethod(authMethod: AuthMethod) { + switch (authMethod.authMethodType) { + case AuthMethodType.GoogleJwt: + return litAuthClient.getProvider(ProviderType.Google); + case AuthMethodType.Discord: + return litAuthClient.getProvider(ProviderType.Discord); + case AuthMethodType.EthWallet: + return litAuthClient.getProvider(ProviderType.EthWallet); + case AuthMethodType.WebAuthn: + return litAuthClient.getProvider(ProviderType.WebAuthn); + case AuthMethodType.OTP: + return litAuthClient.getProvider(ProviderType.Otp); + case AuthMethodType.StytchOtp: + return litAuthClient.getProvider(ProviderType.StytchOtp); + default: + return; + } +} diff --git a/apps/demo-pkp-social-auth-next-ts/yarn.lock b/apps/demo-pkp-social-auth-next-ts/yarn.lock deleted file mode 100644 index 0b452c9968..0000000000 --- a/apps/demo-pkp-social-auth-next-ts/yarn.lock +++ /dev/null @@ -1,5035 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - "integrity" "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==" - "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.18.6": - "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5": - "integrity" "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==" - "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz" - "version" "7.21.0" - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.4.0-0": - "integrity" "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz" - "version" "7.21.3" - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.3" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.3" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.3" - "@babel/types" "^7.21.3" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.2.2" - "semver" "^6.3.0" - -"@babel/generator@^7.21.3": - "integrity" "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz" - "version" "7.21.3" - dependencies: - "@babel/types" "^7.21.3" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - "jsesc" "^2.5.1" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.20.7": - "integrity" "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" - "version" "7.20.7" - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - "browserslist" "^4.21.3" - "lru-cache" "^5.1.1" - "semver" "^6.3.0" - -"@babel/helper-define-polyfill-provider@^0.3.3": - "integrity" "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - "integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - "version" "7.18.9" - -"@babel/helper-function-name@^7.21.0": - "integrity" "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" - "version" "7.21.0" - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-hoist-variables@^7.18.6": - "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.18.6": - "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.21.2": - "integrity" "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz" - "version" "7.21.2" - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - -"@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.20.2": - "integrity" "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" - "version" "7.20.2" - -"@babel/helper-simple-access@^7.20.2": - "integrity" "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" - "version" "7.20.2" - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-split-export-declaration@^7.18.6": - "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - "integrity" "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" - "version" "7.19.4" - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - "integrity" "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - "version" "7.19.1" - -"@babel/helper-validator-option@^7.18.6": - "integrity" "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" - "version" "7.21.0" - -"@babel/helpers@^7.21.0": - "integrity" "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz" - "version" "7.21.0" - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - -"@babel/highlight@^7.18.6": - "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" - -"@babel/parser@^7.20.7", "@babel/parser@^7.21.3": - "integrity" "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz" - "version" "7.21.3" - -"@babel/plugin-transform-runtime@^7.5.5": - "integrity" "sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz" - "version" "7.21.0" - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "babel-plugin-polyfill-corejs2" "^0.3.3" - "babel-plugin-polyfill-corejs3" "^0.6.0" - "babel-plugin-polyfill-regenerator" "^0.4.1" - "semver" "^6.3.0" - -"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.20.7", "@babel/runtime@^7.5.5": - "integrity" "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz" - "version" "7.21.0" - dependencies: - "regenerator-runtime" "^0.13.11" - -"@babel/template@^7.20.7": - "integrity" "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" - "version" "7.20.7" - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3": - "integrity" "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz" - "version" "7.21.3" - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.3" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.3" - "@babel/types" "^7.21.3" - "debug" "^4.1.0" - "globals" "^11.1.0" - -"@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3": - "integrity" "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz" - "version" "7.21.3" - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - "to-fast-properties" "^2.0.0" - -"@coinbase/wallet-sdk@^3.5.4": - "integrity" "sha512-8F91dvvC/+CTpaNTr+FgpLMa2YxjpXpE9pdnGewMoYi41ISbiXZado5VjYo9QSZlS+myzfKvDGpTzLFFUXPfDg==" - "resolved" "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.6.5.tgz" - "version" "3.6.5" - dependencies: - "@metamask/safe-event-emitter" "2.0.0" - "@solana/web3.js" "^1.70.1" - "bind-decorator" "^1.0.11" - "bn.js" "^5.1.1" - "buffer" "^6.0.3" - "clsx" "^1.1.0" - "eth-block-tracker" "4.4.3" - "eth-json-rpc-filters" "5.1.0" - "eth-rpc-errors" "4.0.2" - "json-rpc-engine" "6.1.0" - "keccak" "^3.0.1" - "preact" "^10.5.9" - "qs" "^6.10.3" - "rxjs" "^6.6.3" - "sha.js" "^2.4.11" - "stream-browserify" "^3.0.0" - "util" "^0.12.4" - -"@cspotcode/source-map-support@^0.8.0": - "integrity" "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==" - "resolved" "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - "version" "0.8.1" - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@eslint-community/eslint-utils@^4.2.0": - "integrity" "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==" - "resolved" "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - "version" "4.4.0" - dependencies: - "eslint-visitor-keys" "^3.3.0" - -"@eslint-community/regexpp@^4.4.0": - "integrity" "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==" - "resolved" "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz" - "version" "4.5.0" - -"@eslint/eslintrc@^2.0.1": - "integrity" "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==" - "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "ajv" "^6.12.4" - "debug" "^4.3.2" - "espree" "^9.5.1" - "globals" "^13.19.0" - "ignore" "^5.2.0" - "import-fresh" "^3.2.1" - "js-yaml" "^4.1.0" - "minimatch" "^3.1.2" - "strip-json-comments" "^3.1.1" - -"@eslint/js@8.36.0": - "integrity" "sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==" - "resolved" "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz" - "version" "8.36.0" - -"@ethersproject/abi@^5.7.0", "@ethersproject/abi@5.7.0": - "integrity" "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==" - "resolved" "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@^5.7.0", "@ethersproject/abstract-provider@5.7.0": - "integrity" "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==" - "resolved" "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@^5.7.0", "@ethersproject/abstract-signer@5.7.0": - "integrity" "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@^5.7.0", "@ethersproject/address@5.7.0": - "integrity" "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==" - "resolved" "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@^5.7.0", "@ethersproject/base64@5.7.0": - "integrity" "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/basex@^5.7.0", "@ethersproject/basex@5.7.0": - "integrity" "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==" - "resolved" "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@^5.7.0", "@ethersproject/bignumber@5.7.0": - "integrity" "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==" - "resolved" "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "bn.js" "^5.2.1" - -"@ethersproject/bytes@^5.7.0", "@ethersproject/bytes@5.7.0": - "integrity" "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==" - "resolved" "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@^5.7.0", "@ethersproject/constants@5.7.0": - "integrity" "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==" - "resolved" "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/contracts@5.7.0": - "integrity" "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==" - "resolved" "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@^5.7.0", "@ethersproject/hash@5.7.0": - "integrity" "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==" - "resolved" "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/hdnode@^5.7.0", "@ethersproject/hdnode@5.7.0": - "integrity" "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==" - "resolved" "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@^5.7.0", "@ethersproject/json-wallets@5.7.0": - "integrity" "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==" - "resolved" "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "aes-js" "3.0.0" - "scrypt-js" "3.0.1" - -"@ethersproject/keccak256@^5.7.0", "@ethersproject/keccak256@5.7.0": - "integrity" "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==" - "resolved" "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "js-sha3" "0.8.0" - -"@ethersproject/logger@^5.7.0", "@ethersproject/logger@5.7.0": - "integrity" "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - "resolved" "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" - "version" "5.7.0" - -"@ethersproject/networks@^5.7.0", "@ethersproject/networks@5.7.1": - "integrity" "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@^5.7.0", "@ethersproject/pbkdf2@5.7.0": - "integrity" "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==" - "resolved" "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@^5.7.0", "@ethersproject/properties@5.7.0": - "integrity" "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==" - "resolved" "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.7.2": - "integrity" "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==" - "resolved" "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz" - "version" "5.7.2" - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - "bech32" "1.1.4" - "ws" "7.4.6" - -"@ethersproject/random@^5.7.0", "@ethersproject/random@5.7.0": - "integrity" "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@^5.7.0", "@ethersproject/rlp@5.7.0": - "integrity" "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==" - "resolved" "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/sha2@^5.7.0", "@ethersproject/sha2@5.7.0": - "integrity" "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==" - "resolved" "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "hash.js" "1.1.7" - -"@ethersproject/signing-key@^5.7.0", "@ethersproject/signing-key@5.7.0": - "integrity" "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==" - "resolved" "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "bn.js" "^5.2.1" - "elliptic" "6.5.4" - "hash.js" "1.1.7" - -"@ethersproject/solidity@5.7.0": - "integrity" "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==" - "resolved" "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@^5.7.0", "@ethersproject/strings@5.7.0": - "integrity" "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==" - "resolved" "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@^5.7.0", "@ethersproject/transactions@5.7.0": - "integrity" "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.7.0": - "integrity" "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==" - "resolved" "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.7.0": - "integrity" "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==" - "resolved" "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@^5.7.0", "@ethersproject/web@5.7.1": - "integrity" "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==" - "resolved" "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@^5.7.0", "@ethersproject/wordlists@5.7.0": - "integrity" "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==" - "resolved" "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@humanwhocodes/config-array@^0.11.8": - "integrity" "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" - "version" "0.11.8" - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - "debug" "^4.1.1" - "minimatch" "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - "integrity" "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - "version" "1.0.1" - -"@humanwhocodes/object-schema@^1.2.1": - "integrity" "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - "version" "1.2.1" - -"@jridgewell/gen-mapping@^0.1.0": - "integrity" "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.2": - "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@3.1.0": - "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - "version" "3.1.0" - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - "version" "1.1.2" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@1.4.14": - "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - "version" "1.4.14" - -"@jridgewell/trace-mapping@^0.3.17": - "integrity" "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" - "version" "0.3.17" - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@jridgewell/trace-mapping@^0.3.9", "@jridgewell/trace-mapping@0.3.9": - "integrity" "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - "version" "0.3.9" - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@json-rpc-tools/provider@^1.5.5": - "integrity" "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==" - "resolved" "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz" - "version" "1.7.6" - dependencies: - "@json-rpc-tools/utils" "^1.7.6" - "axios" "^0.21.0" - "safe-json-utils" "^1.1.1" - "ws" "^7.4.0" - -"@json-rpc-tools/types@^1.7.6": - "integrity" "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==" - "resolved" "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz" - "version" "1.7.6" - dependencies: - "keyvaluestorage-interface" "^1.0.0" - -"@json-rpc-tools/utils@^1.7.6": - "integrity" "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==" - "resolved" "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz" - "version" "1.7.6" - dependencies: - "@json-rpc-tools/types" "^1.7.6" - "@pedrouid/environment" "^1.0.1" - -"@ledgerhq/connect-kit-loader@^1.0.1": - "integrity" "sha512-TQ21IjcZOw/scqypaVFY3jHVqI7X7Hta3qN/us6FvTol3AY06UmrhhXGww0E9xHmAbdX241ddwXEiMBSQZFr9g==" - "resolved" "https://registry.npmjs.org/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.2.tgz" - "version" "1.0.2" - -"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": - "integrity" "sha512-92uQ5ARf7UXYrzaFcAX3T2rTvaS9Z1//ukV+DqjACM4c8s0ZBQd7ayJU5Dh2AFLD/Ayuyz4uMmxQec8q3U4Ong==" - "resolved" "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.0.tgz" - "version" "1.1.0" - -"@lit-protocol/lit-auth-client@file:../../packages/lit-auth-client": - "resolved" "file:../../packages/lit-auth-client" - "version" "2.1.120" - -"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": - "integrity" "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==" - "resolved" "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.1.tgz" - "version" "1.6.1" - dependencies: - "@lit-labs/ssr-dom-shim" "^1.0.0" - -"@metamask/safe-event-emitter@^2.0.0", "@metamask/safe-event-emitter@2.0.0": - "integrity" "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" - "resolved" "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz" - "version" "2.0.0" - -"@motionone/animation@^10.15.1": - "integrity" "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==" - "resolved" "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz" - "version" "10.15.1" - dependencies: - "@motionone/easing" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - "tslib" "^2.3.1" - -"@motionone/dom@^10.15.5": - "integrity" "sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA==" - "resolved" "https://registry.npmjs.org/@motionone/dom/-/dom-10.15.5.tgz" - "version" "10.15.5" - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/generators" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - "hey-listen" "^1.0.8" - "tslib" "^2.3.1" - -"@motionone/easing@^10.15.1": - "integrity" "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==" - "resolved" "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz" - "version" "10.15.1" - dependencies: - "@motionone/utils" "^10.15.1" - "tslib" "^2.3.1" - -"@motionone/generators@^10.15.1": - "integrity" "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==" - "resolved" "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz" - "version" "10.15.1" - dependencies: - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - "tslib" "^2.3.1" - -"@motionone/svelte@^10.15.5": - "integrity" "sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg==" - "resolved" "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.15.5.tgz" - "version" "10.15.5" - dependencies: - "@motionone/dom" "^10.15.5" - "tslib" "^2.3.1" - -"@motionone/types@^10.15.1": - "integrity" "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==" - "resolved" "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz" - "version" "10.15.1" - -"@motionone/utils@^10.15.1": - "integrity" "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==" - "resolved" "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz" - "version" "10.15.1" - dependencies: - "@motionone/types" "^10.15.1" - "hey-listen" "^1.0.8" - "tslib" "^2.3.1" - -"@motionone/vue@^10.15.5": - "integrity" "sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw==" - "resolved" "https://registry.npmjs.org/@motionone/vue/-/vue-10.15.5.tgz" - "version" "10.15.5" - dependencies: - "@motionone/dom" "^10.15.5" - "tslib" "^2.3.1" - -"@next/env@13.2.4": - "integrity" "sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA==" - "resolved" "https://registry.npmjs.org/@next/env/-/env-13.2.4.tgz" - "version" "13.2.4" - -"@next/eslint-plugin-next@13.2.4": - "integrity" "sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==" - "resolved" "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.2.4.tgz" - "version" "13.2.4" - dependencies: - "glob" "7.1.7" - -"@next/swc-darwin-arm64@13.2.4": - "integrity" "sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==" - "resolved" "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz" - "version" "13.2.4" - -"@noble/ed25519@^1.7.0": - "integrity" "sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==" - "resolved" "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.7.3.tgz" - "version" "1.7.3" - -"@noble/hashes@^1.1.2": - "integrity" "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==" - "resolved" "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz" - "version" "1.3.0" - -"@noble/secp256k1@^1.6.3": - "integrity" "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==" - "resolved" "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz" - "version" "1.7.1" - -"@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" - dependencies: - "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" - dependencies: - "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" - -"@pedrouid/environment@^1.0.1": - "integrity" "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==" - "resolved" "https://registry.npmjs.org/@pedrouid/environment/-/environment-1.0.1.tgz" - "version" "1.0.1" - -"@pkgr/utils@^2.3.1": - "integrity" "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==" - "resolved" "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz" - "version" "2.3.1" - dependencies: - "cross-spawn" "^7.0.3" - "is-glob" "^4.0.3" - "open" "^8.4.0" - "picocolors" "^1.0.0" - "tiny-glob" "^0.2.9" - "tslib" "^2.4.0" - -"@rushstack/eslint-patch@^1.1.3": - "integrity" "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" - "resolved" "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz" - "version" "1.2.0" - -"@safe-global/safe-apps-provider@^0.15.2": - "integrity" "sha512-BaoGAuY7h6jLBL7P+M6b7hd+1QfTv8uMyNF3udhiNUwA0XwfzH2ePQB13IEV3Mn7wdcIMEEUDS5kHbtAsj60qQ==" - "resolved" "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.15.2.tgz" - "version" "0.15.2" - dependencies: - "@safe-global/safe-apps-sdk" "7.9.0" - "events" "^3.3.0" - -"@safe-global/safe-apps-sdk@^7.9.0": - "integrity" "sha512-2imnqAbx9XrqT3psrhe/YVpj2yW840ngJIuqv0nTiWJLKcTCzM2LJ4MH7ir7H8Sp2wdG/BqNB3SvjUAks2qNjQ==" - "resolved" "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.10.1.tgz" - "version" "7.10.1" - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - "ethers" "^5.7.2" - -"@safe-global/safe-apps-sdk@7.9.0": - "integrity" "sha512-S2EI+JL8ocSgE3uGNaDZCzKmwfhtxXZFDUP76vN0FeaY35itFMyi8F0Vhxu0XnZm3yLzJE3tp5px6GhuQFLU6w==" - "resolved" "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.9.0.tgz" - "version" "7.9.0" - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - "ethers" "^5.7.2" - -"@safe-global/safe-gateway-typescript-sdk@^3.5.3": - "integrity" "sha512-3BvlUgp0oZ1Zkn7nG3wY1jvCEE4t530BjKcaa3r0qsf0whf/ez/0gmQwk7DTOGmVmvOfjj6HHikxnrUCCX+/3Q==" - "resolved" "https://registry.npmjs.org/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.7.0.tgz" - "version" "3.7.0" - dependencies: - "cross-fetch" "^3.1.5" - -"@solana/buffer-layout@^4.0.0": - "integrity" "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==" - "resolved" "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "buffer" "~6.0.3" - -"@solana/web3.js@^1.70.1": - "integrity" "sha512-RKZyPqizPCxmpMGfpu4fuplNZEWCrhRBjjVstv5QnAJvgln1jgOfgui+rjl1ExnqDnWKg9uaZ5jtGROH/cwabg==" - "resolved" "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.74.0.tgz" - "version" "1.74.0" - dependencies: - "@babel/runtime" "^7.12.5" - "@noble/ed25519" "^1.7.0" - "@noble/hashes" "^1.1.2" - "@noble/secp256k1" "^1.6.3" - "@solana/buffer-layout" "^4.0.0" - "agentkeepalive" "^4.2.1" - "bigint-buffer" "^1.1.5" - "bn.js" "^5.0.0" - "borsh" "^0.7.0" - "bs58" "^4.0.1" - "buffer" "6.0.1" - "fast-stable-stringify" "^1.0.0" - "jayson" "^3.4.4" - "node-fetch" "^2.6.7" - "rpc-websockets" "^7.5.1" - "superstruct" "^0.14.2" - -"@stablelib/aead@^1.0.1": - "integrity" "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" - "resolved" "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz" - "version" "1.0.1" - -"@stablelib/binary@^1.0.1": - "integrity" "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==" - "resolved" "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/int" "^1.0.1" - -"@stablelib/bytes@^1.0.1": - "integrity" "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" - "resolved" "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz" - "version" "1.0.1" - -"@stablelib/chacha@^1.0.1": - "integrity" "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==" - "resolved" "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/chacha20poly1305@1.0.1": - "integrity" "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==" - "resolved" "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/aead" "^1.0.1" - "@stablelib/binary" "^1.0.1" - "@stablelib/chacha" "^1.0.1" - "@stablelib/constant-time" "^1.0.1" - "@stablelib/poly1305" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/constant-time@^1.0.1": - "integrity" "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" - "resolved" "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz" - "version" "1.0.1" - -"@stablelib/ed25519@^1.0.2": - "integrity" "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==" - "resolved" "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "@stablelib/random" "^1.0.2" - "@stablelib/sha512" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hash@^1.0.1": - "integrity" "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - "resolved" "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz" - "version" "1.0.1" - -"@stablelib/hkdf@1.0.1": - "integrity" "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==" - "resolved" "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/hash" "^1.0.1" - "@stablelib/hmac" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hmac@^1.0.1": - "integrity" "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==" - "resolved" "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/int@^1.0.1": - "integrity" "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - "resolved" "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz" - "version" "1.0.1" - -"@stablelib/keyagreement@^1.0.1": - "integrity" "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==" - "resolved" "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/bytes" "^1.0.1" - -"@stablelib/poly1305@^1.0.1": - "integrity" "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==" - "resolved" "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": - "integrity" "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==" - "resolved" "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/sha256@1.0.1": - "integrity" "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==" - "resolved" "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/sha512@^1.0.1": - "integrity" "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==" - "resolved" "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/wipe@^1.0.1": - "integrity" "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - "resolved" "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz" - "version" "1.0.1" - -"@stablelib/x25519@^1.0.3": - "integrity" "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==" - "resolved" "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "@stablelib/keyagreement" "^1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/wipe" "^1.0.1" - -"@swc/helpers@0.4.14": - "integrity" "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==" - "resolved" "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz" - "version" "0.4.14" - dependencies: - "tslib" "^2.4.0" - -"@tanstack/query-core@4.27.0": - "integrity" "sha512-sm+QncWaPmM73IPwFlmWSKPqjdTXZeFf/7aEmWh00z7yl2FjqophPt0dE1EHW9P1giMC5rMviv7OUbSDmWzXXA==" - "resolved" "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.27.0.tgz" - "version" "4.27.0" - -"@tanstack/query-persist-client-core@4.27.0": - "integrity" "sha512-A+dPA7zG0MJOMDeBc/2WcKXW4wV2JMkeBVydobPW9G02M4q0yAj7vI+7SmM2dFuXyIvxXp4KulCywN6abRKDSQ==" - "resolved" "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-4.27.0.tgz" - "version" "4.27.0" - dependencies: - "@tanstack/query-core" "4.27.0" - -"@tanstack/query-sync-storage-persister@^4.14.5": - "integrity" "sha512-vClLXtyQZwfV8QTyxqfkEzZSuwIKnrxORAUyxvCDna1M9xao0HtKYsChPVaJoSZ42PNGGvKCiKdg4kfyLeWj+A==" - "resolved" "https://registry.npmjs.org/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.27.1.tgz" - "version" "4.27.1" - dependencies: - "@tanstack/query-persist-client-core" "4.27.0" - -"@tanstack/react-query-persist-client@^4.14.5": - "integrity" "sha512-xNpi3YdPOQIyYkKhByYDqTlyCeqICWFhV5PWkoVxYfzlRK6HYX4s+9Int407jEvhBz9cGC4OaL7rd6bynCFrYg==" - "resolved" "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-4.28.0.tgz" - "version" "4.28.0" - dependencies: - "@tanstack/query-persist-client-core" "4.27.0" - -"@tanstack/react-query@^4.14.5", "@tanstack/react-query@4.28.0": - "integrity" "sha512-8cGBV5300RHlvYdS4ea+G1JcZIt5CIuprXYFnsWggkmGoC0b5JaqG0fIX3qwDL9PTNkKvG76NGThIWbpXivMrQ==" - "resolved" "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.28.0.tgz" - "version" "4.28.0" - dependencies: - "@tanstack/query-core" "4.27.0" - "use-sync-external-store" "^1.2.0" - -"@tsconfig/node10@^1.0.7": - "integrity" "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - "resolved" "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - "version" "1.0.9" - -"@tsconfig/node12@^1.0.7": - "integrity" "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" - "resolved" "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - "version" "1.0.11" - -"@tsconfig/node14@^1.0.0": - "integrity" "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" - "resolved" "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - "version" "1.0.3" - -"@tsconfig/node16@^1.0.2": - "integrity" "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" - "resolved" "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" - "version" "1.0.3" - -"@types/connect@^3.4.33": - "integrity" "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==" - "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" - "version" "3.4.35" - dependencies: - "@types/node" "*" - -"@types/json5@^0.0.29": - "integrity" "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - "version" "0.0.29" - -"@types/node@*", "@types/node@18.15.11": - "integrity" "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz" - "version" "18.15.11" - -"@types/node@^12.12.54": - "integrity" "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz" - "version" "12.20.55" - -"@types/prop-types@*": - "integrity" "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" - "version" "15.7.5" - -"@types/react@18.0.31": - "integrity" "sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==" - "resolved" "https://registry.npmjs.org/@types/react/-/react-18.0.31.tgz" - "version" "18.0.31" - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - "csstype" "^3.0.2" - -"@types/scheduler@*": - "integrity" "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - "resolved" "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz" - "version" "0.16.3" - -"@types/trusted-types@^2.0.2": - "integrity" "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - "resolved" "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz" - "version" "2.0.3" - -"@types/ws@^7.4.4": - "integrity" "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==" - "resolved" "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz" - "version" "7.4.7" - dependencies: - "@types/node" "*" - -"@typescript-eslint/parser@^5.42.0": - "integrity" "sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.0.tgz" - "version" "5.57.0" - dependencies: - "@typescript-eslint/scope-manager" "5.57.0" - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/typescript-estree" "5.57.0" - "debug" "^4.3.4" - -"@typescript-eslint/scope-manager@5.57.0": - "integrity" "sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz" - "version" "5.57.0" - dependencies: - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/visitor-keys" "5.57.0" - -"@typescript-eslint/types@5.57.0": - "integrity" "sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.0.tgz" - "version" "5.57.0" - -"@typescript-eslint/typescript-estree@5.57.0": - "integrity" "sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz" - "version" "5.57.0" - dependencies: - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/visitor-keys" "5.57.0" - "debug" "^4.3.4" - "globby" "^11.1.0" - "is-glob" "^4.0.3" - "semver" "^7.3.7" - "tsutils" "^3.21.0" - -"@typescript-eslint/visitor-keys@5.57.0": - "integrity" "sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz" - "version" "5.57.0" - dependencies: - "@typescript-eslint/types" "5.57.0" - "eslint-visitor-keys" "^3.3.0" - -"@wagmi/chains@0.2.15": - "integrity" "sha512-yeNamxRmqq1/PirJqCpKHSJcetZ9ivZdJnCIvNvJifpCz1A2dLlD1+NON11saiyShH7tshS5Eaf0pm9Luna8JQ==" - "resolved" "https://registry.npmjs.org/@wagmi/chains/-/chains-0.2.15.tgz" - "version" "0.2.15" - -"@wagmi/connectors@0.3.10": - "integrity" "sha512-O9wa6N47TJtpVdBXaONxXXjiq9ahXboGbBnf6m5tb4RIirCzEY7gnsJYYd61k3TQjd9T++xKKKzDTysm37hUHg==" - "resolved" "https://registry.npmjs.org/@wagmi/connectors/-/connectors-0.3.10.tgz" - "version" "0.3.10" - dependencies: - "@coinbase/wallet-sdk" "^3.5.4" - "@ledgerhq/connect-kit-loader" "^1.0.1" - "@safe-global/safe-apps-provider" "^0.15.2" - "@safe-global/safe-apps-sdk" "^7.9.0" - "@walletconnect/ethereum-provider" "2.5.2" - "@walletconnect/legacy-provider" "^2.0.0" - "@web3modal/standalone" "2.2.2" - "abitype" "^0.3.0" - "eventemitter3" "^4.0.7" - -"@wagmi/core@>=0.9.x", "@wagmi/core@0.10.8": - "integrity" "sha512-lBhA7TM6leaYyh7QXWFtmdXX+tTe88MtZmCclBVrT71z9tnX/JxXntEB7aGiHIWFyBNjzgWjBNrBAjxYgxhaCA==" - "resolved" "https://registry.npmjs.org/@wagmi/core/-/core-0.10.8.tgz" - "version" "0.10.8" - dependencies: - "@wagmi/chains" "0.2.15" - "@wagmi/connectors" "0.3.10" - "abitype" "^0.3.0" - "eventemitter3" "^4.0.7" - "zustand" "^4.3.1" - -"@walletconnect/core@2.5.2": - "integrity" "sha512-R0D9NKgHBpdun65q+1L49GOIGDLaIodnyb+Dq0tXGVzvXzy2lkXOlh2e9am61ixaVrUsHt7b96b318geqsuk4Q==" - "resolved" "https://registry.npmjs.org/@walletconnect/core/-/core-2.5.2.tgz" - "version" "2.5.2" - dependencies: - "@walletconnect/heartbeat" "1.2.0" - "@walletconnect/jsonrpc-provider" "1.0.10" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/jsonrpc-ws-connection" "1.0.10" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/relay-auth" "^1.0.4" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.5.2" - "@walletconnect/utils" "2.5.2" - "events" "^3.3.0" - "lodash.isequal" "4.5.0" - "pino" "7.11.0" - "uint8arrays" "^3.1.0" - -"@walletconnect/crypto@^1.0.3": - "integrity" "sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==" - "resolved" "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - "@walletconnect/randombytes" "^1.0.3" - "aes-js" "^3.1.2" - "hash.js" "^1.1.7" - "tslib" "1.14.1" - -"@walletconnect/encoding@^1.0.2": - "integrity" "sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==" - "resolved" "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-typedarray" "1.0.0" - "tslib" "1.14.1" - "typedarray-to-buffer" "3.1.5" - -"@walletconnect/environment@^1.0.1": - "integrity" "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==" - "resolved" "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "tslib" "1.14.1" - -"@walletconnect/ethereum-provider@2.5.2": - "integrity" "sha512-WEN85tsuHgvoiMK4KpsRsOgsKB0QLCctSwxTqyWDybBbXuJRJGWXkZ6Oma9VSmUR0MgPSjiGmOFgY4ybMlhEMA==" - "resolved" "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.5.2.tgz" - "version" "2.5.2" - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.6" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/sign-client" "2.5.2" - "@walletconnect/types" "2.5.2" - "@walletconnect/universal-provider" "2.5.2" - "@walletconnect/utils" "2.5.2" - "events" "^3.3.0" - -"@walletconnect/events@^1.0.1": - "integrity" "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==" - "resolved" "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "keyvaluestorage-interface" "^1.0.0" - "tslib" "1.14.1" - -"@walletconnect/heartbeat@1.2.0": - "integrity" "sha512-0vbzTa/ARrpmMmOD+bQMxPvFYKtOLQZObgZakrYr0aODiMOO71CmPVNV2eAqXnw9rMmcP+z91OybLeIFlwTjjA==" - "resolved" "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/time" "^1.0.2" - "chai" "^4.3.7" - "mocha" "^10.2.0" - "ts-node" "^10.9.1" - "tslib" "1.14.1" - -"@walletconnect/jsonrpc-http-connection@^1.0.4": - "integrity" "sha512-/3zSqDi7JDN06E4qm0NmVYMitngXfh21UWwy8zeJcBeJc+Jcs094EbLsIxtziIIKTCCbT88lWuTjl1ZujxN7cw==" - "resolved" "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - "cross-fetch" "^3.1.4" - "tslib" "1.14.1" - -"@walletconnect/jsonrpc-provider@^1.0.6", "@walletconnect/jsonrpc-provider@1.0.10": - "integrity" "sha512-g0ffPSpY3P6GqGjWGHsr3yqvQUhj7q2k6pAikoXv5XTXWaJRzFvrlbFkSgxziXsBrwrMZn0qvPufvpN4mMZ5FA==" - "resolved" "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - "tslib" "1.14.1" - -"@walletconnect/jsonrpc-types@^1.0.2": - "integrity" "sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg==" - "resolved" "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "keyvaluestorage-interface" "^1.0.0" - "tslib" "1.14.1" - -"@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6": - "integrity" "sha512-snp0tfkjPiDLQp/jrBewI+9SM33GPV4+Gjgldod6XQ7rFyQ5FZjnBxUkY4xWH0+arNxzQSi6v5iDXjCjSaorpg==" - "resolved" "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "@walletconnect/environment" "^1.0.1" - "@walletconnect/jsonrpc-types" "^1.0.2" - "tslib" "1.14.1" - -"@walletconnect/jsonrpc-ws-connection@1.0.10": - "integrity" "sha512-/tidvjfCXZuYugjF5fOswsNDPoMo9QRML3DFQ0dfNUarL4f5HGqu8NDGerr2n0+4MOX23GsT6Vv2POSwFbvgGw==" - "resolved" "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - "events" "^3.3.0" - "tslib" "1.14.1" - "ws" "^7.5.1" - -"@walletconnect/keyvaluestorage@^1.0.2": - "integrity" "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==" - "resolved" "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "safe-json-utils" "^1.1.1" - "tslib" "1.14.1" - -"@walletconnect/legacy-client@^2.0.0": - "integrity" "sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA==" - "resolved" "https://registry.npmjs.org/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "@walletconnect/crypto" "^1.0.3" - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - "detect-browser" "^5.3.0" - "query-string" "^6.13.5" - -"@walletconnect/legacy-modal@^2.0.0": - "integrity" "sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q==" - "resolved" "https://registry.npmjs.org/@walletconnect/legacy-modal/-/legacy-modal-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - "copy-to-clipboard" "^3.3.3" - "preact" "^10.12.0" - "qrcode" "^1.5.1" - -"@walletconnect/legacy-provider@^2.0.0": - "integrity" "sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==" - "resolved" "https://registry.npmjs.org/@walletconnect/legacy-provider/-/legacy-provider-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.6" - "@walletconnect/legacy-client" "^2.0.0" - "@walletconnect/legacy-modal" "^2.0.0" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - -"@walletconnect/legacy-types@^2.0.0": - "integrity" "sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==" - "resolved" "https://registry.npmjs.org/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - -"@walletconnect/legacy-utils@^2.0.0": - "integrity" "sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==" - "resolved" "https://registry.npmjs.org/@walletconnect/legacy-utils/-/legacy-utils-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - "detect-browser" "^5.3.0" - "query-string" "^6.13.5" - -"@walletconnect/logger@^2.0.1": - "integrity" "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==" - "resolved" "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "pino" "7.11.0" - "tslib" "1.14.1" - -"@walletconnect/randombytes@^1.0.3": - "integrity" "sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==" - "resolved" "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - "randombytes" "^2.1.0" - "tslib" "1.14.1" - -"@walletconnect/relay-api@^1.0.9": - "integrity" "sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==" - "resolved" "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.9.tgz" - "version" "1.0.9" - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - "tslib" "1.14.1" - -"@walletconnect/relay-auth@^1.0.4": - "integrity" "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==" - "resolved" "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "@stablelib/ed25519" "^1.0.2" - "@stablelib/random" "^1.0.1" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - "tslib" "1.14.1" - "uint8arrays" "^3.0.0" - -"@walletconnect/safe-json@^1.0.1": - "integrity" "sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A==" - "resolved" "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "tslib" "1.14.1" - -"@walletconnect/sign-client@2.5.2": - "integrity" "sha512-eKUnGCVgYqN+6b4gm27ML/064m0c/2hTlTHy6tbUszYtEPTzb+q4fvpnWs6blaOjzc18l8NFwX3c1+MHxVdQUQ==" - "resolved" "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.5.2.tgz" - "version" "2.5.2" - dependencies: - "@walletconnect/core" "2.5.2" - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.0" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.5.2" - "@walletconnect/utils" "2.5.2" - "events" "^3.3.0" - "pino" "7.11.0" - -"@walletconnect/time@^1.0.2": - "integrity" "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==" - "resolved" "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "tslib" "1.14.1" - -"@walletconnect/types@2.5.2": - "integrity" "sha512-VnV43qs4f2hwv6wGQ9ZSE+smP0z2oVy2XaVO5Szd2fmOx9bB+ov+sQzh9xeoQ+DhjNrbJhUaecW/peE6CPPSag==" - "resolved" "https://registry.npmjs.org/@walletconnect/types/-/types-2.5.2.tgz" - "version" "2.5.2" - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.0" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - "events" "^3.3.0" - -"@walletconnect/universal-provider@2.5.2": - "integrity" "sha512-R61VL02zvcljwSC+FJVzxGswbN21tokQLG0IQL1tVq30+KfkZOt0y/UxsDNvgHNGleGgfoQZzOWsfSLgp5pcBQ==" - "resolved" "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.5.2.tgz" - "version" "2.5.2" - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.6" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.5.2" - "@walletconnect/types" "2.5.2" - "@walletconnect/utils" "2.5.2" - "eip1193-provider" "1.0.1" - "events" "^3.3.0" - "pino" "7.11.0" - -"@walletconnect/utils@2.5.2": - "integrity" "sha512-s5bpY5q/RaXMc6LgPp+E7qPbKhrff9TjrLRjN2m9COnt9cERowpQEFrPzWmh10FatRZ7dNrudJ5I/c36nFc+hw==" - "resolved" "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.5.2.tgz" - "version" "2.5.2" - dependencies: - "@stablelib/chacha20poly1305" "1.0.1" - "@stablelib/hkdf" "1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/sha256" "1.0.1" - "@stablelib/x25519" "^1.0.3" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.5.2" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - "detect-browser" "5.3.0" - "query-string" "7.1.1" - "uint8arrays" "^3.1.0" - -"@walletconnect/window-getters@^1.0.1": - "integrity" "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==" - "resolved" "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "tslib" "1.14.1" - -"@walletconnect/window-metadata@^1.0.1": - "integrity" "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==" - "resolved" "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@walletconnect/window-getters" "^1.0.1" - "tslib" "1.14.1" - -"@web3modal/core@2.2.2": - "integrity" "sha512-RKbYNIEVP5Hwiva68PWXExbkTFLUTasneyRpcjoQSM4BIh78qXp1YMt0nyTvFdHmHQEGxXEMCuRG5qoE97uMHA==" - "resolved" "https://registry.npmjs.org/@web3modal/core/-/core-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "buffer" "6.0.3" - "valtio" "1.10.3" - -"@web3modal/standalone@>=2", "@web3modal/standalone@2.2.2": - "integrity" "sha512-c05kkTFNGZqnjJ3n2C8uo+wWL6ut1jexGYAyTvbweDengdsOr8LDo0VpK5V3XSKCV2fFcPh5JE9H1aA4jpnZPg==" - "resolved" "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "@web3modal/core" "2.2.2" - "@web3modal/ui" "2.2.2" - -"@web3modal/ui@2.2.2": - "integrity" "sha512-PAuMOuk4sZ4UGjucGMZKzu6Qu56XtFsgLaqOn8ZgP2RkZmYEBGSG9mUQVzJd3XzfzAy1T91Wmqp/3TI3m0pXuQ==" - "resolved" "https://registry.npmjs.org/@web3modal/ui/-/ui-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "@web3modal/core" "2.2.2" - "lit" "2.6.1" - "motion" "10.15.5" - "qrcode" "1.5.1" - -"abitype@^0.3.0": - "integrity" "sha512-0YokyAV4hKMcy97Pl+6QgZBlBdZJN2llslOs7kiFY+cu7kMlVXDBpxMExfv0krzBCQt2t7hNovpQ3y/zvEm18A==" - "resolved" "https://registry.npmjs.org/abitype/-/abitype-0.3.0.tgz" - "version" "0.3.0" - -"acorn-jsx@^5.3.2": - "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - "version" "5.3.2" - -"acorn-walk@^8.1.1": - "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - "version" "8.2.0" - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8.4.1", "acorn@^8.8.0": - "integrity" "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" - "version" "8.8.2" - -"aes-js@^3.1.2": - "integrity" "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" - "resolved" "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz" - "version" "3.1.2" - -"aes-js@3.0.0": - "integrity" "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - "resolved" "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" - "version" "3.0.0" - -"agentkeepalive@^4.2.1": - "integrity" "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==" - "resolved" "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "debug" "^4.1.0" - "depd" "^2.0.0" - "humanize-ms" "^1.2.1" - -"ajv@^6.10.0", "ajv@^6.12.4": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ansi-colors@4.1.1": - "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - "version" "4.1.1" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"anymatch@~3.1.2": - "integrity" "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"arg@^4.1.0": - "integrity" "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - "resolved" "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - "version" "4.1.3" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"aria-query@^5.1.3": - "integrity" "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==" - "resolved" "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" - "version" "5.1.3" - dependencies: - "deep-equal" "^2.0.5" - -"array-buffer-byte-length@^1.0.0": - "integrity" "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==" - "resolved" "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "is-array-buffer" "^3.0.1" - -"array-includes@^3.1.5", "array-includes@^3.1.6": - "integrity" "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==" - "resolved" "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" - "version" "3.1.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - "get-intrinsic" "^1.1.3" - "is-string" "^1.0.7" - -"array-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"array.prototype.flat@^1.3.1": - "integrity" "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==" - "resolved" "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - "es-shim-unscopables" "^1.0.0" - -"array.prototype.flatmap@^1.3.1": - "integrity" "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==" - "resolved" "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - "es-shim-unscopables" "^1.0.0" - -"array.prototype.tosorted@^1.1.1": - "integrity" "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==" - "resolved" "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - "es-shim-unscopables" "^1.0.0" - "get-intrinsic" "^1.1.3" - -"assertion-error@^1.1.0": - "integrity" "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - "resolved" "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" - "version" "1.1.0" - -"ast-types-flow@^0.0.7": - "integrity" "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - "resolved" "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" - "version" "0.0.7" - -"async-mutex@^0.2.6": - "integrity" "sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==" - "resolved" "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz" - "version" "0.2.6" - dependencies: - "tslib" "^2.0.0" - -"atomic-sleep@^1.0.0": - "integrity" "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" - "resolved" "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz" - "version" "1.0.0" - -"available-typed-arrays@^1.0.5": - "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - "version" "1.0.5" - -"axe-core@^4.6.2": - "integrity" "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==" - "resolved" "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz" - "version" "4.6.3" - -"axios@^0.21.0": - "integrity" "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" - "version" "0.21.4" - dependencies: - "follow-redirects" "^1.14.0" - -"axobject-query@^3.1.1": - "integrity" "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==" - "resolved" "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "deep-equal" "^2.0.5" - -"babel-plugin-polyfill-corejs2@^0.3.3": - "integrity" "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - "semver" "^6.1.1" - -"babel-plugin-polyfill-corejs3@^0.6.0": - "integrity" "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - "core-js-compat" "^3.25.1" - -"babel-plugin-polyfill-regenerator@^0.4.1": - "integrity" "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base-x@^3.0.2": - "integrity" "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==" - "resolved" "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" - "version" "3.0.9" - dependencies: - "safe-buffer" "^5.0.1" - -"base64-js@^1.3.1": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"bech32@1.1.4": - "integrity" "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - "resolved" "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" - "version" "1.1.4" - -"bigint-buffer@^1.1.5": - "integrity" "sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==" - "resolved" "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "bindings" "^1.3.0" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"bind-decorator@^1.0.11": - "integrity" "sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg==" - "resolved" "https://registry.npmjs.org/bind-decorator/-/bind-decorator-1.0.11.tgz" - "version" "1.0.11" - -"bindings@^1.3.0": - "integrity" "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==" - "resolved" "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "file-uri-to-path" "1.0.0" - -"bn.js@^4.11.9": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^5.0.0", "bn.js@^5.1.1", "bn.js@^5.2.0", "bn.js@^5.2.1": - "integrity" "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" - "version" "5.2.1" - -"borsh@^0.7.0": - "integrity" "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==" - "resolved" "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz" - "version" "0.7.0" - dependencies: - "bn.js" "^5.2.0" - "bs58" "^4.0.0" - "text-encoding-utf-8" "^1.0.2" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"brace-expansion@^2.0.1": - "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "balanced-match" "^1.0.0" - -"braces@^3.0.2", "braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"brorand@^1.1.0": - "integrity" "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - "version" "1.1.0" - -"browser-stdout@1.3.1": - "integrity" "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - "resolved" "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - "version" "1.3.1" - -"browserslist@^4.21.3", "browserslist@^4.21.5", "browserslist@>= 4.21.0": - "integrity" "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" - "version" "4.21.5" - dependencies: - "caniuse-lite" "^1.0.30001449" - "electron-to-chromium" "^1.4.284" - "node-releases" "^2.0.8" - "update-browserslist-db" "^1.0.10" - -"bs58@^4.0.0", "bs58@^4.0.1": - "integrity" "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==" - "resolved" "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "base-x" "^3.0.2" - -"buffer@^6.0.3", "buffer@~6.0.3", "buffer@6.0.3": - "integrity" "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" - "version" "6.0.3" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.2.1" - -"buffer@6.0.1": - "integrity" "sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.2.1" - -"bufferutil@^4.0.1": - "integrity" "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==" - "resolved" "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz" - "version" "4.0.7" - dependencies: - "node-gyp-build" "^4.3.0" - -"call-bind@^1.0.0", "call-bind@^1.0.2": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase@^5.0.0": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.0.0": - "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - "version" "6.3.0" - -"caniuse-lite@^1.0.30001406", "caniuse-lite@^1.0.30001449": - "integrity" "sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz" - "version" "1.0.30001473" - -"chai@^4.3.7": - "integrity" "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==" - "resolved" "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz" - "version" "4.3.7" - dependencies: - "assertion-error" "^1.1.0" - "check-error" "^1.0.2" - "deep-eql" "^4.1.2" - "get-func-name" "^2.0.0" - "loupe" "^2.3.1" - "pathval" "^1.1.1" - "type-detect" "^4.0.5" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^4.0.0", "chalk@^4.1.0": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"check-error@^1.0.2": - "integrity" "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" - "resolved" "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" - "version" "1.0.2" - -"chokidar@3.5.3": - "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - "version" "3.5.3" - dependencies: - "anymatch" "~3.1.2" - "braces" "~3.0.2" - "glob-parent" "~5.1.2" - "is-binary-path" "~2.1.0" - "is-glob" "~4.0.1" - "normalize-path" "~3.0.0" - "readdirp" "~3.6.0" - optionalDependencies: - "fsevents" "~2.3.2" - -"client-only@0.0.1": - "integrity" "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - "resolved" "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" - "version" "0.0.1" - -"cliui@^6.0.0": - "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^6.2.0" - -"cliui@^7.0.2": - "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - "version" "7.0.4" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^7.0.0" - -"clsx@^1.1.0": - "integrity" "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - "resolved" "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - "version" "1.2.1" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"commander@^2.20.3": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"concat-map@0.0.1": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"convert-source-map@^1.7.0": - "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - "version" "1.9.0" - -"copy-to-clipboard@^3.3.3": - "integrity" "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==" - "resolved" "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz" - "version" "3.3.3" - dependencies: - "toggle-selection" "^1.0.6" - -"core-js-compat@^3.25.1": - "integrity" "sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==" - "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.1.tgz" - "version" "3.29.1" - dependencies: - "browserslist" "^4.21.5" - -"create-require@^1.1.0": - "integrity" "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - "resolved" "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - "version" "1.1.1" - -"cross-fetch@^3.1.4", "cross-fetch@^3.1.5": - "integrity" "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==" - "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "node-fetch" "2.6.7" - -"cross-spawn@^7.0.2", "cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"csstype@^3.0.2": - "integrity" "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" - "version" "3.1.1" - -"damerau-levenshtein@^1.0.8": - "integrity" "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - "resolved" "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" - "version" "1.0.8" - -"debug@^3.2.7": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4", "debug@4.3.4": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "ms" "2.1.2" - -"decamelize@^1.2.0": - "integrity" "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - "version" "1.2.0" - -"decamelize@^4.0.0": - "integrity" "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" - "version" "4.0.0" - -"decode-uri-component@^0.2.0": - "integrity" "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" - "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" - "version" "0.2.2" - -"deep-eql@^4.1.2": - "integrity" "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" - "resolved" "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz" - "version" "4.1.3" - dependencies: - "type-detect" "^4.0.0" - -"deep-equal@^2.0.5": - "integrity" "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==" - "resolved" "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "call-bind" "^1.0.2" - "es-get-iterator" "^1.1.2" - "get-intrinsic" "^1.1.3" - "is-arguments" "^1.1.1" - "is-array-buffer" "^3.0.1" - "is-date-object" "^1.0.5" - "is-regex" "^1.1.4" - "is-shared-array-buffer" "^1.0.2" - "isarray" "^2.0.5" - "object-is" "^1.1.5" - "object-keys" "^1.1.1" - "object.assign" "^4.1.4" - "regexp.prototype.flags" "^1.4.3" - "side-channel" "^1.0.4" - "which-boxed-primitive" "^1.0.2" - "which-collection" "^1.0.1" - "which-typed-array" "^1.1.9" - -"deep-is@^0.1.3": - "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - "version" "0.1.4" - -"define-lazy-prop@^2.0.0": - "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - "version" "2.0.0" - -"define-properties@^1.1.3", "define-properties@^1.1.4": - "integrity" "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "has-property-descriptors" "^1.0.0" - "object-keys" "^1.1.1" - -"delay@^5.0.0": - "integrity" "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" - "resolved" "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz" - "version" "5.0.0" - -"depd@^2.0.0": - "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - "version" "2.0.0" - -"detect-browser@^5.3.0", "detect-browser@5.3.0": - "integrity" "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" - "resolved" "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz" - "version" "5.3.0" - -"diff@^4.0.1": - "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - "version" "4.0.2" - -"diff@5.0.0": - "integrity" "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" - "resolved" "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" - "version" "5.0.0" - -"dijkstrajs@^1.0.1": - "integrity" "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" - "resolved" "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz" - "version" "1.0.2" - -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" - -"doctrine@^2.1.0": - "integrity" "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "esutils" "^2.0.2" - -"doctrine@^3.0.0": - "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "esutils" "^2.0.2" - -"duplexify@^4.1.2": - "integrity" "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==" - "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "end-of-stream" "^1.4.1" - "inherits" "^2.0.3" - "readable-stream" "^3.1.1" - "stream-shift" "^1.0.0" - -"eip1193-provider@1.0.1": - "integrity" "sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==" - "resolved" "https://registry.npmjs.org/eip1193-provider/-/eip1193-provider-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@json-rpc-tools/provider" "^1.5.5" - -"electron-to-chromium@^1.4.284": - "integrity" "sha512-znGhOQK2TUYLICgS25uaM0a7pHy66rSxbre7l762vg9AUoCcJK+Bu+HCPWpjL/U/kK8/Hf+6E0szAUJSyVYb3Q==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.345.tgz" - "version" "1.4.345" - -"elliptic@6.5.4": - "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" - "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - "version" "6.5.4" - dependencies: - "bn.js" "^4.11.9" - "brorand" "^1.1.0" - "hash.js" "^1.0.0" - "hmac-drbg" "^1.0.1" - "inherits" "^2.0.4" - "minimalistic-assert" "^1.0.1" - "minimalistic-crypto-utils" "^1.0.1" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"emoji-regex@^9.2.2": - "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - "version" "9.2.2" - -"encode-utf8@^1.0.3": - "integrity" "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" - "resolved" "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz" - "version" "1.0.3" - -"encoding@^0.1.0": - "integrity" "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==" - "resolved" "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" - "version" "0.1.13" - dependencies: - "iconv-lite" "^0.6.2" - -"end-of-stream@^1.4.1": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"enhanced-resolve@^5.12.0": - "integrity" "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz" - "version" "5.12.0" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"es-abstract@^1.19.0", "es-abstract@^1.20.4": - "integrity" "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==" - "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz" - "version" "1.21.2" - dependencies: - "array-buffer-byte-length" "^1.0.0" - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.2" - "es-set-tostringtag" "^2.0.1" - "es-to-primitive" "^1.2.1" - "function.prototype.name" "^1.1.5" - "get-intrinsic" "^1.2.0" - "get-symbol-description" "^1.0.0" - "globalthis" "^1.0.3" - "gopd" "^1.0.1" - "has" "^1.0.3" - "has-property-descriptors" "^1.0.0" - "has-proto" "^1.0.1" - "has-symbols" "^1.0.3" - "internal-slot" "^1.0.5" - "is-array-buffer" "^3.0.2" - "is-callable" "^1.2.7" - "is-negative-zero" "^2.0.2" - "is-regex" "^1.1.4" - "is-shared-array-buffer" "^1.0.2" - "is-string" "^1.0.7" - "is-typed-array" "^1.1.10" - "is-weakref" "^1.0.2" - "object-inspect" "^1.12.3" - "object-keys" "^1.1.1" - "object.assign" "^4.1.4" - "regexp.prototype.flags" "^1.4.3" - "safe-regex-test" "^1.0.0" - "string.prototype.trim" "^1.2.7" - "string.prototype.trimend" "^1.0.6" - "string.prototype.trimstart" "^1.0.6" - "typed-array-length" "^1.0.4" - "unbox-primitive" "^1.0.2" - "which-typed-array" "^1.1.9" - -"es-get-iterator@^1.1.2": - "integrity" "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==" - "resolved" "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.3" - "has-symbols" "^1.0.3" - "is-arguments" "^1.1.1" - "is-map" "^2.0.2" - "is-set" "^2.0.2" - "is-string" "^1.0.7" - "isarray" "^2.0.5" - "stop-iteration-iterator" "^1.0.0" - -"es-set-tostringtag@^2.0.1": - "integrity" "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==" - "resolved" "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "get-intrinsic" "^1.1.3" - "has" "^1.0.3" - "has-tostringtag" "^1.0.0" - -"es-shim-unscopables@^1.0.0": - "integrity" "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==" - "resolved" "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has" "^1.0.3" - -"es-to-primitive@^1.2.1": - "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" - "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "is-callable" "^1.1.4" - "is-date-object" "^1.0.1" - "is-symbol" "^1.0.2" - -"es6-promise@^4.0.3": - "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" - "version" "4.2.8" - -"es6-promisify@^5.0.0": - "integrity" "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==" - "resolved" "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "es6-promise" "^4.0.3" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-string-regexp@^1.0.5": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^4.0.0", "escape-string-regexp@4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"eslint-config-next@13.2.4": - "integrity" "sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==" - "resolved" "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.2.4.tgz" - "version" "13.2.4" - dependencies: - "@next/eslint-plugin-next" "13.2.4" - "@rushstack/eslint-patch" "^1.1.3" - "@typescript-eslint/parser" "^5.42.0" - "eslint-import-resolver-node" "^0.3.6" - "eslint-import-resolver-typescript" "^3.5.2" - "eslint-plugin-import" "^2.26.0" - "eslint-plugin-jsx-a11y" "^6.5.1" - "eslint-plugin-react" "^7.31.7" - "eslint-plugin-react-hooks" "^4.5.0" - -"eslint-config-prettier@^8.8.0": - "integrity" "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==" - "resolved" "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz" - "version" "8.8.0" - -"eslint-import-resolver-node@^0.3.6", "eslint-import-resolver-node@^0.3.7": - "integrity" "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==" - "resolved" "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz" - "version" "0.3.7" - dependencies: - "debug" "^3.2.7" - "is-core-module" "^2.11.0" - "resolve" "^1.22.1" - -"eslint-import-resolver-typescript@^3.5.2": - "integrity" "sha512-9xUpnedEmSfG57sN1UvWPiEhfJ8bPt0Wg2XysA7Mlc79iFGhmJtRUg9LxtkK81FhMUui0YuR2E8iUsVhePkh4A==" - "resolved" "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.4.tgz" - "version" "3.5.4" - dependencies: - "debug" "^4.3.4" - "enhanced-resolve" "^5.12.0" - "get-tsconfig" "^4.5.0" - "globby" "^13.1.3" - "is-core-module" "^2.11.0" - "is-glob" "^4.0.3" - "synckit" "^0.8.5" - -"eslint-module-utils@^2.7.4": - "integrity" "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==" - "resolved" "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz" - "version" "2.7.4" - dependencies: - "debug" "^3.2.7" - -"eslint-plugin-import@*", "eslint-plugin-import@^2.26.0": - "integrity" "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==" - "resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz" - "version" "2.27.5" - dependencies: - "array-includes" "^3.1.6" - "array.prototype.flat" "^1.3.1" - "array.prototype.flatmap" "^1.3.1" - "debug" "^3.2.7" - "doctrine" "^2.1.0" - "eslint-import-resolver-node" "^0.3.7" - "eslint-module-utils" "^2.7.4" - "has" "^1.0.3" - "is-core-module" "^2.11.0" - "is-glob" "^4.0.3" - "minimatch" "^3.1.2" - "object.values" "^1.1.6" - "resolve" "^1.22.1" - "semver" "^6.3.0" - "tsconfig-paths" "^3.14.1" - -"eslint-plugin-jsx-a11y@^6.5.1": - "integrity" "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==" - "resolved" "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz" - "version" "6.7.1" - dependencies: - "@babel/runtime" "^7.20.7" - "aria-query" "^5.1.3" - "array-includes" "^3.1.6" - "array.prototype.flatmap" "^1.3.1" - "ast-types-flow" "^0.0.7" - "axe-core" "^4.6.2" - "axobject-query" "^3.1.1" - "damerau-levenshtein" "^1.0.8" - "emoji-regex" "^9.2.2" - "has" "^1.0.3" - "jsx-ast-utils" "^3.3.3" - "language-tags" "=1.0.5" - "minimatch" "^3.1.2" - "object.entries" "^1.1.6" - "object.fromentries" "^2.0.6" - "semver" "^6.3.0" - -"eslint-plugin-react-hooks@^4.5.0": - "integrity" "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==" - "resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" - "version" "4.6.0" - -"eslint-plugin-react@^7.31.7": - "integrity" "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==" - "resolved" "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz" - "version" "7.32.2" - dependencies: - "array-includes" "^3.1.6" - "array.prototype.flatmap" "^1.3.1" - "array.prototype.tosorted" "^1.1.1" - "doctrine" "^2.1.0" - "estraverse" "^5.3.0" - "jsx-ast-utils" "^2.4.1 || ^3.0.0" - "minimatch" "^3.1.2" - "object.entries" "^1.1.6" - "object.fromentries" "^2.0.6" - "object.hasown" "^1.1.2" - "object.values" "^1.1.6" - "prop-types" "^15.8.1" - "resolve" "^2.0.0-next.4" - "semver" "^6.3.0" - "string.prototype.matchall" "^4.0.8" - -"eslint-scope@^7.1.1": - "integrity" "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" - "version" "7.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^5.2.0" - -"eslint-visitor-keys@^3.3.0", "eslint-visitor-keys@^3.4.0": - "integrity" "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz" - "version" "3.4.0" - -"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.23.0 || ^8.0.0", "eslint@>=7.0.0", "eslint@8.36.0": - "integrity" "sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz" - "version" "8.36.0" - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.1" - "@eslint/js" "8.36.0" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "ajv" "^6.10.0" - "chalk" "^4.0.0" - "cross-spawn" "^7.0.2" - "debug" "^4.3.2" - "doctrine" "^3.0.0" - "escape-string-regexp" "^4.0.0" - "eslint-scope" "^7.1.1" - "eslint-visitor-keys" "^3.3.0" - "espree" "^9.5.0" - "esquery" "^1.4.2" - "esutils" "^2.0.2" - "fast-deep-equal" "^3.1.3" - "file-entry-cache" "^6.0.1" - "find-up" "^5.0.0" - "glob-parent" "^6.0.2" - "globals" "^13.19.0" - "grapheme-splitter" "^1.0.4" - "ignore" "^5.2.0" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "is-path-inside" "^3.0.3" - "js-sdsl" "^4.1.4" - "js-yaml" "^4.1.0" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.4.1" - "lodash.merge" "^4.6.2" - "minimatch" "^3.1.2" - "natural-compare" "^1.4.0" - "optionator" "^0.9.1" - "strip-ansi" "^6.0.1" - "strip-json-comments" "^3.1.0" - "text-table" "^0.2.0" - -"espree@^9.5.0", "espree@^9.5.1": - "integrity" "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==" - "resolved" "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz" - "version" "9.5.1" - dependencies: - "acorn" "^8.8.0" - "acorn-jsx" "^5.3.2" - "eslint-visitor-keys" "^3.4.0" - -"esquery@^1.4.2": - "integrity" "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==" - "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "estraverse" "^5.1.0" - -"esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^5.1.0", "estraverse@^5.2.0", "estraverse@^5.3.0": - "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - "version" "5.3.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"eth-block-tracker@4.4.3": - "integrity" "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==" - "resolved" "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz" - "version" "4.4.3" - dependencies: - "@babel/plugin-transform-runtime" "^7.5.5" - "@babel/runtime" "^7.5.5" - "eth-query" "^2.1.0" - "json-rpc-random-id" "^1.0.1" - "pify" "^3.0.0" - "safe-event-emitter" "^1.0.1" - -"eth-json-rpc-filters@5.1.0": - "integrity" "sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ==" - "resolved" "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - "async-mutex" "^0.2.6" - "eth-query" "^2.1.2" - "json-rpc-engine" "^6.1.0" - "pify" "^5.0.0" - -"eth-query@^2.1.0", "eth-query@^2.1.2": - "integrity" "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==" - "resolved" "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz" - "version" "2.1.2" - dependencies: - "json-rpc-random-id" "^1.0.0" - "xtend" "^4.0.1" - -"eth-rpc-errors@^4.0.2", "eth-rpc-errors@4.0.2": - "integrity" "sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==" - "resolved" "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "fast-safe-stringify" "^2.0.6" - -"ethers@^5", "ethers@^5.7.2", "ethers@>=5.5.1 <6": - "integrity" "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==" - "resolved" "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" - "version" "5.7.2" - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - -"eventemitter3@^4.0.7": - "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - "version" "4.0.7" - -"events@^3.0.0", "events@^3.3.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"eyes@^0.1.8": - "integrity" "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" - "resolved" "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz" - "version" "0.1.8" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-glob@^3.2.11", "fast-glob@^3.2.9": - "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - "version" "3.2.12" - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - "glob-parent" "^5.1.2" - "merge2" "^1.3.0" - "micromatch" "^4.0.4" - -"fast-json-stable-stringify@^2.0.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fast-levenshtein@^2.0.6": - "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" - -"fast-redact@^3.0.0": - "integrity" "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==" - "resolved" "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz" - "version" "3.1.2" - -"fast-safe-stringify@^2.0.6": - "integrity" "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - "resolved" "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" - "version" "2.1.1" - -"fast-stable-stringify@^1.0.0": - "integrity" "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==" - "resolved" "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz" - "version" "1.0.0" - -"fastq@^1.6.0": - "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "reusify" "^1.0.4" - -"file-entry-cache@^6.0.1": - "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "flat-cache" "^3.0.4" - -"file-uri-to-path@1.0.0": - "integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" - "version" "1.0.0" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"filter-obj@^1.1.0": - "integrity" "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" - "resolved" "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" - "version" "1.1.0" - -"find-up@^4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^5.0.0", "find-up@5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" - -"flat-cache@^3.0.4": - "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "flatted" "^3.1.0" - "rimraf" "^3.0.2" - -"flat@^5.0.2": - "integrity" "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - "resolved" "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - "version" "5.0.2" - -"flatted@^3.1.0": - "integrity" "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - "version" "3.2.7" - -"follow-redirects@^1.14.0": - "integrity" "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - "version" "1.15.2" - -"for-each@^0.3.3": - "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" - "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "is-callable" "^1.1.3" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@~2.3.2": - "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - "version" "2.3.2" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"function.prototype.name@^1.1.5": - "integrity" "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==" - "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.0" - "functions-have-names" "^1.2.2" - -"functions-have-names@^1.2.2": - "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - "version" "1.2.3" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^2.0.1", "get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-func-name@^2.0.0": - "integrity" "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" - "resolved" "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" - "version" "2.0.0" - -"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1", "get-intrinsic@^1.1.3", "get-intrinsic@^1.2.0": - "integrity" "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.3" - -"get-symbol-description@^1.0.0": - "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" - "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.1" - -"get-tsconfig@^4.5.0": - "integrity" "sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==" - "resolved" "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.5.0.tgz" - "version" "4.5.0" - -"glob-parent@^5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob-parent@^6.0.2": - "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "is-glob" "^4.0.3" - -"glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob@^7.1.3", "glob@7.1.7": - "integrity" "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - "version" "7.1.7" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"glob@7.2.0": - "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globals@^13.19.0": - "integrity" "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==" - "resolved" "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" - "version" "13.20.0" - dependencies: - "type-fest" "^0.20.2" - -"globalthis@^1.0.3": - "integrity" "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==" - "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "define-properties" "^1.1.3" - -"globalyzer@0.1.0": - "integrity" "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==" - "resolved" "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz" - "version" "0.1.0" - -"globby@^11.1.0": - "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - "version" "11.1.0" - dependencies: - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.2.9" - "ignore" "^5.2.0" - "merge2" "^1.4.1" - "slash" "^3.0.0" - -"globby@^13.1.3": - "integrity" "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==" - "resolved" "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz" - "version" "13.1.3" - dependencies: - "dir-glob" "^3.0.1" - "fast-glob" "^3.2.11" - "ignore" "^5.2.0" - "merge2" "^1.4.1" - "slash" "^4.0.0" - -"globrex@^0.1.2": - "integrity" "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" - "resolved" "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz" - "version" "0.1.2" - -"gopd@^1.0.1": - "integrity" "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==" - "resolved" "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "get-intrinsic" "^1.1.3" - -"graceful-fs@^4.2.4": - "integrity" "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - "version" "4.2.11" - -"grapheme-splitter@^1.0.4": - "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - "version" "1.0.4" - -"has-bigints@^1.0.1", "has-bigints@^1.0.2": - "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - "version" "1.0.2" - -"has-flag@^3.0.0": - "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-property-descriptors@^1.0.0": - "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" - "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-intrinsic" "^1.1.1" - -"has-proto@^1.0.1": - "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - "version" "1.0.1" - -"has-symbols@^1.0.2", "has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has-tostringtag@^1.0.0": - "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" - "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-symbols" "^1.0.2" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"hash.js@^1.0.0", "hash.js@^1.0.3", "hash.js@^1.1.7", "hash.js@1.1.7": - "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" - "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "inherits" "^2.0.3" - "minimalistic-assert" "^1.0.1" - -"he@1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"hey-listen@^1.0.8": - "integrity" "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" - "resolved" "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz" - "version" "1.0.8" - -"hmac-drbg@^1.0.1": - "integrity" "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" - "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "hash.js" "^1.0.3" - "minimalistic-assert" "^1.0.0" - "minimalistic-crypto-utils" "^1.0.1" - -"humanize-ms@^1.2.1": - "integrity" "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==" - "resolved" "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "ms" "^2.0.0" - -"iconv-lite@^0.6.2": - "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "safer-buffer" ">= 2.1.2 < 3.0.0" - -"ieee754@^1.2.1": - "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - "version" "1.2.1" - -"ignore@^5.2.0": - "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - "version" "5.2.4" - -"import-fresh@^3.0.0", "import-fresh@^3.2.1": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.4", "inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"internal-slot@^1.0.3", "internal-slot@^1.0.4", "internal-slot@^1.0.5": - "integrity" "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==" - "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "get-intrinsic" "^1.2.0" - "has" "^1.0.3" - "side-channel" "^1.0.4" - -"is-arguments@^1.0.4", "is-arguments@^1.1.1": - "integrity" "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==" - "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-array-buffer@^3.0.1", "is-array-buffer@^3.0.2": - "integrity" "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==" - "resolved" "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.2.0" - "is-typed-array" "^1.1.10" - -"is-bigint@^1.0.1": - "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" - "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-bigints" "^1.0.1" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" - -"is-boolean-object@^1.1.0": - "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" - "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.7": - "integrity" "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - "version" "1.2.7" - -"is-core-module@^2.11.0", "is-core-module@^2.9.0": - "integrity" "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" - "version" "2.11.0" - dependencies: - "has" "^1.0.3" - -"is-date-object@^1.0.1", "is-date-object@^1.0.5": - "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" - "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-docker@^2.0.0", "is-docker@^2.1.1": - "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - "version" "2.2.1" - -"is-extglob@^2.1.1": - "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-generator-function@^1.0.7": - "integrity" "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==" - "resolved" "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": - "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "is-extglob" "^2.1.1" - -"is-map@^2.0.1", "is-map@^2.0.2": - "integrity" "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" - "resolved" "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" - "version" "2.0.2" - -"is-negative-zero@^2.0.2": - "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - "version" "2.0.2" - -"is-number-object@^1.0.4": - "integrity" "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==" - "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-path-inside@^3.0.3": - "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - "version" "3.0.3" - -"is-plain-obj@^2.1.0": - "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - "version" "2.1.0" - -"is-regex@^1.1.4": - "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" - "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-set@^2.0.1", "is-set@^2.0.2": - "integrity" "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" - "resolved" "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" - "version" "2.0.2" - -"is-shared-array-buffer@^1.0.2": - "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" - "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-string@^1.0.5", "is-string@^1.0.7": - "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" - "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-symbol@^1.0.2", "is-symbol@^1.0.3": - "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" - "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-symbols" "^1.0.2" - -"is-typed-array@^1.1.10", "is-typed-array@^1.1.3", "is-typed-array@^1.1.9": - "integrity" "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==" - "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" - "version" "1.1.10" - dependencies: - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.2" - "for-each" "^0.3.3" - "gopd" "^1.0.1" - "has-tostringtag" "^1.0.0" - -"is-typedarray@^1.0.0", "is-typedarray@1.0.0": - "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"is-unicode-supported@^0.1.0": - "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - "version" "0.1.0" - -"is-weakmap@^2.0.1": - "integrity" "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" - "resolved" "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" - "version" "2.0.1" - -"is-weakref@^1.0.2": - "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" - "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-weakset@^2.0.1": - "integrity" "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==" - "resolved" "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.1" - -"is-wsl@^2.2.0": - "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "is-docker" "^2.0.0" - -"isarray@^2.0.5": - "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - "version" "2.0.5" - -"isexe@^2.0.0": - "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isomorphic-ws@^4.0.1": - "integrity" "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==" - "resolved" "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" - "version" "4.0.1" - -"jayson@^3.4.4": - "integrity" "sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==" - "resolved" "https://registry.npmjs.org/jayson/-/jayson-3.7.0.tgz" - "version" "3.7.0" - dependencies: - "@types/connect" "^3.4.33" - "@types/node" "^12.12.54" - "@types/ws" "^7.4.4" - "commander" "^2.20.3" - "delay" "^5.0.0" - "es6-promisify" "^5.0.0" - "eyes" "^0.1.8" - "isomorphic-ws" "^4.0.1" - "json-stringify-safe" "^5.0.1" - "JSONStream" "^1.3.5" - "lodash" "^4.17.20" - "uuid" "^8.3.2" - "ws" "^7.4.5" - -"js-sdsl@^4.1.4": - "integrity" "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==" - "resolved" "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz" - "version" "4.4.0" - -"js-sha3@0.8.0": - "integrity" "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - "resolved" "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - "version" "0.8.0" - -"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^4.1.0", "js-yaml@4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"json-rpc-engine@^6.1.0", "json-rpc-engine@6.1.0": - "integrity" "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==" - "resolved" "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - "eth-rpc-errors" "^4.0.2" - -"json-rpc-random-id@^1.0.0", "json-rpc-random-id@^1.0.1": - "integrity" "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==" - "resolved" "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz" - "version" "1.0.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - "version" "1.0.1" - -"json-stringify-safe@^5.0.1": - "integrity" "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - "version" "5.0.1" - -"json5@^1.0.2": - "integrity" "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "minimist" "^1.2.0" - -"json5@^2.2.2": - "integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - "version" "2.2.3" - -"jsonparse@^1.2.0": - "integrity" "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" - "resolved" "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - "version" "1.3.1" - -"JSONStream@^1.3.5": - "integrity" "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==" - "resolved" "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "jsonparse" "^1.2.0" - "through" ">=2.2.7 <3" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", "jsx-ast-utils@^3.3.3": - "integrity" "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==" - "resolved" "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" - "version" "3.3.3" - dependencies: - "array-includes" "^3.1.5" - "object.assign" "^4.1.3" - -"keccak@^3.0.1": - "integrity" "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==" - "resolved" "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "node-addon-api" "^2.0.0" - "node-gyp-build" "^4.2.0" - "readable-stream" "^3.6.0" - -"keyvaluestorage-interface@^1.0.0": - "integrity" "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" - "resolved" "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz" - "version" "1.0.0" - -"language-subtag-registry@~0.3.2": - "integrity" "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - "resolved" "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz" - "version" "0.3.22" - -"language-tags@=1.0.5": - "integrity" "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==" - "resolved" "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "language-subtag-registry" "~0.3.2" - -"levn@^0.4.1": - "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "prelude-ls" "^1.2.1" - "type-check" "~0.4.0" - -"lit-element@^3.2.0": - "integrity" "sha512-M3OIoblNS7LZdRxOIk8g0wyLEA/lRw/UGJ1TX+767OpkuDsRdSoxBIvewpWqCo7sMd9xt1XedUNZIr9jUO1X3g==" - "resolved" "https://registry.npmjs.org/lit-element/-/lit-element-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "@lit-labs/ssr-dom-shim" "^1.1.0" - "@lit/reactive-element" "^1.3.0" - "lit-html" "^2.7.0" - -"lit-html@^2.6.0", "lit-html@^2.7.0": - "integrity" "sha512-/zPOl8EfeB3HHpTzINSpnWgvgQ8N07g/j272EOAIyB0Ys2RzBqTVT23i+JZuUlNbB2WHHeSsTCFi92NtWrtpqQ==" - "resolved" "https://registry.npmjs.org/lit-html/-/lit-html-2.7.0.tgz" - "version" "2.7.0" - dependencies: - "@types/trusted-types" "^2.0.2" - -"lit@2.6.1": - "integrity" "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==" - "resolved" "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz" - "version" "2.6.1" - dependencies: - "@lit/reactive-element" "^1.6.0" - "lit-element" "^3.2.0" - "lit-html" "^2.6.0" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"locate-path@^6.0.0": - "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "p-locate" "^5.0.0" - -"lodash.debounce@^4.0.8": - "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash.isequal@4.5.0": - "integrity" "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - "resolved" "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" - "version" "4.5.0" - -"lodash.merge@^4.6.2": - "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - "version" "4.6.2" - -"lodash@^4.17.20": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"log-symbols@4.1.0": - "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "chalk" "^4.1.0" - "is-unicode-supported" "^0.1.0" - -"loose-envify@^1.1.0", "loose-envify@^1.4.0": - "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" - "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "js-tokens" "^3.0.0 || ^4.0.0" - -"loupe@^2.3.1": - "integrity" "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==" - "resolved" "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz" - "version" "2.3.6" - dependencies: - "get-func-name" "^2.0.0" - -"lru-cache@^5.1.1": - "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "yallist" "^3.0.2" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"make-error@^1.1.1": - "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - "version" "1.3.6" - -"merge2@^1.3.0", "merge2@^1.4.1": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"micromatch@^4.0.4": - "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "braces" "^3.0.2" - "picomatch" "^2.3.1" - -"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-crypto-utils@^1.0.1": - "integrity" "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.2": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@5.0.1": - "integrity" "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "brace-expansion" "^2.0.1" - -"minimist@^1.2.0", "minimist@^1.2.6": - "integrity" "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - "version" "1.2.8" - -"mocha@^10.2.0": - "integrity" "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==" - "resolved" "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz" - "version" "10.2.0" - dependencies: - "ansi-colors" "4.1.1" - "browser-stdout" "1.3.1" - "chokidar" "3.5.3" - "debug" "4.3.4" - "diff" "5.0.0" - "escape-string-regexp" "4.0.0" - "find-up" "5.0.0" - "glob" "7.2.0" - "he" "1.2.0" - "js-yaml" "4.1.0" - "log-symbols" "4.1.0" - "minimatch" "5.0.1" - "ms" "2.1.3" - "nanoid" "3.3.3" - "serialize-javascript" "6.0.0" - "strip-json-comments" "3.1.1" - "supports-color" "8.1.1" - "workerpool" "6.2.1" - "yargs" "16.2.0" - "yargs-parser" "20.2.4" - "yargs-unparser" "2.0.0" - -"motion@10.15.5": - "integrity" "sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw==" - "resolved" "https://registry.npmjs.org/motion/-/motion-10.15.5.tgz" - "version" "10.15.5" - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/dom" "^10.15.5" - "@motionone/svelte" "^10.15.5" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - "@motionone/vue" "^10.15.5" - -"ms@^2.0.0", "ms@^2.1.1", "ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.1.3": - "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - "version" "2.1.3" - -"multiformats@^9.4.2": - "integrity" "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - "resolved" "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz" - "version" "9.9.0" - -"nanoid@^3.3.4": - "integrity" "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" - "version" "3.3.6" - -"nanoid@3.3.3": - "integrity" "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz" - "version" "3.3.3" - -"natural-compare@^1.4.0": - "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"next@13.2.4": - "integrity" "sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==" - "resolved" "https://registry.npmjs.org/next/-/next-13.2.4.tgz" - "version" "13.2.4" - dependencies: - "@next/env" "13.2.4" - "@swc/helpers" "0.4.14" - "caniuse-lite" "^1.0.30001406" - "postcss" "8.4.14" - "styled-jsx" "5.1.1" - optionalDependencies: - "@next/swc-android-arm-eabi" "13.2.4" - "@next/swc-android-arm64" "13.2.4" - "@next/swc-darwin-arm64" "13.2.4" - "@next/swc-darwin-x64" "13.2.4" - "@next/swc-freebsd-x64" "13.2.4" - "@next/swc-linux-arm-gnueabihf" "13.2.4" - "@next/swc-linux-arm64-gnu" "13.2.4" - "@next/swc-linux-arm64-musl" "13.2.4" - "@next/swc-linux-x64-gnu" "13.2.4" - "@next/swc-linux-x64-musl" "13.2.4" - "@next/swc-win32-arm64-msvc" "13.2.4" - "@next/swc-win32-ia32-msvc" "13.2.4" - "@next/swc-win32-x64-msvc" "13.2.4" - -"node-addon-api@^2.0.0": - "integrity" "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - "resolved" "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" - "version" "2.0.2" - -"node-fetch@^2.6.7": - "integrity" "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "whatwg-url" "^5.0.0" - -"node-fetch@2.6.7": - "integrity" "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - "version" "2.6.7" - dependencies: - "whatwg-url" "^5.0.0" - -"node-gyp-build@^4.2.0", "node-gyp-build@^4.3.0": - "integrity" "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" - "resolved" "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz" - "version" "4.6.0" - -"node-releases@^2.0.8": - "integrity" "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" - "version" "2.0.10" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"object-assign@^4.1.1": - "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-inspect@^1.12.3", "object-inspect@^1.9.0": - "integrity" "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" - "version" "1.12.3" - -"object-is@^1.1.5": - "integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==" - "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object.assign@^4.1.3", "object.assign@^4.1.4": - "integrity" "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - "version" "4.1.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "has-symbols" "^1.0.3" - "object-keys" "^1.1.1" - -"object.entries@^1.1.6": - "integrity" "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==" - "resolved" "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" - "version" "1.1.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"object.fromentries@^2.0.6": - "integrity" "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==" - "resolved" "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" - "version" "2.0.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"object.hasown@^1.1.2": - "integrity" "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==" - "resolved" "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"object.values@^1.1.6": - "integrity" "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==" - "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" - "version" "1.1.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"on-exit-leak-free@^0.2.0": - "integrity" "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" - "resolved" "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz" - "version" "0.2.0" - -"once@^1.3.0", "once@^1.4.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"open@^8.4.0": - "integrity" "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" - "resolved" "https://registry.npmjs.org/open/-/open-8.4.2.tgz" - "version" "8.4.2" - dependencies: - "define-lazy-prop" "^2.0.0" - "is-docker" "^2.1.1" - "is-wsl" "^2.2.0" - -"optionator@^0.9.1": - "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "deep-is" "^0.1.3" - "fast-levenshtein" "^2.0.6" - "levn" "^0.4.1" - "prelude-ls" "^1.2.1" - "type-check" "^0.4.0" - "word-wrap" "^1.2.3" - -"p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-limit@^3.0.2": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" - -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "p-limit" "^2.2.0" - -"p-locate@^5.0.0": - "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-limit" "^3.0.2" - -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" - -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "callsites" "^3.0.0" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.7": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"pathval@^1.1.1": - "integrity" "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - "resolved" "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" - "version" "1.1.1" - -"picocolors@^1.0.0": - "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - "version" "1.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.3.1": - "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - "version" "2.3.1" - -"pify@^3.0.0": - "integrity" "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - "version" "3.0.0" - -"pify@^5.0.0": - "integrity" "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" - "resolved" "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" - "version" "5.0.0" - -"pino-abstract-transport@v0.5.0": - "integrity" "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==" - "resolved" "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "duplexify" "^4.1.2" - "split2" "^4.0.0" - -"pino-std-serializers@^4.0.0": - "integrity" "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" - "resolved" "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz" - "version" "4.0.0" - -"pino@7.11.0": - "integrity" "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==" - "resolved" "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz" - "version" "7.11.0" - dependencies: - "atomic-sleep" "^1.0.0" - "fast-redact" "^3.0.0" - "on-exit-leak-free" "^0.2.0" - "pino-abstract-transport" "v0.5.0" - "pino-std-serializers" "^4.0.0" - "process-warning" "^1.0.0" - "quick-format-unescaped" "^4.0.3" - "real-require" "^0.1.0" - "safe-stable-stringify" "^2.1.0" - "sonic-boom" "^2.2.1" - "thread-stream" "^0.15.1" - -"pngjs@^5.0.0": - "integrity" "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" - "resolved" "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" - "version" "5.0.0" - -"postcss@8.4.14": - "integrity" "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" - "version" "8.4.14" - dependencies: - "nanoid" "^3.3.4" - "picocolors" "^1.0.0" - "source-map-js" "^1.0.2" - -"preact@^10.12.0", "preact@^10.5.9": - "integrity" "sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==" - "resolved" "https://registry.npmjs.org/preact/-/preact-10.13.2.tgz" - "version" "10.13.2" - -"prelude-ls@^1.2.1": - "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - "version" "1.2.1" - -"prettier@^2.8.7": - "integrity" "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==" - "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz" - "version" "2.8.7" - -"process-warning@^1.0.0": - "integrity" "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" - "resolved" "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz" - "version" "1.0.0" - -"prop-types@^15.8.1": - "integrity" "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==" - "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - "version" "15.8.1" - dependencies: - "loose-envify" "^1.4.0" - "object-assign" "^4.1.1" - "react-is" "^16.13.1" - -"proxy-compare@2.5.0": - "integrity" "sha512-f1us0OsVAJ3tdIMXGQx2lmseYS4YXe4W+sKF5g5ww/jV+5ogMadPt+sIZ+88Ga9kvMJsrRNWzCrKPpr6pMWYbA==" - "resolved" "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.0.tgz" - "version" "2.5.0" - -"punycode@^2.1.0": - "integrity" "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - "version" "2.3.0" - -"qrcode@^1.5.1", "qrcode@1.5.1": - "integrity" "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==" - "resolved" "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "dijkstrajs" "^1.0.1" - "encode-utf8" "^1.0.3" - "pngjs" "^5.0.0" - "yargs" "^15.3.1" - -"qs@^6.10.3": - "integrity" "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz" - "version" "6.11.1" - dependencies: - "side-channel" "^1.0.4" - -"query-string@^6.13.5": - "integrity" "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==" - "resolved" "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" - "version" "6.14.1" - dependencies: - "decode-uri-component" "^0.2.0" - "filter-obj" "^1.1.0" - "split-on-first" "^1.0.0" - "strict-uri-encode" "^2.0.0" - -"query-string@7.1.1": - "integrity" "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==" - "resolved" "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz" - "version" "7.1.1" - dependencies: - "decode-uri-component" "^0.2.0" - "filter-obj" "^1.1.0" - "split-on-first" "^1.0.0" - "strict-uri-encode" "^2.0.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"quick-format-unescaped@^4.0.3": - "integrity" "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - "resolved" "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz" - "version" "4.0.4" - -"randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom@^18.2.0", "react-dom@18.2.0": - "integrity" "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==" - "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - "version" "18.2.0" - dependencies: - "loose-envify" "^1.1.0" - "scheduler" "^0.23.0" - -"react-is@^16.13.1": - "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - "version" "16.13.1" - -"react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^18.2.0", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0", "react@>=16.8", "react@>=17.0.0", "react@18.2.0": - "integrity" "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==" - "resolved" "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - "version" "18.2.0" - dependencies: - "loose-envify" "^1.1.0" - -"readable-stream@^3.1.1", "readable-stream@^3.5.0", "readable-stream@^3.6.0": - "integrity" "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - "version" "3.6.2" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"real-require@^0.1.0": - "integrity" "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==" - "resolved" "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz" - "version" "0.1.0" - -"regenerator-runtime@^0.13.11": - "integrity" "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - "version" "0.13.11" - -"regexp.prototype.flags@^1.4.3": - "integrity" "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==" - "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "functions-have-names" "^1.2.2" - -"require-directory@^2.1.1": - "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"require-main-filename@^2.0.0": - "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - "version" "2.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve@^1.14.2", "resolve@^1.22.1": - "integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - "version" "1.22.1" - dependencies: - "is-core-module" "^2.9.0" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"resolve@^2.0.0-next.4": - "integrity" "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" - "version" "2.0.0-next.4" - dependencies: - "is-core-module" "^2.9.0" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" - -"rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"rpc-websockets@^7.5.1": - "integrity" "sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w==" - "resolved" "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.5.1.tgz" - "version" "7.5.1" - dependencies: - "@babel/runtime" "^7.17.2" - "eventemitter3" "^4.0.7" - "uuid" "^8.3.2" - "ws" "^8.5.0" - optionalDependencies: - "bufferutil" "^4.0.1" - "utf-8-validate" "^5.0.2" - -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "queue-microtask" "^1.2.2" - -"rxjs@^6.6.3": - "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - "version" "6.6.7" - dependencies: - "tslib" "^1.9.0" - -"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@~5.2.0": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-event-emitter@^1.0.1": - "integrity" "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==" - "resolved" "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "events" "^3.0.0" - -"safe-json-utils@^1.1.1": - "integrity" "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==" - "resolved" "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz" - "version" "1.1.1" - -"safe-regex-test@^1.0.0": - "integrity" "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==" - "resolved" "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.3" - "is-regex" "^1.1.4" - -"safe-stable-stringify@^2.1.0": - "integrity" "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" - "resolved" "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz" - "version" "2.4.3" - -"safer-buffer@>= 2.1.2 < 3.0.0": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" - -"scheduler@^0.23.0": - "integrity" "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==" - "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - "version" "0.23.0" - dependencies: - "loose-envify" "^1.1.0" - -"scrypt-js@3.0.1": - "integrity" "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - "resolved" "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" - "version" "3.0.1" - -"semver@^6.1.1": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.2": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.3.7": - "integrity" "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" - "version" "7.3.8" - dependencies: - "lru-cache" "^6.0.0" - -"serialize-javascript@6.0.0": - "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "randombytes" "^2.1.0" - -"set-blocking@^2.0.0": - "integrity" "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - "version" "2.0.0" - -"sha.js@^2.4.11": - "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" - "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - "version" "2.4.11" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"side-channel@^1.0.4": - "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" - "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.0" - "get-intrinsic" "^1.0.2" - "object-inspect" "^1.9.0" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"slash@^4.0.0": - "integrity" "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - "resolved" "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" - "version" "4.0.0" - -"sonic-boom@^2.2.1": - "integrity" "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==" - "resolved" "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "atomic-sleep" "^1.0.0" - -"source-map-js@^1.0.2": - "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - "version" "1.0.2" - -"split-on-first@^1.0.0": - "integrity" "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" - "resolved" "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" - "version" "1.1.0" - -"split2@^4.0.0": - "integrity" "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - "resolved" "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz" - "version" "4.2.0" - -"stop-iteration-iterator@^1.0.0": - "integrity" "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==" - "resolved" "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "internal-slot" "^1.0.4" - -"stream-browserify@^3.0.0": - "integrity" "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==" - "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "inherits" "~2.0.4" - "readable-stream" "^3.5.0" - -"stream-shift@^1.0.0": - "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" - "version" "1.0.1" - -"strict-uri-encode@^2.0.0": - "integrity" "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" - "resolved" "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" - "version" "2.0.0" - -"string_decoder@^1.1.1": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "safe-buffer" "~5.2.0" - -"string-width@^4.1.0", "string-width@^4.2.0": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"string.prototype.matchall@^4.0.8": - "integrity" "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==" - "resolved" "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" - "version" "4.0.8" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - "get-intrinsic" "^1.1.3" - "has-symbols" "^1.0.3" - "internal-slot" "^1.0.3" - "regexp.prototype.flags" "^1.4.3" - "side-channel" "^1.0.4" - -"string.prototype.trim@^1.2.7": - "integrity" "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==" - "resolved" "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" - "version" "1.2.7" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"string.prototype.trimend@^1.0.6": - "integrity" "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==" - "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"string.prototype.trimstart@^1.0.6": - "integrity" "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==" - "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"strip-bom@^3.0.0": - "integrity" "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - "version" "3.0.0" - -"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1", "strip-json-comments@3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" - -"styled-jsx@5.1.1": - "integrity" "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==" - "resolved" "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "client-only" "0.0.1" - -"superstruct@^0.14.2": - "integrity" "sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==" - "resolved" "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz" - "version" "0.14.2" - -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@8.1.1": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "has-flag" "^4.0.0" - -"supports-preserve-symlinks-flag@^1.0.0": - "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - "version" "1.0.0" - -"synckit@^0.8.5": - "integrity" "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==" - "resolved" "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz" - "version" "0.8.5" - dependencies: - "@pkgr/utils" "^2.3.1" - "tslib" "^2.5.0" - -"tapable@^2.2.0": - "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - "version" "2.2.1" - -"text-encoding-utf-8@^1.0.2": - "integrity" "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==" - "resolved" "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz" - "version" "1.0.2" - -"text-table@^0.2.0": - "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"thread-stream@^0.15.1": - "integrity" "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==" - "resolved" "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz" - "version" "0.15.2" - dependencies: - "real-require" "^0.1.0" - -"through@>=2.2.7 <3": - "integrity" "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - "version" "2.3.8" - -"tiny-glob@^0.2.9": - "integrity" "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==" - "resolved" "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz" - "version" "0.2.9" - dependencies: - "globalyzer" "0.1.0" - "globrex" "^0.1.2" - -"to-fast-properties@^2.0.0": - "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"toggle-selection@^1.0.6": - "integrity" "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" - "resolved" "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" - "version" "1.0.6" - -"tr46@~0.0.3": - "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - "version" "0.0.3" - -"ts-node@^10.9.1": - "integrity" "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==" - "resolved" "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" - "version" "10.9.1" - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - "acorn" "^8.4.1" - "acorn-walk" "^8.1.1" - "arg" "^4.1.0" - "create-require" "^1.1.0" - "diff" "^4.0.1" - "make-error" "^1.1.1" - "v8-compile-cache-lib" "^3.0.1" - "yn" "3.1.1" - -"tsconfig-paths@^3.14.1": - "integrity" "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==" - "resolved" "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" - "version" "3.14.2" - dependencies: - "@types/json5" "^0.0.29" - "json5" "^1.0.2" - "minimist" "^1.2.6" - "strip-bom" "^3.0.0" - -"tslib@^1.8.1": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^1.9.0": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^2.0.0", "tslib@^2.3.1", "tslib@^2.4.0", "tslib@^2.5.0": - "integrity" "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" - "version" "2.5.0" - -"tslib@1.14.1": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tsutils@^3.21.0": - "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" - "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - "version" "3.21.0" - dependencies: - "tslib" "^1.8.1" - -"type-check@^0.4.0", "type-check@~0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-detect@^4.0.0", "type-detect@^4.0.5": - "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - "version" "4.0.8" - -"type-fest@^0.20.2": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"typed-array-length@^1.0.4": - "integrity" "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==" - "resolved" "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "for-each" "^0.3.3" - "is-typed-array" "^1.1.9" - -"typedarray-to-buffer@3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"typescript@>=2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@>=3.3.1", "typescript@>=4.9.4": - "integrity" "sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-5.0.3.tgz" - "version" "5.0.3" - -"uint8arrays@^3.0.0", "uint8arrays@^3.1.0": - "integrity" "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==" - "resolved" "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "multiformats" "^9.4.2" - -"unbox-primitive@^1.0.2": - "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" - "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - "has-bigints" "^1.0.2" - "has-symbols" "^1.0.3" - "which-boxed-primitive" "^1.0.2" - -"update-browserslist-db@^1.0.10": - "integrity" "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==" - "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "escalade" "^3.1.1" - "picocolors" "^1.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"use-sync-external-store@^1.2.0", "use-sync-external-store@1.2.0": - "integrity" "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==" - "resolved" "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" - "version" "1.2.0" - -"utf-8-validate@^5.0.2", "utf-8-validate@>=5.0.2": - "integrity" "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==" - "resolved" "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz" - "version" "5.0.10" - dependencies: - "node-gyp-build" "^4.3.0" - -"util-deprecate@^1.0.1": - "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"util@^0.12.4": - "integrity" "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==" - "resolved" "https://registry.npmjs.org/util/-/util-0.12.5.tgz" - "version" "0.12.5" - dependencies: - "inherits" "^2.0.3" - "is-arguments" "^1.0.4" - "is-generator-function" "^1.0.7" - "is-typed-array" "^1.1.3" - "which-typed-array" "^1.1.2" - -"uuid@^8.3.2": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"v8-compile-cache-lib@^3.0.1": - "integrity" "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - "resolved" "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - "version" "3.0.1" - -"valtio@1.10.3": - "integrity" "sha512-t3Ez/+baJ+Z5tIyeaI6nCAbW/hrmcq2jditwg/X++o5IvCdiGirQKTOv1kJq0glgUo13v5oABCVGcinggBfiKw==" - "resolved" "https://registry.npmjs.org/valtio/-/valtio-1.10.3.tgz" - "version" "1.10.3" - dependencies: - "proxy-compare" "2.5.0" - "use-sync-external-store" "1.2.0" - -"wagmi@^0.12.8": - "integrity" "sha512-llLlk6rl9MOqE1HgFtDBSJlUetmAD6WR68EvvGTZYXmw1lu9vHPcfoNHAB9pq/i7S3jTDLyv+Z+NGGoyryVS6w==" - "resolved" "https://registry.npmjs.org/wagmi/-/wagmi-0.12.8.tgz" - "version" "0.12.8" - dependencies: - "@tanstack/query-sync-storage-persister" "^4.14.5" - "@tanstack/react-query" "^4.14.5" - "@tanstack/react-query-persist-client" "^4.14.5" - "@wagmi/core" "0.10.8" - "abitype" "^0.3.0" - "use-sync-external-store" "^1.2.0" - -"webidl-conversions@^3.0.0": - "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - "version" "3.0.1" - -"whatwg-url@^5.0.0": - "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "tr46" "~0.0.3" - "webidl-conversions" "^3.0.0" - -"which-boxed-primitive@^1.0.2": - "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" - "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "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" - -"which-collection@^1.0.1": - "integrity" "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==" - "resolved" "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "is-map" "^2.0.1" - "is-set" "^2.0.1" - "is-weakmap" "^2.0.1" - "is-weakset" "^2.0.1" - -"which-module@^2.0.0": - "integrity" "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - "version" "2.0.0" - -"which-typed-array@^1.1.2", "which-typed-array@^1.1.9": - "integrity" "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==" - "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" - "version" "1.1.9" - dependencies: - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.2" - "for-each" "^0.3.3" - "gopd" "^1.0.1" - "has-tostringtag" "^1.0.0" - "is-typed-array" "^1.1.10" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"word-wrap@^1.2.3": - "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - "version" "1.2.3" - -"workerpool@6.2.1": - "integrity" "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" - "resolved" "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz" - "version" "6.2.1" - -"wrap-ansi@^6.2.0": - "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"ws@*", "ws@^7.4.0", "ws@^7.4.5", "ws@7.4.6": - "integrity" "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" - "version" "7.4.6" - -"ws@^7.5.1": - "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - "version" "7.5.9" - -"ws@^8.5.0": - "integrity" "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==" - "resolved" "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" - "version" "8.13.0" - -"xtend@^4.0.1": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^4.0.0": - "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - "version" "4.0.3" - -"y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^3.0.2": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yargs-parser@^18.1.2": - "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - "version" "18.1.3" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs-parser@^20.2.2", "yargs-parser@20.2.4": - "integrity" "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" - "version" "20.2.4" - -"yargs-unparser@2.0.0": - "integrity" "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==" - "resolved" "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "camelcase" "^6.0.0" - "decamelize" "^4.0.0" - "flat" "^5.0.2" - "is-plain-obj" "^2.1.0" - -"yargs@^15.3.1": - "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - "version" "15.4.1" - dependencies: - "cliui" "^6.0.0" - "decamelize" "^1.2.0" - "find-up" "^4.1.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" "^4.2.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^18.1.2" - -"yargs@16.2.0": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.0" - "y18n" "^5.0.5" - "yargs-parser" "^20.2.2" - -"yn@3.1.1": - "integrity" "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - "resolved" "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - "version" "3.1.1" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" - -"zustand@^4.3.1": - "integrity" "sha512-6J5zDxjxLE+yukC2XZWf/IyWVKnXT9b9HUv09VJ/bwGCpKNcaTqp7Ws28Xr8jnbvnZcdRaidztAPsXFBIqufiw==" - "resolved" "https://registry.npmjs.org/zustand/-/zustand-4.3.6.tgz" - "version" "4.3.6" - dependencies: - "use-sync-external-store" "1.2.0" diff --git a/package.json b/package.json index d5f7e6024f..874c0223ef 100644 --- a/package.json +++ b/package.json @@ -83,6 +83,7 @@ "blockstore-core": "^3.0.0", "bs58": "^5.0.0", "bytes32": "^0.0.3", + "cbor-web": "^9.0.1", "commander": "^9.4.0", "concurrently": "^7.4.0", "core-js": "^3.6.5", @@ -99,6 +100,7 @@ "g": "^2.0.1", "ipfs-http-client": "56.0.0", "ipfs-unixfs-importer": "^12.0.0", + "jose": "^4.14.4", "jszip": "^3.10.1", "lit-connect-modal-to-be-deprecated": "^0.0.1", "lit-siwe": "^1.1.8", diff --git a/packages/lit-auth-client/src/index.ts b/packages/lit-auth-client/src/index.ts index 3612660672..99d8516ddf 100644 --- a/packages/lit-auth-client/src/index.ts +++ b/packages/lit-auth-client/src/index.ts @@ -6,6 +6,7 @@ import GoogleProvider from './lib/providers/GoogleProvider'; import AppleProvider from './lib/providers/AppleProvider'; import WebAuthnProvider from './lib/providers/WebAuthnProvider'; import { OtpProvider } from './lib/providers/OtpProvider'; +import { StytchOtpProvider } from './lib/providers/StytchOtpProvider'; import { isSignInRedirect, getProviderFromUrl } from './lib/utils'; declare global { @@ -27,6 +28,7 @@ export { AppleProvider, WebAuthnProvider, OtpProvider, + StytchOtpProvider, isSignInRedirect, getProviderFromUrl, }; diff --git a/packages/lit-auth-client/src/lib/lit-auth-client.ts b/packages/lit-auth-client/src/lib/lit-auth-client.ts index 3ee667e6be..0d801a8233 100644 --- a/packages/lit-auth-client/src/lib/lit-auth-client.ts +++ b/packages/lit-auth-client/src/lib/lit-auth-client.ts @@ -3,9 +3,10 @@ import { IRelay, LitAuthClientOptions, OAuthProviderOptions, - OtpProviderOptions, ProviderOptions, SignInWithOTPParams, + OtpProviderOptions, + WebAuthnProviderOptions, } from '@lit-protocol/types'; import { ProviderType } from '@lit-protocol/constants'; import { LitNodeClient } from '@lit-protocol/lit-node-client'; @@ -17,6 +18,8 @@ import EthWalletProvider from './providers/EthWalletProvider'; import WebAuthnProvider from './providers/WebAuthnProvider'; import { OtpProvider } from './providers/OtpProvider'; import AppleProvider from './providers/AppleProvider'; +import { StytchOtpProvider } from '..'; +import { StytchOtpProviderOptions } from 'dist/packages/types/src/lib/interfaces'; /** * Class that handles authentication through Lit login @@ -136,20 +139,21 @@ export class LitAuthClient { case 'webauthn': provider = new WebAuthnProvider({ ...baseParams, + ...(options as WebAuthnProviderOptions), }) as unknown as T; break; case `otp`: - provider = new OtpProvider( + provider = new StytchOtpProvider( { ...baseParams, ...(options as SignInWithOTPParams), }, - this.litOtpOptions + options as StytchOtpProviderOptions ) as unknown as T; break; default: throw new Error( - "Invalid provider type provided. Only 'google', 'discord', 'ethereum', and 'webauthn' are supported at the moment." + "Invalid provider type provided. Only 'google', 'discord', 'ethereum', `otp` and 'webauthn' are supported at the moment." ); } diff --git a/packages/lit-auth-client/src/lib/providers/AppleProvider.ts b/packages/lit-auth-client/src/lib/providers/AppleProvider.ts index 3bdf87f8b0..3f3d5e27f7 100644 --- a/packages/lit-auth-client/src/lib/providers/AppleProvider.ts +++ b/packages/lit-auth-client/src/lib/providers/AppleProvider.ts @@ -11,6 +11,8 @@ import { decode, } from '../utils'; import { BaseProvider } from './BaseProvider'; +import { ethers } from 'ethers'; +import * as jose from 'jose'; export default class AppleProvider extends BaseProvider { /** @@ -92,4 +94,22 @@ export default class AppleProvider extends BaseProvider { }; return authMethod; } + + /** + * Get auth method id that can be used to look up and interact with + * PKPs associated with the given auth method + * + * @param {AuthMethod} authMethod - Auth method object + * + * @returns {Promise} - Auth method id + */ + public async getAuthMethodId(authMethod: AuthMethod): Promise { + const tokenPayload = jose.decodeJwt(authMethod.accessToken); + const userId: string = tokenPayload['sub'] as string; + const audience: string = tokenPayload['aud'] as string; + const authMethodId = ethers.utils.keccak256( + ethers.utils.toUtf8Bytes(`${userId}:${audience}`) + ); + return authMethodId; + } } diff --git a/packages/lit-auth-client/src/lib/providers/BaseProvider.ts b/packages/lit-auth-client/src/lib/providers/BaseProvider.ts index 3984034e57..cb06827b2d 100644 --- a/packages/lit-auth-client/src/lib/providers/BaseProvider.ts +++ b/packages/lit-auth-client/src/lib/providers/BaseProvider.ts @@ -11,9 +11,11 @@ import { ClaimKeyResponse, IRelay, IRelayPKP, + IRelayRequestData, SessionSigs, SignSessionKeyResponse, } from '@lit-protocol/types'; +import { ethers } from 'ethers'; export abstract class BaseProvider { /** @@ -46,21 +48,31 @@ export abstract class BaseProvider { options?: T ): Promise; + /** + * Get auth method id that can be used to look up and interact with + * PKPs associated with the given auth method + * + * @param {AuthMethod} authMethod - Auth method object + * @param {any} [options] - Optional parameters that vary based on the provider + * + * @returns {Promise} - Auth method id + */ + abstract getAuthMethodId( + authMethod: AuthMethod, + options?: any + ): Promise; + /** * Mint a new PKP for the given auth method through the relay server * - * @param {AuthMethod} authMethod - * @param {AuthMethodType} authMethod.authMethodType - Auth method type - * @param {string} authMethod.accessToken - Auth method access token + * @param {AuthMethod} authMethod - Auth method object * * @returns {Promise} - Mint transaction hash */ public async mintPKPThroughRelayer(authMethod: AuthMethod): Promise { - const mintParams = this.prepareRelayBody(authMethod); - const mintRes = await this.relay.mintPKP( - authMethod.authMethodType, - mintParams - ); + const data = await this.prepareRelayRequestData(authMethod); + const body = this.prepareMintBody(data); + const mintRes = await this.relay.mintPKP(body); if (!mintRes || !mintRes.requestId) { throw new Error('Missing mint response or request ID from relay server'); } @@ -77,11 +89,9 @@ export abstract class BaseProvider { public async fetchPKPsThroughRelayer( authMethod: AuthMethod ): Promise { - const fetchParams = this.prepareRelayBody(authMethod); - const fetchRes = await this.relay.fetchPKPs( - authMethod.authMethodType, - fetchParams - ); + const data = await this.prepareRelayRequestData(authMethod); + const body = this.prepareFetchBody(data); + const fetchRes = await this.relay.fetchPKPs(body); if (!fetchRes || !fetchRes.pkps) { throw new Error('Missing PKPs in fetch response from relay server'); } @@ -170,33 +180,71 @@ export abstract class BaseProvider { } public async ClaimKeyId(authMethod: AuthMethod): Promise { - const res = await this.litNodeClient.claimKeyId(authMethod); + const res = await this.litNodeClient.claimKeyId({ authMethod }); return res; } /** - * Prepare auth method body for relay server + * Generate request data for minting and fetching PKPs via relay server * - * @param {AuthMethod} authMethod - Auth method object + * @param {AuthMethod} authMethod - Auth method obejct * - * @returns {string} - Auth method body for relay server + * @returns {Promise} - Relay request data */ - protected prepareRelayBody(authMethod: AuthMethod): string { - switch (authMethod.authMethodType) { - case AuthMethodType.Discord: - return JSON.stringify({ accessToken: authMethod.accessToken }); - case AuthMethodType.GoogleJwt: - return JSON.stringify({ idToken: authMethod.accessToken }); - case AuthMethodType.EthWallet: - return authMethod.accessToken; // Auth sig is a JSON string - case AuthMethodType.WebAuthn: - return authMethod.accessToken; // Auth data is a JSON string - case AuthMethodType.OTP: - return JSON.stringify(authMethod); - default: - throw new Error( - `Invalid auth method type "${authMethod.authMethodType}" passed` - ); - } + protected async prepareRelayRequestData( + authMethod: AuthMethod + ): Promise { + const authMethodType = authMethod.authMethodType; + const authMethodId = await this.getAuthMethodId(authMethod); + const data = { + authMethodType, + authMethodId, + }; + return data; + } + + /** + * Generate request body for minting PKP using auth methods via relay server + * + * @param {IRelayRequestData} data - Data for minting PKP + * @param {number} data.authMethodType - Type of auth method + * @param {string} data.authMethodId - ID of auth method + * @param {string} [data.authMethodPubKey] - Public key associated with the auth method (used only in WebAuthn) + * + * @returns {string} - Relay request body for minting PKP + */ + protected prepareMintBody(data: IRelayRequestData): string { + const pubkey = data.authMethodPubKey || '0x'; + const args = { + keyType: 2, + permittedAuthMethodTypes: [data.authMethodType], + permittedAuthMethodIds: [data.authMethodId], + permittedAuthMethodPubkeys: [pubkey], + permittedAuthMethodScopes: [[ethers.BigNumber.from('0')]], + addPkpEthAddressAsPermittedAddress: true, + sendPkpToItself: true, + }; + const body = JSON.stringify(args); + return body; + } + + /** + * Generate request body to fetch PKPs using auth method info via relay server + * + * @param {IRelayRequestData} data - Data for fetching PKP + * @param {string} data.authMethodType - Type of auth method + * @param {string} data.authMethodId - ID of auth method + * @param {string} [data.authMethodPubKey] - Public key associated with the auth method (used only in WebAuthn) + * + * @returns {string} - Relay request body to fetch PKPs + */ + protected prepareFetchBody(data: IRelayRequestData): string { + const args = { + authMethodId: data.authMethodId, + authMethodType: data.authMethodType, + authMethodPubKey: data.authMethodPubKey, + }; + const body = JSON.stringify(args); + return body; } } diff --git a/packages/lit-auth-client/src/lib/providers/DiscordProvider.ts b/packages/lit-auth-client/src/lib/providers/DiscordProvider.ts index c8f4310f0e..e924e154b2 100644 --- a/packages/lit-auth-client/src/lib/providers/DiscordProvider.ts +++ b/packages/lit-auth-client/src/lib/providers/DiscordProvider.ts @@ -11,16 +11,22 @@ import { getStateParam, decode, } from '../utils'; +import { ethers } from 'ethers'; export default class DiscordProvider extends BaseProvider { /** * The redirect URI that Lit's login server should send the user back to */ public redirectUri: string; + /** + * OAuth client ID. Defaults to one used by Lit + */ + private clientId?: string; constructor(options: BaseProviderOptions & OAuthProviderOptions) { super(options); this.redirectUri = options.redirectUri || window.location.origin; + this.clientId = options.clientId || '1052874239658692668'; } /** @@ -92,4 +98,42 @@ export default class DiscordProvider extends BaseProvider { }; return authMethod; } + + /** + * Get auth method id that can be used to look up and interact with + * PKPs associated with the given auth method + * + * @param {AuthMethod} authMethod - Auth method object + * + * @returns {Promise} - Auth method id + */ + public async getAuthMethodId(authMethod: AuthMethod): Promise { + const userId = await this.#fetchDiscordUser(authMethod.accessToken); + const authMethodId = ethers.utils.keccak256( + ethers.utils.toUtf8Bytes(`${userId}:${this.clientId}`) + ); + return authMethodId; + } + + /** + * Fetch Discord user ID + * + * @param {string} accessToken - Discord access token + * + * @returns {Promise} - Discord user ID + */ + async #fetchDiscordUser(accessToken: string): Promise { + const meResponse = await fetch('https://discord.com/api/users/@me', { + method: 'GET', + headers: { + authorization: `Bearer ${accessToken}`, + }, + }); + if (meResponse.ok) { + const user = await meResponse.json(); + return user.id; + } else { + throw new Error('Unable to verify Discord account'); + } + } } diff --git a/packages/lit-auth-client/src/lib/providers/EthWalletProvider.ts b/packages/lit-auth-client/src/lib/providers/EthWalletProvider.ts index 47c92aae5d..bf30527064 100644 --- a/packages/lit-auth-client/src/lib/providers/EthWalletProvider.ts +++ b/packages/lit-auth-client/src/lib/providers/EthWalletProvider.ts @@ -91,4 +91,26 @@ export default class EthWalletProvider extends BaseProvider { }; return authMethod; } + + /** + * Get auth method id that can be used to look up and interact with + * PKPs associated with the given auth method + * + * @param {AuthMethod} authMethod - Auth method object + * + * @returns {Promise} - Auth method id + */ + public async getAuthMethodId(authMethod: AuthMethod): Promise { + let address: string; + + try { + address = JSON.parse(authMethod.accessToken).address; + } catch (err) { + throw new Error( + `Error when parsing auth method to generate auth method ID for Eth wallet: ${err}` + ); + } + + return address.toLowerCase(); + } } diff --git a/packages/lit-auth-client/src/lib/providers/GoogleProvider.ts b/packages/lit-auth-client/src/lib/providers/GoogleProvider.ts index 52e354f83f..e27db144ee 100644 --- a/packages/lit-auth-client/src/lib/providers/GoogleProvider.ts +++ b/packages/lit-auth-client/src/lib/providers/GoogleProvider.ts @@ -11,6 +11,8 @@ import { decode, } from '../utils'; import { BaseProvider } from './BaseProvider'; +import { ethers } from 'ethers'; +import * as jose from 'jose'; export default class GoogleProvider extends BaseProvider { /** @@ -92,4 +94,22 @@ export default class GoogleProvider extends BaseProvider { }; return authMethod; } + + /** + * Get auth method id that can be used to look up and interact with + * PKPs associated with the given auth method + * + * @param {AuthMethod} authMethod - Auth method object + * + * @returns {Promise} - Auth method id + */ + public async getAuthMethodId(authMethod: AuthMethod): Promise { + const tokenPayload = jose.decodeJwt(authMethod.accessToken); + const userId: string = tokenPayload['sub'] as string; + const audience: string = tokenPayload['aud'] as string; + const authMethodId = ethers.utils.keccak256( + ethers.utils.toUtf8Bytes(`${userId}:${audience}`) + ); + return authMethodId; + } } diff --git a/packages/lit-auth-client/src/lib/providers/OtpProvider.ts b/packages/lit-auth-client/src/lib/providers/OtpProvider.ts index fc191150e9..44c8a72d88 100644 --- a/packages/lit-auth-client/src/lib/providers/OtpProvider.ts +++ b/packages/lit-auth-client/src/lib/providers/OtpProvider.ts @@ -8,6 +8,7 @@ import { } from '@lit-protocol/types'; import { BaseProvider } from './BaseProvider'; import { OtpProviderOptions } from '@lit-protocol/types'; +import { ethers } from 'ethers'; export class OtpProvider extends BaseProvider { private _params: SignInWithOTPParams; @@ -154,4 +155,42 @@ export class OtpProvider extends BaseProvider { return ''; } } + + /** + * Get auth method id that can be used to look up and interact with + * PKPs associated with the given auth method + * + * @param {AuthMethod} authMethod - Auth method object + * + * @returns {Promise} - Auth method id + */ + public async getAuthMethodId(authMethod: AuthMethod): Promise { + const tokenBody = this.#parseJWT(authMethod.accessToken); + const message: string = tokenBody['extraData'] as string; + const contents = message.split('|'); + const userId = contents[0]; + const orgId = (tokenBody['orgId'] as string).toLowerCase(); + const authMethodId = ethers.utils.keccak256( + ethers.utils.toUtf8Bytes(`${userId}:${orgId}`) + ); + return authMethodId; + } + + /** + * Parse OTP token + * + * @param {string} jwt - Token to parse + * @returns {Record} - Parsed body + */ + #parseJWT(jwt: string): Record { + let parts = jwt.split('.'); + if (parts.length !== 3) { + throw new Error('Invalid token length'); + } + let body = Buffer.from(parts[1], 'base64'); + let parsedBody: Record = JSON.parse( + body.toString('ascii') + ); + return parsedBody; + } } diff --git a/packages/lit-auth-client/src/lib/providers/StytchOtpProvider.ts b/packages/lit-auth-client/src/lib/providers/StytchOtpProvider.ts new file mode 100644 index 0000000000..3f7d91ea7b --- /dev/null +++ b/packages/lit-auth-client/src/lib/providers/StytchOtpProvider.ts @@ -0,0 +1,123 @@ +import { AuthMethodType } from '@lit-protocol/constants'; +import { + AuthMethod, + BaseAuthenticateOptions, + BaseProviderOptions, + StytchOtpAuthenticateOptions, + StytchToken, +} from '@lit-protocol/types'; +import { BaseProvider } from './BaseProvider'; +import { StytchOtpProviderOptions } from '@lit-protocol/types'; +import { ethers } from 'ethers'; + +export class StytchOtpProvider extends BaseProvider { + private _params: StytchOtpProviderOptions; + private _provider: string = 'https://stytch.com/session'; + + constructor(params: BaseProviderOptions, config: StytchOtpProviderOptions) { + super(params); + this._params = config; + } + + /** + * Validates claims within a stytch authenticated JSON Web Token + * @param options authentication option containing the authenticated token + * @returns {AuthMethod} Authentication Method for auth method type OTP + * */ + override authenticate( + options?: T | undefined + ): Promise { + return new Promise((resolve, reject) => { + if (!options) { + reject( + new Error( + 'No Authentication options provided, please supply an authenticated JWT' + ) + ); + } + + const userId: string | undefined = + this._params.userId ?? + (options as unknown as StytchOtpAuthenticateOptions).userId; + + if (!userId) { + reject(new Error('User id must be provided')); + } + const accessToken: string | undefined = ( + options as unknown as StytchOtpAuthenticateOptions + )?.accessToken; + if (!accessToken) { + reject( + new Error('No access token provided, please provide a stych auth jwt') + ); + } + + const parsedToken: StytchToken = this._parseJWT(accessToken); + console.log(`otpProvider: parsed token body`, parsedToken); + const audience = (parsedToken['aud'] as string[])[0]; + if (audience != this._params.appId) { + reject(new Error('Parsed application id does not match parameters')); + } + + if (!audience) { + reject( + new Error( + 'could not find project id in token body, is this a stych token?' + ) + ); + } + const session = parsedToken[this._provider]; + const authFactor = session['authentication_factors'][0]; + if (!authFactor) { + reject(new Error('Could not find authentication info in session')); + } + + if (userId != parsedToken['sub']) { + reject( + new Error( + 'AppId does not match token contents. is this the right token for your application?' + ) + ); + } + + resolve({ + authMethodType: AuthMethodType.StytchOtp, + accessToken: accessToken, + }); + }); + } + + /** + * Get auth method id that can be used to look up and interact with + * PKPs associated with the given auth method + * + * @param {AuthMethod} authMethod - Auth method object + * + * @returns {Promise} - Auth method id + */ + public async getAuthMethodId(authMethod: AuthMethod): Promise { + const tokenBody = this._parseJWT(authMethod.accessToken); + const userId = tokenBody['sub'] as string; + const orgId = (tokenBody['aud'] as string[])[0]; + const authMethodId = ethers.utils.keccak256( + ethers.utils.toUtf8Bytes(`${userId.toLowerCase()}:${orgId.toLowerCase()}`) + ); + return authMethodId; + } + + /** + * + * @param jwt token to parse + * @returns {string}- userId contained within the token message + */ + private _parseJWT(jwt: string): StytchToken { + const parts = jwt.split('.'); + if (parts.length !== 3) { + throw new Error('Invalid token length'); + } + const body = Buffer.from(parts[1], 'base64'); + const parsedBody: StytchToken = JSON.parse(body.toString('ascii')); + console.log('JWT body: ', parsedBody); + return parsedBody; + } +} diff --git a/packages/lit-auth-client/src/lib/providers/WebAuthnProvider.ts b/packages/lit-auth-client/src/lib/providers/WebAuthnProvider.ts index 5b7e6b99a8..ebbdc54854 100644 --- a/packages/lit-auth-client/src/lib/providers/WebAuthnProvider.ts +++ b/packages/lit-auth-client/src/lib/providers/WebAuthnProvider.ts @@ -1,4 +1,8 @@ -import { AuthMethod, BaseProviderOptions } from '@lit-protocol/types'; +import { + AuthMethod, + BaseProviderOptions, + WebAuthnProviderOptions, +} from '@lit-protocol/types'; import { AuthMethodType } from '@lit-protocol/constants'; import { ethers } from 'ethers'; import { @@ -6,12 +10,19 @@ import { UserVerificationRequirement, } from '@simplewebauthn/typescript-types'; import base64url from 'base64url'; -import { getRPIdFromOrigin } from '../utils'; +import { getRPIdFromOrigin, parseAuthenticatorData } from '../utils'; import { BaseProvider } from './BaseProvider'; +import { RegistrationResponseJSON } from '@simplewebauthn/typescript-types'; export default class WebAuthnProvider extends BaseProvider { - constructor(options: BaseProviderOptions) { + /** + * Name of relying party. Defaults to "lit" + */ + private rpName?: string; + + constructor(options: BaseProviderOptions & WebAuthnProviderOptions) { super(options); + this.rpName = options.rpName || 'lit'; } /** @@ -39,17 +50,35 @@ export default class WebAuthnProvider extends BaseProvider { ): Promise { // Submit registration options to the authenticator const { startRegistration } = await import('@simplewebauthn/browser'); - const attResp = await startRegistration(options); + const attResp: RegistrationResponseJSON = await startRegistration(options); - // Send the credential to the relying party for verification - const mintRes = await this.relay.mintPKP( - AuthMethodType.WebAuthn, - JSON.stringify({ credential: attResp }) - ); + // Get auth method id + const authMethodId = await this.getAuthMethodId({ + authMethodType: AuthMethodType.WebAuthn, + accessToken: JSON.stringify(attResp), + }); + + // Get auth method pub key + const authMethodPubkey = this.getPublicKeyFromRegistration(attResp); + + // Format args for relay server + const args = { + keyType: 2, + permittedAuthMethodTypes: [AuthMethodType.WebAuthn], + permittedAuthMethodIds: [authMethodId], + permittedAuthMethodPubkeys: [authMethodPubkey], + permittedAuthMethodScopes: [[ethers.BigNumber.from('0')]], + addPkpEthAddressAsPermittedAddress: true, + sendPkpToItself: true, + }; + const body = JSON.stringify(args); + + // Mint PKP + const mintRes = await this.relay.mintPKP(body); if (!mintRes || !mintRes.requestId) { throw new Error('Missing mint response or request ID from relay server'); } - // If the credential was verified and registration successful, minting has kicked off + return mintRes.requestId; } @@ -114,4 +143,70 @@ export default class WebAuthnProvider extends BaseProvider { return authMethod; } + + /** + * Get auth method id that can be used to look up and interact with + * PKPs associated with the given auth method + * + * @param {AuthMethod} authMethod - Auth method object + * + * @returns {Promise} - Auth method id + */ + public async getAuthMethodId(authMethod: AuthMethod): Promise { + let credentialId: string; + + try { + credentialId = JSON.parse(authMethod.accessToken).rawId; + } catch (err) { + throw new Error( + `Error when parsing auth method to generate auth method ID for WebAuthn: ${err}` + ); + } + + const authMethodId = ethers.utils.keccak256( + ethers.utils.toUtf8Bytes(`${credentialId}:${this.rpName}`) + ); + return authMethodId; + } + + /** + * Parse the WebAuthn registration response to get the WebAuthn credential public key + * + * @param {RegistrationResponseJSON} attResp - WebAuthn registration response + * + * @returns {string} - WebAuthn credential public key in hex format + */ + public getPublicKeyFromRegistration( + attResp: RegistrationResponseJSON + ): string { + let publicKey: string; + + try { + // Create a buffer object from the base64 encoded content + const attestationBuffer = Buffer.from( + attResp.response.attestationObject, + 'base64' + ); + + // Parse the buffer to reconstruct the object + // Buffer is COSE formatted, utilities decode the buffer into json, and extract the public key information + const authenticationResponse: any = + parseAuthenticatorData(attestationBuffer); + + // Public key in cose format to register the auth method + const publicKeyCoseBuffer: Buffer = authenticationResponse + .attestedCredentialData.credentialPublicKey as Buffer; + + // Encode the public key for contract storage + publicKey = ethers.utils.hexlify( + ethers.utils.arrayify(publicKeyCoseBuffer) + ); + } catch (e) { + throw new Error( + `Error while decoding WebAuthn registration response for public key retrieval. Attestation response not encoded as expected: ${e}` + ); + } + + return publicKey; + } } diff --git a/packages/lit-auth-client/src/lib/relay.ts b/packages/lit-auth-client/src/lib/relay.ts index 063faf0ae7..9fe242d515 100644 --- a/packages/lit-auth-client/src/lib/relay.ts +++ b/packages/lit-auth-client/src/lib/relay.ts @@ -5,7 +5,6 @@ import { IRelayPollStatusResponse, LitRelayConfig, } from '@lit-protocol/types'; -import { AuthMethodType } from '@lit-protocol/constants'; /** * Class that communicates with Lit relay server @@ -19,6 +18,14 @@ export class LitRelay implements IRelay { * API key for Lit's relay server */ private readonly relayApiKey: string; + /** + * Route for minting PKP + */ + private readonly mintRoute = '/mint-next-and-add-auth-methods'; + /** + * Route for fetching PKPs + */ + private readonly fetchRoute = '/fetch-pkps-by-auth-method'; /** * Create a Relay instance @@ -36,17 +43,12 @@ export class LitRelay implements IRelay { /** * Mint a new PKP for the given auth method * - * @param {AuthMethodType} authMethodType - Auth method type * @param {string} body - Body of the request * * @returns {Promise} Response from the relay server */ - public async mintPKP( - authMethodType: AuthMethodType, - body: string - ): Promise { - const route = this._getMintPKPRoute(authMethodType); - const response = await fetch(`${this.relayUrl}${route}`, { + public async mintPKP(body: string): Promise { + const response = await fetch(`${this.relayUrl}${this.mintRoute}`, { method: 'POST', headers: { 'api-key': this.relayApiKey, @@ -131,17 +133,12 @@ export class LitRelay implements IRelay { /** * Fetch PKPs associated with the given auth method * - * @param {AuthMethodType} authMethodType - Auth method type * @param {string} body - Body of the request * * @returns {Promise} Response from the relay server */ - public async fetchPKPs( - authMethodType: AuthMethodType, - body: string - ): Promise { - const route = this._getFetchPKPsRoute(authMethodType); - const response = await fetch(`${this.relayUrl}${route}`, { + public async fetchPKPs(body: string): Promise { + const response = await fetch(`${this.relayUrl}${this.fetchRoute}`, { method: 'POST', headers: { 'api-key': this.relayApiKey, @@ -189,56 +186,4 @@ export class LitRelay implements IRelay { const registrationOptions = await response.json(); return registrationOptions; } - - /** - * Get route for fetching PKPs - * - * @param {AuthMethodType} authMethodType - Auth method type - * - * @returns {string} Fetching route - */ - private _getFetchPKPsRoute(authMethodType: AuthMethodType): string { - switch (authMethodType) { - case AuthMethodType.EthWallet: - return '/auth/wallet/userinfo'; - case AuthMethodType.Discord: - return '/auth/discord/userinfo'; - case AuthMethodType.GoogleJwt: - return '/auth/google/userinfo'; - case AuthMethodType.OTP: - return `/auth/otp/userinfo`; - case AuthMethodType.WebAuthn: - return '/auth/webauthn/userinfo'; - default: - throw new Error( - `Auth method type "${authMethodType}" is not supported. Please refer to the type AuthMethodType to see which enum values are available.` - ); - } - } - - /** - * Get route for minting PKPs - * - * @param {AuthMethodType} authMethodType - Auth method type - * - * @returns {string} Minting route - */ - private _getMintPKPRoute(authMethodType: AuthMethodType): string { - switch (authMethodType) { - case AuthMethodType.EthWallet: - return '/auth/wallet'; - case AuthMethodType.Discord: - return '/auth/discord'; - case AuthMethodType.GoogleJwt: - return '/auth/google'; - case AuthMethodType.OTP: - return `/auth/otp`; - case AuthMethodType.WebAuthn: - return '/auth/webauthn/verify-registration'; - default: - throw new Error( - `Auth method type "${authMethodType}" is not supported` - ); - } - } } diff --git a/packages/lit-auth-client/src/lib/utils.ts b/packages/lit-auth-client/src/lib/utils.ts index f61b072c55..34677abea2 100644 --- a/packages/lit-auth-client/src/lib/utils.ts +++ b/packages/lit-auth-client/src/lib/utils.ts @@ -1,4 +1,5 @@ import { LoginUrlParams } from '@lit-protocol/types'; +import * as cbor from 'cbor-web'; export const STATE_PARAM_KEY = 'lit-state-param'; @@ -194,3 +195,115 @@ export function getRPIdFromOrigin(origin: string) { // remove port with regex return newOrigin.replace(/:\d+$/, ''); } + +// Function logic copied from Microsoft demo implementation: https://github.com/MicrosoftEdge/webauthnsample/blob/master/fido.js +// Decrypt the authData Buffer and split it in its single information pieces. Its structure is specified here: https://w3c.github.io/webauthn/#authenticator-data +export function parseAuthenticatorData( + authDataBuffer: Buffer +): Record { + try { + // deocde the buffer from cbor, will return an object. + let authDataBufferDecoded: any = cbor.decode(authDataBuffer); + const authenticatorData: any = {}; + let authData: Buffer = authDataBufferDecoded.authData; + + authenticatorData.rpIdHash = authData.slice(0, 32); + authenticatorData.flags = authData[32]; + authenticatorData.signCount = + (authData[33] << 24) | + (authData[34] << 16) | + (authData[35] << 8) | + authData[36]; + + // Check if the client sent attestedCredentialdata, which is necessary for every new public key scheduled. This is indicated by the 6th bit of the flag byte being 1 (See specification at function start for reference) + if (authenticatorData.flags & 64) { + // Extract the data from the Buffer. Reference of the structure can be found here: https://w3c.github.io/webauthn/#sctn-attested-credential-data + const attestedCredentialData: { [key: string]: any } = {}; + attestedCredentialData['aaguid'] = unparse(authData.slice(37, 53)); ///.toUpperCase() + attestedCredentialData['credentialIdLength'] = + (authData[53] << 8) | authData[54]; + attestedCredentialData['credentialId'] = authData.slice( + 55, + 55 + attestedCredentialData['credentialIdLength'] + ); + // Public key is the first CBOR element of the remaining buffer + let publicKeyCoseBufferCbor: Buffer = authData.slice( + 55 + attestedCredentialData['credentialIdLength'], + authData.length + ); + + let publicKey: any = cbor.decode(publicKeyCoseBufferCbor); + publicKeyCoseBufferCbor = cbor.encode(publicKey); + + attestedCredentialData['credentialPublicKey'] = publicKeyCoseBufferCbor; + + authenticatorData.attestedCredentialData = attestedCredentialData; + } + + // Check for extension data in the authData, which is indicated by the 7th bit of the flag byte being 1 (See specification at function start for reference) + if (authenticatorData.flags & 128) { + // has extension data + + let extensionDataCbor; + + if (authenticatorData.attestedCredentialData) { + // if we have attesttestedCredentialData, then extension data is + // the second element + extensionDataCbor = cbor.decode( + // decodeAllSync( + authData.slice( + 55 + authenticatorData.attestedCredentialData.credentialIdLength, + authData.length + ) + ); + extensionDataCbor = extensionDataCbor[1]; + } else { + // Else it's the first element + extensionDataCbor = cbor.decode(authData.slice(37, authData.length)); + } + + authenticatorData.extensionData = cbor + .encode(extensionDataCbor) + .toString('base64'); + } + + return authenticatorData; + } catch (e) { + throw new Error('Authenticator Data could not be parsed'); + } +} + +// **`unparse()` - Convert UUID byte array (ala parse()) into a string** +export function unparse(buf: any) { + // Maps for number <-> hex string conversion + var _byteToHex = []; + var _hexToByte: any = {}; + for (var i = 0; i < 256; i++) { + _byteToHex[i] = (i + 0x100).toString(16).substr(1); + _hexToByte[_byteToHex[i]] = i; + } + var i: number = 0; + var bth = _byteToHex; + return ( + bth[buf[i++]] + + bth[buf[i++]] + + bth[buf[i++]] + + bth[buf[i++]] + + '-' + + bth[buf[i++]] + + bth[buf[i++]] + + '-' + + bth[buf[i++]] + + bth[buf[i++]] + + '-' + + bth[buf[i++]] + + bth[buf[i++]] + + '-' + + bth[buf[i++]] + + bth[buf[i++]] + + bth[buf[i++]] + + bth[buf[i++]] + + bth[buf[i++]] + + bth[buf[i++]] + ); +} diff --git a/packages/types/src/lib/interfaces.ts b/packages/types/src/lib/interfaces.ts index 60c23b16dd..5c42fdd924 100644 --- a/packages/types/src/lib/interfaces.ts +++ b/packages/types/src/lib/interfaces.ts @@ -1161,12 +1161,11 @@ export interface IRelay { /** * Mint a new PKP for the given auth method * - * @param {number} authMethodType - Auth method type * @param {string} body - Body of the request * * @returns {Promise} Response from the relay server */ - mintPKP(authMethodType: number, body: string): Promise; + mintPKP(body: string): Promise; /** * Poll the relay server for status of minting request * @@ -1180,12 +1179,11 @@ export interface IRelay { /** * Fetch PKPs associated with the given auth method * - * @param {number} authMethodType - Auth method type * @param {string} body - Body of the request * * @returns {Promise} Response from the relay server */ - fetchPKPs(authMethodType: number, body: string): Promise; + fetchPKPs(body: string): Promise; /** * Generate options for registering a new credential to pass to the authenticator * @@ -1207,6 +1205,21 @@ export interface LitRelayConfig { relayApiKey?: string; } +export interface IRelayRequestData { + /** + * Type of auth method + */ + authMethodType: number; + /** + * ID of auth method + */ + authMethodId: string; + /** + * Public key associated with the auth method (used only in WebAuthn) + */ + authMethodPubKey?: string; +} + export interface IRelayMintResponse { /** * Transaction hash of PKP being minted @@ -1298,6 +1311,10 @@ export interface OAuthProviderOptions { * The redirect URI that Lit's login server should send the user back to */ redirectUri?: string; + /** + * OAuth client ID + */ + clientId?: string; } export interface EthWalletProviderOptions { @@ -1311,6 +1328,13 @@ export interface EthWalletProviderOptions { origin?: string; } +export interface WebAuthnProviderOptions { + /** + * Name of relying party. Defaults to "lit" + */ + rpName?: string; +} + export interface SignInWithOTPParams { /** * otp transport (email or phone #) @@ -1421,21 +1445,14 @@ export interface OtpAuthenticateOptions extends BaseAuthenticateOptions { code: string; } -export interface Signature { - r: string; - - s: string; - _vs: string, - - recoveryParam: number; - v: number; - - yParityAndS: string - compact: string; -} - -export interface ClaimKeyResponse { - signatures: Signature[], - derivedKeyId: string, - pubkey: string +export interface StytchOtpAuthenticateOptions extends BaseAuthenticateOptions { + /* + * JWT from an authenticated session + * see stych docs for more info: https://stytch.com/docs/api/session-get + */ + accessToken: string; + /* + Stytch user identifier for a project + */ + userId?: string; } diff --git a/packages/types/src/lib/types.ts b/packages/types/src/lib/types.ts index 2770805a1e..5cf33127f2 100644 --- a/packages/types/src/lib/types.ts +++ b/packages/types/src/lib/types.ts @@ -1,4 +1,10 @@ -import { ClaimKeyResponse, SignInWithOTPParams } from './interfaces'; + +import { + ClaimKeyResponse, + SignInWithOTPParams, + StytchOtpProviderOptions, + WebAuthnProviderOptions, +} from './interfaces'; import { AccsCOSMOSParams, AccsDefaultParams, @@ -7,7 +13,6 @@ import { AccsRegularParams, AccsSOLV2Params, EthWalletProviderOptions, - EthWalletAuthenticateOptions, JsonEncryptionRetrieveRequest, JsonExecutionRequest, JsonSignChainDataRequest, @@ -109,7 +114,9 @@ export type IRelayAuthStatus = 'InProgress' | 'Succeeded' | 'Failed'; export type ProviderOptions = | OAuthProviderOptions | EthWalletProviderOptions - | SignInWithOTPParams; + | SignInWithOTPParams + | StytchOtpProviderOptions + | WebAuthnProviderOptions; export type AuthenticateOptions = BaseAuthenticateOptions; export type MintCallback = (response: ClaimKeyResponse) => void; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 456a14a35d..b2d5e65a7f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9146,6 +9146,11 @@ caseless@~0.12.0: resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== +cbor-web@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/cbor-web/-/cbor-web-9.0.1.tgz#844fc2b816939bada26854de60503efd02b15e65" + integrity sha512-9lW24Q2fOvCei/qMSeH48VWOcndR6u/gsi1zqXzXqeTj67XVGR253S+rOaJY+zE9TDahorcpXKeIBFRv4U2MYA== + cbor@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c" @@ -16985,6 +16990,11 @@ join-path@^1.1.1: url-join "0.0.1" valid-url "^1" +jose@^4.14.4: + version "4.14.4" + resolved "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz#59e09204e2670c3164ee24cbfe7115c6f8bff9ca" + integrity sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g== + js-levenshtein@^1.1.6: version "1.1.6" resolved "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"