From 375c5b394128ed14ba52aca360fd7bd156dc06c9 Mon Sep 17 00:00:00 2001 From: Luka Isailovic Date: Thu, 12 Sep 2024 15:27:57 +0200 Subject: [PATCH] feat: chain abstraction multibridge (#699) * chore: add missing eip155 testnet chains * chore: remove unused chain * Show USDC balance in wallet * chore: add loading indicator * chore: add multibridge dapp with checks wallet side * chore: add loader * fix: padding * fix: format * chore: add multibridge request and multibrdige utils * fix: chains * chore: load bridging request * fix: typo * chore: implement amount multiplier * chore: dapp improvements * chore: add performance measurements * chore: add custom logic for bridge tx check --- .../chain-abstraction-demo/.eslintrc.json | 3 + .../dapps/chain-abstraction-demo/.gitignore | 36 + .../dapps/chain-abstraction-demo/README.md | 36 + .../chain-abstraction-demo/app/favicon.ico | Bin 0 -> 25931 bytes .../chain-abstraction-demo/app/globals.css | 88 + .../app/hooks/useSendUsdc.tsx | 28 + .../chain-abstraction-demo/app/layout.tsx | 53 + .../dapps/chain-abstraction-demo/app/page.tsx | 19 + .../chain-abstraction-demo/app/transfer.tsx | 54 + .../chain-abstraction-demo/components.json | 20 + .../components/theme-provider.tsx | 9 + .../components/ui/button.tsx | 57 + .../components/ui/card.tsx | 76 + .../components/ui/toast.tsx | 129 + .../components/ui/toaster.tsx | 35 + .../chain-abstraction-demo/config/index.tsx | 28 + .../chain-abstraction-demo/consts/tokens.ts | 5 + .../chain-abstraction-demo/context/index.tsx | 37 + .../chain-abstraction-demo/hooks/use-toast.ts | 194 + .../dapps/chain-abstraction-demo/lib/utils.ts | 6 + .../chain-abstraction-demo/next.config.mjs | 4 + .../dapps/chain-abstraction-demo/package.json | 39 + .../chain-abstraction-demo/postcss.config.mjs | 8 + .../chain-abstraction-demo/public/next.svg | 1 + .../chain-abstraction-demo/public/vercel.svg | 1 + .../chain-abstraction-demo/tailwind.config.ts | 67 + .../chain-abstraction-demo/tsconfig.json | 26 + .../dapps/chain-abstraction-demo/yarn.lock | 5645 +++++++++++++++++ .../react-wallet-v2/.env.local.example | 2 + .../public/chain-logos/arbitrum.webp | Bin 0 -> 77042 bytes .../public/chain-logos/base.webp | Bin 0 -> 48604 bytes .../ChainAbstractionBalanceCard.tsx | 87 + .../components/MultibridgeRequestModal.tsx | 172 + .../{views => components}/RequestModal.tsx | 11 +- .../react-wallet-v2/src/data/EIP155Data.ts | 34 +- .../hooks/useWalletConnectEventsManager.ts | 4 +- .../react-wallet-v2/src/pages/_middleware.ts | 4 +- .../react-wallet-v2/src/pages/index.tsx | 5 +- .../react-wallet-v2/src/pages/settings.tsx | 27 +- .../src/store/SettingsStore.ts | 15 +- .../src/utils/MultibridgeUtil.ts | 385 ++ .../src/views/AuthRequestModal.tsx | 2 +- .../src/views/SessionAuthenticateModal.tsx | 2 +- .../views/SessionGrantPermissionsModal.tsx | 2 +- .../src/views/SessionProposalModal.tsx | 2 +- .../src/views/SessionSendCallsModal.tsx | 2 +- .../src/views/SessionSendTransactionModal.tsx | 108 +- .../src/views/SessionSignCosmosModal.tsx | 2 +- .../src/views/SessionSignKadenaModal.tsx | 2 +- .../src/views/SessionSignModal.tsx | 2 +- .../src/views/SessionSignMultiversxModal.tsx | 2 +- .../src/views/SessionSignNearModal.tsx | 2 +- .../src/views/SessionSignPolkadotModal.tsx | 2 +- .../src/views/SessionSignSolanaModal.tsx | 2 +- .../src/views/SessionSignTezosModal.tsx | 2 +- .../src/views/SessionSignTronModal.tsx | 2 +- .../src/views/SessionSignTypedDataModal.tsx | 2 +- 57 files changed, 7555 insertions(+), 33 deletions(-) create mode 100644 advanced/dapps/chain-abstraction-demo/.eslintrc.json create mode 100644 advanced/dapps/chain-abstraction-demo/.gitignore create mode 100644 advanced/dapps/chain-abstraction-demo/README.md create mode 100644 advanced/dapps/chain-abstraction-demo/app/favicon.ico create mode 100644 advanced/dapps/chain-abstraction-demo/app/globals.css create mode 100644 advanced/dapps/chain-abstraction-demo/app/hooks/useSendUsdc.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/app/layout.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/app/page.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/app/transfer.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/components.json create mode 100644 advanced/dapps/chain-abstraction-demo/components/theme-provider.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/components/ui/button.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/components/ui/card.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/components/ui/toast.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/components/ui/toaster.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/config/index.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/consts/tokens.ts create mode 100644 advanced/dapps/chain-abstraction-demo/context/index.tsx create mode 100644 advanced/dapps/chain-abstraction-demo/hooks/use-toast.ts create mode 100644 advanced/dapps/chain-abstraction-demo/lib/utils.ts create mode 100644 advanced/dapps/chain-abstraction-demo/next.config.mjs create mode 100644 advanced/dapps/chain-abstraction-demo/package.json create mode 100644 advanced/dapps/chain-abstraction-demo/postcss.config.mjs create mode 100644 advanced/dapps/chain-abstraction-demo/public/next.svg create mode 100644 advanced/dapps/chain-abstraction-demo/public/vercel.svg create mode 100644 advanced/dapps/chain-abstraction-demo/tailwind.config.ts create mode 100644 advanced/dapps/chain-abstraction-demo/tsconfig.json create mode 100644 advanced/dapps/chain-abstraction-demo/yarn.lock create mode 100644 advanced/wallets/react-wallet-v2/public/chain-logos/arbitrum.webp create mode 100644 advanced/wallets/react-wallet-v2/public/chain-logos/base.webp create mode 100644 advanced/wallets/react-wallet-v2/src/components/ChainAbstractionBalanceCard.tsx create mode 100644 advanced/wallets/react-wallet-v2/src/components/MultibridgeRequestModal.tsx rename advanced/wallets/react-wallet-v2/src/{views => components}/RequestModal.tsx (88%) create mode 100644 advanced/wallets/react-wallet-v2/src/utils/MultibridgeUtil.ts diff --git a/advanced/dapps/chain-abstraction-demo/.eslintrc.json b/advanced/dapps/chain-abstraction-demo/.eslintrc.json new file mode 100644 index 000000000..bffb357a7 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/advanced/dapps/chain-abstraction-demo/.gitignore b/advanced/dapps/chain-abstraction-demo/.gitignore new file mode 100644 index 000000000..fd3dbb571 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/advanced/dapps/chain-abstraction-demo/README.md b/advanced/dapps/chain-abstraction-demo/README.md new file mode 100644 index 000000000..c4033664f --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/advanced/dapps/chain-abstraction-demo/app/favicon.ico b/advanced/dapps/chain-abstraction-demo/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/advanced/dapps/chain-abstraction-demo/app/globals.css b/advanced/dapps/chain-abstraction-demo/app/globals.css new file mode 100644 index 000000000..cdc9ba36c --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/app/globals.css @@ -0,0 +1,88 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + } +} + +@layer utilities { + .text-balance { + text-wrap: balance; + } +} + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 240 10% 3.9%; + --card: 0 0% 100%; + --card-foreground: 240 10% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 240 10% 3.9%; + --primary: 240 5.9% 10%; + --primary-foreground: 0 0% 98%; + --secondary: 240 4.8% 95.9%; + --secondary-foreground: 240 5.9% 10%; + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; + --accent: 240 4.8% 95.9%; + --accent-foreground: 240 5.9% 10%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 240 5.9% 90%; + --input: 240 5.9% 90%; + --ring: 240 10% 3.9%; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; + --radius: 0.5rem; + } + .dark { + --background: 240 10% 3.9%; + --foreground: 0 0% 98%; + --card: 240 10% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 240 10% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 240 5.9% 10%; + --secondary: 240 3.7% 15.9%; + --secondary-foreground: 0 0% 98%; + --muted: 240 3.7% 15.9%; + --muted-foreground: 240 5% 64.9%; + --accent: 240 3.7% 15.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 240 3.7% 15.9%; + --input: 240 3.7% 15.9%; + --ring: 240 4.9% 83.9%; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55%; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} diff --git a/advanced/dapps/chain-abstraction-demo/app/hooks/useSendUsdc.tsx b/advanced/dapps/chain-abstraction-demo/app/hooks/useSendUsdc.tsx new file mode 100644 index 000000000..aa7a81437 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/app/hooks/useSendUsdc.tsx @@ -0,0 +1,28 @@ +"use client"; +import { config } from "@/config"; +import { tokenAddresses } from "@/consts/tokens"; +import { erc20Abi, Hex } from "viem"; +import { getAccount, getWalletClient } from "wagmi/actions"; + +export default function useSendUsdc() { + const sendUsdcAsync = async (address: Hex, amount: number) => { + const client = await getWalletClient(config); + const account = getAccount(config); + const chain = account.chain?.id; + if (!chain) { + throw new Error("Chain undefined"); + } + const contract = tokenAddresses[chain]; + if (!chain) { + throw new Error("Cant send on specified chain"); + } + const tx = await client.writeContract({ + abi: erc20Abi, + address: contract, // arbitrum usdc + functionName: "transfer", + args: [address, BigInt(amount)], + }); + return tx; + }; + return { sendUsdcAsync }; +} diff --git a/advanced/dapps/chain-abstraction-demo/app/layout.tsx b/advanced/dapps/chain-abstraction-demo/app/layout.tsx new file mode 100644 index 000000000..a4afc110d --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/app/layout.tsx @@ -0,0 +1,53 @@ +import type { Metadata } from "next"; +import { Inter as FontSans } from "next/font/google"; +import "./globals.css"; +import { cookieToInitialState } from "wagmi"; +import { config } from "@/config"; +import AppKitProvider from "@/context"; +import { Toaster } from "@/components/ui/toaster"; +import { headers } from "next/headers"; +import { cn } from "@/lib/utils"; +import { ThemeProvider } from "@/components/theme-provider"; + +const fontSans = FontSans({ + subsets: ["latin"], + variable: "--font-sans", +}); + +export const metadata: Metadata = { + title: "Chain Abstraction Demo", + description: "Demo dapp for chain abstraction UX demonstration", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + const initialState = cookieToInitialState(config, headers().get("cookie")); + + return ( + + + + + +
+ {children} +
+
+
+ + + + ); +} diff --git a/advanced/dapps/chain-abstraction-demo/app/page.tsx b/advanced/dapps/chain-abstraction-demo/app/page.tsx new file mode 100644 index 000000000..c3e6ec943 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/app/page.tsx @@ -0,0 +1,19 @@ +import { Card, CardContent, CardHeader } from "@/components/ui/card"; +import Transfer from "./transfer"; + +export default function Home() { + return ( +
+
+ + + + + + + + +
+
+ ); +} diff --git a/advanced/dapps/chain-abstraction-demo/app/transfer.tsx b/advanced/dapps/chain-abstraction-demo/app/transfer.tsx new file mode 100644 index 000000000..0ca153181 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/app/transfer.tsx @@ -0,0 +1,54 @@ +"use client"; +import { Button } from "@/components/ui/button"; +import useSendUsdc from "./hooks/useSendUsdc"; +import { useAccount } from "wagmi"; +import { useState } from "react"; +import { useToast } from "@/hooks/use-toast"; +import { Loader2 } from "lucide-react"; + +const sendToAddress = "0x81D8C68Be5EcDC5f927eF020Da834AA57cc3Bd24"; +const sendAmount = 6000000; + +export default function Transfer() { + const { sendUsdcAsync } = useSendUsdc(); + const { isConnected, chain } = useAccount(); + const [isLoading, setIsLoading] = useState(false); + const { toast } = useToast(); + + const onButtonClick = async () => { + try { + setIsLoading(true); + const res = await sendUsdcAsync(sendToAddress, sendAmount); + console.log("Transaction completed", res); + toast({ + title: "Transaction completed", + description: res, + }); + } catch (error) { + console.log(error); + toast({ + variant: "destructive", + title: "Uh oh! Something went wrong.", + description: "There was a problem with your request.", + }); + } finally { + setIsLoading(false); + } + }; + + return ( + <> + {isConnected ? ( + + ) : null} + + ); +} diff --git a/advanced/dapps/chain-abstraction-demo/components.json b/advanced/dapps/chain-abstraction-demo/components.json new file mode 100644 index 000000000..1e961d331 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/components.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "tailwind.config.ts", + "css": "app/globals.css", + "baseColor": "zinc", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + } +} \ No newline at end of file diff --git a/advanced/dapps/chain-abstraction-demo/components/theme-provider.tsx b/advanced/dapps/chain-abstraction-demo/components/theme-provider.tsx new file mode 100644 index 000000000..b0ff2660c --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/components/theme-provider.tsx @@ -0,0 +1,9 @@ +"use client"; + +import * as React from "react"; +import { ThemeProvider as NextThemesProvider } from "next-themes"; +import { type ThemeProviderProps } from "next-themes/dist/types"; + +export function ThemeProvider({ children, ...props }: ThemeProviderProps) { + return {children}; +} diff --git a/advanced/dapps/chain-abstraction-demo/components/ui/button.tsx b/advanced/dapps/chain-abstraction-demo/components/ui/button.tsx new file mode 100644 index 000000000..0270f644a --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/components/ui/button.tsx @@ -0,0 +1,57 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", + { + variants: { + variant: { + default: + "bg-primary text-primary-foreground shadow hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", + outline: + "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2", + sm: "h-8 rounded-md px-3 text-xs", + lg: "h-10 rounded-md px-8", + icon: "h-9 w-9", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button" + return ( + + ) + } +) +Button.displayName = "Button" + +export { Button, buttonVariants } diff --git a/advanced/dapps/chain-abstraction-demo/components/ui/card.tsx b/advanced/dapps/chain-abstraction-demo/components/ui/card.tsx new file mode 100644 index 000000000..77e9fb789 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/components/ui/card.tsx @@ -0,0 +1,76 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +const Card = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +Card.displayName = "Card" + +const CardHeader = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardHeader.displayName = "CardHeader" + +const CardTitle = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardTitle.displayName = "CardTitle" + +const CardDescription = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardDescription.displayName = "CardDescription" + +const CardContent = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardContent.displayName = "CardContent" + +const CardFooter = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardFooter.displayName = "CardFooter" + +export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } diff --git a/advanced/dapps/chain-abstraction-demo/components/ui/toast.tsx b/advanced/dapps/chain-abstraction-demo/components/ui/toast.tsx new file mode 100644 index 000000000..cc4e0ab2f --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/components/ui/toast.tsx @@ -0,0 +1,129 @@ +"use client" + +import * as React from "react" +import { Cross2Icon } from "@radix-ui/react-icons" +import * as ToastPrimitives from "@radix-ui/react-toast" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const ToastProvider = ToastPrimitives.Provider + +const ToastViewport = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +ToastViewport.displayName = ToastPrimitives.Viewport.displayName + +const toastVariants = cva( + "group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", + { + variants: { + variant: { + default: "border bg-background text-foreground", + destructive: + "destructive group border-destructive bg-destructive text-destructive-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +const Toast = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & + VariantProps +>(({ className, variant, ...props }, ref) => { + return ( + + ) +}) +Toast.displayName = ToastPrimitives.Root.displayName + +const ToastAction = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +ToastAction.displayName = ToastPrimitives.Action.displayName + +const ToastClose = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + +)) +ToastClose.displayName = ToastPrimitives.Close.displayName + +const ToastTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +ToastTitle.displayName = ToastPrimitives.Title.displayName + +const ToastDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +ToastDescription.displayName = ToastPrimitives.Description.displayName + +type ToastProps = React.ComponentPropsWithoutRef + +type ToastActionElement = React.ReactElement + +export { + type ToastProps, + type ToastActionElement, + ToastProvider, + ToastViewport, + Toast, + ToastTitle, + ToastDescription, + ToastClose, + ToastAction, +} diff --git a/advanced/dapps/chain-abstraction-demo/components/ui/toaster.tsx b/advanced/dapps/chain-abstraction-demo/components/ui/toaster.tsx new file mode 100644 index 000000000..171beb46d --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/components/ui/toaster.tsx @@ -0,0 +1,35 @@ +"use client" + +import { useToast } from "@/hooks/use-toast" +import { + Toast, + ToastClose, + ToastDescription, + ToastProvider, + ToastTitle, + ToastViewport, +} from "@/components/ui/toast" + +export function Toaster() { + const { toasts } = useToast() + + return ( + + {toasts.map(function ({ id, title, description, action, ...props }) { + return ( + +
+ {title && {title}} + {description && ( + {description} + )} +
+ {action} + +
+ ) + })} + +
+ ) +} diff --git a/advanced/dapps/chain-abstraction-demo/config/index.tsx b/advanced/dapps/chain-abstraction-demo/config/index.tsx new file mode 100644 index 000000000..b7c4ac16e --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/config/index.tsx @@ -0,0 +1,28 @@ +import { defaultWagmiConfig } from "@web3modal/wagmi/react/config"; + +import { cookieStorage, createStorage } from "wagmi"; +import { arbitrum, base, optimism } from "wagmi/chains"; + +// Get projectId from https://cloud.walletconnect.com +export const projectId = process.env.NEXT_PUBLIC_PROJECT_ID; + +if (!projectId) throw new Error("Project ID is not defined"); + +export const metadata = { + name: "AppKit", + description: "AppKit Example", + url: "https://web3modal.com", // origin must match your domain & subdomain + icons: ["https://avatars.githubusercontent.com/u/37784886"], +}; + +// Create wagmiConfig +const chains = [base, optimism, arbitrum] as const; +export const config = defaultWagmiConfig({ + chains, + projectId, + metadata, + ssr: true, + storage: createStorage({ + storage: cookieStorage, + }), +}); diff --git a/advanced/dapps/chain-abstraction-demo/consts/tokens.ts b/advanced/dapps/chain-abstraction-demo/consts/tokens.ts new file mode 100644 index 000000000..648f6ae88 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/consts/tokens.ts @@ -0,0 +1,5 @@ +import { Hex } from "viem"; + +export const tokenAddresses: Record = { + 42161: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831' // Arbitrum +} \ No newline at end of file diff --git a/advanced/dapps/chain-abstraction-demo/context/index.tsx b/advanced/dapps/chain-abstraction-demo/context/index.tsx new file mode 100644 index 000000000..89a48ed28 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/context/index.tsx @@ -0,0 +1,37 @@ +"use client"; + +import React, { ReactNode } from "react"; +import { config, projectId, metadata } from "@/config"; + +import { createWeb3Modal } from "@web3modal/wagmi/react"; + +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; + +import { State, WagmiProvider } from "wagmi"; + +// Setup queryClient +const queryClient = new QueryClient(); + +if (!projectId) throw new Error("Project ID is not defined"); + +// Create modal +createWeb3Modal({ + metadata, + wagmiConfig: config, + projectId, + enableAnalytics: true, // Optional - defaults to your Cloud configuration +}); + +export default function AppKitProvider({ + children, + initialState, +}: { + children: ReactNode; + initialState?: State; +}) { + return ( + + {children} + + ); +} diff --git a/advanced/dapps/chain-abstraction-demo/hooks/use-toast.ts b/advanced/dapps/chain-abstraction-demo/hooks/use-toast.ts new file mode 100644 index 000000000..02e111d81 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/hooks/use-toast.ts @@ -0,0 +1,194 @@ +"use client" + +// Inspired by react-hot-toast library +import * as React from "react" + +import type { + ToastActionElement, + ToastProps, +} from "@/components/ui/toast" + +const TOAST_LIMIT = 1 +const TOAST_REMOVE_DELAY = 1000000 + +type ToasterToast = ToastProps & { + id: string + title?: React.ReactNode + description?: React.ReactNode + action?: ToastActionElement +} + +const actionTypes = { + ADD_TOAST: "ADD_TOAST", + UPDATE_TOAST: "UPDATE_TOAST", + DISMISS_TOAST: "DISMISS_TOAST", + REMOVE_TOAST: "REMOVE_TOAST", +} as const + +let count = 0 + +function genId() { + count = (count + 1) % Number.MAX_SAFE_INTEGER + return count.toString() +} + +type ActionType = typeof actionTypes + +type Action = + | { + type: ActionType["ADD_TOAST"] + toast: ToasterToast + } + | { + type: ActionType["UPDATE_TOAST"] + toast: Partial + } + | { + type: ActionType["DISMISS_TOAST"] + toastId?: ToasterToast["id"] + } + | { + type: ActionType["REMOVE_TOAST"] + toastId?: ToasterToast["id"] + } + +interface State { + toasts: ToasterToast[] +} + +const toastTimeouts = new Map>() + +const addToRemoveQueue = (toastId: string) => { + if (toastTimeouts.has(toastId)) { + return + } + + const timeout = setTimeout(() => { + toastTimeouts.delete(toastId) + dispatch({ + type: "REMOVE_TOAST", + toastId: toastId, + }) + }, TOAST_REMOVE_DELAY) + + toastTimeouts.set(toastId, timeout) +} + +export const reducer = (state: State, action: Action): State => { + switch (action.type) { + case "ADD_TOAST": + return { + ...state, + toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT), + } + + case "UPDATE_TOAST": + return { + ...state, + toasts: state.toasts.map((t) => + t.id === action.toast.id ? { ...t, ...action.toast } : t + ), + } + + case "DISMISS_TOAST": { + const { toastId } = action + + // ! Side effects ! - This could be extracted into a dismissToast() action, + // but I'll keep it here for simplicity + if (toastId) { + addToRemoveQueue(toastId) + } else { + state.toasts.forEach((toast) => { + addToRemoveQueue(toast.id) + }) + } + + return { + ...state, + toasts: state.toasts.map((t) => + t.id === toastId || toastId === undefined + ? { + ...t, + open: false, + } + : t + ), + } + } + case "REMOVE_TOAST": + if (action.toastId === undefined) { + return { + ...state, + toasts: [], + } + } + return { + ...state, + toasts: state.toasts.filter((t) => t.id !== action.toastId), + } + } +} + +const listeners: Array<(state: State) => void> = [] + +let memoryState: State = { toasts: [] } + +function dispatch(action: Action) { + memoryState = reducer(memoryState, action) + listeners.forEach((listener) => { + listener(memoryState) + }) +} + +type Toast = Omit + +function toast({ ...props }: Toast) { + const id = genId() + + const update = (props: ToasterToast) => + dispatch({ + type: "UPDATE_TOAST", + toast: { ...props, id }, + }) + const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id }) + + dispatch({ + type: "ADD_TOAST", + toast: { + ...props, + id, + open: true, + onOpenChange: (open) => { + if (!open) dismiss() + }, + }, + }) + + return { + id: id, + dismiss, + update, + } +} + +function useToast() { + const [state, setState] = React.useState(memoryState) + + React.useEffect(() => { + listeners.push(setState) + return () => { + const index = listeners.indexOf(setState) + if (index > -1) { + listeners.splice(index, 1) + } + } + }, [state]) + + return { + ...state, + toast, + dismiss: (toastId?: string) => dispatch({ type: "DISMISS_TOAST", toastId }), + } +} + +export { useToast, toast } diff --git a/advanced/dapps/chain-abstraction-demo/lib/utils.ts b/advanced/dapps/chain-abstraction-demo/lib/utils.ts new file mode 100644 index 000000000..bd0c391dd --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/advanced/dapps/chain-abstraction-demo/next.config.mjs b/advanced/dapps/chain-abstraction-demo/next.config.mjs new file mode 100644 index 000000000..4678774e6 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/next.config.mjs @@ -0,0 +1,4 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = {}; + +export default nextConfig; diff --git a/advanced/dapps/chain-abstraction-demo/package.json b/advanced/dapps/chain-abstraction-demo/package.json new file mode 100644 index 000000000..f97dff7a6 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/package.json @@ -0,0 +1,39 @@ +{ + "name": "chain-abstraction-demo", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@radix-ui/react-icons": "^1.3.0", + "@radix-ui/react-slot": "^1.1.0", + "@radix-ui/react-toast": "^1.2.1", + "@tanstack/react-query": "^5.54.1", + "@web3modal/wagmi": "^5.1.6", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.1", + "lucide-react": "^0.439.0", + "next": "14.2.7", + "next-themes": "^0.3.0", + "react": "^18", + "react-dom": "^18", + "tailwind-merge": "^2.5.2", + "tailwindcss-animate": "^1.0.7", + "viem": "^2.21.1", + "wagmi": "^2.12.8" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "14.2.7", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } +} diff --git a/advanced/dapps/chain-abstraction-demo/postcss.config.mjs b/advanced/dapps/chain-abstraction-demo/postcss.config.mjs new file mode 100644 index 000000000..1a69fd2a4 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/advanced/dapps/chain-abstraction-demo/public/next.svg b/advanced/dapps/chain-abstraction-demo/public/next.svg new file mode 100644 index 000000000..5174b28c5 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/advanced/dapps/chain-abstraction-demo/public/vercel.svg b/advanced/dapps/chain-abstraction-demo/public/vercel.svg new file mode 100644 index 000000000..d2f842227 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/advanced/dapps/chain-abstraction-demo/tailwind.config.ts b/advanced/dapps/chain-abstraction-demo/tailwind.config.ts new file mode 100644 index 000000000..141f8407e --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/tailwind.config.ts @@ -0,0 +1,67 @@ +import type { Config } from "tailwindcss"; + +const config: Config = { + darkMode: ["class"], + content: [ + "./pages/**/*.{js,ts,jsx,tsx,mdx}", + "./components/**/*.{js,ts,jsx,tsx,mdx}", + "./app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + backgroundImage: { + 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', + 'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))' + }, + borderRadius: { + lg: 'var(--radius)', + md: 'calc(var(--radius) - 2px)', + sm: 'calc(var(--radius) - 4px)' + }, + colors: { + background: 'hsl(var(--background))', + foreground: 'hsl(var(--foreground))', + card: { + DEFAULT: 'hsl(var(--card))', + foreground: 'hsl(var(--card-foreground))' + }, + popover: { + DEFAULT: 'hsl(var(--popover))', + foreground: 'hsl(var(--popover-foreground))' + }, + primary: { + DEFAULT: 'hsl(var(--primary))', + foreground: 'hsl(var(--primary-foreground))' + }, + secondary: { + DEFAULT: 'hsl(var(--secondary))', + foreground: 'hsl(var(--secondary-foreground))' + }, + muted: { + DEFAULT: 'hsl(var(--muted))', + foreground: 'hsl(var(--muted-foreground))' + }, + accent: { + DEFAULT: 'hsl(var(--accent))', + foreground: 'hsl(var(--accent-foreground))' + }, + destructive: { + DEFAULT: 'hsl(var(--destructive))', + foreground: 'hsl(var(--destructive-foreground))' + }, + border: 'hsl(var(--border))', + input: 'hsl(var(--input))', + ring: 'hsl(var(--ring))', + chart: { + '1': 'hsl(var(--chart-1))', + '2': 'hsl(var(--chart-2))', + '3': 'hsl(var(--chart-3))', + '4': 'hsl(var(--chart-4))', + '5': 'hsl(var(--chart-5))' + } + } + } + }, + plugins: [require("tailwindcss-animate")], +}; +export default config; diff --git a/advanced/dapps/chain-abstraction-demo/tsconfig.json b/advanced/dapps/chain-abstraction-demo/tsconfig.json new file mode 100644 index 000000000..e7ff90fd2 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/advanced/dapps/chain-abstraction-demo/yarn.lock b/advanced/dapps/chain-abstraction-demo/yarn.lock new file mode 100644 index 000000000..a0226d4a6 --- /dev/null +++ b/advanced/dapps/chain-abstraction-demo/yarn.lock @@ -0,0 +1,5645 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@adraffy/ens-normalize@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" + integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + +"@babel/runtime@^7.19.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" + integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== + dependencies: + regenerator-runtime "^0.14.0" + +"@coinbase/wallet-sdk@4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.0.4.tgz#634cd89bac93eeaf381a1f026476794e53431ed6" + integrity sha512-74c040CRnGhfRjr3ArnkAgud86erIqdkPHNt5HR1k9u97uTIZCJww9eGYT67Qf7gHPpGS/xW8Be1D4dvRm63FA== + dependencies: + buffer "^6.0.3" + clsx "^1.2.1" + eventemitter3 "^5.0.1" + keccak "^3.0.3" + preact "^10.16.0" + sha.js "^2.4.11" + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.6.1": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== + +"@ethereumjs/common@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0" + integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA== + dependencies: + "@ethereumjs/util" "^8.1.0" + crc-32 "^1.2.0" + +"@ethereumjs/rlp@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" + integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== + +"@ethereumjs/tx@^4.1.2", "@ethereumjs/tx@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" + integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== + dependencies: + "@ethereumjs/common" "^3.2.0" + "@ethereumjs/rlp" "^4.0.1" + "@ethereumjs/util" "^8.1.0" + ethereum-cryptography "^2.0.0" + +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" + +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.24": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0", "@lit-labs/ssr-dom-shim@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz#2f3a8f1d688935c704dbc89132394a41029acbb8" + integrity sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ== + +"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03" + integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.0.0" + +"@lit/reactive-element@^2.0.0", "@lit/reactive-element@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-2.0.4.tgz#8f2ed950a848016383894a26180ff06c56ae001b" + integrity sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.2.0" + +"@metamask/eth-json-rpc-provider@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@metamask/eth-json-rpc-provider/-/eth-json-rpc-provider-1.0.1.tgz#3fd5316c767847f4ca107518b611b15396a5a32c" + integrity sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA== + dependencies: + "@metamask/json-rpc-engine" "^7.0.0" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^5.0.1" + +"@metamask/json-rpc-engine@^7.0.0": + version "7.3.3" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.3.tgz#f2b30a2164558014bfcca45db10f5af291d989af" + integrity sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg== + dependencies: + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" + +"@metamask/json-rpc-engine@^8.0.1", "@metamask/json-rpc-engine@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-engine/-/json-rpc-engine-8.0.2.tgz#29510a871a8edef892f838ee854db18de0bf0d14" + integrity sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA== + dependencies: + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" + +"@metamask/json-rpc-middleware-stream@^7.0.1": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-middleware-stream/-/json-rpc-middleware-stream-7.0.2.tgz#2e8b2cbc38968e3c6239a9144c35bbb08a8fb57d" + integrity sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg== + dependencies: + "@metamask/json-rpc-engine" "^8.0.2" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" + readable-stream "^3.6.2" + +"@metamask/object-multiplex@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@metamask/object-multiplex/-/object-multiplex-2.0.0.tgz#aa6e4aa7b4e2f457ea4bb51cd7281d931e0aa35d" + integrity sha512-+ItrieVZie3j2LfYE0QkdW3dsEMfMEp419IGx1zyeLqjRZ14iQUPRO0H6CGgfAAoC0x6k2PfCAGRwJUA9BMrqA== + dependencies: + once "^1.4.0" + readable-stream "^3.6.2" + +"@metamask/onboarding@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@metamask/onboarding/-/onboarding-1.0.1.tgz#14a36e1e175e2f69f09598e2008ab6dc1b3297e6" + integrity sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ== + dependencies: + bowser "^2.9.0" + +"@metamask/providers@16.1.0": + version "16.1.0" + resolved "https://registry.yarnpkg.com/@metamask/providers/-/providers-16.1.0.tgz#7da593d17c541580fa3beab8d9d8a9b9ce19ea07" + integrity sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g== + dependencies: + "@metamask/json-rpc-engine" "^8.0.1" + "@metamask/json-rpc-middleware-stream" "^7.0.1" + "@metamask/object-multiplex" "^2.0.0" + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.1.1" + "@metamask/utils" "^8.3.0" + detect-browser "^5.2.0" + extension-port-stream "^3.0.0" + fast-deep-equal "^3.1.3" + is-stream "^2.0.0" + readable-stream "^3.6.2" + webextension-polyfill "^0.10.0" + +"@metamask/rpc-errors@^6.2.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@metamask/rpc-errors/-/rpc-errors-6.3.1.tgz#d5bb4740e070c3d87e91717ff4c3c6061a081cab" + integrity sha512-ugDY7cKjF4/yH5LtBaOIKHw/AiGGSAmzptAUEiAEGr/78LwuzcXAxmzEQfSfMIfI+f9Djr8cttq1pRJJKfTuCg== + dependencies: + "@metamask/utils" "^9.0.0" + fast-safe-stringify "^2.0.6" + +"@metamask/safe-event-emitter@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" + integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== + +"@metamask/safe-event-emitter@^3.0.0", "@metamask/safe-event-emitter@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.1.tgz#e89b840a7af8097a8ed4953d8dc8470d1302d3ef" + integrity sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw== + +"@metamask/sdk-communication-layer@0.27.0": + version "0.27.0" + resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.27.0.tgz#8d618fadd39f11627d5b3ef1bc72867439e33ff4" + integrity sha512-G9LCaQzIqp5WmUmvHN6UUdjWrBh67MbRobmbbs5fcc2+9XFhj3vBgtyleUYjun91jSlPHoZeo+f/Pj4/WoPIJg== + dependencies: + bufferutil "^4.0.8" + date-fns "^2.29.3" + debug "^4.3.4" + utf-8-validate "^5.0.2" + uuid "^8.3.2" + +"@metamask/sdk-install-modal-web@0.26.5": + version "0.26.5" + resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.26.5.tgz#b696c78818adaff85d01a4f41fecc8fd2c80bc59" + integrity sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA== + dependencies: + qr-code-styling "^1.6.0-rc.1" + +"@metamask/sdk@0.27.0": + version "0.27.0" + resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.27.0.tgz#38617985b8305a0f5d482cdd7af8ddec87968bb7" + integrity sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A== + dependencies: + "@metamask/onboarding" "^1.0.1" + "@metamask/providers" "16.1.0" + "@metamask/sdk-communication-layer" "0.27.0" + "@metamask/sdk-install-modal-web" "0.26.5" + "@types/dom-screen-wake-lock" "^1.0.0" + bowser "^2.9.0" + cross-fetch "^4.0.0" + debug "^4.3.4" + eciesjs "^0.3.15" + eth-rpc-errors "^4.0.3" + eventemitter2 "^6.4.7" + i18next "23.11.5" + i18next-browser-languagedetector "7.1.0" + obj-multiplex "^1.0.0" + pump "^3.0.0" + qrcode-terminal-nooctal "^0.12.1" + react-native-webview "^11.26.0" + readable-stream "^3.6.2" + rollup-plugin-visualizer "^5.9.2" + socket.io-client "^4.5.1" + util "^0.12.4" + uuid "^8.3.2" + +"@metamask/superstruct@^3.0.0", "@metamask/superstruct@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@metamask/superstruct/-/superstruct-3.1.0.tgz#148f786a674fba3ac885c1093ab718515bf7f648" + integrity sha512-N08M56HdOgBfRKkrgCMZvQppkZGcArEop3kixNEtVbJKm6P9Cfg0YkI6X0s1g78sNrj2fWUwvJADdZuzJgFttA== + +"@metamask/utils@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-5.0.2.tgz#140ba5061d90d9dac0280c19cab101bc18c8857c" + integrity sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g== + dependencies: + "@ethereumjs/tx" "^4.1.2" + "@types/debug" "^4.1.7" + debug "^4.3.4" + semver "^7.3.8" + superstruct "^1.0.3" + +"@metamask/utils@^8.3.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.5.0.tgz#ddd0d4012d5191809404c97648a837ea9962cceb" + integrity sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ== + dependencies: + "@ethereumjs/tx" "^4.2.0" + "@metamask/superstruct" "^3.0.0" + "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" + "@types/debug" "^4.1.7" + debug "^4.3.4" + pony-cause "^2.1.10" + semver "^7.5.4" + uuid "^9.0.1" + +"@metamask/utils@^9.0.0": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-9.2.1.tgz#d9f84706ff97e0c8d1bde5778549365b14269e81" + integrity sha512-/u663aUaB6+Xe75i3Mt/1cCljm41HDYIsna5oBrwGvgkY2zH7/9k9Zjd706cxoAbxN7QgLSVAReUiGnuxCuXrQ== + dependencies: + "@ethereumjs/tx" "^4.2.0" + "@metamask/superstruct" "^3.1.0" + "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" + "@types/debug" "^4.1.7" + debug "^4.3.4" + pony-cause "^2.1.10" + semver "^7.5.4" + uuid "^9.0.1" + +"@motionone/animation@^10.15.1", "@motionone/animation@^10.18.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.18.0.tgz#868d00b447191816d5d5cf24b1cafa144017922b" + integrity sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw== + dependencies: + "@motionone/easing" "^10.18.0" + "@motionone/types" "^10.17.1" + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/dom@^10.16.2", "@motionone/dom@^10.16.4": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.18.0.tgz#7fd25dac04cab72def6d2b92b8e0cdc091576527" + integrity sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A== + dependencies: + "@motionone/animation" "^10.18.0" + "@motionone/generators" "^10.18.0" + "@motionone/types" "^10.17.1" + "@motionone/utils" "^10.18.0" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/easing@^10.18.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.18.0.tgz#7b82f6010dfee3a1bb0ee83abfbaff6edae0c708" + integrity sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg== + dependencies: + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/generators@^10.18.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.18.0.tgz#fe09ab5cfa0fb9a8884097feb7eb60abeb600762" + integrity sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg== + dependencies: + "@motionone/types" "^10.17.1" + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/svelte@^10.16.2": + version "10.16.4" + resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.4.tgz#5daf117cf5b2576fc6dd487c5e0500938a742470" + integrity sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA== + dependencies: + "@motionone/dom" "^10.16.4" + tslib "^2.3.1" + +"@motionone/types@^10.15.1", "@motionone/types@^10.17.1": + version "10.17.1" + resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.17.1.tgz#cf487badbbdc9da0c2cb86ffc1e5d11147c6e6fb" + integrity sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A== + +"@motionone/utils@^10.15.1", "@motionone/utils@^10.18.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.18.0.tgz#a59ff8932ed9009624bca07c56b28ef2bb2f885e" + integrity sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw== + dependencies: + "@motionone/types" "^10.17.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/vue@^10.16.2": + version "10.16.4" + resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.4.tgz#07d09e3aa5115ca0bcc0076cb9e5322775277c09" + integrity sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg== + dependencies: + "@motionone/dom" "^10.16.4" + tslib "^2.3.1" + +"@next/env@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.7.tgz#40fcd6ccdd53fd7e6788a0604f39032c84bea112" + integrity sha512-OTx9y6I3xE/eih+qtthppwLytmpJVPM5PPoJxChFsbjIEFXIayG0h/xLzefHGJviAa3Q5+Fd+9uYojKkHDKxoQ== + +"@next/eslint-plugin-next@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.7.tgz#22154d5833124fdd439d158b91a9cf87ea53f5fa" + integrity sha512-+7xh142AdhZGjY9/L0iFo7mqRBMJHe+q+uOL+hto1Lfo9DeWCGcR6no4StlFbVSVcA6fQLKEX6y6qhMsSKbgNQ== + dependencies: + glob "10.3.10" + +"@next/swc-darwin-arm64@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.7.tgz#6cd39ba5d5f43705de44e389d4b4f5d2df391927" + integrity sha512-UhZGcOyI9LE/tZL3h9rs/2wMZaaJKwnpAyegUVDGZqwsla6hMfeSj9ssBWQS9yA4UXun3pPhrFLVnw5KXZs3vw== + +"@next/swc-darwin-x64@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.7.tgz#a1d191a293443cf8df9451b8f13a348caa718cb7" + integrity sha512-ys2cUgZYRc+CbyDeLAaAdZgS7N1Kpyy+wo0b/gAj+SeOeaj0Lw/q+G1hp+DuDiDAVyxLBCJXEY/AkhDmtihUTA== + +"@next/swc-linux-arm64-gnu@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.7.tgz#9da3f993b3754b900fe7b469de51898fc51112f2" + integrity sha512-2xoWtE13sUJ3qrC1lwE/HjbDPm+kBQYFkkiVECJWctRASAHQ+NwjMzgrfqqMYHfMxFb5Wws3w9PqzZJqKFdWcQ== + +"@next/swc-linux-arm64-musl@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.7.tgz#f75662bdedd2d91ad7e05778274fa17659f1f02f" + integrity sha512-+zJ1gJdl35BSAGpkCbfyiY6iRTaPrt3KTl4SF/B1NyELkqqnrNX6cp4IjjjxKpd64/7enI0kf6b9O1Uf3cL0pw== + +"@next/swc-linux-x64-gnu@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.7.tgz#3c6c5b551a5af4fc8178bd5733c8063266034e79" + integrity sha512-m6EBqrskeMUzykBrv0fDX/28lWIBGhMzOYaStp0ihkjzIYJiKUOzVYD1gULHc8XDf5EMSqoH/0/TRAgXqpQwmw== + +"@next/swc-linux-x64-musl@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.7.tgz#16f92f00263d1fce91ae80e5f230eb1feea484e4" + integrity sha512-gUu0viOMvMlzFRz1r1eQ7Ql4OE+hPOmA7smfZAhn8vC4+0swMZaZxa9CSIozTYavi+bJNDZ3tgiSdMjmMzRJlQ== + +"@next/swc-win32-arm64-msvc@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.7.tgz#1224cb8a04cd9caad785a2187df9e85b49414a42" + integrity sha512-PGbONHIVIuzWlYmLvuFKcj+8jXnLbx4WrlESYlVnEzDsa3+Q2hI1YHoXaSmbq0k4ZwZ7J6sWNV4UZfx1OeOlbQ== + +"@next/swc-win32-ia32-msvc@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.7.tgz#9494aaf9cc50ddef600f8c1b2ed0f216b19f9294" + integrity sha512-BiSY5umlx9ed5RQDoHcdbuKTUkuFORDqzYKPHlLeS+STUWQKWziVOn3Ic41LuTBvqE0TRJPKpio9GSIblNR+0w== + +"@next/swc-win32-x64-msvc@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.7.tgz#75e1d90758cb10a547e1cdfb878871da28123682" + integrity sha512-pxsI23gKWRt/SPHFkDEsP+w+Nd7gK37Hpv0ngc5HpWy2e7cKx9zR/+Q2ptAUqICNTecAaGWvmhway7pj/JLEWA== + +"@noble/curves@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" + integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@1.4.2", "@noble/curves@~1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" + integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@^1.4.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" + integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== + dependencies: + "@noble/hashes" "1.5.0" + +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/hashes@1.5.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" + integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nolyfill/is-core-module@1.0.39": + version "1.0.39" + resolved "https://registry.yarnpkg.com/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz#3dc35ba0f1e66b403c00b39344f870298ebb1c8e" + integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA== + +"@parcel/watcher-android-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" + integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== + +"@parcel/watcher-darwin-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" + integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== + +"@parcel/watcher-darwin-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" + integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== + +"@parcel/watcher-freebsd-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" + integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== + +"@parcel/watcher-linux-arm-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" + integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== + +"@parcel/watcher-linux-arm64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" + integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== + +"@parcel/watcher-linux-arm64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" + integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== + +"@parcel/watcher-linux-x64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz#0ce29966b082fb6cdd3de44f2f74057eef2c9e39" + integrity sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg== + +"@parcel/watcher-linux-x64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz#d2ebbf60e407170bb647cd6e447f4f2bab19ad16" + integrity sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ== + +"@parcel/watcher-wasm@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz#c4353e4fdb96ee14389856f7f6f6d21b7dcef9e1" + integrity sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA== + dependencies: + is-glob "^4.0.3" + micromatch "^4.0.5" + napi-wasm "^1.1.0" + +"@parcel/watcher-win32-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" + integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== + +"@parcel/watcher-win32-ia32@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" + integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== + +"@parcel/watcher-win32-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" + integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== + +"@parcel/watcher@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.4.1.tgz#a50275151a1bb110879c6123589dba90c19f1bf8" + integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.4.1" + "@parcel/watcher-darwin-arm64" "2.4.1" + "@parcel/watcher-darwin-x64" "2.4.1" + "@parcel/watcher-freebsd-x64" "2.4.1" + "@parcel/watcher-linux-arm-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-musl" "2.4.1" + "@parcel/watcher-linux-x64-glibc" "2.4.1" + "@parcel/watcher-linux-x64-musl" "2.4.1" + "@parcel/watcher-win32-arm64" "2.4.1" + "@parcel/watcher-win32-ia32" "2.4.1" + "@parcel/watcher-win32-x64" "2.4.1" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@radix-ui/primitive@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.0.tgz#42ef83b3b56dccad5d703ae8c42919a68798bbe2" + integrity sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA== + +"@radix-ui/react-collection@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.0.tgz#f18af78e46454a2360d103c2251773028b7724ed" + integrity sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/react-context" "1.1.0" + "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-slot" "1.1.0" + +"@radix-ui/react-compose-refs@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz#656432461fc8283d7b591dcf0d79152fae9ecc74" + integrity sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw== + +"@radix-ui/react-context@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.0.tgz#6df8d983546cfd1999c8512f3a8ad85a6e7fcee8" + integrity sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A== + +"@radix-ui/react-dismissable-layer@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.0.tgz#2cd0a49a732372513733754e6032d3fb7988834e" + integrity sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig== + dependencies: + "@radix-ui/primitive" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-use-callback-ref" "1.1.0" + "@radix-ui/react-use-escape-keydown" "1.1.0" + +"@radix-ui/react-icons@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-icons/-/react-icons-1.3.0.tgz#c61af8f323d87682c5ca76b856d60c2312dbcb69" + integrity sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw== + +"@radix-ui/react-portal@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.1.tgz#1957f1eb2e1aedfb4a5475bd6867d67b50b1d15f" + integrity sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g== + dependencies: + "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + +"@radix-ui/react-presence@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.0.tgz#227d84d20ca6bfe7da97104b1a8b48a833bfb478" + integrity sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ== + dependencies: + "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + +"@radix-ui/react-primitive@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz#fe05715faa9203a223ccc0be15dc44b9f9822884" + integrity sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw== + dependencies: + "@radix-ui/react-slot" "1.1.0" + +"@radix-ui/react-slot@1.1.0", "@radix-ui/react-slot@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.1.0.tgz#7c5e48c36ef5496d97b08f1357bb26ed7c714b84" + integrity sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.0" + +"@radix-ui/react-toast@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-toast/-/react-toast-1.2.1.tgz#4bde231ed27d007dcd0455a446565ca619f92a2d" + integrity sha512-5trl7piMXcZiCq7MW6r8YYmu0bK5qDpTWz+FdEPdKyft2UixkspheYbjbrLXVN5NGKHFbOP7lm8eD0biiSqZqg== + dependencies: + "@radix-ui/primitive" "1.1.0" + "@radix-ui/react-collection" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/react-context" "1.1.0" + "@radix-ui/react-dismissable-layer" "1.1.0" + "@radix-ui/react-portal" "1.1.1" + "@radix-ui/react-presence" "1.1.0" + "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-use-callback-ref" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-visually-hidden" "1.1.0" + +"@radix-ui/react-use-callback-ref@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz#bce938ca413675bc937944b0d01ef6f4a6dc5bf1" + integrity sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw== + +"@radix-ui/react-use-controllable-state@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz#1321446857bb786917df54c0d4d084877aab04b0" + integrity sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw== + dependencies: + "@radix-ui/react-use-callback-ref" "1.1.0" + +"@radix-ui/react-use-escape-keydown@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz#31a5b87c3b726504b74e05dac1edce7437b98754" + integrity sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw== + dependencies: + "@radix-ui/react-use-callback-ref" "1.1.0" + +"@radix-ui/react-use-layout-effect@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz#3c2c8ce04827b26a39e442ff4888d9212268bd27" + integrity sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w== + +"@radix-ui/react-visually-hidden@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz#ad47a8572580f7034b3807c8e6740cd41038a5a2" + integrity sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ== + dependencies: + "@radix-ui/react-primitive" "2.0.0" + +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + +"@rushstack/eslint-patch@^1.3.3": + version "1.10.4" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz#427d5549943a9c6fce808e39ea64dbe60d4047f1" + integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA== + +"@safe-global/safe-apps-provider@0.18.3": + version "0.18.3" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.3.tgz#805a42e24f5dde803cb96dac251a3c9e256de45b" + integrity sha512-f/0cNv3S4v7p8rowAjj0hDCg8Q8P/wBjp5twkNWeBdvd0RDr7BuRBPPk74LCqmjQ82P+1ltLlkmVFSmxTIT7XQ== + dependencies: + "@safe-global/safe-apps-sdk" "^9.1.0" + events "^3.3.0" + +"@safe-global/safe-apps-sdk@9.1.0", "@safe-global/safe-apps-sdk@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-9.1.0.tgz#0e65913e0f202e529ed3c846e0f5a98c2d35aa98" + integrity sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q== + dependencies: + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^2.1.1" + +"@safe-global/safe-gateway-typescript-sdk@^3.5.3": + version "3.22.2" + resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.22.2.tgz#d4ff9972e58f9344fc95f8d41b2ec6517baa8e79" + integrity sha512-Y0yAxRaB98LFp2Dm+ACZqBSdAmI3FlpH/LjxOZ94g/ouuDJecSq0iR26XZ5QDuEL8Rf+L4jBJaoDC08CD0KkJw== + +"@scure/base@^1.1.3", "@scure/base@~1.1.6": + version "1.1.8" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.8.tgz#8f23646c352f020c83bca750a82789e246d42b50" + integrity sha512-6CyAclxj3Nb0XT7GHK6K4zK6k2xJm6E4Ft0Ohjt4WgegiFUHEtFb2CGzmPmGBwoIhrLsqNLYfLr04Y1GePrzZg== + +"@scure/bip32@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" + integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== + dependencies: + "@noble/curves" "~1.4.0" + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@scure/bip39@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" + integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== + dependencies: + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@socket.io/component-emitter@~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== + +"@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" + integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== + +"@stablelib/binary@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + dependencies: + "@stablelib/int" "^1.0.1" + +"@stablelib/bytes@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" + integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== + +"@stablelib/chacha20poly1305@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" + integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== + 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/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/constant-time@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" + integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== + +"@stablelib/ed25519@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" + integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== + dependencies: + "@stablelib/random" "^1.0.2" + "@stablelib/sha512" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hash@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" + integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== + +"@stablelib/hkdf@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" + integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== + dependencies: + "@stablelib/hash" "^1.0.1" + "@stablelib/hmac" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hmac@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" + integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/int@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== + +"@stablelib/keyagreement@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" + integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== + dependencies: + "@stablelib/bytes" "^1.0.1" + +"@stablelib/poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" + integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/random@1.0.2", "@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha256@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" + integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha512@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" + integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/wipe@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== + +"@stablelib/x25519@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" + integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== + dependencies: + "@stablelib/keyagreement" "^1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/wipe" "^1.0.1" + +"@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.5.tgz#12689df71bfc9b21c4f4ca00ae55f2f16c8b77c0" + integrity sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A== + dependencies: + "@swc/counter" "^0.1.3" + tslib "^2.4.0" + +"@tanstack/query-core@5.54.1": + version "5.54.1" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.54.1.tgz#8d6c5e6691dd023f9181d69f7f9d790f52f1bdda" + integrity sha512-hKS+WRpT5zBFip21pB6Jx1C0hranWQrbv5EJ7qPoiV5MYI3C8rTCqWC9DdBseiPT1JgQWh8Y55YthuYZNiw3Xw== + +"@tanstack/react-query@^5.54.1": + version "5.54.1" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.54.1.tgz#55d9d9b290362160008bf5d5d7dedd485afbfc5e" + integrity sha512-SuMi4JBYv49UtmiRyqjxY7XAnE1qwLht9nlkC8sioxFXz5Uzj30lepiKf2mYXuXfC7fHYjTrAPkNx+427pRHXA== + dependencies: + "@tanstack/query-core" "5.54.1" + +"@types/debug@^4.1.7": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + +"@types/dom-screen-wake-lock@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/dom-screen-wake-lock/-/dom-screen-wake-lock-1.0.3.tgz#c3588a5f6f40fae957f9ce5be9bc4927a61bb9a0" + integrity sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/ms@*": + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + +"@types/node@*": + version "22.5.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.3.tgz#91a374e42c6e7ccb5893a87f1775f36ce1671d65" + integrity sha512-njripolh85IA9SQGTAqbmnNZTdxv7X/4OYGPz8tgy5JDr8MP+uDBa921GpYEoDDnwm0Hmn5ZPeJgiiSTPoOzkQ== + dependencies: + undici-types "~6.19.2" + +"@types/node@^20": + version "20.16.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.4.tgz#2e3d9e1da4761a0fdb725d9497df4bb091e9c2f1" + integrity sha512-ioyQ1zK9aGEomJ45zz8S8IdzElyxhvP1RVWnPrXDf6wFaUb+kk1tEcVVJkF7RPGM0VWI7cp5U57oCPIn5iN1qg== + dependencies: + undici-types "~6.19.2" + +"@types/prop-types@*": + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + +"@types/react-dom@^18": + version "18.3.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" + integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18": + version "18.3.5" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.5.tgz#5f524c2ad2089c0ff372bbdabc77ca2c4dbadf8f" + integrity sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/secp256k1@^4.0.6": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" + integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== + dependencies: + "@types/node" "*" + +"@types/trusted-types@^2.0.2": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== + +"@typescript-eslint/parser@^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.2.0.tgz#44356312aea8852a3a82deebdacd52ba614ec07a" + integrity sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg== + dependencies: + "@typescript-eslint/scope-manager" "7.2.0" + "@typescript-eslint/types" "7.2.0" + "@typescript-eslint/typescript-estree" "7.2.0" + "@typescript-eslint/visitor-keys" "7.2.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz#cfb437b09a84f95a0930a76b066e89e35d94e3da" + integrity sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg== + dependencies: + "@typescript-eslint/types" "7.2.0" + "@typescript-eslint/visitor-keys" "7.2.0" + +"@typescript-eslint/types@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.2.0.tgz#0feb685f16de320e8520f13cca30779c8b7c403f" + integrity sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA== + +"@typescript-eslint/typescript-estree@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz#5beda2876c4137f8440c5a84b4f0370828682556" + integrity sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA== + dependencies: + "@typescript-eslint/types" "7.2.0" + "@typescript-eslint/visitor-keys" "7.2.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/visitor-keys@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz#5035f177752538a5750cca1af6044b633610bf9e" + integrity sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A== + dependencies: + "@typescript-eslint/types" "7.2.0" + eslint-visitor-keys "^3.4.1" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@wagmi/connectors@5.1.8": + version "5.1.8" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.1.8.tgz#3793fecfa8bbe7c1b675f36103fc3bfdb8262e63" + integrity sha512-LdImInHFogis83/Yhq0vJLracIFUSl9m8961JEWS+lGDPuU2QbVg4Rv2VAfratfRoR8oDuSJNTvIvp9Kyiu5ug== + dependencies: + "@coinbase/wallet-sdk" "4.0.4" + "@metamask/sdk" "0.27.0" + "@safe-global/safe-apps-provider" "0.18.3" + "@safe-global/safe-apps-sdk" "9.1.0" + "@walletconnect/ethereum-provider" "2.15.2" + "@walletconnect/modal" "2.6.2" + cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" + +"@wagmi/core@2.13.4": + version "2.13.4" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.13.4.tgz#8d5da08e450171bfe34f72a079cfa2b81825410a" + integrity sha512-J6gfxHYr8SCc/BzEa712LnI+qLFs5K2nBLupwQqQl4WiAlCu8SdcpbZokqiwfCMYhIRMj0+YFEP9qe4ypcexmw== + dependencies: + eventemitter3 "5.0.1" + mipd "0.0.7" + zustand "4.4.1" + +"@walletconnect/core@2.15.1": + version "2.15.1" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.15.1.tgz#98536057874246988428d9aadf4b25b23c3fd57f" + integrity sha512-9MWVt33MFrLiAeK9nqY/B30/y0M4uiq8v9EXenIBQdlgkmXM++RTcOnn7u7EAbthGgzx3WLPRm4ViwIb+rI/Cg== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.14" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.0.4" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.15.1" + "@walletconnect/utils" "2.15.1" + events "3.3.0" + lodash.isequal "4.5.0" + uint8arrays "3.1.0" + +"@walletconnect/core@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.15.2.tgz#12d9da8c4e32a6c3713f421ca65cd0605f43a080" + integrity sha512-u4BGuazSNAQ48QBY7EphanBuBN6EJWyD5MXi83n1wXwfPQWAu0XNvmOjjF+xmMI5TsYH9N6Y78O6HP/VX9EOvg== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.14" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.0.4" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.15.2" + "@walletconnect/utils" "2.15.2" + events "3.3.0" + lodash.isequal "4.5.0" + uint8arrays "3.1.0" + +"@walletconnect/environment@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" + integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== + dependencies: + tslib "1.14.1" + +"@walletconnect/ethereum-provider@2.15.1": + version "2.15.1" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.15.1.tgz#178c2063d5830671f50450d55abeaaf7627c117b" + integrity sha512-3ssEAKc/rLYshwyE2ZIaoTxzi/p9Ws+kj/FIsd1Ed/CC37Rl5l/KYHaRJtevWeni9s4dGqyqKsYkJ0VwwUcnfQ== + dependencies: + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/modal" "2.6.2" + "@walletconnect/sign-client" "2.15.1" + "@walletconnect/types" "2.15.1" + "@walletconnect/universal-provider" "2.15.1" + "@walletconnect/utils" "2.15.1" + events "3.3.0" + +"@walletconnect/ethereum-provider@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.15.2.tgz#ed465031fa5e47f808d3f1bc42ab568d458b77db" + integrity sha512-POH2Wov2cXdASDDyv2bwY9Y2JzkGzGFS4SzltMt1zxKUMTyoJ8xKAgWaxoiJw0pqsLGY7T5msmk9qeKOavQtAA== + dependencies: + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/modal" "2.6.2" + "@walletconnect/sign-client" "2.15.2" + "@walletconnect/types" "2.15.2" + "@walletconnect/universal-provider" "2.15.2" + "@walletconnect/utils" "2.15.2" + events "3.3.0" + +"@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" + integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/heartbeat@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.2.tgz#e8dc5179db7769950c6f9cf59b23516d9b95227d" + integrity sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + events "^3.3.0" + +"@walletconnect/jsonrpc-http-connection@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.8.tgz#2f4c3948f074960a3edd07909560f3be13e2c7ae" + integrity sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.1" + cross-fetch "^3.1.4" + events "^3.3.0" + +"@walletconnect/jsonrpc-provider@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz#696f3e3b6d728b361f2e8b853cfc6afbdf2e4e3e" + integrity sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + +"@walletconnect/jsonrpc-types@1.0.4", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.4.tgz#ce1a667d79eadf2a2d9d002c152ceb68739c230c" + integrity sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ== + dependencies: + events "^3.3.0" + keyvaluestorage-interface "^1.0.0" + +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" + integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== + dependencies: + "@walletconnect/environment" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.3" + tslib "1.14.1" + +"@walletconnect/jsonrpc-ws-connection@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz#eec700e74766c7887de2bd76c91a0206628732aa" + integrity sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + ws "^7.5.1" + +"@walletconnect/keyvaluestorage@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842" + integrity sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA== + dependencies: + "@walletconnect/safe-json" "^1.0.1" + idb-keyval "^6.2.1" + unstorage "^1.9.0" + +"@walletconnect/logger@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.1.2.tgz#813c9af61b96323a99f16c10089bfeb525e2a272" + integrity sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw== + dependencies: + "@walletconnect/safe-json" "^1.0.2" + pino "7.11.0" + +"@walletconnect/modal-core@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.2.tgz#d73e45d96668764e0c8668ea07a45bb8b81119e9" + integrity sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA== + dependencies: + valtio "1.11.2" + +"@walletconnect/modal-ui@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.2.tgz#fa57c087c57b7f76aaae93deab0f84bb68b59cf9" + integrity sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA== + dependencies: + "@walletconnect/modal-core" "2.6.2" + lit "2.8.0" + motion "10.16.2" + qrcode "1.5.3" + +"@walletconnect/modal@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.2.tgz#4b534a836f5039eeb3268b80be7217a94dd12651" + integrity sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA== + dependencies: + "@walletconnect/modal-core" "2.6.2" + "@walletconnect/modal-ui" "2.6.2" + +"@walletconnect/relay-api@1.0.10": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.10.tgz#5aef3cd07c21582b968136179aa75849dcc65499" + integrity sha512-tqrdd4zU9VBNqUaXXQASaexklv6A54yEyQQEXYOCr+Jz8Ket0dmPBDyg19LVSNUN2cipAghQc45/KVmfFJ0cYw== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + +"@walletconnect/relay-api@1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.11.tgz#80ab7ef2e83c6c173be1a59756f95e515fb63224" + integrity sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + +"@walletconnect/relay-auth@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" + integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== + 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.2", "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" + integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== + dependencies: + tslib "1.14.1" + +"@walletconnect/sign-client@2.15.1": + version "2.15.1" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.15.1.tgz#95b430164a8c6f3fe629531a5481dec9c9be02b4" + integrity sha512-YnLNEmCHgZ8yBpE3hwZnHD/bVznVMguSAlwLBNOoWUH2f4d9mR8bqa6KeVXqZ3e8mVHcxKTJTjTJ3oQMLyKIjw== + dependencies: + "@walletconnect/core" "2.15.1" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.15.1" + "@walletconnect/utils" "2.15.1" + events "3.3.0" + +"@walletconnect/sign-client@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.15.2.tgz#4568f71f6daebc6405d86278c78b64ef646c266b" + integrity sha512-Yp4/z3IdTMngbjr7Zy7Qi1X6EZDH4nxY91X6K2KpA3MjLW0yPTGalEJgJ4p9WH7fmHRlwvfR4hjwM5eQcLo5Zg== + dependencies: + "@walletconnect/core" "2.15.2" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.15.2" + "@walletconnect/utils" "2.15.2" + events "3.3.0" + +"@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" + integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== + dependencies: + tslib "1.14.1" + +"@walletconnect/types@2.14.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.14.0.tgz#af3d4799b8ac5d166251af12bc024276f82f9b91" + integrity sha512-vevMi4jZLJ55vLuFOicQFmBBbLyb+S0sZS4IsaBdZkQflfGIq34HkN13c/KPl4Ye0aoR4/cUcUSitmGIzEQM5g== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/types@2.15.1": + version "2.15.1" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.15.1.tgz#5a093d28a32581e88fd4246690989099789f0830" + integrity sha512-4WkMsHD8ioZI5GmxNT0qMlz6msI7ZajBcTyDxfRncaNZVau0C+Btw1U4jWO+gxwJVDJY+Ue/cb1QKJ5BanZsyw== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/types@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.15.2.tgz#b9e1746d8c7b9c7b08ed8f6696c86e44b645fe52" + integrity sha512-TGnQZYWZJJ3I8dqgpMPwhO1IRXDuY8/tWPI0nNWJDyTK7b3E9prDGugnPmDDjpTYVoETnUTgW/jQaHNTq4yV7Q== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/universal-provider@2.15.1": + version "2.15.1" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.15.1.tgz#2c06faa0f22232ed09fd82b8a4ae047c3e56e9b4" + integrity sha512-JvKwHoE/ugWSKOmrEr03go1V79N0bbYV6w24Lqlzz4VAoReZZo8TDKsya7UkJ1L5HUCgKVP+AVktuJv8khzJ6w== + dependencies: + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/sign-client" "2.15.1" + "@walletconnect/types" "2.15.1" + "@walletconnect/utils" "2.15.1" + events "3.3.0" + +"@walletconnect/universal-provider@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.15.2.tgz#dad244f1b2cd89b35edba02819aae536fc008340" + integrity sha512-AWK5nUA4tJ57C8JDPOmqAWf5aF1VXIN4JpkqKekNKMP4+xiBTotKrwj0XD5xvtDUyaqjhRZPvYmUk24z1udrHA== + dependencies: + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/sign-client" "2.15.2" + "@walletconnect/types" "2.15.2" + "@walletconnect/utils" "2.15.2" + events "3.3.0" + +"@walletconnect/utils@2.14.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.14.0.tgz#48493ffe1e902815fda3cbd5cc5409288a066d35" + integrity sha512-vRVomYQEtEAyCK2c5bzzEvtgxaGGITF8mWuIL+WYSAMyEJLY97mirP2urDucNwcUczwxUgI+no9RiNFbUHreQQ== + 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/relay-api" "1.0.10" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.14.0" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "3.1.0" + +"@walletconnect/utils@2.15.1": + version "2.15.1" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.15.1.tgz#4f90abe4869ee1cff6c0102c57b45e959811ca8d" + integrity sha512-i5AR8XpZdcX8ghaCjYV13Er/KAGe56c1mLaG9c2cv9kmnZMZijeMdInjX/flnSM1RFDUiZXvKPMUNwlCL4NsWw== + 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/relay-api" "1.0.11" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.15.1" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "3.1.0" + +"@walletconnect/utils@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.15.2.tgz#6fba3e28d00afe15b499409d609e3faafcef1887" + integrity sha512-H+fNH9cHDezdaEiEsO7/3URSIzqhumuacwB/+0PX0sSCoktmU9AfTqA8fJGG43zOPixleBqOymzO6owB1Y7jtQ== + 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/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.0.4" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.15.2" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + detect-browser "5.3.0" + elliptic "^6.5.7" + query-string "7.1.3" + uint8arrays "3.1.0" + +"@walletconnect/window-getters@1.0.1", "@walletconnect/window-getters@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" + integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== + dependencies: + tslib "1.14.1" + +"@walletconnect/window-metadata@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== + dependencies: + "@walletconnect/window-getters" "^1.0.1" + tslib "1.14.1" + +"@web3modal/base@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/base/-/base-5.1.6.tgz#0743569118c58ae8d514005cd2e8311c510b2057" + integrity sha512-6oh4YX/mgSW1UoHnIGDX76HRwry/d1sefduAHcZAIZ9pUFxIYaTGx7ivIue3xpqb54fM2IW/d1uDi5Lernpxaw== + dependencies: + "@walletconnect/utils" "2.14.0" + "@web3modal/common" "5.1.6" + "@web3modal/core" "5.1.6" + "@web3modal/polyfills" "5.1.6" + "@web3modal/scaffold-ui" "5.1.6" + "@web3modal/scaffold-utils" "5.1.6" + "@web3modal/siwe" "5.1.6" + "@web3modal/ui" "5.1.6" + "@web3modal/wallet" "5.1.6" + optionalDependencies: + borsh "0.7.0" + bs58 "5.0.0" + +"@web3modal/common@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/common/-/common-5.1.6.tgz#375c5b064235a5a4ec3688bac0f1f137de3d6c8c" + integrity sha512-abqOjGjcyNdGjsOam3GuawTxI7KUAUC/1p8Wah0vVDtmQ34ruRVPlKy09tWe9zD3iHynNmRIyBaRIpwWhwLUAQ== + dependencies: + bignumber.js "9.1.2" + dayjs "1.11.10" + +"@web3modal/core@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-5.1.6.tgz#bfc51ac5fede8b731af44ccbc8795d687e3a5481" + integrity sha512-PI26WJyrMsBg2u1ehe33YHl4z8UDRQ8JrgM41Anca45N7zj0H/fzybemXk/dtZZqvV4E9MZheylJTucuwpQrBw== + dependencies: + "@web3modal/common" "5.1.6" + "@web3modal/wallet" "5.1.6" + valtio "1.11.2" + +"@web3modal/polyfills@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/polyfills/-/polyfills-5.1.6.tgz#8058c1de1a2170537526140337dc3b216cfafb38" + integrity sha512-hAqfDsxyO/LupMbSPDVvB0yKVCiNGcTPeDP7cCw7QZuBYyyz+Uqb7sO41n3hVkKGEMbHsA7Q6TfXiPfxEotX/w== + dependencies: + buffer "6.0.3" + +"@web3modal/scaffold-ui@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/scaffold-ui/-/scaffold-ui-5.1.6.tgz#12370ee4474fb6a073e6e40ad34bc55090056450" + integrity sha512-K+bZdvgFATo+uk5HmXx6gAM5aSECBNBIccY2S1pvX+taq6eF/KWVRMlH8vdO7UtXOu5rgJSoW2CSYKjwiWn01w== + dependencies: + "@web3modal/common" "5.1.6" + "@web3modal/core" "5.1.6" + "@web3modal/scaffold-utils" "5.1.6" + "@web3modal/siwe" "5.1.6" + "@web3modal/ui" "5.1.6" + "@web3modal/wallet" "5.1.6" + lit "3.1.0" + +"@web3modal/scaffold-utils@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/scaffold-utils/-/scaffold-utils-5.1.6.tgz#fe4e1122a5ff88864fe9404c8f9e0e0deb9d6480" + integrity sha512-u0hDjbhUgSpJ0RilmnkXAHl4iPTT58/z2C4FmF3cpQRYGkF9j70E1yVYVH/a+iXVbbiQdzC+8clT8mAfLjRzzg== + dependencies: + "@web3modal/common" "5.1.6" + "@web3modal/core" "5.1.6" + "@web3modal/polyfills" "5.1.6" + "@web3modal/wallet" "5.1.6" + valtio "1.11.2" + +"@web3modal/siwe@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/siwe/-/siwe-5.1.6.tgz#37e826e5019906f3fc1f2023aee8a917f3f2107f" + integrity sha512-0usevyccWYaNNmaVvD8I2mN2xKGFyv3aMgD1fkV5NOVAJ8+mLj/TiQr3Ts/X3x7L7b1Tq/hxXkr/mF2CUh+vCA== + dependencies: + "@walletconnect/utils" "2.15.1" + "@web3modal/common" "5.1.6" + "@web3modal/core" "5.1.6" + "@web3modal/scaffold-utils" "5.1.6" + "@web3modal/ui" "5.1.6" + "@web3modal/wallet" "5.1.6" + lit "3.1.0" + valtio "1.11.2" + +"@web3modal/ui@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-5.1.6.tgz#0a75fdbc883e7609061cbd525a7d0b73097a875f" + integrity sha512-VOZ/9ioQITtQeH59I5lHQq4o0SXPzzCs4Jw72CocVZV5KhZ+BgCqGmJnAjJ0Ljq8c9ofR6Mj3E0Dzgn2lqoL7Q== + dependencies: + lit "3.1.0" + qrcode "1.5.3" + +"@web3modal/wagmi@^5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/wagmi/-/wagmi-5.1.6.tgz#6afed0323f4a47cdcb5662e57f5f4c366917664b" + integrity sha512-zwA+4Tm9PiZxaiLqWrooacCWgzKHbxQlwUOyLtySXtTgVUK6DcLftCNaMk8MPni6ePy0pyPDngi5COUxGHy+OA== + dependencies: + "@walletconnect/ethereum-provider" "2.15.1" + "@walletconnect/utils" "2.15.1" + "@web3modal/base" "5.1.6" + "@web3modal/common" "5.1.6" + "@web3modal/polyfills" "5.1.6" + "@web3modal/scaffold-utils" "5.1.6" + "@web3modal/siwe" "5.1.6" + "@web3modal/wallet" "5.1.6" + +"@web3modal/wallet@5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@web3modal/wallet/-/wallet-5.1.6.tgz#619ea3c7620c245c7eccb4d3e022d443e201649c" + integrity sha512-ai9FquMAyWPelcS4IOSj2p/xIf6chfN9fR37o5f6719wVZzX1j+m+E2WF25QdcN8RjKep21j/dtRYIgDtTpIrA== + dependencies: + "@walletconnect/logger" "2.1.2" + "@web3modal/common" "5.1.6" + "@web3modal/polyfills" "5.1.6" + zod "3.22.4" + +abitype@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" + integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.11.3, acorn@^8.9.0: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@^3.1.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@~5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-includes@^3.1.6, array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + +async-mutex@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" + integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== + dependencies: + tslib "^2.0.0" + +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axe-core@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.0.tgz#d9e56ab0147278272739a000880196cdfe113b59" + integrity sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g== + +axobject-query@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" + integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2: + version "3.0.10" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.10.tgz#62de58653f8762b5d6f8d9fe30fa75f7b2585a75" + integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== + dependencies: + safe-buffer "^5.0.1" + +base-x@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a" + integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bignumber.js@9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +borsh@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + +bowser@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +bs58@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +buffer@6.0.3, buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bufferutil@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" + integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== + dependencies: + node-gyp-build "^4.3.0" + +busboy@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001579: + version "1.0.30001655" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz#0ce881f5a19a2dcfda2ecd927df4d5c1684b982f" + integrity sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg== + +"cbw-sdk@npm:@coinbase/wallet-sdk@3.9.3": + version "3.9.3" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.9.3.tgz#daf10cb0c85d0363315b7270cb3f02bedc408aab" + integrity sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw== + dependencies: + bn.js "^5.2.1" + buffer "^6.0.3" + clsx "^1.2.1" + eth-block-tracker "^7.1.0" + eth-json-rpc-filters "^6.0.0" + eventemitter3 "^5.0.1" + keccak "^3.0.3" + preact "^10.16.0" + sha.js "^2.4.11" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.5.3, chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + 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" + +citty@^0.1.5, citty@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.6.tgz#0f7904da1ed4625e1a9ea7e0fa780981aab7c5e4" + integrity sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ== + dependencies: + consola "^3.2.3" + +class-variance-authority@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/class-variance-authority/-/class-variance-authority-0.7.0.tgz#1c3134d634d80271b1837452b06d821915954522" + integrity sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A== + dependencies: + clsx "2.0.0" + +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + +clipboardy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-4.0.0.tgz#e73ced93a76d19dd379ebf1f297565426dffdca1" + integrity sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w== + dependencies: + execa "^8.0.1" + is-wsl "^3.1.0" + is64bit "^2.0.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clsx@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" + integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== + +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +confbox@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.7.tgz#ccfc0a2bcae36a84838e83a3b7f770fb17d6c579" + integrity sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA== + +consola@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" + integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== + +cookie-es@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.2.2.tgz#18ceef9eb513cac1cb6c14bcbf8bdb2679b34821" + integrity sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +cross-fetch@^3.1.4: + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + +cross-fetch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" + integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== + dependencies: + node-fetch "^2.6.12" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crossws@^0.2.0, crossws@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/crossws/-/crossws-0.2.4.tgz#82a8b518bff1018ab1d21ced9e35ffbe1681ad03" + integrity sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.0.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +date-fns@^2.29.3: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +dayjs@1.11.10: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@~4.3.1, debug@~4.3.2: + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deep-equal@^2.0.5: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + 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.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +defu@^6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" + integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== + +destr@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449" + integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== + +detect-browser@5.3.0, detect-browser@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +duplexify@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.3.tgz#a07e1c0d0a2c001158563d32592ba58bddb0236f" + integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.2" + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +eciesjs@^0.3.15: + version "0.3.20" + resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.3.20.tgz#ef66d0304415e88810aef5823bfd5ce6021d2212" + integrity sha512-Rz5AB8v9+xmMdS/R7RzWPe/R8DP5QfyrkA6ce4umJopoB5su2H2aDy/GcgIfwhmCwxnBkqGf/PbGzmKcGtIgGA== + dependencies: + "@types/secp256k1" "^4.0.6" + futoin-hkdf "^1.5.3" + secp256k1 "^5.0.0" + +elliptic@^6.5.4, elliptic@^6.5.7: + version "6.5.7" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b" + integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q== + 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: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + +end-of-stream@^1.1.0, end-of-stream@^1.4.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +engine.io-client@~6.5.2: + version "6.5.4" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.4.tgz#b8bc71ed3f25d0d51d587729262486b4b33bd0d0" + integrity sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.17.1" + xmlhttprequest-ssl "~2.0.0" + +engine.io-parser@~5.2.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz#00dc5b97b1f233a23c9398d0209504cf5f94d92f" + integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== + +enhanced-resolve@^5.15.0: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + 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-iterator-helpers@^1.0.19: + version "1.0.19" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz#117003d0e5fec237b4b5c08aded722e0c6d50ca8" + integrity sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + iterator.prototype "^1.1.2" + safe-array-concat "^1.1.2" + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-string-regexp@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-next@14.2.7: + version "14.2.7" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-14.2.7.tgz#25c5c821740453db5e5fc8a857ec80c4784f36d5" + integrity sha512-ppmy+QdQ7qkuCHGDlPjWaoSbJvjGpWSBD4zEW8f1eWlxYXYpZK7QzBOer1EcHKT3uKhlY1JjUus9g7Kvv712rw== + dependencies: + "@next/eslint-plugin-next" "14.2.7" + "@rushstack/eslint-patch" "^1.3.3" + "@typescript-eslint/parser" "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0" + eslint-import-resolver-node "^0.3.6" + eslint-import-resolver-typescript "^3.5.2" + eslint-plugin-import "^2.28.1" + eslint-plugin-jsx-a11y "^6.7.1" + eslint-plugin-react "^7.33.2" + eslint-plugin-react-hooks "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + +eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-import-resolver-typescript@^3.5.2: + version "3.6.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz#bb8e388f6afc0f940ce5d2c5fd4a3d147f038d9e" + integrity sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA== + dependencies: + "@nolyfill/is-core-module" "1.0.39" + debug "^4.3.5" + enhanced-resolve "^5.15.0" + eslint-module-utils "^2.8.1" + fast-glob "^3.3.2" + get-tsconfig "^4.7.5" + is-bun-module "^1.0.2" + is-glob "^4.0.3" + +eslint-module-utils@^2.8.1, eslint-module-utils@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.9.0.tgz#95d4ac038a68cd3f63482659dffe0883900eb342" + integrity sha512-McVbYmwA3NEKwRQY5g4aWMdcZE5xZxV8i8l7CqJSrameuGSQJtSWaL/LxTEzSKKaCcOhlpDR8XEfYXWPrdo/ZQ== + dependencies: + debug "^3.2.7" + +eslint-plugin-import@^2.28.1: + version "2.30.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz#21ceea0fc462657195989dd780e50c92fe95f449" + integrity sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.9.0" + hasown "^2.0.2" + is-core-module "^2.15.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" + semver "^6.3.1" + tsconfig-paths "^3.15.0" + +eslint-plugin-jsx-a11y@^6.7.1: + version "6.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz#36fb9dead91cafd085ddbe3829602fb10ef28339" + integrity sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg== + dependencies: + aria-query "~5.1.3" + array-includes "^3.1.8" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "^4.10.0" + axobject-query "^4.1.0" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + es-iterator-helpers "^1.0.19" + hasown "^2.0.2" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + safe-regex-test "^1.0.3" + string.prototype.includes "^2.0.0" + +"eslint-plugin-react-hooks@^4.5.0 || 5.0.0-canary-7118f5dd7-20230705": + version "4.6.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" + integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== + +eslint-plugin-react@^7.33.2: + version "7.35.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.35.2.tgz#d32500d3ec268656d5071918bfec78cfd8b070ed" + integrity sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.2" + array.prototype.tosorted "^1.1.4" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.19" + estraverse "^5.3.0" + hasown "^2.0.2" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.8" + object.fromentries "^2.0.8" + object.values "^1.2.0" + prop-types "^15.8.1" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.11" + string.prototype.repeat "^1.0.0" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8: + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esquery@^1.4.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eth-block-tracker@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-7.1.0.tgz#dfc16085c6817cc30caabba381deb8d204c1c766" + integrity sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg== + dependencies: + "@metamask/eth-json-rpc-provider" "^1.0.0" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^5.0.1" + json-rpc-random-id "^1.0.1" + pify "^3.0.0" + +eth-json-rpc-filters@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-6.0.1.tgz#0b3e370f017f5c6f58d3e7bd0756d8099ed85c56" + integrity sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig== + dependencies: + "@metamask/safe-event-emitter" "^3.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.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" + integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== + dependencies: + json-rpc-random-id "^1.0.0" + xtend "^4.0.1" + +eth-rpc-errors@^4.0.2, eth-rpc-errors@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" + integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== + dependencies: + fast-safe-stringify "^2.0.6" + +ethereum-cryptography@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" + integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== + dependencies: + "@noble/curves" "1.4.2" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter2@^6.4.7: + version "6.4.9" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== + +eventemitter3@5.0.1, eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@3.3.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + +extension-port-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extension-port-stream/-/extension-port-stream-3.0.0.tgz#00a7185fe2322708a36ed24843c81bd754925fef" + integrity sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw== + dependencies: + readable-stream "^3.6.2 || ^4.4.2" + webextension-polyfill ">=0.10.0 <1.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + 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: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-redact@^3.0.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.5.0.tgz#e9ea02f7e57d0cd8438180083e93077e496285e4" + integrity sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A== + +fast-safe-stringify@^2.0.6: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreground-child@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +futoin-hkdf@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz#6c8024f2e1429da086d4e18289ef2239ad33ee35" + integrity sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-port-please@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.2.tgz#502795e56217128e4183025c89a48c71652f4e49" + integrity sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ== + +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +get-tsconfig@^4.7.5: + version "4.8.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.0.tgz#125dc13a316f61650a12b20c97c11b8fd996fedd" + integrity sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw== + dependencies: + resolve-pkg-maps "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@10.3.10: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@^10.3.10: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + 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" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.2.11, graceful-fs@^4.2.4: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +h3@^1.10.2, h3@^1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.12.0.tgz#9d7f05f08a997d263e484b02436cb027df3026d8" + integrity sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA== + dependencies: + cookie-es "^1.1.0" + crossws "^0.2.4" + defu "^6.1.4" + destr "^2.0.3" + iron-webcrypto "^1.1.1" + ohash "^1.1.3" + radix3 "^1.1.2" + ufo "^1.5.3" + uncrypto "^0.1.3" + unenv "^1.9.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +http-shutdown@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" + integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== + +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + +i18next-browser-languagedetector@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz#01876fac51f86b78975e79b48ccb62e2313a2d7d" + integrity sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA== + dependencies: + "@babel/runtime" "^7.19.4" + +i18next@23.11.5: + version "23.11.5" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.11.5.tgz#d71eb717a7e65498d87d0594f2664237f9e361ef" + integrity sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA== + dependencies: + "@babel/runtime" "^7.23.2" + +idb-keyval@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33" + integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg== + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.4, internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +invariant@2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +iron-webcrypto@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz#aa60ff2aa10550630f4c0b11fd2442becdb35a6f" + integrity sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg== + +is-arguments@^1.0.4, is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-bun-module@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-1.1.0.tgz#a66b9830869437f6cdad440ba49ab6e4dc837269" + integrity sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA== + dependencies: + semver "^7.6.3" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.10, is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + 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: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + +is-map@^2.0.2, is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.2, is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.13, is-typed-array@^1.1.3: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-wsl@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" + integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== + dependencies: + is-inside-container "^1.0.0" + +is64bit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is64bit/-/is64bit-2.0.0.tgz#198c627cbcb198bbec402251f88e5e1a51236c07" + integrity sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw== + dependencies: + system-architecture "^0.1.0" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isows@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" + integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== + +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jiti@^1.21.0: + version "1.21.6" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-rpc-engine@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" + integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== + 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: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" + integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keccak@^3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +keyvaluestorage-interface@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" + integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== + +language-subtag-registry@^0.3.20: + version "0.3.23" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#23529e04d9e3b74679d70142df3fd2eb6ec572e7" + integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lilconfig@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +listhen@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.7.2.tgz#66b81740692269d5d8cafdc475020f2fc51afbae" + integrity sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g== + dependencies: + "@parcel/watcher" "^2.4.1" + "@parcel/watcher-wasm" "^2.4.1" + citty "^0.1.6" + clipboardy "^4.0.0" + consola "^3.2.3" + crossws "^0.2.0" + defu "^6.1.4" + get-port-please "^3.1.2" + h3 "^1.10.2" + http-shutdown "^1.2.2" + jiti "^1.21.0" + mlly "^1.6.1" + node-forge "^1.3.1" + pathe "^1.1.2" + std-env "^3.7.0" + ufo "^1.4.0" + untun "^0.1.3" + uqr "^0.1.2" + +lit-element@^3.3.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209" + integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.1.0" + "@lit/reactive-element" "^1.3.0" + lit-html "^2.8.0" + +lit-element@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-4.1.0.tgz#cea3eb25f15091e3fade07c4d917fa6aaf56ba7d" + integrity sha512-gSejRUQJuMQjV2Z59KAS/D4iElUhwKpIyJvZ9w+DIagIQjfJnhR20h2Q5ddpzXGS+fF0tMZ/xEYGMnKmaI/iww== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.2.0" + "@lit/reactive-element" "^2.0.4" + lit-html "^3.2.0" + +lit-html@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" + integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== + dependencies: + "@types/trusted-types" "^2.0.2" + +lit-html@^3.1.0, lit-html@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-3.2.0.tgz#cb09071a8a1f5f0850873f9143f18f0260be1fda" + integrity sha512-pwT/HwoxqI9FggTrYVarkBKFN9MlTUpLrDHubTmW4SrkL3kkqW5gxwbxMMUnbbRHBC0WTZnYHcjDSCM559VyfA== + dependencies: + "@types/trusted-types" "^2.0.2" + +lit@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.8.0.tgz#4d838ae03059bf9cafa06e5c61d8acc0081e974e" + integrity sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA== + dependencies: + "@lit/reactive-element" "^1.6.0" + lit-element "^3.3.0" + lit-html "^2.8.0" + +lit@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lit/-/lit-3.1.0.tgz#76429b85dc1f5169fed499a0f7e89e2e619010c9" + integrity sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w== + dependencies: + "@lit/reactive-element" "^2.0.0" + lit-element "^4.0.0" + lit-html "^3.1.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.isequal@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^10.2.0, lru-cache@^10.4.3: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lucide-react@^0.439.0: + version "0.439.0" + resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.439.0.tgz#eb9250e7255e56460ed37b68e807717c534395d6" + integrity sha512-PafSWvDTpxdtNEndS2HIHxcNAbd54OaqSYJO90/b63rab2HWYqDbH194j0i82ZFdWOAcf0AHinRykXRRK2PJbw== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^9.0.1, minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +mipd@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9" + integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== + +mlly@^1.6.1, mlly@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.1.tgz#e0336429bb0731b6a8e887b438cbdae522c8f32f" + integrity sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.1.1" + ufo "^1.5.3" + +motion@10.16.2: + version "10.16.2" + resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21" + integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== + dependencies: + "@motionone/animation" "^10.15.1" + "@motionone/dom" "^10.16.2" + "@motionone/svelte" "^10.16.2" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + "@motionone/vue" "^10.16.2" + +mri@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multiformats@^9.4.2: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.6, nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +napi-wasm@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/napi-wasm/-/napi-wasm-1.1.3.tgz#7bb95c88e6561f84880bb67195437b1cfbe99224" + integrity sha512-h/4nMGsHjZDCYmQVNODIrYACVJ+I9KItbG+0si6W/jSjdA9JbWDoU4LLeMXVcEQGHjttI2tuXqDrbGF7qkUHHg== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +next-themes@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.3.0.tgz#b4d2a866137a67d42564b07f3a3e720e2ff3871a" + integrity sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w== + +next@14.2.7: + version "14.2.7" + resolved "https://registry.yarnpkg.com/next/-/next-14.2.7.tgz#e02d5d9622ff4b998e5c89adfd660c9bf6435970" + integrity sha512-4Qy2aK0LwH4eQiSvQWyKuC7JXE13bIopEQesWE0c/P3uuNRnZCQanI0vsrMLmUQJLAto+A+/8+sve2hd+BQuOQ== + dependencies: + "@next/env" "14.2.7" + "@swc/helpers" "0.5.5" + busboy "1.6.0" + caniuse-lite "^1.0.30001579" + graceful-fs "^4.2.11" + postcss "8.4.31" + styled-jsx "5.1.1" + optionalDependencies: + "@next/swc-darwin-arm64" "14.2.7" + "@next/swc-darwin-x64" "14.2.7" + "@next/swc-linux-arm64-gnu" "14.2.7" + "@next/swc-linux-arm64-musl" "14.2.7" + "@next/swc-linux-x64-gnu" "14.2.7" + "@next/swc-linux-x64-musl" "14.2.7" + "@next/swc-win32-arm64-msvc" "14.2.7" + "@next/swc-win32-ia32-msvc" "14.2.7" + "@next/swc-win32-x64-msvc" "14.2.7" + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + +node-fetch-native@^1.6.3, node-fetch-native@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" + integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== + +node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.8.2" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.2.tgz#4f802b71c1ab2ca16af830e6c1ea7dd1ad9496fa" + integrity sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +obj-multiplex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/obj-multiplex/-/obj-multiplex-1.0.0.tgz#2f2ae6bfd4ae11befe742ea9ea5b36636eabffc1" + integrity sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA== + dependencies: + end-of-stream "^1.4.0" + once "^1.4.0" + readable-stream "^2.3.3" + +object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.values@^1.1.6, object.values@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +ofetch@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.3.4.tgz#7ea65ced3c592ec2b9906975ae3fe1d26a56f635" + integrity sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw== + dependencies: + destr "^2.0.3" + node-fetch-native "^1.6.3" + ufo "^1.5.3" + +ohash@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/ohash/-/ohash-1.1.3.tgz#f12c3c50bfe7271ce3fd1097d42568122ccdcf07" + integrity sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw== + +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json-from-dist@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" + integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.1, path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathe@^1.1.1, pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== + +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== + dependencies: + duplexify "^4.1.2" + split2 "^4.0.0" + +pino-std-serializers@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== + +pino@7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== + 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" + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-types@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.2.0.tgz#d0268e894e93acff11a6279de147e83354ebd42d" + integrity sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA== + dependencies: + confbox "^0.1.7" + mlly "^1.7.1" + pathe "^1.1.2" + +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +pony-cause@^2.1.10: + version "2.1.11" + resolved "https://registry.yarnpkg.com/pony-cause/-/pony-cause-2.1.11.tgz#d69a20aaccdb3bdb8f74dd59e5c68d8e6772e4bd" + integrity sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" + integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== + dependencies: + lilconfig "^3.0.0" + yaml "^2.3.4" + +postcss-nested@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" + integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== + dependencies: + postcss-selector-parser "^6.1.1" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.1.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@8.4.31: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8, postcss@^8.4.23: + version "8.4.45" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.45.tgz#538d13d89a16ef71edbf75d895284ae06b79e603" + integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.1" + source-map-js "^1.2.0" + +preact@^10.16.0: + version "10.23.2" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.23.2.tgz#52deec92796ae0f0cc6b034d9c66e0fbc1b837dc" + integrity sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-compare@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" + integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qr-code-styling@^1.6.0-rc.1: + version "1.6.0-rc.1" + resolved "https://registry.yarnpkg.com/qr-code-styling/-/qr-code-styling-1.6.0-rc.1.tgz#6c89e185fa50cc9135101085c12ae95b06f1b290" + integrity sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q== + dependencies: + qrcode-generator "^1.4.3" + +qrcode-generator@^1.4.3: + version "1.4.4" + resolved "https://registry.yarnpkg.com/qrcode-generator/-/qrcode-generator-1.4.4.tgz#63f771224854759329a99048806a53ed278740e7" + integrity sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw== + +qrcode-terminal-nooctal@^0.12.1: + version "0.12.1" + resolved "https://registry.yarnpkg.com/qrcode-terminal-nooctal/-/qrcode-terminal-nooctal-0.12.1.tgz#45016aca0d82b2818de7af0a06d072ad671fbe2e" + integrity sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg== + +qrcode@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +query-string@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + +radix3@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.2.tgz#fd27d2af3896c6bf4bcdfab6427c69c2afc69ec0" + integrity sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA== + +react-dom@^18: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.2" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-native-webview@^11.26.0: + version "11.26.1" + resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.1.tgz#658c09ed5162dc170b361e48c2dd26c9712879da" + integrity sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw== + dependencies: + escape-string-regexp "2.0.0" + invariant "2.2.4" + +react@^18: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readable-stream@^2.3.3: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + 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" + +readable-stream@^3.1.1, readable-stream@^3.6.0, readable-stream@^3.6.2: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +"readable-stream@^3.6.2 || ^4.4.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09" + integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + +reflect.getprototypeof@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" + integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + +resolve@^1.1.7, resolve@^1.22.2, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup-plugin-visualizer@^5.9.2: + version "5.12.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz#661542191ce78ee4f378995297260d0c1efb1302" + integrity sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ== + dependencies: + open "^8.4.0" + picomatch "^2.3.1" + source-map "^0.7.4" + yargs "^17.5.1" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@^5.0.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +safe-stable-stringify@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz#4ca2f8e385f2831c432a719b108a3bf7af42a1dd" + integrity sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== + +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== + dependencies: + loose-envify "^1.1.0" + +secp256k1@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-5.0.0.tgz#be6f0c8c7722e2481e9773336d351de8cddd12f7" + integrity sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^5.0.0" + node-gyp-build "^4.2.0" + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.8, semver@^7.5.4, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1, set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4, side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^4.0.1, signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +socket.io-client@^4.5.1: + version "4.7.5" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.5.tgz#919be76916989758bdc20eec63f7ee0ae45c05b7" + integrity sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.2" + engine.io-client "~6.5.2" + socket.io-parser "~4.2.4" + +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== + dependencies: + atomic-sleep "^1.0.0" + +source-map-js@^1.0.2, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +std-env@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" + integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +stream-shift@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.includes@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz#8986d57aee66d5460c144620a6d873778ad7289f" + integrity sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.matchall@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" + +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string_decoder@^1.1.1, string_decoder@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +styled-jsx@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" + integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== + dependencies: + client-only "0.0.1" + +sucrase@^3.32.0: + version "3.35.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" + integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "^10.3.10" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +superstruct@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.4.tgz#0adb99a7578bd2f1c526220da6571b2d485d91ca" + integrity sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +system-architecture@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/system-architecture/-/system-architecture-0.1.0.tgz#71012b3ac141427d97c67c56bc7921af6bff122d" + integrity sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA== + +tailwind-merge@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-2.5.2.tgz#000f05a703058f9f9f3829c644235f81d4c08a1f" + integrity sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg== + +tailwindcss-animate@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz#318b692c4c42676cc9e67b19b78775742388bef4" + integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA== + +tailwindcss@^3.4.1: + version "3.4.10" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.10.tgz#70442d9aeb78758d1f911af29af8255ecdb8ffef" + integrity sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.3.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.21.0" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +ts-api-utils@^1.0.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.3.1, tslib@^2.4.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typescript@^5: + version "5.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" + integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== + +ufo@^1.4.0, ufo@^1.5.3, ufo@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754" + integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ== + +uint8arrays@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.0.tgz#8186b8eafce68f28bd29bd29d683a311778901e2" + integrity sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog== + dependencies: + multiformats "^9.4.2" + +uint8arrays@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +uncrypto@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" + integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +unenv@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/unenv/-/unenv-1.10.0.tgz#c3394a6c6e4cfe68d699f87af456fe3f0db39571" + integrity sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ== + dependencies: + consola "^3.2.3" + defu "^6.1.4" + mime "^3.0.0" + node-fetch-native "^1.6.4" + pathe "^1.1.2" + +unstorage@^1.9.0: + version "1.11.1" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.11.1.tgz#6635ddb07ade7a34d42f9193a2d314cae2137841" + integrity sha512-3NVszU4MGlO21WWnkSq0xnPVMHnMyB5DdJQyGRAg/DUZVeQjWRinLOia89iw5KGpllRtoA5+N+xnq75MAsPAOA== + dependencies: + anymatch "^3.1.3" + chokidar "^3.6.0" + destr "^2.0.3" + h3 "^1.12.0" + listhen "^1.7.2" + lru-cache "^10.4.3" + mri "^1.2.0" + node-fetch-native "^1.6.4" + ofetch "^1.3.4" + ufo "^1.5.4" + +untun@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/untun/-/untun-0.1.3.tgz#5d10dee37a3a5737ff03d158be877dae0a0e58a6" + integrity sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ== + dependencies: + citty "^0.1.5" + consola "^3.2.3" + pathe "^1.1.1" + +uqr@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d" + integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +use-sync-external-store@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.4: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + 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: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +valtio@1.11.2: + version "1.11.2" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.2.tgz#b8049c02dfe65620635d23ebae9121a741bb6530" + integrity sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw== + dependencies: + proxy-compare "2.5.1" + use-sync-external-store "1.2.0" + +viem@^2.1.1, viem@^2.21.1: + version "2.21.1" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.1.tgz#7d07e4302297d1b44b4c97b8fece3b6ebb73b1ef" + integrity sha512-nlIc2LLS6aqkngULS9UJ2Sg3nHKAgF9bbpDUwjUoAUBijd69mrCWPBXQ8jmbzcx12uZUfd9Nc//CHgSVZiMwyg== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.4.0" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" + abitype "1.0.5" + isows "1.0.4" + webauthn-p256 "0.0.5" + ws "8.17.1" + +wagmi@^2.12.8: + version "2.12.8" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.12.8.tgz#1ab44cd6fa3959f72c00f4dc1732e00668299068" + integrity sha512-+HP3T02La4rIbBWF2mAVX63CykTGMQt77WN1PzZco7MWeUtjYeutwmnNjkDWWE7HFVZHZqNTVFYe3sbtu2LR4A== + dependencies: + "@wagmi/connectors" "5.1.8" + "@wagmi/core" "2.13.4" + use-sync-external-store "1.2.0" + +webauthn-p256@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.5.tgz#0baebd2ba8a414b21cc09c0d40f9dd0be96a06bd" + integrity sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg== + dependencies: + "@noble/curves" "^1.4.0" + "@noble/hashes" "^1.4.0" + +"webextension-polyfill@>=0.10.0 <1.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/webextension-polyfill/-/webextension-polyfill-0.12.0.tgz#f62c57d2cd42524e9fbdcee494c034cae34a3d69" + integrity sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q== + +webextension-polyfill@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz#ccb28101c910ba8cf955f7e6a263e662d744dbb8" + integrity sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g== + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + 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-builtin-type@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.4.tgz#592796260602fc3514a1b5ee7fa29319b72380c3" + integrity sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w== + dependencies: + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.2" + which-typed-array "^1.1.15" + +which-collection@^1.0.1, which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@8.17.1, ws@~8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + +ws@^7.5.1: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +xmlhttprequest-ssl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" + integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== + +xtend@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yaml@^2.3.4: + version "2.5.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.1.tgz#c9772aacf62cb7494a95b0c4f1fb065b563db130" + integrity sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + 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@^17.5.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zod@3.22.4: + version "3.22.4" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" + integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== + +zustand@4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0" + integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== + dependencies: + use-sync-external-store "1.2.0" diff --git a/advanced/wallets/react-wallet-v2/.env.local.example b/advanced/wallets/react-wallet-v2/.env.local.example index 7a1ee6da9..8a342e9d7 100644 --- a/advanced/wallets/react-wallet-v2/.env.local.example +++ b/advanced/wallets/react-wallet-v2/.env.local.example @@ -6,3 +6,5 @@ NEXT_PUBLIC_ZERODEV_PROJECT_ID= NEXT_PUBLIC_LOCAL_BUNDLER_URL= NEXT_PUBLIC_LOCAL_PAYMASTER_URL= NEXT_PUBLIC_LOCAL_CLIENT_URL= + +NEXT_PUBLIC_SOCKET_KEY= diff --git a/advanced/wallets/react-wallet-v2/public/chain-logos/arbitrum.webp b/advanced/wallets/react-wallet-v2/public/chain-logos/arbitrum.webp new file mode 100644 index 0000000000000000000000000000000000000000..01109e015f0e38e9e4ec608adefb4c21d250c3d1 GIT binary patch literal 77042 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 literal 0 HcmV?d00001 diff --git a/advanced/wallets/react-wallet-v2/public/chain-logos/base.webp b/advanced/wallets/react-wallet-v2/public/chain-logos/base.webp new file mode 100644 index 0000000000000000000000000000000000000000..a402e62648b206c8c01f9740cfa1ceec2c602a0f GIT binary patch literal 48604 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 + const [totalBalance, setTotalBalance] = useState>({}) + const [loading, setLoading] = useState(true) + useEffect(() => { + const fetchAllBalances = async () => { + setLoading(true) + + const fetchedBalances: Record = {} + for (const asset of Object.keys(multibridgeSupportedAssets)) { + const assetBalances: Record = {} + for (const chainId of Object.keys(multibridgeSupportedAssets[asset])) { + const tokenAddress = multibridgeSupportedAssets[asset][Number(chainId)] + const balance = await getErc20TokenBalance( + tokenAddress as Hex, + Number(chainId), + eip155Address as Hex + ) + assetBalances[chainId] = balance + } + fetchedBalances[asset] = assetBalances + } + setBalances(fetchedBalances) + setLoading(false) + } + fetchAllBalances() + }, [eip155Address]) + + useEffect(() => { + const totalBalances: Record = {} + for (const asset of Object.keys(balances)) { + let total = 0 + for (const chainBalance of Object.values(balances[asset])) { + total += chainBalance + } + totalBalances[asset] = total + } + setTotalBalance(totalBalances) + }, [balances]) + + return ( + <> + + Token Assets (CA) + + {loading ? ( + + ) : ( + + {Object.keys(balances).map(asset => { + return ( + + {asset} - {totalBalance[asset]} + + } + key={asset} + > + {Object.keys(balances[asset]).map(chainId => { + const chain = getChainById(Number(chainId)) + return ( + + {chain.name} - {balances[asset][chainId]} + + ) + })} + + ) + })} + + )} + + ) +} diff --git a/advanced/wallets/react-wallet-v2/src/components/MultibridgeRequestModal.tsx b/advanced/wallets/react-wallet-v2/src/components/MultibridgeRequestModal.tsx new file mode 100644 index 000000000..03ce79ba7 --- /dev/null +++ b/advanced/wallets/react-wallet-v2/src/components/MultibridgeRequestModal.tsx @@ -0,0 +1,172 @@ +import { LoaderProps } from '@/components/ModalFooter' + +import RequestMethodCard from '@/components/RequestMethodCard' +import { Avatar, Col, Container, Divider, Row, Text } from '@nextui-org/react' +import { web3wallet } from '@/utils/WalletConnectUtil' +import RequestModal from './RequestModal' +import ModalStore from '@/store/ModalStore' +import { useCallback, useState } from 'react' +import { + bridgeFunds, + BridgingRequest, + convertTokenBalance, + getAssetByContractAddress, + supportedAssets +} from '@/utils/MultibridgeUtil' +import { getWallet } from '@/utils/EIP155WalletUtil' + +import { styledToast } from '@/utils/HelperUtil' +import { approveEIP155Request } from '@/utils/EIP155RequestHandlerUtil' +import { EIP155_CHAINS, TEIP155Chain } from '@/data/EIP155Data' + +interface IProps { + onReject: () => void + bridgingRequest?: BridgingRequest + rejectLoader?: LoaderProps +} + +export default function MultibridgeRequestModal({ + bridgingRequest, + onReject, + rejectLoader +}: IProps) { + const [isLoadingApprove, setIsLoadingApprove] = useState(false) + + // Get request and wallet data from store + const requestEvent = ModalStore.state.data?.requestEvent + const requestSession = ModalStore.state.data?.requestSession + + const topic = requestEvent?.topic + const params = requestEvent?.params + + const chainId = params?.chainId + const request = params?.request + + const bridge = useCallback(async () => { + if (!bridgingRequest) { + throw new Error('Bridging request is unavailable') + } + + const wallet = await getWallet(params) + + const asset = getAssetByContractAddress(bridgingRequest.transfer.contract) + if (!asset) { + throw new Error('Source chain asset unavailable') + } + const sourceChainAssetAddress = supportedAssets[asset][bridgingRequest.sourceChain] + if (!sourceChainAssetAddress) { + throw new Error('Source chain asset address unavailable') + } + + await bridgeFunds( + { + fromChainId: bridgingRequest.sourceChain, + toChainId: bridgingRequest.targetChain, + fromAssetAddress: sourceChainAssetAddress, + toAssetAddress: bridgingRequest.transfer.contract, + amount: bridgingRequest.transfer.amount, + userAddress: wallet.getAddress(), + uniqueRoutesPerBridge: true, + sort: 'time', + singleTxOnly: true + }, + wallet + ) + }, [params, bridgingRequest]) + + const onApprove = useCallback(async () => { + if (requestEvent && topic) { + setIsLoadingApprove(true) + try { + await bridge() + performance.mark('startInititalTransactionSend') + const response = await approveEIP155Request(requestEvent) + performance.mark('endInititalTransactionSend') + console.log( + `Initial transaction send: ${ + performance.measure( + 'initial-tx-send', + 'startInititalTransactionSend', + 'endInititalTransactionSend' + ).duration + } ms` + ) + + await web3wallet.respondSessionRequest({ + topic, + response + }) + } catch (e) { + console.log('Error') + console.error(e) + + setIsLoadingApprove(false) + styledToast((e as Error).message, 'error') + return + } + setIsLoadingApprove(false) + ModalStore.close() + } + }, [requestEvent, topic]) + + if (!request || !requestSession || !bridgingRequest) { + return Request not found + } + + const asset = getAssetByContractAddress(bridgingRequest.transfer.contract) + const amount = convertTokenBalance(asset, bridgingRequest.transfer.amount) + const destination = bridgingRequest.transfer.to + const sourceChain = EIP155_CHAINS[`eip155:${bridgingRequest.sourceChain}` as TEIP155Chain] + const targetChain = EIP155_CHAINS[`eip155:${bridgingRequest.targetChain}` as TEIP155Chain] + + return ( + + + + Transaction details + + Sending {amount} {asset} to: + + + {destination} + + + + + + + Chain details + Target chain: + + + + + {targetChain.name} + + + Sourcing funds from: + + + + + {sourceChain.name} + + + + + + + ) +} diff --git a/advanced/wallets/react-wallet-v2/src/views/RequestModal.tsx b/advanced/wallets/react-wallet-v2/src/components/RequestModal.tsx similarity index 88% rename from advanced/wallets/react-wallet-v2/src/views/RequestModal.tsx rename to advanced/wallets/react-wallet-v2/src/components/RequestModal.tsx index ef51bff73..fdcc48ee9 100644 --- a/advanced/wallets/react-wallet-v2/src/views/RequestModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/components/RequestModal.tsx @@ -1,14 +1,13 @@ -import { Fragment, ReactNode, useMemo, useState } from 'react' +import { Fragment, ReactNode, useEffect, useMemo, useState } from 'react' import { Divider } from '@nextui-org/react' import { CoreTypes } from '@walletconnect/types' - import ModalFooter, { LoaderProps } from '@/components/ModalFooter' import ProjectInfoCard from '@/components/ProjectInfoCard' import RequestModalContainer from '@/components/RequestModalContainer' import VerifyInfobox from '@/components/VerifyInfobox' import { useSnapshot } from 'valtio' import SettingsStore from '@/store/SettingsStore' -import ThreatPrompt from './TheatPrompt' +import ThreatPrompt from '../views/TheatPrompt' interface IProps { children: ReactNode @@ -22,6 +21,7 @@ interface IProps { rejectLoader?: LoaderProps disableApprove?: boolean disableReject?: boolean + disableThreatDetection?: boolean } export default function RequestModal({ children, @@ -34,7 +34,8 @@ export default function RequestModal({ infoBoxCondition, infoBoxText, disableApprove, - disableReject + disableReject, + disableThreatDetection }: IProps) { const { currentRequestVerifyContext } = useSnapshot(SettingsStore.state) const isScam = currentRequestVerifyContext?.verified.isScam @@ -58,7 +59,7 @@ export default function RequestModal({ {children} - + {disableThreatDetection === undefined ? : null} = { rgb: '242, 242, 242', rpc: 'https://mainnet.era.zksync.io/', namespace: 'eip155' + }, + 'eip155:8453': { + chainId: 8453, + name: 'Base', + logo: '/chain-logos/base.webp', + rgb: '22, 83, 241', + rpc: 'https://mainnet.base.org', + namespace: 'eip155' + }, + 'eip155:42161': { + chainId: 42161, + name: 'Arbitrum', + logo: '/chain-logos/arbitrum.webp', + rgb: '27, 74, 220', + rpc: 'https://arb1.arbitrum.io/rpc ', + namespace: 'eip155' } } @@ -79,7 +95,7 @@ export const EIP155_TEST_CHAINS: Record = { name: 'Ethereum Sepolia', logo: '/chain-logos/eip155-1.png', rgb: '99, 125, 234', - rpc: 'https://gateway.tenderly.co/public/sepolia', + rpc: 'https://rpc2.sepolia.org', namespace: 'eip155', smartAccountEnabled: true }, @@ -108,6 +124,14 @@ export const EIP155_TEST_CHAINS: Record = { rpc: 'https://goerli.optimism.io', namespace: 'eip155' }, + 'eip155:11155420': { + chainId: 11155420, + name: 'Optimism Sepolia', + logo: '/chain-logos/eip155-10.png', + rgb: '235, 0, 25', + rpc: 'https://sepolia.optimism.io ', + namespace: 'eip155' + }, 'eip155:280': { chainId: 280, name: 'zkSync Era Testnet', @@ -115,6 +139,14 @@ export const EIP155_TEST_CHAINS: Record = { rgb: '242, 242, 242', rpc: 'https://testnet.era.zksync.dev/', namespace: 'eip155' + }, + 'eip155:84532': { + chainId: 84532, + name: 'Base Sepolia', + logo: '/chain-logos/base.webp', + rgb: '22, 83, 241', + rpc: 'https://sepolia.base.org', + namespace: 'eip155' } } diff --git a/advanced/wallets/react-wallet-v2/src/hooks/useWalletConnectEventsManager.ts b/advanced/wallets/react-wallet-v2/src/hooks/useWalletConnectEventsManager.ts index e961b39bc..0574cb822 100644 --- a/advanced/wallets/react-wallet-v2/src/hooks/useWalletConnectEventsManager.ts +++ b/advanced/wallets/react-wallet-v2/src/hooks/useWalletConnectEventsManager.ts @@ -10,7 +10,7 @@ import ModalStore from '@/store/ModalStore' import SettingsStore from '@/store/SettingsStore' import { web3wallet } from '@/utils/WalletConnectUtil' import { SignClientTypes } from '@walletconnect/types' -import { useCallback, useEffect } from 'react' +import { useCallback, useEffect, useMemo } from 'react' import { NEAR_SIGNING_METHODS } from '@/data/NEARData' import { approveNearRequest } from '@/utils/NearRequestHandlerUtil' import { TEZOS_SIGNING_METHODS } from '@/data/TezosData' @@ -67,7 +67,6 @@ export default function useWalletConnectEventsManager(initialized: boolean) { return ModalStore.open('SessionSendTransactionModal', { requestEvent, requestSession }) case EIP7715_METHOD.WALLET_GRANT_PERMISSIONS: { - console.log({ request }) return ModalStore.open('SessionGrantPermissionsModal', { requestEvent, requestSession }) } @@ -151,6 +150,7 @@ export default function useWalletConnectEventsManager(initialized: boolean) { return ModalStore.open('SessionUnsuportedMethodModal', { requestEvent, requestSession }) } }, + // eslint-disable-next-line react-hooks/exhaustive-deps [] ) diff --git a/advanced/wallets/react-wallet-v2/src/pages/_middleware.ts b/advanced/wallets/react-wallet-v2/src/pages/_middleware.ts index 56f759e80..a2f774c14 100644 --- a/advanced/wallets/react-wallet-v2/src/pages/_middleware.ts +++ b/advanced/wallets/react-wallet-v2/src/pages/_middleware.ts @@ -25,7 +25,7 @@ export function middleware(req: NextRequest) { return new Response(null, { status: 204, headers: { - 'Access-Control-Allow-Origin': process.env.NODE_ENV === 'production' ? '*' : (origin || ''), + 'Access-Control-Allow-Origin': process.env.NODE_ENV === 'production' ? '*' : origin || '', 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, Authorization' } @@ -33,4 +33,4 @@ export function middleware(req: NextRequest) { } return res -} \ No newline at end of file +} diff --git a/advanced/wallets/react-wallet-v2/src/pages/index.tsx b/advanced/wallets/react-wallet-v2/src/pages/index.tsx index 4c706c968..48346431e 100644 --- a/advanced/wallets/react-wallet-v2/src/pages/index.tsx +++ b/advanced/wallets/react-wallet-v2/src/pages/index.tsx @@ -16,6 +16,7 @@ import { Fragment } from 'react' import { useSnapshot } from 'valtio' import useSmartAccounts from '@/hooks/useSmartAccounts' import { useRouter } from 'next/router' +import ChainAbstractionBalanceCard from '@/components/ChainAbstractionBalanceCard' export default function HomePage() { const { @@ -29,7 +30,8 @@ export default function HomePage() { tronAddress, tezosAddress, kadenaAddress, - smartAccountEnabled + smartAccountEnabled, + chainAbstractionEnabled } = useSnapshot(SettingsStore.state) const { getAvailableSmartAccounts } = useSmartAccounts() const { push } = useRouter() @@ -38,6 +40,7 @@ export default function HomePage() { + {chainAbstractionEnabled ? : null} Mainnets diff --git a/advanced/wallets/react-wallet-v2/src/pages/settings.tsx b/advanced/wallets/react-wallet-v2/src/pages/settings.tsx index 887f3ca6c..a580064d8 100644 --- a/advanced/wallets/react-wallet-v2/src/pages/settings.tsx +++ b/advanced/wallets/react-wallet-v2/src/pages/settings.tsx @@ -28,7 +28,8 @@ export default function SettingsPage() { kernelSmartAccountEnabled, safeSmartAccountEnabled, biconomySmartAccountEnabled, - moduleManagementEnabled + moduleManagementEnabled, + chainAbstractionEnabled } = useSnapshot(SettingsStore.state) return ( @@ -59,6 +60,30 @@ export default function SettingsPage() { + + + + Chain Abstraction + + {testNets ? ( + <> + + + {chainAbstractionEnabled ? 'Enabled' : 'Disabled'} + + + ) : ( + This feature requires testnets + )} + + + + + diff --git a/advanced/wallets/react-wallet-v2/src/store/SettingsStore.ts b/advanced/wallets/react-wallet-v2/src/store/SettingsStore.ts index ac3d2f653..6d70cbb06 100644 --- a/advanced/wallets/react-wallet-v2/src/store/SettingsStore.ts +++ b/advanced/wallets/react-wallet-v2/src/store/SettingsStore.ts @@ -9,6 +9,7 @@ import { Verify, SessionTypes } from '@walletconnect/types' import { proxy } from 'valtio' const TEST_NETS_ENABLED_KEY = 'TEST_NETS' +const CA_ENABLED_KEY = 'CHAIN_ABSTRACTION' const SMART_ACCOUNTS_ENABLED_KEY = 'SMART_ACCOUNTS' const ZERO_DEV_SMART_ACCOUNTS_ENABLED_KEY = 'ZERO_DEV_SMART_ACCOUNTS' const SAFE_SMART_ACCOUNTS_ENABLED_KEY = 'SAFE_SMART_ACCOUNTS' @@ -43,6 +44,7 @@ interface State { safeSmartAccountEnabled: boolean biconomySmartAccountEnabled: boolean moduleManagementEnabled: boolean + chainAbstractionEnabled: boolean } /** @@ -89,7 +91,9 @@ const state = proxy({ moduleManagementEnabled: typeof localStorage !== 'undefined' ? Boolean(localStorage.getItem(MODULE_MANAGEMENT_ENABLED_KEY)) - : false + : false, + chainAbstractionEnabled: + typeof localStorage !== 'undefined' ? Boolean(localStorage.getItem(CA_ENABLED_KEY)) : false }) /** @@ -193,6 +197,15 @@ const SettingsStore = { } }, + toggleChainAbstractionEnabled() { + state.chainAbstractionEnabled = !state.chainAbstractionEnabled + if (state.chainAbstractionEnabled) { + localStorage.setItem(CA_ENABLED_KEY, 'YES') + } else { + localStorage.removeItem(CA_ENABLED_KEY) + } + }, + async toggleKernelSmartAccountsEnabled() { state.kernelSmartAccountEnabled = !state.kernelSmartAccountEnabled if (state.kernelSmartAccountEnabled) { diff --git a/advanced/wallets/react-wallet-v2/src/utils/MultibridgeUtil.ts b/advanced/wallets/react-wallet-v2/src/utils/MultibridgeUtil.ts new file mode 100644 index 000000000..f7ad98fb7 --- /dev/null +++ b/advanced/wallets/react-wallet-v2/src/utils/MultibridgeUtil.ts @@ -0,0 +1,385 @@ +import { createPublicClient, decodeFunctionData, erc20Abi, getContract, Hex, http } from 'viem' +import { arbitrum, base, optimism} from 'viem/chains' +import { getChainById } from './ChainUtil' +import EIP155Lib from '@/lib/EIP155Lib' +import { SmartAccountLib } from '@/lib/smart-accounts/SmartAccountLib' +import { providers } from 'ethers' +import { EIP155_CHAINS, TEIP155Chain } from '@/data/EIP155Data' + +const BASE_URL = 'https://api.socket.tech/v2' +const WHITELIST_BRIDGES = 'across' +const AMOUNT_MULTIPLIER = 1.05 + +export const supportedAssets: Record> = { + USDC: { + [base.id]: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', + [optimism.id]: '0x0b2c639c533813f4aa9d7837caf62653d097ff85', + [arbitrum.id]: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831' + } +} as const + +const assetDecimals: Record = { + 'USDC': 6 +} + +export const supportedChains = [base, optimism, arbitrum] as const + +export function getCrossChainTokens(address: Hex): Record | undefined { + const otherTokens: Record = {} + + for (const asset in supportedAssets) { + for (const chainId in supportedAssets[asset]) { + if (supportedAssets[asset][chainId] === address) { + continue + } + otherTokens[chainId] = supportedAssets[asset][chainId] + } + } + return Object.keys(otherTokens).length > 0 ? otherTokens : undefined +} + +export function getAssetByContractAddress(address: Hex): string { + for (const [asset, chains] of Object.entries(supportedAssets)) { + for (const contractAddress of Object.values(chains)) { + if (contractAddress.toLowerCase() === address.toLowerCase()) { + return asset + } + } + } + throw new Error('Asset not found for the given contract address') +} + +export function convertTokenBalance(asset: string, amount: number): number { + const decimals = assetDecimals[asset] + if (!decimals) { + throw new Error('Asset not supported') + } + const balance = amount / (10**decimals) + return balance +} + +export async function getErc20TokenBalance( + tokenAddress: Hex, + chainId: number, + account: Hex, + convert: boolean = true +): Promise { + const publicClient = createPublicClient({ + chain: getChainById(chainId), + transport: http() + }) + const contract = getContract({ + address: tokenAddress, + abi: erc20Abi, + client: publicClient + }) + const result = await contract.read.balanceOf([account]) + if (!convert) { + return Number(result) + } + const decimals = await contract.read.decimals() + const balance = BigInt(result) / BigInt(10 ** decimals) + return Number(balance) +} + +export type BridgingRequest = { + transfer: Erc20Transfer, + sourceChain: number, + targetChain: number, +} + +type Erc20Transfer = { + from: Hex + to: Hex + contract: Hex + amount: number +} + +export function decodeErc20Transaction({ + data, + from, + to +}: { + data: string + from: string + to: string +}): Erc20Transfer | null { + const { functionName, args } = decodeFunctionData({ + abi: erc20Abi, + data: data as Hex + }) + if (functionName !== 'transfer') { + return null + } + + return { + to: args[0], + contract: to as Hex, + amount: Number(args[1]), + from: from as Hex + } +} + +async function sendSocketRequest(method: "GET" | "POST", endpoint: string, body?: any): Promise { + const url = new URL(`${BASE_URL}/${endpoint}`); + + const API_KEY = process.env['NEXT_PUBLIC_SOCKET_KEY'] + if (!API_KEY) { + throw new Error('Socket API key is not set up') + } + const headers: any = { + 'API-KEY': API_KEY, + Accept: 'application/json' + } + if (method === 'POST') { + headers['Content-Type'] = 'application/json' + } + const response = await fetch(url, { + method, + headers, + body: method === "POST" ? JSON.stringify(body) : undefined, + }); + if (response.status >= 300) { + throw new Error('Unable to send request to Socket') + } + + const json = await response.json(); + return json; + } + + +interface BridgingParams { + fromChainId: number + toChainId: number + fromAssetAddress: string + toAssetAddress: string + amount: number + userAddress: string + uniqueRoutesPerBridge?: boolean + sort?: 'output' | 'gas' | 'time' + singleTxOnly?: boolean +} + +async function getQuote(params: BridgingParams): Promise { + const urlParams = new URLSearchParams() + urlParams.set('fromChainId', params.fromChainId.toString()) + urlParams.set('fromTokenAddress', params.fromAssetAddress) + urlParams.set('toChainId', params.toChainId.toString()) + urlParams.set('toTokenAddress', params.toAssetAddress) + urlParams.set('fromAmount', params.amount.toString()) + urlParams.set('userAddress', params.userAddress) + urlParams.set('includeBridges',WHITELIST_BRIDGES) + if (params.uniqueRoutesPerBridge !== undefined) { + urlParams.set('uniqueRoutesPerBridge', params.uniqueRoutesPerBridge.toString()) + } + if (params.sort !== undefined) { + urlParams.set('sort', params.sort) + } + if (params.singleTxOnly !== undefined) { + urlParams.set('singleTxOnly', params.singleTxOnly.toString()) + } + + const json = await sendSocketRequest('GET', `quote?${urlParams.toString()}`) + return json +} + +async function getRouteTransactionData(route: any): Promise { + const json = await sendSocketRequest('POST', 'build-tx', {route}) + return json +} + +interface AllowanceCheckParams { + chainId: number + owner: string + allowanceTarget: number + tokenAddress: string +} + +async function checkAllowance(params: AllowanceCheckParams): Promise { + const urlParams = new URLSearchParams() + urlParams.set('chainID', params.chainId.toString()) + urlParams.set('owner', params.owner) + urlParams.set('allowanceTarget', params.allowanceTarget.toString()) + urlParams.set('tokenAddress', params.tokenAddress) + + const json = await sendSocketRequest('GET', `approval/check-allowance?${urlParams.toString()}`) + return json +} + +interface ApprovalTransactionParams { + chainId: number + owner: string + allowanceTarget: number + tokenAddress: string + amount: number +} + +async function getApprovalTransactionData(params: ApprovalTransactionParams): Promise { + const urlParams = new URLSearchParams() + urlParams.set('chainID', params.chainId.toString()) + urlParams.set('owner', params.owner) + urlParams.set('allowanceTarget', params.allowanceTarget.toString()) + urlParams.set('tokenAddress', params.tokenAddress) + urlParams.set('amount', params.amount.toString()) + + const json = await sendSocketRequest('GET', `approval/build-tx?${urlParams.toString()}`) + return json +} + +interface BridgeStatusParams { + transactionHash: string + fromChainId: number + toChainId: number +} + +async function getBridgeStatus(params: BridgeStatusParams): Promise { + const urlParams = new URLSearchParams() + urlParams.set('transactionHash', params.transactionHash) + urlParams.set('fromChainId', params.fromChainId.toString()) + urlParams.set('toChainId', params.toChainId.toString()) + + const json = await sendSocketRequest('GET', `bridge-status?${urlParams.toString()}`) + return json +} + + +export async function bridgeFunds(bridgingParams: BridgingParams, wallet: EIP155Lib | SmartAccountLib): Promise { + performance.mark('startGetQuote') + console.log('Bridging funds', bridgingParams); + const originalAmount = bridgingParams.amount + bridgingParams.amount = Math.round(originalAmount*AMOUNT_MULTIPLIER) + const quote = await getQuote(bridgingParams) + performance.mark('endGetQuote') + console.log('Fetched quote', quote); + + const route = quote.result.routes[0]; + if (!route) { + throw new Error("No routes found"); + } + performance.mark('startGetRouteTransactionData') + const apiReturnData = await getRouteTransactionData(route); + performance.mark('endGetRouteTransactionData') + const approvalData = apiReturnData.result.approvalData; + const { allowanceTarget, minimumApprovalAmount } = approvalData; + performance.mark('startGetWalletAddress') + const sourceChainProvider = new providers.JsonRpcProvider(EIP155_CHAINS[`eip155:${bridgingParams.fromChainId}` as TEIP155Chain].rpc) + const sourceChainConnectedWallet = await wallet.connect(sourceChainProvider) + const walletAddress = wallet.getAddress() + performance.mark('endGetWalletAddress') + console.log({approvalData}); + let currentNonce = await sourceChainProvider.getTransactionCount(walletAddress) + // approvalData from apiReturnData is null for native tokens + // Values are returned for ERC20 tokens but token allowance needs to be checked + if (approvalData !== null) { + // Fetches token allowance given to Bungee contracts + performance.mark('startCheckAllowance') + const allowanceCheckStatus = await checkAllowance({ + chainId: bridgingParams.fromChainId, + owner: bridgingParams.userAddress, + allowanceTarget, + tokenAddress: bridgingParams.fromAssetAddress + }); + performance.mark('endCheckAllowance') + const allowanceValue = allowanceCheckStatus.result?.value; + console.log('Allowance value', allowanceValue); + if (minimumApprovalAmount > allowanceValue) { + console.log('Bungee contracts don\'t have sufficient allowance'); + performance.mark('startGetApprovalTransactionData') + const approvalTransactionData = await getApprovalTransactionData({ + chainId: bridgingParams.fromChainId, + owner: bridgingParams.userAddress, + allowanceTarget, + tokenAddress: bridgingParams.fromAssetAddress, + amount: bridgingParams.amount + }); + performance.mark('endGetApprovalTransactionData') + performance.mark('startApprovalTransactionGasEstimate') + const gasPrice = sourceChainProvider.getGasPrice() + const gasEstimate = await sourceChainProvider.estimateGas({ + from: walletAddress, + to: approvalTransactionData.result?.to, + value: "0x00", + data: approvalTransactionData.result?.data, + gasPrice: gasPrice, + }); + performance.mark('endApprovalTransactionGasEstimate') + + performance.mark('startApprovalTransactionSend') + const hash = await sourceChainConnectedWallet.sendTransaction({ + from: approvalTransactionData.result?.from, + to: approvalTransactionData.result?.to, + value: "0x00", + data: approvalTransactionData.result?.data, + gasPrice: gasPrice, + gasLimit: gasEstimate, + nonce: currentNonce, + }) + const receipt = typeof hash === 'string' ? hash : hash?.hash + performance.mark('endApprovalTransactionSend') + console.log("Approval Transaction", {receipt}); + currentNonce++ + } + } + + performance.mark('startBridgingTransactionGasEstimate') + const gasPrice = await sourceChainProvider.getGasPrice(); + let gasEstimate = BigInt('0x029a6b')*BigInt(4) + try { + const res = await sourceChainProvider.estimateGas({ + from: walletAddress, + to: apiReturnData.result.txTarget, + value: apiReturnData.result.value, + data: apiReturnData.result.txData, + gasPrice: gasPrice, + }); + gasEstimate = BigInt(res.toNumber()) + console.log('Gas Estimate', gasEstimate); + } catch{ + console.log('Failed gas estimate. Using default with 4x increase'); + } + performance.mark('endBridgingTransactionGasEstimate') + + performance.mark('startBridgingTransactionSend') + const hash = await sourceChainConnectedWallet.sendTransaction({ + from: walletAddress, + to: apiReturnData.result.txTarget, + data: apiReturnData.result.txData, + value: apiReturnData.result.value, + gasPrice: gasPrice, + gasLimit: gasEstimate, + nonce: currentNonce + }); + const receipt = typeof hash === 'string' ? hash : hash?.hash + console.log("Bridging Transaction : ", {receipt}); + performance.mark('endBridgingTransactionSend') + + performance.mark('startBridgingTransactionCheck') + let interations = 0 + while (interations < 20) { + const balance = await getErc20TokenBalance(bridgingParams.toAssetAddress as Hex,bridgingParams.toChainId, walletAddress as Hex, false) + console.log('Checking destination address',{balance, originalAmount}); + + if (balance >= originalAmount) { + console.log('Bridging completed'); + performance.mark('endBridgingTransactionCheck') + printMeasurements() + return + } + await new Promise(resolve => setTimeout(resolve, 1500)); + interations++ + } +} + +function printMeasurements(){ + console.log(`Total duration: ${performance.measure('total-duration','startGetQuote','endBridgingTransactionCheck').duration} ms`); + console.log(`Get quote: ${performance.measure('get-quote','startGetQuote','endGetQuote').duration} ms`); + console.log(`Get Route Transaction Data: ${performance.measure('get-route-transaction','startGetRouteTransactionData','endGetRouteTransactionData').duration} ms`); + console.log(`Get Wallet Address: ${performance.measure('get-wallet-address','startGetWalletAddress','endGetWalletAddress').duration} ms`); + console.log(`Check Allowance: ${performance.measure('check-allowance','startCheckAllowance','endCheckAllowance').duration} ms`); + console.log(`Get Approval Transaction Data: ${performance.measure('get-approval-tx-data','startGetApprovalTransactionData','endGetApprovalTransactionData').duration} ms`); + console.log(`Get Approval Transaction Gas Estimate: ${performance.measure('get-approval-tx-gas-estimate','startApprovalTransactionGasEstimate','endApprovalTransactionGasEstimate').duration} ms`); + console.log(`Approval transaction send: ${performance.measure('approval-transaction-send','startApprovalTransactionSend','endApprovalTransactionSend').duration} ms`); + console.log(`Bridging transaction gas estimate: ${performance.measure('bridging-tx-gas-estimate','startBridgingTransactionGasEstimate','endBridgingTransactionGasEstimate').duration} ms`); + console.log(`Bridging transaction send: ${performance.measure('bridging-tx-send','startBridgingTransactionSend','endBridgingTransactionSend').duration} ms`); + console.log(`Bridging transaction check: ${performance.measure('bridging-tx-check','startBridgingTransactionCheck','endBridgingTransactionCheck').duration} ms`); +} \ No newline at end of file diff --git a/advanced/wallets/react-wallet-v2/src/views/AuthRequestModal.tsx b/advanced/wallets/react-wallet-v2/src/views/AuthRequestModal.tsx index ac13a1255..0178e26fa 100644 --- a/advanced/wallets/react-wallet-v2/src/views/AuthRequestModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/AuthRequestModal.tsx @@ -8,7 +8,7 @@ import ModalStore from '@/store/ModalStore' import SettingsStore from '@/store/SettingsStore' import { eip155Addresses, eip155Wallets } from '@/utils/EIP155WalletUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' export default function AuthRequestModal() { const { account } = useSnapshot(SettingsStore.state) diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionAuthenticateModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionAuthenticateModal.tsx index 3c4a18615..97798bf33 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionAuthenticateModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionAuthenticateModal.tsx @@ -11,7 +11,7 @@ import ModalStore from '@/store/ModalStore' import SettingsStore from '@/store/SettingsStore' import { eip155Addresses, eip155Wallets } from '@/utils/EIP155WalletUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { EIP155_CHAINS, EIP155_SIGNING_METHODS } from '@/data/EIP155Data' import { styledToast } from '@/utils/HelperUtil' diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionGrantPermissionsModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionGrantPermissionsModal.tsx index 03d136ec1..aef00c404 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionGrantPermissionsModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionGrantPermissionsModal.tsx @@ -6,7 +6,7 @@ import RequestMethodCard from '@/components/RequestMethodCard' import ModalStore from '@/store/ModalStore' import { styledToast } from '@/utils/HelperUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { useCallback, useState } from 'react' import PermissionDetailsCard from '@/components/PermissionDetailsCard' import { approveEIP7715Request, rejectEIP7715Request } from '@/utils/EIP7715RequestHandlerUtils' diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionProposalModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionProposalModal.tsx index 8096cad8e..057b22d33 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionProposalModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionProposalModal.tsx @@ -28,7 +28,7 @@ import { TRON_CHAINS, TRON_SIGNING_METHODS } from '@/data/TronData' import ChainDataMini from '@/components/ChainDataMini' import ChainAddressMini from '@/components/ChainAddressMini' import { getChainData } from '@/data/chainsUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import ChainSmartAddressMini from '@/components/ChainSmartAddressMini' import { useSnapshot } from 'valtio' import SettingsStore from '@/store/SettingsStore' diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSendCallsModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSendCallsModal.tsx index 8c9bf56c2..aacb3c7c9 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSendCallsModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSendCallsModal.tsx @@ -6,7 +6,7 @@ import RequestMethodCard from '@/components/RequestMethodCard' import ModalStore from '@/store/ModalStore' import { styledToast } from '@/utils/HelperUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { approveEIP5792Request, rejectEIP5792Request } from '@/utils/EIP5792RequestHandlerUtils' export default function SessionSendCallsModal() { diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSendTransactionModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSendTransactionModal.tsx index 09aa54390..02ce827b5 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSendTransactionModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSendTransactionModal.tsx @@ -1,5 +1,5 @@ -import { useCallback, useState } from 'react' -import { Divider, Text } from '@nextui-org/react' +import { useCallback, useEffect, useState } from 'react' +import { Card, Divider, Loading, Text } from '@nextui-org/react' import RequestDataCard from '@/components/RequestDataCard' import RequesDetailsCard from '@/components/RequestDetalilsCard' @@ -8,11 +8,22 @@ import ModalStore from '@/store/ModalStore' import { approveEIP155Request, rejectEIP155Request } from '@/utils/EIP155RequestHandlerUtil' import { styledToast } from '@/utils/HelperUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '@/components/RequestModal' +import { + BridgingRequest, + decodeErc20Transaction, + getCrossChainTokens, + getErc20TokenBalance +} from '@/utils/MultibridgeUtil' +import MultibridgeRequestModal from '@/components/MultibridgeRequestModal' +import SettingsStore from '@/store/SettingsStore' export default function SessionSendTransactionModal() { const [isLoadingApprove, setIsLoadingApprove] = useState(false) const [isLoadingReject, setIsLoadingReject] = useState(false) + const [isTypeResolved, setIsTypeResolved] = useState(false) + const [shouldUseMultibridge, setShouldUseMultibridge] = useState(false) + const [bridgingRequest, setBirdgingRequest] = useState() // Get request and wallet data from store const requestEvent = ModalStore.state.data?.requestEvent @@ -24,6 +35,75 @@ export default function SessionSendTransactionModal() { const request = params?.request const transaction = request?.params[0] + useEffect(() => { + const multibridgeCheck = async () => { + setIsTypeResolved(false) + try { + if (!request) { + setIsTypeResolved(true) + return + } + if (!SettingsStore.state.chainAbstractionEnabled) { + setIsTypeResolved(true) + return + } + const transfer = decodeErc20Transaction(request.params[0]) + if (!transfer) { + setIsTypeResolved(true) + return + } + const parsedChainId = chainId?.split(':')[1] + const tokenBalance = await getErc20TokenBalance( + transfer.contract, + Number(parsedChainId), + transfer.from, + false + ) + if (transfer.amount <= tokenBalance) { + setIsTypeResolved(true) + return + } + const otherTokens = getCrossChainTokens(transfer.contract) + let otherBalance = 0 + let otherChain = 0 + + for (const chain in otherTokens) { + const balance = await getErc20TokenBalance( + otherTokens[Number(chain)], + Number(chain), + transfer.from, + false + ) + if (balance >= transfer.amount) { + otherBalance = balance + otherChain = Number(chain) + + console.log('Found chain to bridge from', { + otherBalance, + requiredBalance: transfer.amount, + otherChain + }) + const bridgingRequest = { + transfer, + sourceChain: otherChain, + targetChain: Number(parsedChainId) + } + console.log({ bridgingRequest }) + setBirdgingRequest(bridgingRequest) + setShouldUseMultibridge(true) + setIsTypeResolved(true) + return + } + } + } catch (error) { + console.log('Unable to check multibridge availability', error) + } finally { + setIsTypeResolved(true) + } + } + multibridgeCheck() + }, [request, chainId]) + // Handle approve action const onApprove = useCallback(async () => { if (requestEvent && topic) { @@ -64,7 +144,21 @@ export default function SessionSendTransactionModal() { } }, [requestEvent, topic]) - return request && requestSession ? ( + if (!request || !requestSession) { + return Request not found + } + + if (!isTypeResolved) { + return ( + + + + + + ) + } + + return !shouldUseMultibridge && isTypeResolved ? ( ) : ( - Request not found + ) } diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignCosmosModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignCosmosModal.tsx index 4722ab0ab..30bfda9dc 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignCosmosModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignCosmosModal.tsx @@ -9,7 +9,7 @@ import ModalStore from '@/store/ModalStore' import { approveCosmosRequest, rejectCosmosRequest } from '@/utils/CosmosRequestHandler' import { styledToast } from '@/utils/HelperUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' export default function SessionSignCosmosModal() { // Get request and wallet data from store diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignKadenaModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignKadenaModal.tsx index d50a84a76..369afe990 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignKadenaModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignKadenaModal.tsx @@ -7,7 +7,7 @@ import ModalStore from '@/store/ModalStore' import { convertHexToUtf8, styledToast } from '@/utils/HelperUtil' import { approveKadenaRequest, rejectKadenaRequest } from '@/utils/KadenaRequestHandlerUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { useCallback, useState } from 'react' export default function SessionSignKadenaModal() { diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignModal.tsx index 65518486a..da61289d0 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignModal.tsx @@ -7,7 +7,7 @@ import ModalStore from '@/store/ModalStore' import { approveEIP155Request, rejectEIP155Request } from '@/utils/EIP155RequestHandlerUtil' import { getSignParamsMessage, styledToast } from '@/utils/HelperUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' export default function SessionSignModal() { // Get request and wallet data from store const requestEvent = ModalStore.state.data?.requestEvent diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignMultiversxModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignMultiversxModal.tsx index 54f8163a9..dd483b74c 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignMultiversxModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignMultiversxModal.tsx @@ -12,7 +12,7 @@ import { rejectMultiversxRequest } from '@/utils/MultiversxRequestHandlerUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' export default function SessionSignMultiversxModal() { // Get request and wallet data from store diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignNearModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignNearModal.tsx index 4ec3451ea..ebe03f14f 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignNearModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignNearModal.tsx @@ -10,7 +10,7 @@ import { approveNearRequest, rejectNearRequest } from '@/utils/NearRequestHandle import { web3wallet } from '@/utils/WalletConnectUtil' import { NEAR_SIGNING_METHODS } from '@/data/NEARData' import { styledToast } from '@/utils/HelperUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { useCallback, useState } from 'react' export default function SessionSignNearModal() { diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignPolkadotModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignPolkadotModal.tsx index a6d1a57cf..82439b958 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignPolkadotModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignPolkadotModal.tsx @@ -8,7 +8,7 @@ import ModalStore from '@/store/ModalStore' import { styledToast } from '@/utils/HelperUtil' import { approvePolkadotRequest, rejectPolkadotRequest } from '@/utils/PolkadotRequestHandlerUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { useCallback, useState } from 'react' export default function SessionSignPolkadotModal() { diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignSolanaModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignSolanaModal.tsx index 5c1072a40..ef511c56d 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignSolanaModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignSolanaModal.tsx @@ -8,7 +8,7 @@ import ModalStore from '@/store/ModalStore' import { styledToast } from '@/utils/HelperUtil' import { approveSolanaRequest, rejectSolanaRequest } from '@/utils/SolanaRequestHandlerUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { useCallback, useState } from 'react' export default function SessionSignSolanaModal() { diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignTezosModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignTezosModal.tsx index 0f3a036d5..7f624940c 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignTezosModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignTezosModal.tsx @@ -8,7 +8,7 @@ import ModalStore from '@/store/ModalStore' import { styledToast } from '@/utils/HelperUtil' import { approveTezosRequest, rejectTezosRequest } from '@/utils/TezosRequestHandlerUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { useCallback, useState } from 'react' export default function SessionSignTezosModal() { diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignTronModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignTronModal.tsx index 0d76bc0bb..378a145e0 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignTronModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignTronModal.tsx @@ -8,7 +8,7 @@ import ModalStore from '@/store/ModalStore' import { styledToast } from '@/utils/HelperUtil' import { approveTronRequest, rejectTronRequest } from '@/utils/TronRequestHandlerUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { useCallback, useState } from 'react' export default function SessionSignTronModal() { diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionSignTypedDataModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionSignTypedDataModal.tsx index a15479c16..9c6f1179c 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionSignTypedDataModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionSignTypedDataModal.tsx @@ -8,7 +8,7 @@ import ModalStore from '@/store/ModalStore' import { approveEIP155Request, rejectEIP155Request } from '@/utils/EIP155RequestHandlerUtil' import { getSignTypedDataParamsData, styledToast } from '@/utils/HelperUtil' import { web3wallet } from '@/utils/WalletConnectUtil' -import RequestModal from './RequestModal' +import RequestModal from '../components/RequestModal' import { useCallback, useState } from 'react' import PermissionDetailsCard from '@/components/PermissionDetailsCard'