├── .gitignore ├── LICENSE ├── README.md ├── api.ts ├── components.json ├── components ├── App.tsx ├── auth-success.tsx ├── client-example.tsx ├── custom-link.tsx ├── footer.module.css ├── footer.tsx ├── header.module.css ├── header.tsx ├── layout.tsx ├── main-nav.tsx ├── main.tsx ├── session-data.tsx ├── ui │ ├── avatar.tsx │ ├── button.tsx │ ├── dropdown-menu.tsx │ ├── input.tsx │ └── navigation-menu.tsx └── user-button.tsx ├── functions └── api │ └── [[route]].ts ├── globals.css ├── index.html ├── lib └── utils.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── public ├── favicon.ico └── logo.png ├── tailwind.config.js ├── tsconfig.json ├── vite-env.d.ts └── vite.config.mts /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | node_modules/ 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | lerna-debug.log* 10 | .yarn-integrity 11 | .npm 12 | 13 | .eslintcache 14 | 15 | *.tsbuildinfo 16 | next-env.d.ts 17 | 18 | .next 19 | .vercel 20 | .env*.local 21 | .dev.vars 22 | .wrangler 23 | dist -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2022-2023, Balázs Orbán 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > The example repository is maintained from a [monorepo](https://github.com/nextauthjs/next-auth/tree/main/apps/examples/nextjs). Pull Requests should be opened against [`nextauthjs/next-auth`](https://github.com/nextauthjs/next-auth). 2 | 3 |

4 |
5 | 6 |

NextAuth.js Example App

7 |

8 | Open Source. Full Stack. Own Your Data. 9 |

10 |

11 | 12 | npm 13 | 14 | 15 | Bundle Size 16 | 17 | 18 | Downloads 19 | 20 | 21 | TypeScript 22 | 23 |

24 |

25 | 26 | ## Overview 27 | 28 | NextAuth.js is a complete open source authentication solution. 29 | 30 | This is an example application that shows how `next-auth` is applied to a basic Next.js app. 31 | 32 | The deployed version can be found at [`next-auth-example.vercel.app`](https://next-auth-example.vercel.app) 33 | 34 | ### About NextAuth.js 35 | 36 | NextAuth.js is an easy to implement, full-stack (client/server) open source authentication library originally designed for [Next.js](https://nextjs.org) and [Serverless](https://vercel.com). Our goal is to [support even more frameworks](https://github.com/nextauthjs/next-auth/issues/2294) in the future. 37 | 38 | Go to [next-auth.js.org](https://authjs.dev) for more information and documentation. 39 | 40 | > _NextAuth.js is not officially associated with Vercel or Next.js._ 41 | 42 | ## Getting Started 43 | 44 | ### 1. Clone the repository and install dependencies 45 | 46 | ``` 47 | git clone https://github.com/nextauthjs/next-auth-example.git 48 | cd next-auth-example 49 | npm install 50 | ``` 51 | 52 | ### 2. Configure your local environment 53 | 54 | Copy the .env.local.example file in this directory to .env.local (which will be ignored by Git): 55 | 56 | ``` 57 | cp .env.local.example .env.local 58 | ``` 59 | 60 | Add details for one or more providers (e.g. Google, Twitter, GitHub, Email, etc). 61 | 62 | #### Database 63 | 64 | A database is needed to persist user accounts and to support email sign in. However, you can still use NextAuth.js for authentication without a database by using OAuth for authentication. If you do not specify a database, [JSON Web Tokens](https://jwt.io/introduction) will be enabled by default. 65 | 66 | You **can** skip configuring a database and come back to it later if you want. 67 | 68 | For more information about setting up a database, please check out the following links: 69 | 70 | - Docs: [authjs.dev/reference/core/adapters](https://authjs.dev/reference/core/adapters) 71 | 72 | ### 3. Configure Authentication Providers 73 | 74 | 1. Review and update options in `auth.ts` as needed. 75 | 76 | 2. When setting up OAuth, in the developer admin page for each of your OAuth services, you should configure the callback URL to use a callback path of `{server}/api/auth/callback/{provider}`. 77 | 78 | e.g. For Google OAuth you would use: `http://localhost:3000/api/auth/callback/google` 79 | 80 | A list of configured providers and their callback URLs is available from the endpoint `api/auth/providers`. You can find more information at https://authjs.dev/getting-started/providers/oauth-tutorial 81 | 82 | 1. You can also choose to specify an SMTP server for passwordless sign in via email. 83 | 84 | ### 4. Start the application 85 | 86 | To run your site locally, use: 87 | 88 | ``` 89 | npm run dev 90 | ``` 91 | 92 | To run it in production mode, use: 93 | 94 | ``` 95 | npm run build 96 | npm run start 97 | ``` 98 | 99 | ### 5. Preparing for Production 100 | 101 | Follow the [Deployment documentation](https://authjs.dev/getting-started/deployment) 102 | 103 | ## Acknowledgements 104 | 105 | 106 | Powered By Vercel 107 | 108 |

Thanks to Vercel sponsoring this project by allowing it to be deployed for free for the entire NextAuth.js Team

109 | 110 | ## License 111 | 112 | ISC 113 | -------------------------------------------------------------------------------- /api.ts: -------------------------------------------------------------------------------- 1 | import { Hono } from "hono" 2 | import { authHandler,initAuthConfig,verifyAuth} from "@hono/auth-js" 3 | import GitHub from "@auth/core/providers/github" 4 | 5 | const app = new Hono({ strict: false }).basePath("/") 6 | 7 | 8 | app.use("*", initAuthConfig(c=>({ 9 | secret: c.env.AUTH_SECRET, 10 | providers: [ 11 | GitHub({ 12 | clientId: c.env.GITHUB_ID, 13 | clientSecret: c.env.GITHUB_SECRET 14 | }), 15 | ], 16 | }))) 17 | 18 | app.use("/api/auth/*", authHandler()) 19 | 20 | app.use("/api/*", verifyAuth()) 21 | 22 | app.get("/api/protected", async (c)=> { 23 | const auth = c.get("authUser") 24 | return c.json(auth) 25 | }) 26 | 27 | export default app 28 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "default", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "tailwind.config.js", 8 | "css": "app/globals.css", 9 | "baseColor": "slate", 10 | "cssVariables": true 11 | }, 12 | "aliases": { 13 | "components": "@/components", 14 | "utils": "@/lib/utils" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/App.tsx: -------------------------------------------------------------------------------- 1 | import ClientExample from "@/components/client-example"; 2 | import { SessionProvider } from "@hono/auth-js/react"; 3 | import Layout from "./layout"; 4 | import { Route, Switch } from "wouter"; 5 | import { AuthSuccess } from "./auth-success"; 6 | 7 | export default function App() { 8 | return ( 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 404: No such page! 18 | 19 | 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /components/auth-success.tsx: -------------------------------------------------------------------------------- 1 | import { useSession } from "@hono/auth-js/react"; 2 | import { useEffect } from "react"; 3 | 4 | export function AuthSuccess() { 5 | const { data: session, status } = useSession(); 6 | 7 | useEffect(() => { 8 | if (status !== "loading" && window.opener) { 9 | if (session?.user) { 10 | window.opener.postMessage( 11 | { 12 | status: "success", 13 | }, 14 | window.location.origin, 15 | ) 16 | } else { 17 | window.opener.postMessage({ 18 | status: "errored", 19 | error: "some error", 20 | }, window.location.origin); 21 | } 22 | window.close(); 23 | } 24 | }, [session?.user, status]); 25 | 26 | return

Auth Success

; 27 | } 28 | -------------------------------------------------------------------------------- /components/client-example.tsx: -------------------------------------------------------------------------------- 1 | import { useSession } from "@hono/auth-js/react" 2 | import { Button } from "./ui/button" 3 | import { Input } from "./ui/input" 4 | import { useState } from "react" 5 | import SessionData from "./session-data" 6 | import CustomLink from "./custom-link" 7 | 8 | const UpdateForm = () => { 9 | const { data: session, update } = useSession() 10 | const [name, setName] = useState(session?.user?.name ?? "") 11 | 12 | if (!session?.user) return null 13 | return ( 14 | <> 15 |

Updating the session

16 |
{ 18 | if (session) { 19 | const newSession = await update({ 20 | ...session, 21 | user: { ...session.user, name }, 22 | }) 23 | console.log({ newSession }) 24 | } 25 | }} 26 | className="flex items-center w-full max-w-sm space-x-2" 27 | > 28 | { 33 | setName(e.target.value) 34 | }} 35 | /> 36 | 37 |
38 | 39 | ) 40 | } 41 | 42 | export default function ClientExample() { 43 | const { data: session, status } = useSession() 44 | return ( 45 |
46 |

Client Side Rendering Usage

47 |

48 | This page fetches session data client side using the{" "} 49 | 50 | useSession 51 | {" "} 52 | React Hook. 53 |

54 | 55 | Protected Route 56 | 57 | 58 | {status === "loading" ? ( 59 |
Loading...
60 | ) : ( 61 | 62 | )} 63 | 64 |
65 | ) 66 | } 67 | -------------------------------------------------------------------------------- /components/custom-link.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils" 2 | import { ExternalLink } from "lucide-react" 3 | 4 | interface CustomLinkProps extends React.LinkHTMLAttributes { 5 | href: string 6 | } 7 | 8 | const CustomLink = ({ 9 | href, 10 | children, 11 | className, 12 | ...rest 13 | }: CustomLinkProps) => { 14 | const isInternalLink = href.startsWith("/") 15 | const isAnchorLink = href.startsWith("#") 16 | 17 | if (isInternalLink || isAnchorLink) { 18 | return ( 19 | 20 | {children} 21 | 22 | ) 23 | } 24 | 25 | return ( 26 | 33 | {children} 34 | 35 | 36 | ) 37 | } 38 | 39 | export default CustomLink 40 | -------------------------------------------------------------------------------- /components/footer.module.css: -------------------------------------------------------------------------------- 1 | .footer { 2 | margin-top: 2rem; 3 | } 4 | 5 | .navItems { 6 | margin-bottom: 1rem; 7 | padding: 0; 8 | list-style: none; 9 | } 10 | 11 | .navItem { 12 | display: inline-block; 13 | margin-right: 1rem; 14 | } 15 | -------------------------------------------------------------------------------- /components/footer.tsx: -------------------------------------------------------------------------------- 1 | import CustomLink from "./custom-link" 2 | 3 | export default function Footer() { 4 | return ( 5 | 14 | ) 15 | } 16 | -------------------------------------------------------------------------------- /components/header.module.css: -------------------------------------------------------------------------------- 1 | /* Set min-height to avoid page reflow while session loading */ 2 | .signedInStatus { 3 | display: block; 4 | min-height: 4rem; 5 | width: 100%; 6 | } 7 | 8 | .loading, 9 | .loaded { 10 | position: relative; 11 | top: 0; 12 | opacity: 1; 13 | overflow: hidden; 14 | border-radius: 0 0 0.6rem 0.6rem; 15 | padding: 0.6rem 1rem; 16 | margin: 0; 17 | background-color: rgba(0, 0, 0, 0.05); 18 | transition: all 0.2s ease-in; 19 | } 20 | 21 | .loading { 22 | top: -2rem; 23 | opacity: 0; 24 | } 25 | 26 | .signedInText, 27 | .notSignedInText { 28 | position: absolute; 29 | padding-top: 0.8rem; 30 | left: 1rem; 31 | right: 6.5rem; 32 | white-space: nowrap; 33 | text-overflow: ellipsis; 34 | overflow: hidden; 35 | display: inherit; 36 | z-index: 1; 37 | line-height: 1.3rem; 38 | } 39 | 40 | .signedInText { 41 | padding-top: 0rem; 42 | left: 4.6rem; 43 | } 44 | 45 | .avatar { 46 | border-radius: 2rem; 47 | float: left; 48 | height: 2.8rem; 49 | width: 2.8rem; 50 | background-color: white; 51 | background-size: cover; 52 | background-repeat: no-repeat; 53 | } 54 | 55 | .button, 56 | .buttonPrimary { 57 | float: right; 58 | margin-right: -0.4rem; 59 | font-weight: 500; 60 | border-radius: 0.3rem; 61 | cursor: pointer; 62 | font-size: 1rem; 63 | line-height: 1.4rem; 64 | padding: 0.7rem 0.8rem; 65 | position: relative; 66 | z-index: 10; 67 | background-color: transparent; 68 | color: #555; 69 | } 70 | 71 | .buttonPrimary { 72 | background-color: #346df1; 73 | border-color: #346df1; 74 | color: #fff; 75 | text-decoration: none; 76 | padding: 0.7rem 1.4rem; 77 | } 78 | 79 | .buttonPrimary:hover { 80 | box-shadow: inset 0 0 5rem rgba(0, 0, 0, 0.2); 81 | } 82 | 83 | .navItems { 84 | margin-bottom: 2rem; 85 | padding: 0; 86 | list-style: none; 87 | } 88 | 89 | .navItem { 90 | display: inline-block; 91 | margin-right: 1rem; 92 | } 93 | -------------------------------------------------------------------------------- /components/header.tsx: -------------------------------------------------------------------------------- 1 | import { MainNav } from "./main-nav" 2 | import UserButton from "./user-button" 3 | 4 | export default function Header() { 5 | return ( 6 |
7 |
8 | 9 | 10 |
11 |
12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /components/layout.tsx: -------------------------------------------------------------------------------- 1 | import Header from "./header" 2 | import Footer from "./footer" 3 | import type { ReactNode } from "react" 4 | 5 | export default function Layout({ children }: { children: ReactNode }) { 6 | return ( 7 |
8 |
9 |
10 | {children} 11 |
12 |
13 |
14 | ) 15 | } 16 | 17 | -------------------------------------------------------------------------------- /components/main-nav.tsx: -------------------------------------------------------------------------------- 1 | import CustomLink from "./custom-link" 2 | import React from "react" 3 | import { Button } from "./ui/button" 4 | 5 | export function MainNav() { 6 | return ( 7 |
8 | 9 | 12 | 13 |
14 | ) 15 | } 16 | 17 | -------------------------------------------------------------------------------- /components/main.tsx: -------------------------------------------------------------------------------- 1 | import ReactDOM from 'react-dom/client' 2 | import "../globals.css" 3 | 4 | import App from './App' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')!).render() -------------------------------------------------------------------------------- /components/session-data.tsx: -------------------------------------------------------------------------------- 1 | import type { Session } from "@auth/core/types" 2 | 3 | export default function SessionData({ session }: { session: Session | null }) { 4 | if (session?.user) { 5 | return ( 6 |
7 |

Current Session Data

8 | {Object.keys(session.user).length > 3 ? ( 9 |

10 | In this example, the whole session object is passed to the page, 11 | including the raw user object. Our recommendation is to{" "} 12 | only pass the necessary fields to the page, as the raw user 13 | object may contain sensitive information. 14 |

15 | ) : ( 16 |

17 | In this example, only some fields in the user object is passed to 18 | the page to avoid exposing sensitive information. 19 |

20 | )} 21 |
{JSON.stringify(session, null, 2)}
22 |
23 | ) 24 | } 25 | 26 | return ( 27 |

28 | No session data, please Sign In first. 29 |

30 | ) 31 | } 32 | -------------------------------------------------------------------------------- /components/ui/avatar.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import * as AvatarPrimitive from "@radix-ui/react-avatar" 3 | 4 | import { cn } from "@/lib/utils" 5 | 6 | const Avatar = React.forwardRef< 7 | React.ElementRef, 8 | React.ComponentPropsWithoutRef 9 | >(({ className, ...props }, ref) => ( 10 | 18 | )) 19 | Avatar.displayName = AvatarPrimitive.Root.displayName 20 | 21 | const AvatarImage = React.forwardRef< 22 | React.ElementRef, 23 | React.ComponentPropsWithoutRef 24 | >(({ className, ...props }, ref) => ( 25 | 30 | )) 31 | AvatarImage.displayName = AvatarPrimitive.Image.displayName 32 | 33 | const AvatarFallback = React.forwardRef< 34 | React.ElementRef, 35 | React.ComponentPropsWithoutRef 36 | >(({ className, ...props }, ref) => ( 37 | 45 | )) 46 | AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName 47 | 48 | export { Avatar, AvatarImage, AvatarFallback } 49 | -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { Slot } from "@radix-ui/react-slot" 3 | import { cva, type VariantProps } from "class-variance-authority" 4 | 5 | import { cn } from "@/lib/utils" 6 | 7 | const buttonVariants = cva( 8 | "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", 9 | { 10 | variants: { 11 | variant: { 12 | default: "bg-primary text-primary-foreground hover:bg-primary/90", 13 | destructive: 14 | "bg-destructive text-destructive-foreground hover:bg-destructive/90", 15 | outline: 16 | "border border-input bg-background hover:bg-accent hover:text-accent-foreground", 17 | secondary: 18 | "bg-secondary text-secondary-foreground hover:bg-secondary/80", 19 | ghost: "hover:bg-accent hover:text-accent-foreground", 20 | link: "text-primary underline-offset-4 hover:underline", 21 | }, 22 | size: { 23 | default: "h-10 px-4 py-2", 24 | sm: "h-9 rounded-md px-3", 25 | lg: "h-11 rounded-md px-8", 26 | icon: "h-10 w-10", 27 | }, 28 | }, 29 | defaultVariants: { 30 | variant: "default", 31 | size: "default", 32 | }, 33 | } 34 | ) 35 | 36 | export interface ButtonProps 37 | extends React.ButtonHTMLAttributes, 38 | VariantProps { 39 | asChild?: boolean 40 | } 41 | 42 | const Button = React.forwardRef( 43 | ({ className, variant, size, asChild = false, ...props }, ref) => { 44 | const Comp = asChild ? Slot : "button" 45 | return ( 46 | 51 | ) 52 | } 53 | ) 54 | Button.displayName = "Button" 55 | 56 | export { Button, buttonVariants } 57 | -------------------------------------------------------------------------------- /components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" 3 | import { Check, ChevronRight, Circle } from "lucide-react" 4 | 5 | import { cn } from "@/lib/utils" 6 | 7 | const DropdownMenu = DropdownMenuPrimitive.Root 8 | 9 | const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger 10 | 11 | const DropdownMenuGroup = DropdownMenuPrimitive.Group 12 | 13 | const DropdownMenuPortal = DropdownMenuPrimitive.Portal 14 | 15 | const DropdownMenuSub = DropdownMenuPrimitive.Sub 16 | 17 | const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup 18 | 19 | const DropdownMenuSubTrigger = React.forwardRef< 20 | React.ElementRef, 21 | React.ComponentPropsWithoutRef & { 22 | inset?: boolean 23 | } 24 | >(({ className, inset, children, ...props }, ref) => ( 25 | 34 | {children} 35 | 36 | 37 | )) 38 | DropdownMenuSubTrigger.displayName = 39 | DropdownMenuPrimitive.SubTrigger.displayName 40 | 41 | const DropdownMenuSubContent = React.forwardRef< 42 | React.ElementRef, 43 | React.ComponentPropsWithoutRef 44 | >(({ className, ...props }, ref) => ( 45 | 53 | )) 54 | DropdownMenuSubContent.displayName = 55 | DropdownMenuPrimitive.SubContent.displayName 56 | 57 | const DropdownMenuContent = React.forwardRef< 58 | React.ElementRef, 59 | React.ComponentPropsWithoutRef 60 | >(({ className, sideOffset = 4, ...props }, ref) => ( 61 | 62 | 71 | 72 | )) 73 | DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName 74 | 75 | const DropdownMenuItem = React.forwardRef< 76 | React.ElementRef, 77 | React.ComponentPropsWithoutRef & { 78 | inset?: boolean 79 | } 80 | >(({ className, inset, ...props }, ref) => ( 81 | 90 | )) 91 | DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName 92 | 93 | const DropdownMenuCheckboxItem = React.forwardRef< 94 | React.ElementRef, 95 | React.ComponentPropsWithoutRef 96 | >(({ className, children, checked, ...props }, ref) => ( 97 | 106 | 107 | 108 | 109 | 110 | 111 | {children} 112 | 113 | )) 114 | DropdownMenuCheckboxItem.displayName = 115 | DropdownMenuPrimitive.CheckboxItem.displayName 116 | 117 | const DropdownMenuRadioItem = React.forwardRef< 118 | React.ElementRef, 119 | React.ComponentPropsWithoutRef 120 | >(({ className, children, ...props }, ref) => ( 121 | 129 | 130 | 131 | 132 | 133 | 134 | {children} 135 | 136 | )) 137 | DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName 138 | 139 | const DropdownMenuLabel = React.forwardRef< 140 | React.ElementRef, 141 | React.ComponentPropsWithoutRef & { 142 | inset?: boolean 143 | } 144 | >(({ className, inset, ...props }, ref) => ( 145 | 154 | )) 155 | DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName 156 | 157 | const DropdownMenuSeparator = React.forwardRef< 158 | React.ElementRef, 159 | React.ComponentPropsWithoutRef 160 | >(({ className, ...props }, ref) => ( 161 | 166 | )) 167 | DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName 168 | 169 | const DropdownMenuShortcut = ({ 170 | className, 171 | ...props 172 | }: React.HTMLAttributes) => { 173 | return ( 174 | 178 | ) 179 | } 180 | DropdownMenuShortcut.displayName = "DropdownMenuShortcut" 181 | 182 | export { 183 | DropdownMenu, 184 | DropdownMenuTrigger, 185 | DropdownMenuContent, 186 | DropdownMenuItem, 187 | DropdownMenuCheckboxItem, 188 | DropdownMenuRadioItem, 189 | DropdownMenuLabel, 190 | DropdownMenuSeparator, 191 | DropdownMenuShortcut, 192 | DropdownMenuGroup, 193 | DropdownMenuPortal, 194 | DropdownMenuSub, 195 | DropdownMenuSubContent, 196 | DropdownMenuSubTrigger, 197 | DropdownMenuRadioGroup, 198 | } 199 | -------------------------------------------------------------------------------- /components/ui/input.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | export interface InputProps 6 | extends React.InputHTMLAttributes {} 7 | 8 | const Input = React.forwardRef( 9 | ({ className, type, ...props }, ref) => { 10 | return ( 11 | 20 | ) 21 | } 22 | ) 23 | Input.displayName = "Input" 24 | 25 | export { Input } 26 | -------------------------------------------------------------------------------- /components/ui/navigation-menu.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu" 3 | import { cva } from "class-variance-authority" 4 | import { ChevronDown } from "lucide-react" 5 | 6 | import { cn } from "@/lib/utils" 7 | 8 | const NavigationMenu = React.forwardRef< 9 | React.ElementRef, 10 | React.ComponentPropsWithoutRef 11 | >(({ className, children, ...props }, ref) => ( 12 | 20 | {children} 21 | 22 | 23 | )) 24 | NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName 25 | 26 | const NavigationMenuList = React.forwardRef< 27 | React.ElementRef, 28 | React.ComponentPropsWithoutRef 29 | >(({ className, ...props }, ref) => ( 30 | 38 | )) 39 | NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName 40 | 41 | const NavigationMenuItem = NavigationMenuPrimitive.Item 42 | 43 | const navigationMenuTriggerStyle = cva( 44 | "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" 45 | ) 46 | 47 | const NavigationMenuTrigger = React.forwardRef< 48 | React.ElementRef, 49 | React.ComponentPropsWithoutRef 50 | >(({ className, children, ...props }, ref) => ( 51 | 56 | {children}{" "} 57 | 62 | )) 63 | NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName 64 | 65 | const NavigationMenuContent = React.forwardRef< 66 | React.ElementRef, 67 | React.ComponentPropsWithoutRef 68 | >(({ className, ...props }, ref) => ( 69 | 77 | )) 78 | NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName 79 | 80 | const NavigationMenuLink = NavigationMenuPrimitive.Link 81 | 82 | const NavigationMenuViewport = React.forwardRef< 83 | React.ElementRef, 84 | React.ComponentPropsWithoutRef 85 | >(({ className, ...props }, ref) => ( 86 |
87 | 95 |
96 | )) 97 | NavigationMenuViewport.displayName = 98 | NavigationMenuPrimitive.Viewport.displayName 99 | 100 | const NavigationMenuIndicator = React.forwardRef< 101 | React.ElementRef, 102 | React.ComponentPropsWithoutRef 103 | >(({ className, ...props }, ref) => ( 104 | 112 |
113 | 114 | )) 115 | NavigationMenuIndicator.displayName = 116 | NavigationMenuPrimitive.Indicator.displayName 117 | 118 | export { 119 | navigationMenuTriggerStyle, 120 | NavigationMenu, 121 | NavigationMenuList, 122 | NavigationMenuItem, 123 | NavigationMenuContent, 124 | NavigationMenuTrigger, 125 | NavigationMenuLink, 126 | NavigationMenuIndicator, 127 | NavigationMenuViewport, 128 | } 129 | -------------------------------------------------------------------------------- /components/user-button.tsx: -------------------------------------------------------------------------------- 1 | import { Avatar, AvatarFallback, AvatarImage } from "./ui/avatar"; 2 | import { Button } from "./ui/button"; 3 | import { 4 | DropdownMenu, 5 | DropdownMenuContent, 6 | DropdownMenuItem, 7 | DropdownMenuLabel, 8 | DropdownMenuTrigger, 9 | } from "./ui/dropdown-menu"; 10 | import { 11 | authConfigManager, 12 | signIn, 13 | signOut, 14 | useSession, 15 | } from "@hono/auth-js/react"; 16 | import { useOauthPopupLogin } from "@hono/auth-js/react"; 17 | import { useEffect } from "react"; 18 | 19 | export default function UserButton() { 20 | const { data: session } = useSession(); 21 | 22 | const { popUpSignin, status } = useOauthPopupLogin("github", { 23 | callbackUrl: "/auth/success", 24 | }); 25 | 26 | useEffect(() => { 27 | if (status === "success") { 28 | authConfigManager.getConfig().fetchSession({ event: "refetch" }); 29 | } 30 | }, [status]); 31 | 32 | return ( 33 | <> 34 | {!session ? ( 35 |
36 | 37 | 38 |
39 | ) : ( 40 | 41 | 42 | 53 | 54 | 55 | 56 |
57 |

58 | {session.user?.name} 59 |

60 |

61 | {session?.user?.email} 62 |

63 |
64 |
65 | 66 | 73 | 74 |
75 |
76 | )} 77 | 78 | ); 79 | } 80 | -------------------------------------------------------------------------------- /functions/api/[[route]].ts: -------------------------------------------------------------------------------- 1 | import { handle } from "hono/cloudflare-pages" 2 | import app from "@/api" 3 | export const onRequest = handle(app) -------------------------------------------------------------------------------- /globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer base { 6 | :root { 7 | --background: 0 0% 100%; 8 | --foreground: 222.2 84% 4.9%; 9 | 10 | --card: 0 0% 100%; 11 | --card-foreground: 222.2 84% 4.9%; 12 | 13 | --popover: 0 0% 100%; 14 | --popover-foreground: 222.2 84% 4.9%; 15 | 16 | --primary: 222.2 47.4% 11.2%; 17 | --primary-foreground: 210 40% 98%; 18 | 19 | --secondary: 210 40% 96.1%; 20 | --secondary-foreground: 222.2 47.4% 11.2%; 21 | 22 | --muted: 210 40% 96.1%; 23 | --muted-foreground: 215.4 16.3% 46.9%; 24 | 25 | --accent: 210 40% 96.1%; 26 | --accent-foreground: 222.2 47.4% 11.2%; 27 | 28 | --destructive: 0 84.2% 60.2%; 29 | --destructive-foreground: 210 40% 98%; 30 | 31 | --border: 214.3 31.8% 91.4%; 32 | --input: 214.3 31.8% 91.4%; 33 | --ring: 222.2 84% 4.9%; 34 | 35 | --radius: 0.5rem; 36 | } 37 | 38 | .dark { 39 | --background: 222.2 84% 4.9%; 40 | --foreground: 210 40% 98%; 41 | 42 | --card: 222.2 84% 4.9%; 43 | --card-foreground: 210 40% 98%; 44 | 45 | --popover: 222.2 84% 4.9%; 46 | --popover-foreground: 210 40% 98%; 47 | 48 | --primary: 210 40% 98%; 49 | --primary-foreground: 222.2 47.4% 11.2%; 50 | 51 | --secondary: 217.2 32.6% 17.5%; 52 | --secondary-foreground: 210 40% 98%; 53 | 54 | --muted: 217.2 32.6% 17.5%; 55 | --muted-foreground: 215 20.2% 65.1%; 56 | 57 | --accent: 217.2 32.6% 17.5%; 58 | --accent-foreground: 210 40% 98%; 59 | 60 | --destructive: 0 62.8% 30.6%; 61 | --destructive-foreground: 210 40% 98%; 62 | 63 | --border: 217.2 32.6% 17.5%; 64 | --input: 217.2 32.6% 17.5%; 65 | --ring: 212.7 26.8% 83.9%; 66 | } 67 | } 68 | 69 | @layer base { 70 | * { 71 | @apply border-border; 72 | } 73 | body { 74 | @apply bg-background text-foreground; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Auth.js Hono 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "description": "An example project for NextAuth.js with Next.js", 4 | "repository": "https://github.com/nextauthjs/next-auth-example.git", 5 | "bugs": { 6 | "url": "https://github.com/nextauthjs/next-auth/issues" 7 | }, 8 | "homepage": "https://next-auth-example.vercel.app", 9 | "scripts": { 10 | "dev": "vite", 11 | "build": "vite build", 12 | "dev:esbuild": "esbuild --bundle api.ts --format=esm --watch --outfile=dist/_worker.js", 13 | "dev:wrangler": "wrangler pages dev dist --port 5000", 14 | "update": "pnpm up --latest" 15 | }, 16 | "author": "Iain Collins ", 17 | "contributors": [ 18 | "Balázs Orbán ", 19 | "Nico Domino ", 20 | "Lluis Agusti ", 21 | "Thang Huu Vu " 22 | ], 23 | "dependencies": { 24 | "@auth/core": "^0.35.0", 25 | "@hono/auth-js": "^1.0.13", 26 | "@radix-ui/react-avatar": "^1.1.1", 27 | "@radix-ui/react-collapsible": "^1.1.1", 28 | "@radix-ui/react-dropdown-menu": "^2.1.2", 29 | "@radix-ui/react-navigation-menu": "^1.2.1", 30 | "@radix-ui/react-slot": "^1.1.0", 31 | "class-variance-authority": "^0.7.0", 32 | "clsx": "^2.1.1", 33 | "hono": "^4.6.6", 34 | "lucide-react": "^0.453.0", 35 | "react": "^18.3.1", 36 | "react-dom": "^18.3.1", 37 | "tailwind-merge": "^2.5.4", 38 | "tailwindcss-animate": "^1.0.7", 39 | "wouter": "^3.3.5" 40 | }, 41 | "devDependencies": { 42 | "@types/node": "^22.7.9", 43 | "@types/react": "^18.3.12", 44 | "@types/react-dom": "^18.3.1", 45 | "@vitejs/plugin-react": "^4.3.3", 46 | "autoprefixer": "^10.4.20", 47 | "postcss": "^8.4.47", 48 | "tailwindcss": "^3.4.14", 49 | "typescript": "^5.6.3", 50 | "vite": "^5.4.10", 51 | "vite-tsconfig-paths": "^5.0.1", 52 | "wrangler": "^3.83.0" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@auth/core': 12 | specifier: ^0.35.0 13 | version: 0.35.3 14 | '@hono/auth-js': 15 | specifier: ^1.0.13 16 | version: 1.0.13(@auth/core@0.35.3)(hono@4.6.6)(react@18.3.1) 17 | '@radix-ui/react-avatar': 18 | specifier: ^1.1.1 19 | version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 20 | '@radix-ui/react-collapsible': 21 | specifier: ^1.1.1 22 | version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 23 | '@radix-ui/react-dropdown-menu': 24 | specifier: ^2.1.2 25 | version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 26 | '@radix-ui/react-navigation-menu': 27 | specifier: ^1.2.1 28 | version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 29 | '@radix-ui/react-slot': 30 | specifier: ^1.1.0 31 | version: 1.1.0(@types/react@18.3.12)(react@18.3.1) 32 | class-variance-authority: 33 | specifier: ^0.7.0 34 | version: 0.7.0 35 | clsx: 36 | specifier: ^2.1.1 37 | version: 2.1.1 38 | hono: 39 | specifier: ^4.6.6 40 | version: 4.6.6 41 | lucide-react: 42 | specifier: ^0.453.0 43 | version: 0.453.0(react@18.3.1) 44 | react: 45 | specifier: ^18.3.1 46 | version: 18.3.1 47 | react-dom: 48 | specifier: ^18.3.1 49 | version: 18.3.1(react@18.3.1) 50 | tailwind-merge: 51 | specifier: ^2.5.4 52 | version: 2.5.4 53 | tailwindcss-animate: 54 | specifier: ^1.0.7 55 | version: 1.0.7(tailwindcss@3.4.14) 56 | wouter: 57 | specifier: ^3.3.5 58 | version: 3.3.5(react@18.3.1) 59 | devDependencies: 60 | '@types/node': 61 | specifier: ^22.7.9 62 | version: 22.7.9 63 | '@types/react': 64 | specifier: ^18.3.12 65 | version: 18.3.12 66 | '@types/react-dom': 67 | specifier: ^18.3.1 68 | version: 18.3.1 69 | '@vitejs/plugin-react': 70 | specifier: ^4.3.3 71 | version: 4.3.3(vite@5.4.10(@types/node@22.7.9)) 72 | autoprefixer: 73 | specifier: ^10.4.20 74 | version: 10.4.20(postcss@8.4.47) 75 | postcss: 76 | specifier: ^8.4.47 77 | version: 8.4.47 78 | tailwindcss: 79 | specifier: ^3.4.14 80 | version: 3.4.14 81 | typescript: 82 | specifier: ^5.6.3 83 | version: 5.6.3 84 | vite: 85 | specifier: ^5.4.10 86 | version: 5.4.10(@types/node@22.7.9) 87 | vite-tsconfig-paths: 88 | specifier: ^5.0.1 89 | version: 5.0.1(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)) 90 | wrangler: 91 | specifier: ^3.83.0 92 | version: 3.83.0 93 | 94 | packages: 95 | 96 | '@alloc/quick-lru@5.2.0': 97 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 98 | engines: {node: '>=10'} 99 | 100 | '@ampproject/remapping@2.3.0': 101 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 102 | engines: {node: '>=6.0.0'} 103 | 104 | '@auth/core@0.35.3': 105 | resolution: {integrity: sha512-g6qfiqU4OtyvIEZ8J7UoIwAxEnNnLJV0/f/DW41U+4G5nhBlaCrnKhawJIJpU0D3uavXLeDT3B0BkjtiimvMDA==} 106 | peerDependencies: 107 | '@simplewebauthn/browser': ^9.0.1 108 | '@simplewebauthn/server': ^9.0.2 109 | nodemailer: ^6.8.0 110 | peerDependenciesMeta: 111 | '@simplewebauthn/browser': 112 | optional: true 113 | '@simplewebauthn/server': 114 | optional: true 115 | nodemailer: 116 | optional: true 117 | 118 | '@babel/code-frame@7.25.9': 119 | resolution: {integrity: sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==} 120 | engines: {node: '>=6.9.0'} 121 | 122 | '@babel/compat-data@7.25.9': 123 | resolution: {integrity: sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==} 124 | engines: {node: '>=6.9.0'} 125 | 126 | '@babel/core@7.25.9': 127 | resolution: {integrity: sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==} 128 | engines: {node: '>=6.9.0'} 129 | 130 | '@babel/generator@7.25.9': 131 | resolution: {integrity: sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==} 132 | engines: {node: '>=6.9.0'} 133 | 134 | '@babel/helper-compilation-targets@7.25.9': 135 | resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} 136 | engines: {node: '>=6.9.0'} 137 | 138 | '@babel/helper-module-imports@7.25.9': 139 | resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} 140 | engines: {node: '>=6.9.0'} 141 | 142 | '@babel/helper-module-transforms@7.25.9': 143 | resolution: {integrity: sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA==} 144 | engines: {node: '>=6.9.0'} 145 | peerDependencies: 146 | '@babel/core': ^7.0.0 147 | 148 | '@babel/helper-plugin-utils@7.25.9': 149 | resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} 150 | engines: {node: '>=6.9.0'} 151 | 152 | '@babel/helper-simple-access@7.25.9': 153 | resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} 154 | engines: {node: '>=6.9.0'} 155 | 156 | '@babel/helper-string-parser@7.25.9': 157 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} 158 | engines: {node: '>=6.9.0'} 159 | 160 | '@babel/helper-validator-identifier@7.25.9': 161 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 162 | engines: {node: '>=6.9.0'} 163 | 164 | '@babel/helper-validator-option@7.25.9': 165 | resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} 166 | engines: {node: '>=6.9.0'} 167 | 168 | '@babel/helpers@7.25.9': 169 | resolution: {integrity: sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g==} 170 | engines: {node: '>=6.9.0'} 171 | 172 | '@babel/highlight@7.25.9': 173 | resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} 174 | engines: {node: '>=6.9.0'} 175 | 176 | '@babel/parser@7.25.9': 177 | resolution: {integrity: sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==} 178 | engines: {node: '>=6.0.0'} 179 | hasBin: true 180 | 181 | '@babel/plugin-transform-react-jsx-self@7.25.9': 182 | resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} 183 | engines: {node: '>=6.9.0'} 184 | peerDependencies: 185 | '@babel/core': ^7.0.0-0 186 | 187 | '@babel/plugin-transform-react-jsx-source@7.25.9': 188 | resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} 189 | engines: {node: '>=6.9.0'} 190 | peerDependencies: 191 | '@babel/core': ^7.0.0-0 192 | 193 | '@babel/template@7.25.9': 194 | resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} 195 | engines: {node: '>=6.9.0'} 196 | 197 | '@babel/traverse@7.25.9': 198 | resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} 199 | engines: {node: '>=6.9.0'} 200 | 201 | '@babel/types@7.25.9': 202 | resolution: {integrity: sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==} 203 | engines: {node: '>=6.9.0'} 204 | 205 | '@cloudflare/kv-asset-handler@0.3.4': 206 | resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} 207 | engines: {node: '>=16.13'} 208 | 209 | '@cloudflare/workerd-darwin-64@1.20241022.0': 210 | resolution: {integrity: sha512-1NNYun37myMTgCUiPQEJ0cMal4mKZVTpkD0b2tx9hV70xji+frVJcSK8YVLeUm1P+Rw1d/ct8DMgQuCpsz3Fsw==} 211 | engines: {node: '>=16'} 212 | cpu: [x64] 213 | os: [darwin] 214 | 215 | '@cloudflare/workerd-darwin-arm64@1.20241022.0': 216 | resolution: {integrity: sha512-FOO/0P0U82EsTLTdweNVgw+4VOk5nghExLPLSppdOziq6IR5HVgP44Kmq5LdsUeHUhwUmfOh9hzaTpkNzUqKvw==} 217 | engines: {node: '>=16'} 218 | cpu: [arm64] 219 | os: [darwin] 220 | 221 | '@cloudflare/workerd-linux-64@1.20241022.0': 222 | resolution: {integrity: sha512-RsNc19BQJG9yd+ngnjuDeG9ywZG+7t1L4JeglgceyY5ViMNMKVO7Zpbsu69kXslU9h6xyQG+lrmclg3cBpnhYA==} 223 | engines: {node: '>=16'} 224 | cpu: [x64] 225 | os: [linux] 226 | 227 | '@cloudflare/workerd-linux-arm64@1.20241022.0': 228 | resolution: {integrity: sha512-x5mUXpKxfsosxcFmcq5DaqLs37PejHYVRsNz1cWI59ma7aC4y4Qn6Tf3i0r9MwQTF/MccP4SjVslMU6m4W7IaA==} 229 | engines: {node: '>=16'} 230 | cpu: [arm64] 231 | os: [linux] 232 | 233 | '@cloudflare/workerd-windows-64@1.20241022.0': 234 | resolution: {integrity: sha512-eBCClx4szCOgKqOlxxbdNszMqQf3MRG1B9BRIqEM/diDfdR9IrZ8l3FaEm+l9gXgPmS6m1NBn40aWuGBl8UTSw==} 235 | engines: {node: '>=16'} 236 | cpu: [x64] 237 | os: [win32] 238 | 239 | '@cloudflare/workers-shared@0.7.0': 240 | resolution: {integrity: sha512-LLQRTqx7lKC7o2eCYMpyc5FXV8d0pUX6r3A+agzhqS9aoR5A6zCPefwQGcvbKx83ozX22ATZcemwxQXn12UofQ==} 241 | engines: {node: '>=16.7.0'} 242 | 243 | '@cspotcode/source-map-support@0.8.1': 244 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 245 | engines: {node: '>=12'} 246 | 247 | '@esbuild-plugins/node-globals-polyfill@0.2.3': 248 | resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} 249 | peerDependencies: 250 | esbuild: '*' 251 | 252 | '@esbuild-plugins/node-modules-polyfill@0.2.2': 253 | resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} 254 | peerDependencies: 255 | esbuild: '*' 256 | 257 | '@esbuild/aix-ppc64@0.21.5': 258 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 259 | engines: {node: '>=12'} 260 | cpu: [ppc64] 261 | os: [aix] 262 | 263 | '@esbuild/android-arm64@0.17.19': 264 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} 265 | engines: {node: '>=12'} 266 | cpu: [arm64] 267 | os: [android] 268 | 269 | '@esbuild/android-arm64@0.21.5': 270 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 271 | engines: {node: '>=12'} 272 | cpu: [arm64] 273 | os: [android] 274 | 275 | '@esbuild/android-arm@0.17.19': 276 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} 277 | engines: {node: '>=12'} 278 | cpu: [arm] 279 | os: [android] 280 | 281 | '@esbuild/android-arm@0.21.5': 282 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 283 | engines: {node: '>=12'} 284 | cpu: [arm] 285 | os: [android] 286 | 287 | '@esbuild/android-x64@0.17.19': 288 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} 289 | engines: {node: '>=12'} 290 | cpu: [x64] 291 | os: [android] 292 | 293 | '@esbuild/android-x64@0.21.5': 294 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 295 | engines: {node: '>=12'} 296 | cpu: [x64] 297 | os: [android] 298 | 299 | '@esbuild/darwin-arm64@0.17.19': 300 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} 301 | engines: {node: '>=12'} 302 | cpu: [arm64] 303 | os: [darwin] 304 | 305 | '@esbuild/darwin-arm64@0.21.5': 306 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 307 | engines: {node: '>=12'} 308 | cpu: [arm64] 309 | os: [darwin] 310 | 311 | '@esbuild/darwin-x64@0.17.19': 312 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} 313 | engines: {node: '>=12'} 314 | cpu: [x64] 315 | os: [darwin] 316 | 317 | '@esbuild/darwin-x64@0.21.5': 318 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 319 | engines: {node: '>=12'} 320 | cpu: [x64] 321 | os: [darwin] 322 | 323 | '@esbuild/freebsd-arm64@0.17.19': 324 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} 325 | engines: {node: '>=12'} 326 | cpu: [arm64] 327 | os: [freebsd] 328 | 329 | '@esbuild/freebsd-arm64@0.21.5': 330 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 331 | engines: {node: '>=12'} 332 | cpu: [arm64] 333 | os: [freebsd] 334 | 335 | '@esbuild/freebsd-x64@0.17.19': 336 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} 337 | engines: {node: '>=12'} 338 | cpu: [x64] 339 | os: [freebsd] 340 | 341 | '@esbuild/freebsd-x64@0.21.5': 342 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 343 | engines: {node: '>=12'} 344 | cpu: [x64] 345 | os: [freebsd] 346 | 347 | '@esbuild/linux-arm64@0.17.19': 348 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} 349 | engines: {node: '>=12'} 350 | cpu: [arm64] 351 | os: [linux] 352 | 353 | '@esbuild/linux-arm64@0.21.5': 354 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 355 | engines: {node: '>=12'} 356 | cpu: [arm64] 357 | os: [linux] 358 | 359 | '@esbuild/linux-arm@0.17.19': 360 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} 361 | engines: {node: '>=12'} 362 | cpu: [arm] 363 | os: [linux] 364 | 365 | '@esbuild/linux-arm@0.21.5': 366 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 367 | engines: {node: '>=12'} 368 | cpu: [arm] 369 | os: [linux] 370 | 371 | '@esbuild/linux-ia32@0.17.19': 372 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} 373 | engines: {node: '>=12'} 374 | cpu: [ia32] 375 | os: [linux] 376 | 377 | '@esbuild/linux-ia32@0.21.5': 378 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 379 | engines: {node: '>=12'} 380 | cpu: [ia32] 381 | os: [linux] 382 | 383 | '@esbuild/linux-loong64@0.17.19': 384 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} 385 | engines: {node: '>=12'} 386 | cpu: [loong64] 387 | os: [linux] 388 | 389 | '@esbuild/linux-loong64@0.21.5': 390 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 391 | engines: {node: '>=12'} 392 | cpu: [loong64] 393 | os: [linux] 394 | 395 | '@esbuild/linux-mips64el@0.17.19': 396 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} 397 | engines: {node: '>=12'} 398 | cpu: [mips64el] 399 | os: [linux] 400 | 401 | '@esbuild/linux-mips64el@0.21.5': 402 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 403 | engines: {node: '>=12'} 404 | cpu: [mips64el] 405 | os: [linux] 406 | 407 | '@esbuild/linux-ppc64@0.17.19': 408 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} 409 | engines: {node: '>=12'} 410 | cpu: [ppc64] 411 | os: [linux] 412 | 413 | '@esbuild/linux-ppc64@0.21.5': 414 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 415 | engines: {node: '>=12'} 416 | cpu: [ppc64] 417 | os: [linux] 418 | 419 | '@esbuild/linux-riscv64@0.17.19': 420 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} 421 | engines: {node: '>=12'} 422 | cpu: [riscv64] 423 | os: [linux] 424 | 425 | '@esbuild/linux-riscv64@0.21.5': 426 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 427 | engines: {node: '>=12'} 428 | cpu: [riscv64] 429 | os: [linux] 430 | 431 | '@esbuild/linux-s390x@0.17.19': 432 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} 433 | engines: {node: '>=12'} 434 | cpu: [s390x] 435 | os: [linux] 436 | 437 | '@esbuild/linux-s390x@0.21.5': 438 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 439 | engines: {node: '>=12'} 440 | cpu: [s390x] 441 | os: [linux] 442 | 443 | '@esbuild/linux-x64@0.17.19': 444 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} 445 | engines: {node: '>=12'} 446 | cpu: [x64] 447 | os: [linux] 448 | 449 | '@esbuild/linux-x64@0.21.5': 450 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 451 | engines: {node: '>=12'} 452 | cpu: [x64] 453 | os: [linux] 454 | 455 | '@esbuild/netbsd-x64@0.17.19': 456 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} 457 | engines: {node: '>=12'} 458 | cpu: [x64] 459 | os: [netbsd] 460 | 461 | '@esbuild/netbsd-x64@0.21.5': 462 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 463 | engines: {node: '>=12'} 464 | cpu: [x64] 465 | os: [netbsd] 466 | 467 | '@esbuild/openbsd-x64@0.17.19': 468 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} 469 | engines: {node: '>=12'} 470 | cpu: [x64] 471 | os: [openbsd] 472 | 473 | '@esbuild/openbsd-x64@0.21.5': 474 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 475 | engines: {node: '>=12'} 476 | cpu: [x64] 477 | os: [openbsd] 478 | 479 | '@esbuild/sunos-x64@0.17.19': 480 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} 481 | engines: {node: '>=12'} 482 | cpu: [x64] 483 | os: [sunos] 484 | 485 | '@esbuild/sunos-x64@0.21.5': 486 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 487 | engines: {node: '>=12'} 488 | cpu: [x64] 489 | os: [sunos] 490 | 491 | '@esbuild/win32-arm64@0.17.19': 492 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} 493 | engines: {node: '>=12'} 494 | cpu: [arm64] 495 | os: [win32] 496 | 497 | '@esbuild/win32-arm64@0.21.5': 498 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 499 | engines: {node: '>=12'} 500 | cpu: [arm64] 501 | os: [win32] 502 | 503 | '@esbuild/win32-ia32@0.17.19': 504 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} 505 | engines: {node: '>=12'} 506 | cpu: [ia32] 507 | os: [win32] 508 | 509 | '@esbuild/win32-ia32@0.21.5': 510 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 511 | engines: {node: '>=12'} 512 | cpu: [ia32] 513 | os: [win32] 514 | 515 | '@esbuild/win32-x64@0.17.19': 516 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} 517 | engines: {node: '>=12'} 518 | cpu: [x64] 519 | os: [win32] 520 | 521 | '@esbuild/win32-x64@0.21.5': 522 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 523 | engines: {node: '>=12'} 524 | cpu: [x64] 525 | os: [win32] 526 | 527 | '@fastify/busboy@2.1.1': 528 | resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} 529 | engines: {node: '>=14'} 530 | 531 | '@floating-ui/core@1.6.8': 532 | resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} 533 | 534 | '@floating-ui/dom@1.6.11': 535 | resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} 536 | 537 | '@floating-ui/react-dom@2.1.2': 538 | resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} 539 | peerDependencies: 540 | react: '>=16.8.0' 541 | react-dom: '>=16.8.0' 542 | 543 | '@floating-ui/utils@0.2.8': 544 | resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} 545 | 546 | '@hono/auth-js@1.0.13': 547 | resolution: {integrity: sha512-EDA7zm6WBtP+TEv42WmaXFHZl23/4v7OxNE/9ipBxFtIMlgdrbjpOgQw91c868LenCjleuQfD3hyIjen7SnWxA==} 548 | engines: {node: '>=18.4.0'} 549 | peerDependencies: 550 | '@auth/core': 0.* 551 | hono: '>=3.*' 552 | react: '>=18' 553 | 554 | '@isaacs/cliui@8.0.2': 555 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 556 | engines: {node: '>=12'} 557 | 558 | '@jridgewell/gen-mapping@0.3.5': 559 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 560 | engines: {node: '>=6.0.0'} 561 | 562 | '@jridgewell/resolve-uri@3.1.2': 563 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 564 | engines: {node: '>=6.0.0'} 565 | 566 | '@jridgewell/set-array@1.2.1': 567 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 568 | engines: {node: '>=6.0.0'} 569 | 570 | '@jridgewell/sourcemap-codec@1.5.0': 571 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 572 | 573 | '@jridgewell/trace-mapping@0.3.25': 574 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 575 | 576 | '@jridgewell/trace-mapping@0.3.9': 577 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 578 | 579 | '@nodelib/fs.scandir@2.1.5': 580 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 581 | engines: {node: '>= 8'} 582 | 583 | '@nodelib/fs.stat@2.0.5': 584 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 585 | engines: {node: '>= 8'} 586 | 587 | '@nodelib/fs.walk@1.2.8': 588 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 589 | engines: {node: '>= 8'} 590 | 591 | '@panva/hkdf@1.2.1': 592 | resolution: {integrity: sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==} 593 | 594 | '@pkgjs/parseargs@0.11.0': 595 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 596 | engines: {node: '>=14'} 597 | 598 | '@radix-ui/primitive@1.1.0': 599 | resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} 600 | 601 | '@radix-ui/react-arrow@1.1.0': 602 | resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==} 603 | peerDependencies: 604 | '@types/react': '*' 605 | '@types/react-dom': '*' 606 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 607 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 608 | peerDependenciesMeta: 609 | '@types/react': 610 | optional: true 611 | '@types/react-dom': 612 | optional: true 613 | 614 | '@radix-ui/react-avatar@1.1.1': 615 | resolution: {integrity: sha512-eoOtThOmxeoizxpX6RiEsQZ2wj5r4+zoeqAwO0cBaFQGjJwIH3dIX0OCxNrCyrrdxG+vBweMETh3VziQG7c1kw==} 616 | peerDependencies: 617 | '@types/react': '*' 618 | '@types/react-dom': '*' 619 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 620 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 621 | peerDependenciesMeta: 622 | '@types/react': 623 | optional: true 624 | '@types/react-dom': 625 | optional: true 626 | 627 | '@radix-ui/react-collapsible@1.1.1': 628 | resolution: {integrity: sha512-1///SnrfQHJEofLokyczERxQbWfCGQlQ2XsCZMucVs6it+lq9iw4vXy+uDn1edlb58cOZOWSldnfPAYcT4O/Yg==} 629 | peerDependencies: 630 | '@types/react': '*' 631 | '@types/react-dom': '*' 632 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 633 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 634 | peerDependenciesMeta: 635 | '@types/react': 636 | optional: true 637 | '@types/react-dom': 638 | optional: true 639 | 640 | '@radix-ui/react-collection@1.1.0': 641 | resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} 642 | peerDependencies: 643 | '@types/react': '*' 644 | '@types/react-dom': '*' 645 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 646 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 647 | peerDependenciesMeta: 648 | '@types/react': 649 | optional: true 650 | '@types/react-dom': 651 | optional: true 652 | 653 | '@radix-ui/react-compose-refs@1.1.0': 654 | resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} 655 | peerDependencies: 656 | '@types/react': '*' 657 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 658 | peerDependenciesMeta: 659 | '@types/react': 660 | optional: true 661 | 662 | '@radix-ui/react-context@1.1.0': 663 | resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} 664 | peerDependencies: 665 | '@types/react': '*' 666 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 667 | peerDependenciesMeta: 668 | '@types/react': 669 | optional: true 670 | 671 | '@radix-ui/react-context@1.1.1': 672 | resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} 673 | peerDependencies: 674 | '@types/react': '*' 675 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 676 | peerDependenciesMeta: 677 | '@types/react': 678 | optional: true 679 | 680 | '@radix-ui/react-direction@1.1.0': 681 | resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} 682 | peerDependencies: 683 | '@types/react': '*' 684 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 685 | peerDependenciesMeta: 686 | '@types/react': 687 | optional: true 688 | 689 | '@radix-ui/react-dismissable-layer@1.1.1': 690 | resolution: {integrity: sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==} 691 | peerDependencies: 692 | '@types/react': '*' 693 | '@types/react-dom': '*' 694 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 695 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 696 | peerDependenciesMeta: 697 | '@types/react': 698 | optional: true 699 | '@types/react-dom': 700 | optional: true 701 | 702 | '@radix-ui/react-dropdown-menu@2.1.2': 703 | resolution: {integrity: sha512-GVZMR+eqK8/Kes0a36Qrv+i20bAPXSn8rCBTHx30w+3ECnR5o3xixAlqcVaYvLeyKUsm0aqyhWfmUcqufM8nYA==} 704 | peerDependencies: 705 | '@types/react': '*' 706 | '@types/react-dom': '*' 707 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 708 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 709 | peerDependenciesMeta: 710 | '@types/react': 711 | optional: true 712 | '@types/react-dom': 713 | optional: true 714 | 715 | '@radix-ui/react-focus-guards@1.1.1': 716 | resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} 717 | peerDependencies: 718 | '@types/react': '*' 719 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 720 | peerDependenciesMeta: 721 | '@types/react': 722 | optional: true 723 | 724 | '@radix-ui/react-focus-scope@1.1.0': 725 | resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} 726 | peerDependencies: 727 | '@types/react': '*' 728 | '@types/react-dom': '*' 729 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 730 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 731 | peerDependenciesMeta: 732 | '@types/react': 733 | optional: true 734 | '@types/react-dom': 735 | optional: true 736 | 737 | '@radix-ui/react-id@1.1.0': 738 | resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} 739 | peerDependencies: 740 | '@types/react': '*' 741 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 742 | peerDependenciesMeta: 743 | '@types/react': 744 | optional: true 745 | 746 | '@radix-ui/react-menu@2.1.2': 747 | resolution: {integrity: sha512-lZ0R4qR2Al6fZ4yCCZzu/ReTFrylHFxIqy7OezIpWF4bL0o9biKo0pFIvkaew3TyZ9Fy5gYVrR5zCGZBVbO1zg==} 748 | peerDependencies: 749 | '@types/react': '*' 750 | '@types/react-dom': '*' 751 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 752 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 753 | peerDependenciesMeta: 754 | '@types/react': 755 | optional: true 756 | '@types/react-dom': 757 | optional: true 758 | 759 | '@radix-ui/react-navigation-menu@1.2.1': 760 | resolution: {integrity: sha512-egDo0yJD2IK8L17gC82vptkvW1jLeni1VuqCyzY727dSJdk5cDjINomouLoNk8RVF7g2aNIfENKWL4UzeU9c8Q==} 761 | peerDependencies: 762 | '@types/react': '*' 763 | '@types/react-dom': '*' 764 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 765 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 766 | peerDependenciesMeta: 767 | '@types/react': 768 | optional: true 769 | '@types/react-dom': 770 | optional: true 771 | 772 | '@radix-ui/react-popper@1.2.0': 773 | resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==} 774 | peerDependencies: 775 | '@types/react': '*' 776 | '@types/react-dom': '*' 777 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 778 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 779 | peerDependenciesMeta: 780 | '@types/react': 781 | optional: true 782 | '@types/react-dom': 783 | optional: true 784 | 785 | '@radix-ui/react-portal@1.1.2': 786 | resolution: {integrity: sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==} 787 | peerDependencies: 788 | '@types/react': '*' 789 | '@types/react-dom': '*' 790 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 791 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 792 | peerDependenciesMeta: 793 | '@types/react': 794 | optional: true 795 | '@types/react-dom': 796 | optional: true 797 | 798 | '@radix-ui/react-presence@1.1.1': 799 | resolution: {integrity: sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==} 800 | peerDependencies: 801 | '@types/react': '*' 802 | '@types/react-dom': '*' 803 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 804 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 805 | peerDependenciesMeta: 806 | '@types/react': 807 | optional: true 808 | '@types/react-dom': 809 | optional: true 810 | 811 | '@radix-ui/react-primitive@2.0.0': 812 | resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} 813 | peerDependencies: 814 | '@types/react': '*' 815 | '@types/react-dom': '*' 816 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 817 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 818 | peerDependenciesMeta: 819 | '@types/react': 820 | optional: true 821 | '@types/react-dom': 822 | optional: true 823 | 824 | '@radix-ui/react-roving-focus@1.1.0': 825 | resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==} 826 | peerDependencies: 827 | '@types/react': '*' 828 | '@types/react-dom': '*' 829 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 830 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 831 | peerDependenciesMeta: 832 | '@types/react': 833 | optional: true 834 | '@types/react-dom': 835 | optional: true 836 | 837 | '@radix-ui/react-slot@1.1.0': 838 | resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} 839 | peerDependencies: 840 | '@types/react': '*' 841 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 842 | peerDependenciesMeta: 843 | '@types/react': 844 | optional: true 845 | 846 | '@radix-ui/react-use-callback-ref@1.1.0': 847 | resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} 848 | peerDependencies: 849 | '@types/react': '*' 850 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 851 | peerDependenciesMeta: 852 | '@types/react': 853 | optional: true 854 | 855 | '@radix-ui/react-use-controllable-state@1.1.0': 856 | resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} 857 | peerDependencies: 858 | '@types/react': '*' 859 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 860 | peerDependenciesMeta: 861 | '@types/react': 862 | optional: true 863 | 864 | '@radix-ui/react-use-escape-keydown@1.1.0': 865 | resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} 866 | peerDependencies: 867 | '@types/react': '*' 868 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 869 | peerDependenciesMeta: 870 | '@types/react': 871 | optional: true 872 | 873 | '@radix-ui/react-use-layout-effect@1.1.0': 874 | resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} 875 | peerDependencies: 876 | '@types/react': '*' 877 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 878 | peerDependenciesMeta: 879 | '@types/react': 880 | optional: true 881 | 882 | '@radix-ui/react-use-previous@1.1.0': 883 | resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==} 884 | peerDependencies: 885 | '@types/react': '*' 886 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 887 | peerDependenciesMeta: 888 | '@types/react': 889 | optional: true 890 | 891 | '@radix-ui/react-use-rect@1.1.0': 892 | resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} 893 | peerDependencies: 894 | '@types/react': '*' 895 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 896 | peerDependenciesMeta: 897 | '@types/react': 898 | optional: true 899 | 900 | '@radix-ui/react-use-size@1.1.0': 901 | resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} 902 | peerDependencies: 903 | '@types/react': '*' 904 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 905 | peerDependenciesMeta: 906 | '@types/react': 907 | optional: true 908 | 909 | '@radix-ui/react-visually-hidden@1.1.0': 910 | resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==} 911 | peerDependencies: 912 | '@types/react': '*' 913 | '@types/react-dom': '*' 914 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 915 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 916 | peerDependenciesMeta: 917 | '@types/react': 918 | optional: true 919 | '@types/react-dom': 920 | optional: true 921 | 922 | '@radix-ui/rect@1.1.0': 923 | resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} 924 | 925 | '@rollup/rollup-android-arm-eabi@4.24.0': 926 | resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} 927 | cpu: [arm] 928 | os: [android] 929 | 930 | '@rollup/rollup-android-arm64@4.24.0': 931 | resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} 932 | cpu: [arm64] 933 | os: [android] 934 | 935 | '@rollup/rollup-darwin-arm64@4.24.0': 936 | resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} 937 | cpu: [arm64] 938 | os: [darwin] 939 | 940 | '@rollup/rollup-darwin-x64@4.24.0': 941 | resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} 942 | cpu: [x64] 943 | os: [darwin] 944 | 945 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0': 946 | resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} 947 | cpu: [arm] 948 | os: [linux] 949 | 950 | '@rollup/rollup-linux-arm-musleabihf@4.24.0': 951 | resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} 952 | cpu: [arm] 953 | os: [linux] 954 | 955 | '@rollup/rollup-linux-arm64-gnu@4.24.0': 956 | resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} 957 | cpu: [arm64] 958 | os: [linux] 959 | 960 | '@rollup/rollup-linux-arm64-musl@4.24.0': 961 | resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} 962 | cpu: [arm64] 963 | os: [linux] 964 | 965 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': 966 | resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} 967 | cpu: [ppc64] 968 | os: [linux] 969 | 970 | '@rollup/rollup-linux-riscv64-gnu@4.24.0': 971 | resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} 972 | cpu: [riscv64] 973 | os: [linux] 974 | 975 | '@rollup/rollup-linux-s390x-gnu@4.24.0': 976 | resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} 977 | cpu: [s390x] 978 | os: [linux] 979 | 980 | '@rollup/rollup-linux-x64-gnu@4.24.0': 981 | resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} 982 | cpu: [x64] 983 | os: [linux] 984 | 985 | '@rollup/rollup-linux-x64-musl@4.24.0': 986 | resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} 987 | cpu: [x64] 988 | os: [linux] 989 | 990 | '@rollup/rollup-win32-arm64-msvc@4.24.0': 991 | resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} 992 | cpu: [arm64] 993 | os: [win32] 994 | 995 | '@rollup/rollup-win32-ia32-msvc@4.24.0': 996 | resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} 997 | cpu: [ia32] 998 | os: [win32] 999 | 1000 | '@rollup/rollup-win32-x64-msvc@4.24.0': 1001 | resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} 1002 | cpu: [x64] 1003 | os: [win32] 1004 | 1005 | '@types/babel__core@7.20.5': 1006 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 1007 | 1008 | '@types/babel__generator@7.6.8': 1009 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} 1010 | 1011 | '@types/babel__template@7.4.4': 1012 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 1013 | 1014 | '@types/babel__traverse@7.20.6': 1015 | resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} 1016 | 1017 | '@types/cookie@0.6.0': 1018 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 1019 | 1020 | '@types/estree@1.0.6': 1021 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 1022 | 1023 | '@types/node-forge@1.3.11': 1024 | resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} 1025 | 1026 | '@types/node@22.7.9': 1027 | resolution: {integrity: sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==} 1028 | 1029 | '@types/prop-types@15.7.13': 1030 | resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} 1031 | 1032 | '@types/react-dom@18.3.1': 1033 | resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} 1034 | 1035 | '@types/react@18.3.12': 1036 | resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} 1037 | 1038 | '@vitejs/plugin-react@4.3.3': 1039 | resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==} 1040 | engines: {node: ^14.18.0 || >=16.0.0} 1041 | peerDependencies: 1042 | vite: ^4.2.0 || ^5.0.0 1043 | 1044 | acorn-walk@8.3.4: 1045 | resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} 1046 | engines: {node: '>=0.4.0'} 1047 | 1048 | acorn@8.13.0: 1049 | resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} 1050 | engines: {node: '>=0.4.0'} 1051 | hasBin: true 1052 | 1053 | ansi-regex@5.0.1: 1054 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1055 | engines: {node: '>=8'} 1056 | 1057 | ansi-regex@6.1.0: 1058 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 1059 | engines: {node: '>=12'} 1060 | 1061 | ansi-styles@3.2.1: 1062 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1063 | engines: {node: '>=4'} 1064 | 1065 | ansi-styles@4.3.0: 1066 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1067 | engines: {node: '>=8'} 1068 | 1069 | ansi-styles@6.2.1: 1070 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 1071 | engines: {node: '>=12'} 1072 | 1073 | any-promise@1.3.0: 1074 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 1075 | 1076 | anymatch@3.1.3: 1077 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 1078 | engines: {node: '>= 8'} 1079 | 1080 | arg@5.0.2: 1081 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 1082 | 1083 | aria-hidden@1.2.4: 1084 | resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} 1085 | engines: {node: '>=10'} 1086 | 1087 | as-table@1.0.55: 1088 | resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} 1089 | 1090 | autoprefixer@10.4.20: 1091 | resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} 1092 | engines: {node: ^10 || ^12 || >=14} 1093 | hasBin: true 1094 | peerDependencies: 1095 | postcss: ^8.1.0 1096 | 1097 | balanced-match@1.0.2: 1098 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1099 | 1100 | binary-extensions@2.3.0: 1101 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 1102 | engines: {node: '>=8'} 1103 | 1104 | blake3-wasm@2.1.5: 1105 | resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} 1106 | 1107 | brace-expansion@2.0.1: 1108 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 1109 | 1110 | braces@3.0.3: 1111 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 1112 | engines: {node: '>=8'} 1113 | 1114 | browserslist@4.24.2: 1115 | resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} 1116 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1117 | hasBin: true 1118 | 1119 | camelcase-css@2.0.1: 1120 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 1121 | engines: {node: '>= 6'} 1122 | 1123 | caniuse-lite@1.0.30001669: 1124 | resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==} 1125 | 1126 | capnp-ts@0.7.0: 1127 | resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} 1128 | 1129 | chalk@2.4.2: 1130 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1131 | engines: {node: '>=4'} 1132 | 1133 | chokidar@3.6.0: 1134 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 1135 | engines: {node: '>= 8.10.0'} 1136 | 1137 | class-variance-authority@0.7.0: 1138 | resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} 1139 | 1140 | clsx@2.0.0: 1141 | resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} 1142 | engines: {node: '>=6'} 1143 | 1144 | clsx@2.1.1: 1145 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 1146 | engines: {node: '>=6'} 1147 | 1148 | color-convert@1.9.3: 1149 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1150 | 1151 | color-convert@2.0.1: 1152 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1153 | engines: {node: '>=7.0.0'} 1154 | 1155 | color-name@1.1.3: 1156 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1157 | 1158 | color-name@1.1.4: 1159 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1160 | 1161 | commander@4.1.1: 1162 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 1163 | engines: {node: '>= 6'} 1164 | 1165 | convert-source-map@2.0.0: 1166 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1167 | 1168 | cookie@0.6.0: 1169 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 1170 | engines: {node: '>= 0.6'} 1171 | 1172 | cookie@0.7.2: 1173 | resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 1174 | engines: {node: '>= 0.6'} 1175 | 1176 | cross-spawn@7.0.3: 1177 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1178 | engines: {node: '>= 8'} 1179 | 1180 | cssesc@3.0.0: 1181 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1182 | engines: {node: '>=4'} 1183 | hasBin: true 1184 | 1185 | csstype@3.1.3: 1186 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 1187 | 1188 | data-uri-to-buffer@2.0.2: 1189 | resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} 1190 | 1191 | date-fns@4.1.0: 1192 | resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} 1193 | 1194 | debug@4.3.7: 1195 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 1196 | engines: {node: '>=6.0'} 1197 | peerDependencies: 1198 | supports-color: '*' 1199 | peerDependenciesMeta: 1200 | supports-color: 1201 | optional: true 1202 | 1203 | defu@6.1.4: 1204 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 1205 | 1206 | detect-node-es@1.1.0: 1207 | resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} 1208 | 1209 | didyoumean@1.2.2: 1210 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 1211 | 1212 | dlv@1.1.3: 1213 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 1214 | 1215 | eastasianwidth@0.2.0: 1216 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1217 | 1218 | electron-to-chromium@1.5.45: 1219 | resolution: {integrity: sha512-vOzZS6uZwhhbkZbcRyiy99Wg+pYFV5hk+5YaECvx0+Z31NR3Tt5zS6dze2OepT6PCTzVzT0dIJItti+uAW5zmw==} 1220 | 1221 | emoji-regex@8.0.0: 1222 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1223 | 1224 | emoji-regex@9.2.2: 1225 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1226 | 1227 | esbuild@0.17.19: 1228 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} 1229 | engines: {node: '>=12'} 1230 | hasBin: true 1231 | 1232 | esbuild@0.21.5: 1233 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 1234 | engines: {node: '>=12'} 1235 | hasBin: true 1236 | 1237 | escalade@3.2.0: 1238 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 1239 | engines: {node: '>=6'} 1240 | 1241 | escape-string-regexp@1.0.5: 1242 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1243 | engines: {node: '>=0.8.0'} 1244 | 1245 | escape-string-regexp@4.0.0: 1246 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1247 | engines: {node: '>=10'} 1248 | 1249 | estree-walker@0.6.1: 1250 | resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} 1251 | 1252 | exit-hook@2.2.1: 1253 | resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} 1254 | engines: {node: '>=6'} 1255 | 1256 | fast-glob@3.3.2: 1257 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1258 | engines: {node: '>=8.6.0'} 1259 | 1260 | fastq@1.17.1: 1261 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1262 | 1263 | fill-range@7.1.1: 1264 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1265 | engines: {node: '>=8'} 1266 | 1267 | foreground-child@3.3.0: 1268 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 1269 | engines: {node: '>=14'} 1270 | 1271 | fraction.js@4.3.7: 1272 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 1273 | 1274 | fsevents@2.3.3: 1275 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1276 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1277 | os: [darwin] 1278 | 1279 | function-bind@1.1.2: 1280 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1281 | 1282 | gensync@1.0.0-beta.2: 1283 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1284 | engines: {node: '>=6.9.0'} 1285 | 1286 | get-nonce@1.0.1: 1287 | resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} 1288 | engines: {node: '>=6'} 1289 | 1290 | get-source@2.0.12: 1291 | resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} 1292 | 1293 | glob-parent@5.1.2: 1294 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1295 | engines: {node: '>= 6'} 1296 | 1297 | glob-parent@6.0.2: 1298 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1299 | engines: {node: '>=10.13.0'} 1300 | 1301 | glob-to-regexp@0.4.1: 1302 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1303 | 1304 | glob@10.4.5: 1305 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1306 | hasBin: true 1307 | 1308 | globals@11.12.0: 1309 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1310 | engines: {node: '>=4'} 1311 | 1312 | globrex@0.1.2: 1313 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} 1314 | 1315 | has-flag@3.0.0: 1316 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1317 | engines: {node: '>=4'} 1318 | 1319 | hasown@2.0.2: 1320 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1321 | engines: {node: '>= 0.4'} 1322 | 1323 | hono@4.6.6: 1324 | resolution: {integrity: sha512-euUj5qwvtkG+p38GFs0LYacwaoS2hYRAGn9ysAggiwT2QBcPnT1XYUCW3hatW4C1KzAXTYuQ08BlVDJtAGuhlg==} 1325 | engines: {node: '>=16.9.0'} 1326 | 1327 | invariant@2.2.4: 1328 | resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} 1329 | 1330 | is-binary-path@2.1.0: 1331 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1332 | engines: {node: '>=8'} 1333 | 1334 | is-core-module@2.15.1: 1335 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 1336 | engines: {node: '>= 0.4'} 1337 | 1338 | is-extglob@2.1.1: 1339 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1340 | engines: {node: '>=0.10.0'} 1341 | 1342 | is-fullwidth-code-point@3.0.0: 1343 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1344 | engines: {node: '>=8'} 1345 | 1346 | is-glob@4.0.3: 1347 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1348 | engines: {node: '>=0.10.0'} 1349 | 1350 | is-number@7.0.0: 1351 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1352 | engines: {node: '>=0.12.0'} 1353 | 1354 | isexe@2.0.0: 1355 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1356 | 1357 | itty-time@1.0.6: 1358 | resolution: {integrity: sha512-+P8IZaLLBtFv8hCkIjcymZOp4UJ+xW6bSlQsXGqrkmJh7vSiMFSlNne0mCYagEE0N7HDNR5jJBRxwN0oYv61Rw==} 1359 | 1360 | jackspeak@3.4.3: 1361 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1362 | 1363 | jiti@1.21.6: 1364 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 1365 | hasBin: true 1366 | 1367 | jose@5.9.6: 1368 | resolution: {integrity: sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ==} 1369 | 1370 | js-tokens@4.0.0: 1371 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1372 | 1373 | jsesc@3.0.2: 1374 | resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} 1375 | engines: {node: '>=6'} 1376 | hasBin: true 1377 | 1378 | json5@2.2.3: 1379 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1380 | engines: {node: '>=6'} 1381 | hasBin: true 1382 | 1383 | lilconfig@2.1.0: 1384 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1385 | engines: {node: '>=10'} 1386 | 1387 | lilconfig@3.1.2: 1388 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 1389 | engines: {node: '>=14'} 1390 | 1391 | lines-and-columns@1.2.4: 1392 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1393 | 1394 | loose-envify@1.4.0: 1395 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1396 | hasBin: true 1397 | 1398 | lru-cache@10.4.3: 1399 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1400 | 1401 | lru-cache@5.1.1: 1402 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1403 | 1404 | lucide-react@0.453.0: 1405 | resolution: {integrity: sha512-kL+RGZCcJi9BvJtzg2kshO192Ddy9hv3ij+cPrVPWSRzgCWCVazoQJxOjAwgK53NomL07HB7GPHW120FimjNhQ==} 1406 | peerDependencies: 1407 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc 1408 | 1409 | magic-string@0.25.9: 1410 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 1411 | 1412 | merge2@1.4.1: 1413 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1414 | engines: {node: '>= 8'} 1415 | 1416 | micromatch@4.0.8: 1417 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1418 | engines: {node: '>=8.6'} 1419 | 1420 | mime@3.0.0: 1421 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 1422 | engines: {node: '>=10.0.0'} 1423 | hasBin: true 1424 | 1425 | miniflare@3.20241022.0: 1426 | resolution: {integrity: sha512-x9Fbq1Hmz1f0osIT9Qmj78iX4UpCP2EqlZnA/tzj/3+I49vc3Kq0fNqSSKplcdf6HlCHdL3fOBicmreQF4BUUQ==} 1427 | engines: {node: '>=16.13'} 1428 | hasBin: true 1429 | 1430 | minimatch@9.0.5: 1431 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1432 | engines: {node: '>=16 || 14 >=14.17'} 1433 | 1434 | minipass@7.1.2: 1435 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1436 | engines: {node: '>=16 || 14 >=14.17'} 1437 | 1438 | mitt@3.0.1: 1439 | resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} 1440 | 1441 | ms@2.1.3: 1442 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1443 | 1444 | mustache@4.2.0: 1445 | resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} 1446 | hasBin: true 1447 | 1448 | mz@2.7.0: 1449 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1450 | 1451 | nanoid@3.3.7: 1452 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1453 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1454 | hasBin: true 1455 | 1456 | node-forge@1.3.1: 1457 | resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} 1458 | engines: {node: '>= 6.13.0'} 1459 | 1460 | node-releases@2.0.18: 1461 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 1462 | 1463 | normalize-path@3.0.0: 1464 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1465 | engines: {node: '>=0.10.0'} 1466 | 1467 | normalize-range@0.1.2: 1468 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 1469 | engines: {node: '>=0.10.0'} 1470 | 1471 | oauth4webapi@2.17.0: 1472 | resolution: {integrity: sha512-lbC0Z7uzAFNFyzEYRIC+pkSVvDHJTbEW+dYlSBAlCYDe6RxUkJ26bClhk8ocBZip1wfI9uKTe0fm4Ib4RHn6uQ==} 1473 | 1474 | object-assign@4.1.1: 1475 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1476 | engines: {node: '>=0.10.0'} 1477 | 1478 | object-hash@3.0.0: 1479 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1480 | engines: {node: '>= 6'} 1481 | 1482 | ohash@1.1.4: 1483 | resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} 1484 | 1485 | package-json-from-dist@1.0.1: 1486 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1487 | 1488 | path-key@3.1.1: 1489 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1490 | engines: {node: '>=8'} 1491 | 1492 | path-parse@1.0.7: 1493 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1494 | 1495 | path-scurry@1.11.1: 1496 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1497 | engines: {node: '>=16 || 14 >=14.18'} 1498 | 1499 | path-to-regexp@6.3.0: 1500 | resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} 1501 | 1502 | pathe@1.1.2: 1503 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1504 | 1505 | picocolors@1.1.1: 1506 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1507 | 1508 | picomatch@2.3.1: 1509 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1510 | engines: {node: '>=8.6'} 1511 | 1512 | pify@2.3.0: 1513 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1514 | engines: {node: '>=0.10.0'} 1515 | 1516 | pirates@4.0.6: 1517 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1518 | engines: {node: '>= 6'} 1519 | 1520 | postcss-import@15.1.0: 1521 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1522 | engines: {node: '>=14.0.0'} 1523 | peerDependencies: 1524 | postcss: ^8.0.0 1525 | 1526 | postcss-js@4.0.1: 1527 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1528 | engines: {node: ^12 || ^14 || >= 16} 1529 | peerDependencies: 1530 | postcss: ^8.4.21 1531 | 1532 | postcss-load-config@4.0.2: 1533 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1534 | engines: {node: '>= 14'} 1535 | peerDependencies: 1536 | postcss: '>=8.0.9' 1537 | ts-node: '>=9.0.0' 1538 | peerDependenciesMeta: 1539 | postcss: 1540 | optional: true 1541 | ts-node: 1542 | optional: true 1543 | 1544 | postcss-nested@6.2.0: 1545 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 1546 | engines: {node: '>=12.0'} 1547 | peerDependencies: 1548 | postcss: ^8.2.14 1549 | 1550 | postcss-selector-parser@6.1.2: 1551 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1552 | engines: {node: '>=4'} 1553 | 1554 | postcss-value-parser@4.2.0: 1555 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1556 | 1557 | postcss@8.4.47: 1558 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} 1559 | engines: {node: ^10 || ^12 || >=14} 1560 | 1561 | preact-render-to-string@5.2.3: 1562 | resolution: {integrity: sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==} 1563 | peerDependencies: 1564 | preact: '>=10' 1565 | 1566 | preact@10.11.3: 1567 | resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} 1568 | 1569 | pretty-format@3.8.0: 1570 | resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} 1571 | 1572 | printable-characters@1.0.42: 1573 | resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} 1574 | 1575 | queue-microtask@1.2.3: 1576 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1577 | 1578 | react-dom@18.3.1: 1579 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 1580 | peerDependencies: 1581 | react: ^18.3.1 1582 | 1583 | react-refresh@0.14.2: 1584 | resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} 1585 | engines: {node: '>=0.10.0'} 1586 | 1587 | react-remove-scroll-bar@2.3.6: 1588 | resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} 1589 | engines: {node: '>=10'} 1590 | peerDependencies: 1591 | '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 1592 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1593 | peerDependenciesMeta: 1594 | '@types/react': 1595 | optional: true 1596 | 1597 | react-remove-scroll@2.6.0: 1598 | resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==} 1599 | engines: {node: '>=10'} 1600 | peerDependencies: 1601 | '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 1602 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1603 | peerDependenciesMeta: 1604 | '@types/react': 1605 | optional: true 1606 | 1607 | react-style-singleton@2.2.1: 1608 | resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} 1609 | engines: {node: '>=10'} 1610 | peerDependencies: 1611 | '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 1612 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1613 | peerDependenciesMeta: 1614 | '@types/react': 1615 | optional: true 1616 | 1617 | react@18.3.1: 1618 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 1619 | engines: {node: '>=0.10.0'} 1620 | 1621 | read-cache@1.0.0: 1622 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1623 | 1624 | readdirp@3.6.0: 1625 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1626 | engines: {node: '>=8.10.0'} 1627 | 1628 | regexparam@3.0.0: 1629 | resolution: {integrity: sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==} 1630 | engines: {node: '>=8'} 1631 | 1632 | resolve.exports@2.0.2: 1633 | resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} 1634 | engines: {node: '>=10'} 1635 | 1636 | resolve@1.22.8: 1637 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1638 | hasBin: true 1639 | 1640 | reusify@1.0.4: 1641 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1642 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1643 | 1644 | rollup-plugin-inject@3.0.2: 1645 | resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} 1646 | deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. 1647 | 1648 | rollup-plugin-node-polyfills@0.2.1: 1649 | resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} 1650 | 1651 | rollup-pluginutils@2.8.2: 1652 | resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} 1653 | 1654 | rollup@4.24.0: 1655 | resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} 1656 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1657 | hasBin: true 1658 | 1659 | run-parallel@1.2.0: 1660 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1661 | 1662 | scheduler@0.23.2: 1663 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 1664 | 1665 | selfsigned@2.4.1: 1666 | resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} 1667 | engines: {node: '>=10'} 1668 | 1669 | semver@6.3.1: 1670 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1671 | hasBin: true 1672 | 1673 | shebang-command@2.0.0: 1674 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1675 | engines: {node: '>=8'} 1676 | 1677 | shebang-regex@3.0.0: 1678 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1679 | engines: {node: '>=8'} 1680 | 1681 | signal-exit@4.1.0: 1682 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1683 | engines: {node: '>=14'} 1684 | 1685 | source-map-js@1.2.1: 1686 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1687 | engines: {node: '>=0.10.0'} 1688 | 1689 | source-map@0.6.1: 1690 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1691 | engines: {node: '>=0.10.0'} 1692 | 1693 | sourcemap-codec@1.4.8: 1694 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1695 | deprecated: Please use @jridgewell/sourcemap-codec instead 1696 | 1697 | stacktracey@2.1.8: 1698 | resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} 1699 | 1700 | stoppable@1.1.0: 1701 | resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} 1702 | engines: {node: '>=4', npm: '>=6'} 1703 | 1704 | string-width@4.2.3: 1705 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1706 | engines: {node: '>=8'} 1707 | 1708 | string-width@5.1.2: 1709 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1710 | engines: {node: '>=12'} 1711 | 1712 | strip-ansi@6.0.1: 1713 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1714 | engines: {node: '>=8'} 1715 | 1716 | strip-ansi@7.1.0: 1717 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1718 | engines: {node: '>=12'} 1719 | 1720 | sucrase@3.35.0: 1721 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1722 | engines: {node: '>=16 || 14 >=14.17'} 1723 | hasBin: true 1724 | 1725 | supports-color@5.5.0: 1726 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1727 | engines: {node: '>=4'} 1728 | 1729 | supports-preserve-symlinks-flag@1.0.0: 1730 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1731 | engines: {node: '>= 0.4'} 1732 | 1733 | tailwind-merge@2.5.4: 1734 | resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} 1735 | 1736 | tailwindcss-animate@1.0.7: 1737 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} 1738 | peerDependencies: 1739 | tailwindcss: '>=3.0.0 || insiders' 1740 | 1741 | tailwindcss@3.4.14: 1742 | resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} 1743 | engines: {node: '>=14.0.0'} 1744 | hasBin: true 1745 | 1746 | thenify-all@1.6.0: 1747 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1748 | engines: {node: '>=0.8'} 1749 | 1750 | thenify@3.3.1: 1751 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1752 | 1753 | to-regex-range@5.0.1: 1754 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1755 | engines: {node: '>=8.0'} 1756 | 1757 | ts-interface-checker@0.1.13: 1758 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1759 | 1760 | tsconfck@3.1.4: 1761 | resolution: {integrity: sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==} 1762 | engines: {node: ^18 || >=20} 1763 | hasBin: true 1764 | peerDependencies: 1765 | typescript: ^5.0.0 1766 | peerDependenciesMeta: 1767 | typescript: 1768 | optional: true 1769 | 1770 | tslib@2.8.0: 1771 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} 1772 | 1773 | typescript@5.6.3: 1774 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} 1775 | engines: {node: '>=14.17'} 1776 | hasBin: true 1777 | 1778 | ufo@1.5.4: 1779 | resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} 1780 | 1781 | undici-types@6.19.8: 1782 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 1783 | 1784 | undici@5.28.4: 1785 | resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} 1786 | engines: {node: '>=14.0'} 1787 | 1788 | unenv-nightly@2.0.0-20241018-011344-e666fcf: 1789 | resolution: {integrity: sha512-D00bYn8rzkCBOlLx+k1iHQlc69jvtJRT7Eek4yIGQ6461a2tUBjngGZdRpqsoXAJCz/qBW0NgPting7Zvg+ysg==} 1790 | 1791 | update-browserslist-db@1.1.1: 1792 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} 1793 | hasBin: true 1794 | peerDependencies: 1795 | browserslist: '>= 4.21.0' 1796 | 1797 | use-callback-ref@1.3.2: 1798 | resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} 1799 | engines: {node: '>=10'} 1800 | peerDependencies: 1801 | '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 1802 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1803 | peerDependenciesMeta: 1804 | '@types/react': 1805 | optional: true 1806 | 1807 | use-sidecar@1.1.2: 1808 | resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} 1809 | engines: {node: '>=10'} 1810 | peerDependencies: 1811 | '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 1812 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1813 | peerDependenciesMeta: 1814 | '@types/react': 1815 | optional: true 1816 | 1817 | use-sync-external-store@1.2.2: 1818 | resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} 1819 | peerDependencies: 1820 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1821 | 1822 | util-deprecate@1.0.2: 1823 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1824 | 1825 | vite-tsconfig-paths@5.0.1: 1826 | resolution: {integrity: sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==} 1827 | peerDependencies: 1828 | vite: '*' 1829 | peerDependenciesMeta: 1830 | vite: 1831 | optional: true 1832 | 1833 | vite@5.4.10: 1834 | resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} 1835 | engines: {node: ^18.0.0 || >=20.0.0} 1836 | hasBin: true 1837 | peerDependencies: 1838 | '@types/node': ^18.0.0 || >=20.0.0 1839 | less: '*' 1840 | lightningcss: ^1.21.0 1841 | sass: '*' 1842 | sass-embedded: '*' 1843 | stylus: '*' 1844 | sugarss: '*' 1845 | terser: ^5.4.0 1846 | peerDependenciesMeta: 1847 | '@types/node': 1848 | optional: true 1849 | less: 1850 | optional: true 1851 | lightningcss: 1852 | optional: true 1853 | sass: 1854 | optional: true 1855 | sass-embedded: 1856 | optional: true 1857 | stylus: 1858 | optional: true 1859 | sugarss: 1860 | optional: true 1861 | terser: 1862 | optional: true 1863 | 1864 | which@2.0.2: 1865 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1866 | engines: {node: '>= 8'} 1867 | hasBin: true 1868 | 1869 | workerd@1.20241022.0: 1870 | resolution: {integrity: sha512-jyGXsgO9DRcJyx6Ovv7gUyDPc3UYC2i/E0p9GFUg6GUzpldw4Y93y9kOmdfsOnKZ3+lY53veSiUniiBPE6Q2NQ==} 1871 | engines: {node: '>=16'} 1872 | hasBin: true 1873 | 1874 | wouter@3.3.5: 1875 | resolution: {integrity: sha512-bx3fLQAMn+EhYbBdY3W1gw9ZfO/uchudxYMwOIBzF3HVgqNEEIT199vEoh7FLTC0Vz5+rpMO6NdFsOkGX1QQCw==} 1876 | peerDependencies: 1877 | react: '>=16.8.0' 1878 | 1879 | wrangler@3.83.0: 1880 | resolution: {integrity: sha512-qDzdUuTngKqmm2OJUZm7Gk4+Hv37F2nNNAHuhIgItEIhxBdOVDsgKmvpd+f41MFxyuGg3fbGWYANHI+0V2Z5yw==} 1881 | engines: {node: '>=16.17.0'} 1882 | hasBin: true 1883 | peerDependencies: 1884 | '@cloudflare/workers-types': ^4.20241022.0 1885 | peerDependenciesMeta: 1886 | '@cloudflare/workers-types': 1887 | optional: true 1888 | 1889 | wrap-ansi@7.0.0: 1890 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1891 | engines: {node: '>=10'} 1892 | 1893 | wrap-ansi@8.1.0: 1894 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1895 | engines: {node: '>=12'} 1896 | 1897 | ws@8.18.0: 1898 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 1899 | engines: {node: '>=10.0.0'} 1900 | peerDependencies: 1901 | bufferutil: ^4.0.1 1902 | utf-8-validate: '>=5.0.2' 1903 | peerDependenciesMeta: 1904 | bufferutil: 1905 | optional: true 1906 | utf-8-validate: 1907 | optional: true 1908 | 1909 | xxhash-wasm@1.0.2: 1910 | resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} 1911 | 1912 | yallist@3.1.1: 1913 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1914 | 1915 | yaml@2.6.0: 1916 | resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} 1917 | engines: {node: '>= 14'} 1918 | hasBin: true 1919 | 1920 | youch@3.3.4: 1921 | resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==} 1922 | 1923 | zod@3.23.8: 1924 | resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 1925 | 1926 | snapshots: 1927 | 1928 | '@alloc/quick-lru@5.2.0': {} 1929 | 1930 | '@ampproject/remapping@2.3.0': 1931 | dependencies: 1932 | '@jridgewell/gen-mapping': 0.3.5 1933 | '@jridgewell/trace-mapping': 0.3.25 1934 | 1935 | '@auth/core@0.35.3': 1936 | dependencies: 1937 | '@panva/hkdf': 1.2.1 1938 | '@types/cookie': 0.6.0 1939 | cookie: 0.6.0 1940 | jose: 5.9.6 1941 | oauth4webapi: 2.17.0 1942 | preact: 10.11.3 1943 | preact-render-to-string: 5.2.3(preact@10.11.3) 1944 | 1945 | '@babel/code-frame@7.25.9': 1946 | dependencies: 1947 | '@babel/highlight': 7.25.9 1948 | picocolors: 1.1.1 1949 | 1950 | '@babel/compat-data@7.25.9': {} 1951 | 1952 | '@babel/core@7.25.9': 1953 | dependencies: 1954 | '@ampproject/remapping': 2.3.0 1955 | '@babel/code-frame': 7.25.9 1956 | '@babel/generator': 7.25.9 1957 | '@babel/helper-compilation-targets': 7.25.9 1958 | '@babel/helper-module-transforms': 7.25.9(@babel/core@7.25.9) 1959 | '@babel/helpers': 7.25.9 1960 | '@babel/parser': 7.25.9 1961 | '@babel/template': 7.25.9 1962 | '@babel/traverse': 7.25.9 1963 | '@babel/types': 7.25.9 1964 | convert-source-map: 2.0.0 1965 | debug: 4.3.7 1966 | gensync: 1.0.0-beta.2 1967 | json5: 2.2.3 1968 | semver: 6.3.1 1969 | transitivePeerDependencies: 1970 | - supports-color 1971 | 1972 | '@babel/generator@7.25.9': 1973 | dependencies: 1974 | '@babel/types': 7.25.9 1975 | '@jridgewell/gen-mapping': 0.3.5 1976 | '@jridgewell/trace-mapping': 0.3.25 1977 | jsesc: 3.0.2 1978 | 1979 | '@babel/helper-compilation-targets@7.25.9': 1980 | dependencies: 1981 | '@babel/compat-data': 7.25.9 1982 | '@babel/helper-validator-option': 7.25.9 1983 | browserslist: 4.24.2 1984 | lru-cache: 5.1.1 1985 | semver: 6.3.1 1986 | 1987 | '@babel/helper-module-imports@7.25.9': 1988 | dependencies: 1989 | '@babel/traverse': 7.25.9 1990 | '@babel/types': 7.25.9 1991 | transitivePeerDependencies: 1992 | - supports-color 1993 | 1994 | '@babel/helper-module-transforms@7.25.9(@babel/core@7.25.9)': 1995 | dependencies: 1996 | '@babel/core': 7.25.9 1997 | '@babel/helper-module-imports': 7.25.9 1998 | '@babel/helper-simple-access': 7.25.9 1999 | '@babel/helper-validator-identifier': 7.25.9 2000 | '@babel/traverse': 7.25.9 2001 | transitivePeerDependencies: 2002 | - supports-color 2003 | 2004 | '@babel/helper-plugin-utils@7.25.9': {} 2005 | 2006 | '@babel/helper-simple-access@7.25.9': 2007 | dependencies: 2008 | '@babel/traverse': 7.25.9 2009 | '@babel/types': 7.25.9 2010 | transitivePeerDependencies: 2011 | - supports-color 2012 | 2013 | '@babel/helper-string-parser@7.25.9': {} 2014 | 2015 | '@babel/helper-validator-identifier@7.25.9': {} 2016 | 2017 | '@babel/helper-validator-option@7.25.9': {} 2018 | 2019 | '@babel/helpers@7.25.9': 2020 | dependencies: 2021 | '@babel/template': 7.25.9 2022 | '@babel/types': 7.25.9 2023 | 2024 | '@babel/highlight@7.25.9': 2025 | dependencies: 2026 | '@babel/helper-validator-identifier': 7.25.9 2027 | chalk: 2.4.2 2028 | js-tokens: 4.0.0 2029 | picocolors: 1.1.1 2030 | 2031 | '@babel/parser@7.25.9': 2032 | dependencies: 2033 | '@babel/types': 7.25.9 2034 | 2035 | '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.25.9)': 2036 | dependencies: 2037 | '@babel/core': 7.25.9 2038 | '@babel/helper-plugin-utils': 7.25.9 2039 | 2040 | '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.25.9)': 2041 | dependencies: 2042 | '@babel/core': 7.25.9 2043 | '@babel/helper-plugin-utils': 7.25.9 2044 | 2045 | '@babel/template@7.25.9': 2046 | dependencies: 2047 | '@babel/code-frame': 7.25.9 2048 | '@babel/parser': 7.25.9 2049 | '@babel/types': 7.25.9 2050 | 2051 | '@babel/traverse@7.25.9': 2052 | dependencies: 2053 | '@babel/code-frame': 7.25.9 2054 | '@babel/generator': 7.25.9 2055 | '@babel/parser': 7.25.9 2056 | '@babel/template': 7.25.9 2057 | '@babel/types': 7.25.9 2058 | debug: 4.3.7 2059 | globals: 11.12.0 2060 | transitivePeerDependencies: 2061 | - supports-color 2062 | 2063 | '@babel/types@7.25.9': 2064 | dependencies: 2065 | '@babel/helper-string-parser': 7.25.9 2066 | '@babel/helper-validator-identifier': 7.25.9 2067 | 2068 | '@cloudflare/kv-asset-handler@0.3.4': 2069 | dependencies: 2070 | mime: 3.0.0 2071 | 2072 | '@cloudflare/workerd-darwin-64@1.20241022.0': 2073 | optional: true 2074 | 2075 | '@cloudflare/workerd-darwin-arm64@1.20241022.0': 2076 | optional: true 2077 | 2078 | '@cloudflare/workerd-linux-64@1.20241022.0': 2079 | optional: true 2080 | 2081 | '@cloudflare/workerd-linux-arm64@1.20241022.0': 2082 | optional: true 2083 | 2084 | '@cloudflare/workerd-windows-64@1.20241022.0': 2085 | optional: true 2086 | 2087 | '@cloudflare/workers-shared@0.7.0': 2088 | dependencies: 2089 | mime: 3.0.0 2090 | zod: 3.23.8 2091 | 2092 | '@cspotcode/source-map-support@0.8.1': 2093 | dependencies: 2094 | '@jridgewell/trace-mapping': 0.3.9 2095 | 2096 | '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': 2097 | dependencies: 2098 | esbuild: 0.17.19 2099 | 2100 | '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)': 2101 | dependencies: 2102 | esbuild: 0.17.19 2103 | escape-string-regexp: 4.0.0 2104 | rollup-plugin-node-polyfills: 0.2.1 2105 | 2106 | '@esbuild/aix-ppc64@0.21.5': 2107 | optional: true 2108 | 2109 | '@esbuild/android-arm64@0.17.19': 2110 | optional: true 2111 | 2112 | '@esbuild/android-arm64@0.21.5': 2113 | optional: true 2114 | 2115 | '@esbuild/android-arm@0.17.19': 2116 | optional: true 2117 | 2118 | '@esbuild/android-arm@0.21.5': 2119 | optional: true 2120 | 2121 | '@esbuild/android-x64@0.17.19': 2122 | optional: true 2123 | 2124 | '@esbuild/android-x64@0.21.5': 2125 | optional: true 2126 | 2127 | '@esbuild/darwin-arm64@0.17.19': 2128 | optional: true 2129 | 2130 | '@esbuild/darwin-arm64@0.21.5': 2131 | optional: true 2132 | 2133 | '@esbuild/darwin-x64@0.17.19': 2134 | optional: true 2135 | 2136 | '@esbuild/darwin-x64@0.21.5': 2137 | optional: true 2138 | 2139 | '@esbuild/freebsd-arm64@0.17.19': 2140 | optional: true 2141 | 2142 | '@esbuild/freebsd-arm64@0.21.5': 2143 | optional: true 2144 | 2145 | '@esbuild/freebsd-x64@0.17.19': 2146 | optional: true 2147 | 2148 | '@esbuild/freebsd-x64@0.21.5': 2149 | optional: true 2150 | 2151 | '@esbuild/linux-arm64@0.17.19': 2152 | optional: true 2153 | 2154 | '@esbuild/linux-arm64@0.21.5': 2155 | optional: true 2156 | 2157 | '@esbuild/linux-arm@0.17.19': 2158 | optional: true 2159 | 2160 | '@esbuild/linux-arm@0.21.5': 2161 | optional: true 2162 | 2163 | '@esbuild/linux-ia32@0.17.19': 2164 | optional: true 2165 | 2166 | '@esbuild/linux-ia32@0.21.5': 2167 | optional: true 2168 | 2169 | '@esbuild/linux-loong64@0.17.19': 2170 | optional: true 2171 | 2172 | '@esbuild/linux-loong64@0.21.5': 2173 | optional: true 2174 | 2175 | '@esbuild/linux-mips64el@0.17.19': 2176 | optional: true 2177 | 2178 | '@esbuild/linux-mips64el@0.21.5': 2179 | optional: true 2180 | 2181 | '@esbuild/linux-ppc64@0.17.19': 2182 | optional: true 2183 | 2184 | '@esbuild/linux-ppc64@0.21.5': 2185 | optional: true 2186 | 2187 | '@esbuild/linux-riscv64@0.17.19': 2188 | optional: true 2189 | 2190 | '@esbuild/linux-riscv64@0.21.5': 2191 | optional: true 2192 | 2193 | '@esbuild/linux-s390x@0.17.19': 2194 | optional: true 2195 | 2196 | '@esbuild/linux-s390x@0.21.5': 2197 | optional: true 2198 | 2199 | '@esbuild/linux-x64@0.17.19': 2200 | optional: true 2201 | 2202 | '@esbuild/linux-x64@0.21.5': 2203 | optional: true 2204 | 2205 | '@esbuild/netbsd-x64@0.17.19': 2206 | optional: true 2207 | 2208 | '@esbuild/netbsd-x64@0.21.5': 2209 | optional: true 2210 | 2211 | '@esbuild/openbsd-x64@0.17.19': 2212 | optional: true 2213 | 2214 | '@esbuild/openbsd-x64@0.21.5': 2215 | optional: true 2216 | 2217 | '@esbuild/sunos-x64@0.17.19': 2218 | optional: true 2219 | 2220 | '@esbuild/sunos-x64@0.21.5': 2221 | optional: true 2222 | 2223 | '@esbuild/win32-arm64@0.17.19': 2224 | optional: true 2225 | 2226 | '@esbuild/win32-arm64@0.21.5': 2227 | optional: true 2228 | 2229 | '@esbuild/win32-ia32@0.17.19': 2230 | optional: true 2231 | 2232 | '@esbuild/win32-ia32@0.21.5': 2233 | optional: true 2234 | 2235 | '@esbuild/win32-x64@0.17.19': 2236 | optional: true 2237 | 2238 | '@esbuild/win32-x64@0.21.5': 2239 | optional: true 2240 | 2241 | '@fastify/busboy@2.1.1': {} 2242 | 2243 | '@floating-ui/core@1.6.8': 2244 | dependencies: 2245 | '@floating-ui/utils': 0.2.8 2246 | 2247 | '@floating-ui/dom@1.6.11': 2248 | dependencies: 2249 | '@floating-ui/core': 1.6.8 2250 | '@floating-ui/utils': 0.2.8 2251 | 2252 | '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2253 | dependencies: 2254 | '@floating-ui/dom': 1.6.11 2255 | react: 18.3.1 2256 | react-dom: 18.3.1(react@18.3.1) 2257 | 2258 | '@floating-ui/utils@0.2.8': {} 2259 | 2260 | '@hono/auth-js@1.0.13(@auth/core@0.35.3)(hono@4.6.6)(react@18.3.1)': 2261 | dependencies: 2262 | '@auth/core': 0.35.3 2263 | hono: 4.6.6 2264 | react: 18.3.1 2265 | 2266 | '@isaacs/cliui@8.0.2': 2267 | dependencies: 2268 | string-width: 5.1.2 2269 | string-width-cjs: string-width@4.2.3 2270 | strip-ansi: 7.1.0 2271 | strip-ansi-cjs: strip-ansi@6.0.1 2272 | wrap-ansi: 8.1.0 2273 | wrap-ansi-cjs: wrap-ansi@7.0.0 2274 | 2275 | '@jridgewell/gen-mapping@0.3.5': 2276 | dependencies: 2277 | '@jridgewell/set-array': 1.2.1 2278 | '@jridgewell/sourcemap-codec': 1.5.0 2279 | '@jridgewell/trace-mapping': 0.3.25 2280 | 2281 | '@jridgewell/resolve-uri@3.1.2': {} 2282 | 2283 | '@jridgewell/set-array@1.2.1': {} 2284 | 2285 | '@jridgewell/sourcemap-codec@1.5.0': {} 2286 | 2287 | '@jridgewell/trace-mapping@0.3.25': 2288 | dependencies: 2289 | '@jridgewell/resolve-uri': 3.1.2 2290 | '@jridgewell/sourcemap-codec': 1.5.0 2291 | 2292 | '@jridgewell/trace-mapping@0.3.9': 2293 | dependencies: 2294 | '@jridgewell/resolve-uri': 3.1.2 2295 | '@jridgewell/sourcemap-codec': 1.5.0 2296 | 2297 | '@nodelib/fs.scandir@2.1.5': 2298 | dependencies: 2299 | '@nodelib/fs.stat': 2.0.5 2300 | run-parallel: 1.2.0 2301 | 2302 | '@nodelib/fs.stat@2.0.5': {} 2303 | 2304 | '@nodelib/fs.walk@1.2.8': 2305 | dependencies: 2306 | '@nodelib/fs.scandir': 2.1.5 2307 | fastq: 1.17.1 2308 | 2309 | '@panva/hkdf@1.2.1': {} 2310 | 2311 | '@pkgjs/parseargs@0.11.0': 2312 | optional: true 2313 | 2314 | '@radix-ui/primitive@1.1.0': {} 2315 | 2316 | '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2317 | dependencies: 2318 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2319 | react: 18.3.1 2320 | react-dom: 18.3.1(react@18.3.1) 2321 | optionalDependencies: 2322 | '@types/react': 18.3.12 2323 | '@types/react-dom': 18.3.1 2324 | 2325 | '@radix-ui/react-avatar@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2326 | dependencies: 2327 | '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) 2328 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2329 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2330 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2331 | react: 18.3.1 2332 | react-dom: 18.3.1(react@18.3.1) 2333 | optionalDependencies: 2334 | '@types/react': 18.3.12 2335 | '@types/react-dom': 18.3.1 2336 | 2337 | '@radix-ui/react-collapsible@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2338 | dependencies: 2339 | '@radix-ui/primitive': 1.1.0 2340 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2341 | '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) 2342 | '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2343 | '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2344 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2345 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2346 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2347 | react: 18.3.1 2348 | react-dom: 18.3.1(react@18.3.1) 2349 | optionalDependencies: 2350 | '@types/react': 18.3.12 2351 | '@types/react-dom': 18.3.1 2352 | 2353 | '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2354 | dependencies: 2355 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2356 | '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2357 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2358 | '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2359 | react: 18.3.1 2360 | react-dom: 18.3.1(react@18.3.1) 2361 | optionalDependencies: 2362 | '@types/react': 18.3.12 2363 | '@types/react-dom': 18.3.1 2364 | 2365 | '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2366 | dependencies: 2367 | react: 18.3.1 2368 | optionalDependencies: 2369 | '@types/react': 18.3.12 2370 | 2371 | '@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2372 | dependencies: 2373 | react: 18.3.1 2374 | optionalDependencies: 2375 | '@types/react': 18.3.12 2376 | 2377 | '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)': 2378 | dependencies: 2379 | react: 18.3.1 2380 | optionalDependencies: 2381 | '@types/react': 18.3.12 2382 | 2383 | '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2384 | dependencies: 2385 | react: 18.3.1 2386 | optionalDependencies: 2387 | '@types/react': 18.3.12 2388 | 2389 | '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2390 | dependencies: 2391 | '@radix-ui/primitive': 1.1.0 2392 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2393 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2394 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2395 | '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2396 | react: 18.3.1 2397 | react-dom: 18.3.1(react@18.3.1) 2398 | optionalDependencies: 2399 | '@types/react': 18.3.12 2400 | '@types/react-dom': 18.3.1 2401 | 2402 | '@radix-ui/react-dropdown-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2403 | dependencies: 2404 | '@radix-ui/primitive': 1.1.0 2405 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2406 | '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) 2407 | '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2408 | '@radix-ui/react-menu': 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2409 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2410 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2411 | react: 18.3.1 2412 | react-dom: 18.3.1(react@18.3.1) 2413 | optionalDependencies: 2414 | '@types/react': 18.3.12 2415 | '@types/react-dom': 18.3.1 2416 | 2417 | '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)': 2418 | dependencies: 2419 | react: 18.3.1 2420 | optionalDependencies: 2421 | '@types/react': 18.3.12 2422 | 2423 | '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2424 | dependencies: 2425 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2426 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2427 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2428 | react: 18.3.1 2429 | react-dom: 18.3.1(react@18.3.1) 2430 | optionalDependencies: 2431 | '@types/react': 18.3.12 2432 | '@types/react-dom': 18.3.1 2433 | 2434 | '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2435 | dependencies: 2436 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2437 | react: 18.3.1 2438 | optionalDependencies: 2439 | '@types/react': 18.3.12 2440 | 2441 | '@radix-ui/react-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2442 | dependencies: 2443 | '@radix-ui/primitive': 1.1.0 2444 | '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2445 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2446 | '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) 2447 | '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2448 | '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2449 | '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1) 2450 | '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2451 | '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2452 | '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2453 | '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2454 | '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2455 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2456 | '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2457 | '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2458 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2459 | aria-hidden: 1.2.4 2460 | react: 18.3.1 2461 | react-dom: 18.3.1(react@18.3.1) 2462 | react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1) 2463 | optionalDependencies: 2464 | '@types/react': 18.3.12 2465 | '@types/react-dom': 18.3.1 2466 | 2467 | '@radix-ui/react-navigation-menu@1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2468 | dependencies: 2469 | '@radix-ui/primitive': 1.1.0 2470 | '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2471 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2472 | '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) 2473 | '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2474 | '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2475 | '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2476 | '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2477 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2478 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2479 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2480 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2481 | '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2482 | '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2483 | react: 18.3.1 2484 | react-dom: 18.3.1(react@18.3.1) 2485 | optionalDependencies: 2486 | '@types/react': 18.3.12 2487 | '@types/react-dom': 18.3.1 2488 | 2489 | '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2490 | dependencies: 2491 | '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2492 | '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2493 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2494 | '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2495 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2496 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2497 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2498 | '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2499 | '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2500 | '@radix-ui/rect': 1.1.0 2501 | react: 18.3.1 2502 | react-dom: 18.3.1(react@18.3.1) 2503 | optionalDependencies: 2504 | '@types/react': 18.3.12 2505 | '@types/react-dom': 18.3.1 2506 | 2507 | '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2508 | dependencies: 2509 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2510 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2511 | react: 18.3.1 2512 | react-dom: 18.3.1(react@18.3.1) 2513 | optionalDependencies: 2514 | '@types/react': 18.3.12 2515 | '@types/react-dom': 18.3.1 2516 | 2517 | '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2518 | dependencies: 2519 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2520 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2521 | react: 18.3.1 2522 | react-dom: 18.3.1(react@18.3.1) 2523 | optionalDependencies: 2524 | '@types/react': 18.3.12 2525 | '@types/react-dom': 18.3.1 2526 | 2527 | '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2528 | dependencies: 2529 | '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2530 | react: 18.3.1 2531 | react-dom: 18.3.1(react@18.3.1) 2532 | optionalDependencies: 2533 | '@types/react': 18.3.12 2534 | '@types/react-dom': 18.3.1 2535 | 2536 | '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2537 | dependencies: 2538 | '@radix-ui/primitive': 1.1.0 2539 | '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2540 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2541 | '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2542 | '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2543 | '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2544 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2545 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2546 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2547 | react: 18.3.1 2548 | react-dom: 18.3.1(react@18.3.1) 2549 | optionalDependencies: 2550 | '@types/react': 18.3.12 2551 | '@types/react-dom': 18.3.1 2552 | 2553 | '@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2554 | dependencies: 2555 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2556 | react: 18.3.1 2557 | optionalDependencies: 2558 | '@types/react': 18.3.12 2559 | 2560 | '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2561 | dependencies: 2562 | react: 18.3.1 2563 | optionalDependencies: 2564 | '@types/react': 18.3.12 2565 | 2566 | '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2567 | dependencies: 2568 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2569 | react: 18.3.1 2570 | optionalDependencies: 2571 | '@types/react': 18.3.12 2572 | 2573 | '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2574 | dependencies: 2575 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2576 | react: 18.3.1 2577 | optionalDependencies: 2578 | '@types/react': 18.3.12 2579 | 2580 | '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2581 | dependencies: 2582 | react: 18.3.1 2583 | optionalDependencies: 2584 | '@types/react': 18.3.12 2585 | 2586 | '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2587 | dependencies: 2588 | react: 18.3.1 2589 | optionalDependencies: 2590 | '@types/react': 18.3.12 2591 | 2592 | '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2593 | dependencies: 2594 | '@radix-ui/rect': 1.1.0 2595 | react: 18.3.1 2596 | optionalDependencies: 2597 | '@types/react': 18.3.12 2598 | 2599 | '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@18.3.1)': 2600 | dependencies: 2601 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) 2602 | react: 18.3.1 2603 | optionalDependencies: 2604 | '@types/react': 18.3.12 2605 | 2606 | '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2607 | dependencies: 2608 | '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2609 | react: 18.3.1 2610 | react-dom: 18.3.1(react@18.3.1) 2611 | optionalDependencies: 2612 | '@types/react': 18.3.12 2613 | '@types/react-dom': 18.3.1 2614 | 2615 | '@radix-ui/rect@1.1.0': {} 2616 | 2617 | '@rollup/rollup-android-arm-eabi@4.24.0': 2618 | optional: true 2619 | 2620 | '@rollup/rollup-android-arm64@4.24.0': 2621 | optional: true 2622 | 2623 | '@rollup/rollup-darwin-arm64@4.24.0': 2624 | optional: true 2625 | 2626 | '@rollup/rollup-darwin-x64@4.24.0': 2627 | optional: true 2628 | 2629 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0': 2630 | optional: true 2631 | 2632 | '@rollup/rollup-linux-arm-musleabihf@4.24.0': 2633 | optional: true 2634 | 2635 | '@rollup/rollup-linux-arm64-gnu@4.24.0': 2636 | optional: true 2637 | 2638 | '@rollup/rollup-linux-arm64-musl@4.24.0': 2639 | optional: true 2640 | 2641 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': 2642 | optional: true 2643 | 2644 | '@rollup/rollup-linux-riscv64-gnu@4.24.0': 2645 | optional: true 2646 | 2647 | '@rollup/rollup-linux-s390x-gnu@4.24.0': 2648 | optional: true 2649 | 2650 | '@rollup/rollup-linux-x64-gnu@4.24.0': 2651 | optional: true 2652 | 2653 | '@rollup/rollup-linux-x64-musl@4.24.0': 2654 | optional: true 2655 | 2656 | '@rollup/rollup-win32-arm64-msvc@4.24.0': 2657 | optional: true 2658 | 2659 | '@rollup/rollup-win32-ia32-msvc@4.24.0': 2660 | optional: true 2661 | 2662 | '@rollup/rollup-win32-x64-msvc@4.24.0': 2663 | optional: true 2664 | 2665 | '@types/babel__core@7.20.5': 2666 | dependencies: 2667 | '@babel/parser': 7.25.9 2668 | '@babel/types': 7.25.9 2669 | '@types/babel__generator': 7.6.8 2670 | '@types/babel__template': 7.4.4 2671 | '@types/babel__traverse': 7.20.6 2672 | 2673 | '@types/babel__generator@7.6.8': 2674 | dependencies: 2675 | '@babel/types': 7.25.9 2676 | 2677 | '@types/babel__template@7.4.4': 2678 | dependencies: 2679 | '@babel/parser': 7.25.9 2680 | '@babel/types': 7.25.9 2681 | 2682 | '@types/babel__traverse@7.20.6': 2683 | dependencies: 2684 | '@babel/types': 7.25.9 2685 | 2686 | '@types/cookie@0.6.0': {} 2687 | 2688 | '@types/estree@1.0.6': {} 2689 | 2690 | '@types/node-forge@1.3.11': 2691 | dependencies: 2692 | '@types/node': 22.7.9 2693 | 2694 | '@types/node@22.7.9': 2695 | dependencies: 2696 | undici-types: 6.19.8 2697 | 2698 | '@types/prop-types@15.7.13': {} 2699 | 2700 | '@types/react-dom@18.3.1': 2701 | dependencies: 2702 | '@types/react': 18.3.12 2703 | 2704 | '@types/react@18.3.12': 2705 | dependencies: 2706 | '@types/prop-types': 15.7.13 2707 | csstype: 3.1.3 2708 | 2709 | '@vitejs/plugin-react@4.3.3(vite@5.4.10(@types/node@22.7.9))': 2710 | dependencies: 2711 | '@babel/core': 7.25.9 2712 | '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.25.9) 2713 | '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.25.9) 2714 | '@types/babel__core': 7.20.5 2715 | react-refresh: 0.14.2 2716 | vite: 5.4.10(@types/node@22.7.9) 2717 | transitivePeerDependencies: 2718 | - supports-color 2719 | 2720 | acorn-walk@8.3.4: 2721 | dependencies: 2722 | acorn: 8.13.0 2723 | 2724 | acorn@8.13.0: {} 2725 | 2726 | ansi-regex@5.0.1: {} 2727 | 2728 | ansi-regex@6.1.0: {} 2729 | 2730 | ansi-styles@3.2.1: 2731 | dependencies: 2732 | color-convert: 1.9.3 2733 | 2734 | ansi-styles@4.3.0: 2735 | dependencies: 2736 | color-convert: 2.0.1 2737 | 2738 | ansi-styles@6.2.1: {} 2739 | 2740 | any-promise@1.3.0: {} 2741 | 2742 | anymatch@3.1.3: 2743 | dependencies: 2744 | normalize-path: 3.0.0 2745 | picomatch: 2.3.1 2746 | 2747 | arg@5.0.2: {} 2748 | 2749 | aria-hidden@1.2.4: 2750 | dependencies: 2751 | tslib: 2.8.0 2752 | 2753 | as-table@1.0.55: 2754 | dependencies: 2755 | printable-characters: 1.0.42 2756 | 2757 | autoprefixer@10.4.20(postcss@8.4.47): 2758 | dependencies: 2759 | browserslist: 4.24.2 2760 | caniuse-lite: 1.0.30001669 2761 | fraction.js: 4.3.7 2762 | normalize-range: 0.1.2 2763 | picocolors: 1.1.1 2764 | postcss: 8.4.47 2765 | postcss-value-parser: 4.2.0 2766 | 2767 | balanced-match@1.0.2: {} 2768 | 2769 | binary-extensions@2.3.0: {} 2770 | 2771 | blake3-wasm@2.1.5: {} 2772 | 2773 | brace-expansion@2.0.1: 2774 | dependencies: 2775 | balanced-match: 1.0.2 2776 | 2777 | braces@3.0.3: 2778 | dependencies: 2779 | fill-range: 7.1.1 2780 | 2781 | browserslist@4.24.2: 2782 | dependencies: 2783 | caniuse-lite: 1.0.30001669 2784 | electron-to-chromium: 1.5.45 2785 | node-releases: 2.0.18 2786 | update-browserslist-db: 1.1.1(browserslist@4.24.2) 2787 | 2788 | camelcase-css@2.0.1: {} 2789 | 2790 | caniuse-lite@1.0.30001669: {} 2791 | 2792 | capnp-ts@0.7.0: 2793 | dependencies: 2794 | debug: 4.3.7 2795 | tslib: 2.8.0 2796 | transitivePeerDependencies: 2797 | - supports-color 2798 | 2799 | chalk@2.4.2: 2800 | dependencies: 2801 | ansi-styles: 3.2.1 2802 | escape-string-regexp: 1.0.5 2803 | supports-color: 5.5.0 2804 | 2805 | chokidar@3.6.0: 2806 | dependencies: 2807 | anymatch: 3.1.3 2808 | braces: 3.0.3 2809 | glob-parent: 5.1.2 2810 | is-binary-path: 2.1.0 2811 | is-glob: 4.0.3 2812 | normalize-path: 3.0.0 2813 | readdirp: 3.6.0 2814 | optionalDependencies: 2815 | fsevents: 2.3.3 2816 | 2817 | class-variance-authority@0.7.0: 2818 | dependencies: 2819 | clsx: 2.0.0 2820 | 2821 | clsx@2.0.0: {} 2822 | 2823 | clsx@2.1.1: {} 2824 | 2825 | color-convert@1.9.3: 2826 | dependencies: 2827 | color-name: 1.1.3 2828 | 2829 | color-convert@2.0.1: 2830 | dependencies: 2831 | color-name: 1.1.4 2832 | 2833 | color-name@1.1.3: {} 2834 | 2835 | color-name@1.1.4: {} 2836 | 2837 | commander@4.1.1: {} 2838 | 2839 | convert-source-map@2.0.0: {} 2840 | 2841 | cookie@0.6.0: {} 2842 | 2843 | cookie@0.7.2: {} 2844 | 2845 | cross-spawn@7.0.3: 2846 | dependencies: 2847 | path-key: 3.1.1 2848 | shebang-command: 2.0.0 2849 | which: 2.0.2 2850 | 2851 | cssesc@3.0.0: {} 2852 | 2853 | csstype@3.1.3: {} 2854 | 2855 | data-uri-to-buffer@2.0.2: {} 2856 | 2857 | date-fns@4.1.0: {} 2858 | 2859 | debug@4.3.7: 2860 | dependencies: 2861 | ms: 2.1.3 2862 | 2863 | defu@6.1.4: {} 2864 | 2865 | detect-node-es@1.1.0: {} 2866 | 2867 | didyoumean@1.2.2: {} 2868 | 2869 | dlv@1.1.3: {} 2870 | 2871 | eastasianwidth@0.2.0: {} 2872 | 2873 | electron-to-chromium@1.5.45: {} 2874 | 2875 | emoji-regex@8.0.0: {} 2876 | 2877 | emoji-regex@9.2.2: {} 2878 | 2879 | esbuild@0.17.19: 2880 | optionalDependencies: 2881 | '@esbuild/android-arm': 0.17.19 2882 | '@esbuild/android-arm64': 0.17.19 2883 | '@esbuild/android-x64': 0.17.19 2884 | '@esbuild/darwin-arm64': 0.17.19 2885 | '@esbuild/darwin-x64': 0.17.19 2886 | '@esbuild/freebsd-arm64': 0.17.19 2887 | '@esbuild/freebsd-x64': 0.17.19 2888 | '@esbuild/linux-arm': 0.17.19 2889 | '@esbuild/linux-arm64': 0.17.19 2890 | '@esbuild/linux-ia32': 0.17.19 2891 | '@esbuild/linux-loong64': 0.17.19 2892 | '@esbuild/linux-mips64el': 0.17.19 2893 | '@esbuild/linux-ppc64': 0.17.19 2894 | '@esbuild/linux-riscv64': 0.17.19 2895 | '@esbuild/linux-s390x': 0.17.19 2896 | '@esbuild/linux-x64': 0.17.19 2897 | '@esbuild/netbsd-x64': 0.17.19 2898 | '@esbuild/openbsd-x64': 0.17.19 2899 | '@esbuild/sunos-x64': 0.17.19 2900 | '@esbuild/win32-arm64': 0.17.19 2901 | '@esbuild/win32-ia32': 0.17.19 2902 | '@esbuild/win32-x64': 0.17.19 2903 | 2904 | esbuild@0.21.5: 2905 | optionalDependencies: 2906 | '@esbuild/aix-ppc64': 0.21.5 2907 | '@esbuild/android-arm': 0.21.5 2908 | '@esbuild/android-arm64': 0.21.5 2909 | '@esbuild/android-x64': 0.21.5 2910 | '@esbuild/darwin-arm64': 0.21.5 2911 | '@esbuild/darwin-x64': 0.21.5 2912 | '@esbuild/freebsd-arm64': 0.21.5 2913 | '@esbuild/freebsd-x64': 0.21.5 2914 | '@esbuild/linux-arm': 0.21.5 2915 | '@esbuild/linux-arm64': 0.21.5 2916 | '@esbuild/linux-ia32': 0.21.5 2917 | '@esbuild/linux-loong64': 0.21.5 2918 | '@esbuild/linux-mips64el': 0.21.5 2919 | '@esbuild/linux-ppc64': 0.21.5 2920 | '@esbuild/linux-riscv64': 0.21.5 2921 | '@esbuild/linux-s390x': 0.21.5 2922 | '@esbuild/linux-x64': 0.21.5 2923 | '@esbuild/netbsd-x64': 0.21.5 2924 | '@esbuild/openbsd-x64': 0.21.5 2925 | '@esbuild/sunos-x64': 0.21.5 2926 | '@esbuild/win32-arm64': 0.21.5 2927 | '@esbuild/win32-ia32': 0.21.5 2928 | '@esbuild/win32-x64': 0.21.5 2929 | 2930 | escalade@3.2.0: {} 2931 | 2932 | escape-string-regexp@1.0.5: {} 2933 | 2934 | escape-string-regexp@4.0.0: {} 2935 | 2936 | estree-walker@0.6.1: {} 2937 | 2938 | exit-hook@2.2.1: {} 2939 | 2940 | fast-glob@3.3.2: 2941 | dependencies: 2942 | '@nodelib/fs.stat': 2.0.5 2943 | '@nodelib/fs.walk': 1.2.8 2944 | glob-parent: 5.1.2 2945 | merge2: 1.4.1 2946 | micromatch: 4.0.8 2947 | 2948 | fastq@1.17.1: 2949 | dependencies: 2950 | reusify: 1.0.4 2951 | 2952 | fill-range@7.1.1: 2953 | dependencies: 2954 | to-regex-range: 5.0.1 2955 | 2956 | foreground-child@3.3.0: 2957 | dependencies: 2958 | cross-spawn: 7.0.3 2959 | signal-exit: 4.1.0 2960 | 2961 | fraction.js@4.3.7: {} 2962 | 2963 | fsevents@2.3.3: 2964 | optional: true 2965 | 2966 | function-bind@1.1.2: {} 2967 | 2968 | gensync@1.0.0-beta.2: {} 2969 | 2970 | get-nonce@1.0.1: {} 2971 | 2972 | get-source@2.0.12: 2973 | dependencies: 2974 | data-uri-to-buffer: 2.0.2 2975 | source-map: 0.6.1 2976 | 2977 | glob-parent@5.1.2: 2978 | dependencies: 2979 | is-glob: 4.0.3 2980 | 2981 | glob-parent@6.0.2: 2982 | dependencies: 2983 | is-glob: 4.0.3 2984 | 2985 | glob-to-regexp@0.4.1: {} 2986 | 2987 | glob@10.4.5: 2988 | dependencies: 2989 | foreground-child: 3.3.0 2990 | jackspeak: 3.4.3 2991 | minimatch: 9.0.5 2992 | minipass: 7.1.2 2993 | package-json-from-dist: 1.0.1 2994 | path-scurry: 1.11.1 2995 | 2996 | globals@11.12.0: {} 2997 | 2998 | globrex@0.1.2: {} 2999 | 3000 | has-flag@3.0.0: {} 3001 | 3002 | hasown@2.0.2: 3003 | dependencies: 3004 | function-bind: 1.1.2 3005 | 3006 | hono@4.6.6: {} 3007 | 3008 | invariant@2.2.4: 3009 | dependencies: 3010 | loose-envify: 1.4.0 3011 | 3012 | is-binary-path@2.1.0: 3013 | dependencies: 3014 | binary-extensions: 2.3.0 3015 | 3016 | is-core-module@2.15.1: 3017 | dependencies: 3018 | hasown: 2.0.2 3019 | 3020 | is-extglob@2.1.1: {} 3021 | 3022 | is-fullwidth-code-point@3.0.0: {} 3023 | 3024 | is-glob@4.0.3: 3025 | dependencies: 3026 | is-extglob: 2.1.1 3027 | 3028 | is-number@7.0.0: {} 3029 | 3030 | isexe@2.0.0: {} 3031 | 3032 | itty-time@1.0.6: {} 3033 | 3034 | jackspeak@3.4.3: 3035 | dependencies: 3036 | '@isaacs/cliui': 8.0.2 3037 | optionalDependencies: 3038 | '@pkgjs/parseargs': 0.11.0 3039 | 3040 | jiti@1.21.6: {} 3041 | 3042 | jose@5.9.6: {} 3043 | 3044 | js-tokens@4.0.0: {} 3045 | 3046 | jsesc@3.0.2: {} 3047 | 3048 | json5@2.2.3: {} 3049 | 3050 | lilconfig@2.1.0: {} 3051 | 3052 | lilconfig@3.1.2: {} 3053 | 3054 | lines-and-columns@1.2.4: {} 3055 | 3056 | loose-envify@1.4.0: 3057 | dependencies: 3058 | js-tokens: 4.0.0 3059 | 3060 | lru-cache@10.4.3: {} 3061 | 3062 | lru-cache@5.1.1: 3063 | dependencies: 3064 | yallist: 3.1.1 3065 | 3066 | lucide-react@0.453.0(react@18.3.1): 3067 | dependencies: 3068 | react: 18.3.1 3069 | 3070 | magic-string@0.25.9: 3071 | dependencies: 3072 | sourcemap-codec: 1.4.8 3073 | 3074 | merge2@1.4.1: {} 3075 | 3076 | micromatch@4.0.8: 3077 | dependencies: 3078 | braces: 3.0.3 3079 | picomatch: 2.3.1 3080 | 3081 | mime@3.0.0: {} 3082 | 3083 | miniflare@3.20241022.0: 3084 | dependencies: 3085 | '@cspotcode/source-map-support': 0.8.1 3086 | acorn: 8.13.0 3087 | acorn-walk: 8.3.4 3088 | capnp-ts: 0.7.0 3089 | exit-hook: 2.2.1 3090 | glob-to-regexp: 0.4.1 3091 | stoppable: 1.1.0 3092 | undici: 5.28.4 3093 | workerd: 1.20241022.0 3094 | ws: 8.18.0 3095 | youch: 3.3.4 3096 | zod: 3.23.8 3097 | transitivePeerDependencies: 3098 | - bufferutil 3099 | - supports-color 3100 | - utf-8-validate 3101 | 3102 | minimatch@9.0.5: 3103 | dependencies: 3104 | brace-expansion: 2.0.1 3105 | 3106 | minipass@7.1.2: {} 3107 | 3108 | mitt@3.0.1: {} 3109 | 3110 | ms@2.1.3: {} 3111 | 3112 | mustache@4.2.0: {} 3113 | 3114 | mz@2.7.0: 3115 | dependencies: 3116 | any-promise: 1.3.0 3117 | object-assign: 4.1.1 3118 | thenify-all: 1.6.0 3119 | 3120 | nanoid@3.3.7: {} 3121 | 3122 | node-forge@1.3.1: {} 3123 | 3124 | node-releases@2.0.18: {} 3125 | 3126 | normalize-path@3.0.0: {} 3127 | 3128 | normalize-range@0.1.2: {} 3129 | 3130 | oauth4webapi@2.17.0: {} 3131 | 3132 | object-assign@4.1.1: {} 3133 | 3134 | object-hash@3.0.0: {} 3135 | 3136 | ohash@1.1.4: {} 3137 | 3138 | package-json-from-dist@1.0.1: {} 3139 | 3140 | path-key@3.1.1: {} 3141 | 3142 | path-parse@1.0.7: {} 3143 | 3144 | path-scurry@1.11.1: 3145 | dependencies: 3146 | lru-cache: 10.4.3 3147 | minipass: 7.1.2 3148 | 3149 | path-to-regexp@6.3.0: {} 3150 | 3151 | pathe@1.1.2: {} 3152 | 3153 | picocolors@1.1.1: {} 3154 | 3155 | picomatch@2.3.1: {} 3156 | 3157 | pify@2.3.0: {} 3158 | 3159 | pirates@4.0.6: {} 3160 | 3161 | postcss-import@15.1.0(postcss@8.4.47): 3162 | dependencies: 3163 | postcss: 8.4.47 3164 | postcss-value-parser: 4.2.0 3165 | read-cache: 1.0.0 3166 | resolve: 1.22.8 3167 | 3168 | postcss-js@4.0.1(postcss@8.4.47): 3169 | dependencies: 3170 | camelcase-css: 2.0.1 3171 | postcss: 8.4.47 3172 | 3173 | postcss-load-config@4.0.2(postcss@8.4.47): 3174 | dependencies: 3175 | lilconfig: 3.1.2 3176 | yaml: 2.6.0 3177 | optionalDependencies: 3178 | postcss: 8.4.47 3179 | 3180 | postcss-nested@6.2.0(postcss@8.4.47): 3181 | dependencies: 3182 | postcss: 8.4.47 3183 | postcss-selector-parser: 6.1.2 3184 | 3185 | postcss-selector-parser@6.1.2: 3186 | dependencies: 3187 | cssesc: 3.0.0 3188 | util-deprecate: 1.0.2 3189 | 3190 | postcss-value-parser@4.2.0: {} 3191 | 3192 | postcss@8.4.47: 3193 | dependencies: 3194 | nanoid: 3.3.7 3195 | picocolors: 1.1.1 3196 | source-map-js: 1.2.1 3197 | 3198 | preact-render-to-string@5.2.3(preact@10.11.3): 3199 | dependencies: 3200 | preact: 10.11.3 3201 | pretty-format: 3.8.0 3202 | 3203 | preact@10.11.3: {} 3204 | 3205 | pretty-format@3.8.0: {} 3206 | 3207 | printable-characters@1.0.42: {} 3208 | 3209 | queue-microtask@1.2.3: {} 3210 | 3211 | react-dom@18.3.1(react@18.3.1): 3212 | dependencies: 3213 | loose-envify: 1.4.0 3214 | react: 18.3.1 3215 | scheduler: 0.23.2 3216 | 3217 | react-refresh@0.14.2: {} 3218 | 3219 | react-remove-scroll-bar@2.3.6(@types/react@18.3.12)(react@18.3.1): 3220 | dependencies: 3221 | react: 18.3.1 3222 | react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1) 3223 | tslib: 2.8.0 3224 | optionalDependencies: 3225 | '@types/react': 18.3.12 3226 | 3227 | react-remove-scroll@2.6.0(@types/react@18.3.12)(react@18.3.1): 3228 | dependencies: 3229 | react: 18.3.1 3230 | react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@18.3.1) 3231 | react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1) 3232 | tslib: 2.8.0 3233 | use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1) 3234 | use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1) 3235 | optionalDependencies: 3236 | '@types/react': 18.3.12 3237 | 3238 | react-style-singleton@2.2.1(@types/react@18.3.12)(react@18.3.1): 3239 | dependencies: 3240 | get-nonce: 1.0.1 3241 | invariant: 2.2.4 3242 | react: 18.3.1 3243 | tslib: 2.8.0 3244 | optionalDependencies: 3245 | '@types/react': 18.3.12 3246 | 3247 | react@18.3.1: 3248 | dependencies: 3249 | loose-envify: 1.4.0 3250 | 3251 | read-cache@1.0.0: 3252 | dependencies: 3253 | pify: 2.3.0 3254 | 3255 | readdirp@3.6.0: 3256 | dependencies: 3257 | picomatch: 2.3.1 3258 | 3259 | regexparam@3.0.0: {} 3260 | 3261 | resolve.exports@2.0.2: {} 3262 | 3263 | resolve@1.22.8: 3264 | dependencies: 3265 | is-core-module: 2.15.1 3266 | path-parse: 1.0.7 3267 | supports-preserve-symlinks-flag: 1.0.0 3268 | 3269 | reusify@1.0.4: {} 3270 | 3271 | rollup-plugin-inject@3.0.2: 3272 | dependencies: 3273 | estree-walker: 0.6.1 3274 | magic-string: 0.25.9 3275 | rollup-pluginutils: 2.8.2 3276 | 3277 | rollup-plugin-node-polyfills@0.2.1: 3278 | dependencies: 3279 | rollup-plugin-inject: 3.0.2 3280 | 3281 | rollup-pluginutils@2.8.2: 3282 | dependencies: 3283 | estree-walker: 0.6.1 3284 | 3285 | rollup@4.24.0: 3286 | dependencies: 3287 | '@types/estree': 1.0.6 3288 | optionalDependencies: 3289 | '@rollup/rollup-android-arm-eabi': 4.24.0 3290 | '@rollup/rollup-android-arm64': 4.24.0 3291 | '@rollup/rollup-darwin-arm64': 4.24.0 3292 | '@rollup/rollup-darwin-x64': 4.24.0 3293 | '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 3294 | '@rollup/rollup-linux-arm-musleabihf': 4.24.0 3295 | '@rollup/rollup-linux-arm64-gnu': 4.24.0 3296 | '@rollup/rollup-linux-arm64-musl': 4.24.0 3297 | '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 3298 | '@rollup/rollup-linux-riscv64-gnu': 4.24.0 3299 | '@rollup/rollup-linux-s390x-gnu': 4.24.0 3300 | '@rollup/rollup-linux-x64-gnu': 4.24.0 3301 | '@rollup/rollup-linux-x64-musl': 4.24.0 3302 | '@rollup/rollup-win32-arm64-msvc': 4.24.0 3303 | '@rollup/rollup-win32-ia32-msvc': 4.24.0 3304 | '@rollup/rollup-win32-x64-msvc': 4.24.0 3305 | fsevents: 2.3.3 3306 | 3307 | run-parallel@1.2.0: 3308 | dependencies: 3309 | queue-microtask: 1.2.3 3310 | 3311 | scheduler@0.23.2: 3312 | dependencies: 3313 | loose-envify: 1.4.0 3314 | 3315 | selfsigned@2.4.1: 3316 | dependencies: 3317 | '@types/node-forge': 1.3.11 3318 | node-forge: 1.3.1 3319 | 3320 | semver@6.3.1: {} 3321 | 3322 | shebang-command@2.0.0: 3323 | dependencies: 3324 | shebang-regex: 3.0.0 3325 | 3326 | shebang-regex@3.0.0: {} 3327 | 3328 | signal-exit@4.1.0: {} 3329 | 3330 | source-map-js@1.2.1: {} 3331 | 3332 | source-map@0.6.1: {} 3333 | 3334 | sourcemap-codec@1.4.8: {} 3335 | 3336 | stacktracey@2.1.8: 3337 | dependencies: 3338 | as-table: 1.0.55 3339 | get-source: 2.0.12 3340 | 3341 | stoppable@1.1.0: {} 3342 | 3343 | string-width@4.2.3: 3344 | dependencies: 3345 | emoji-regex: 8.0.0 3346 | is-fullwidth-code-point: 3.0.0 3347 | strip-ansi: 6.0.1 3348 | 3349 | string-width@5.1.2: 3350 | dependencies: 3351 | eastasianwidth: 0.2.0 3352 | emoji-regex: 9.2.2 3353 | strip-ansi: 7.1.0 3354 | 3355 | strip-ansi@6.0.1: 3356 | dependencies: 3357 | ansi-regex: 5.0.1 3358 | 3359 | strip-ansi@7.1.0: 3360 | dependencies: 3361 | ansi-regex: 6.1.0 3362 | 3363 | sucrase@3.35.0: 3364 | dependencies: 3365 | '@jridgewell/gen-mapping': 0.3.5 3366 | commander: 4.1.1 3367 | glob: 10.4.5 3368 | lines-and-columns: 1.2.4 3369 | mz: 2.7.0 3370 | pirates: 4.0.6 3371 | ts-interface-checker: 0.1.13 3372 | 3373 | supports-color@5.5.0: 3374 | dependencies: 3375 | has-flag: 3.0.0 3376 | 3377 | supports-preserve-symlinks-flag@1.0.0: {} 3378 | 3379 | tailwind-merge@2.5.4: {} 3380 | 3381 | tailwindcss-animate@1.0.7(tailwindcss@3.4.14): 3382 | dependencies: 3383 | tailwindcss: 3.4.14 3384 | 3385 | tailwindcss@3.4.14: 3386 | dependencies: 3387 | '@alloc/quick-lru': 5.2.0 3388 | arg: 5.0.2 3389 | chokidar: 3.6.0 3390 | didyoumean: 1.2.2 3391 | dlv: 1.1.3 3392 | fast-glob: 3.3.2 3393 | glob-parent: 6.0.2 3394 | is-glob: 4.0.3 3395 | jiti: 1.21.6 3396 | lilconfig: 2.1.0 3397 | micromatch: 4.0.8 3398 | normalize-path: 3.0.0 3399 | object-hash: 3.0.0 3400 | picocolors: 1.1.1 3401 | postcss: 8.4.47 3402 | postcss-import: 15.1.0(postcss@8.4.47) 3403 | postcss-js: 4.0.1(postcss@8.4.47) 3404 | postcss-load-config: 4.0.2(postcss@8.4.47) 3405 | postcss-nested: 6.2.0(postcss@8.4.47) 3406 | postcss-selector-parser: 6.1.2 3407 | resolve: 1.22.8 3408 | sucrase: 3.35.0 3409 | transitivePeerDependencies: 3410 | - ts-node 3411 | 3412 | thenify-all@1.6.0: 3413 | dependencies: 3414 | thenify: 3.3.1 3415 | 3416 | thenify@3.3.1: 3417 | dependencies: 3418 | any-promise: 1.3.0 3419 | 3420 | to-regex-range@5.0.1: 3421 | dependencies: 3422 | is-number: 7.0.0 3423 | 3424 | ts-interface-checker@0.1.13: {} 3425 | 3426 | tsconfck@3.1.4(typescript@5.6.3): 3427 | optionalDependencies: 3428 | typescript: 5.6.3 3429 | 3430 | tslib@2.8.0: {} 3431 | 3432 | typescript@5.6.3: {} 3433 | 3434 | ufo@1.5.4: {} 3435 | 3436 | undici-types@6.19.8: {} 3437 | 3438 | undici@5.28.4: 3439 | dependencies: 3440 | '@fastify/busboy': 2.1.1 3441 | 3442 | unenv-nightly@2.0.0-20241018-011344-e666fcf: 3443 | dependencies: 3444 | defu: 6.1.4 3445 | ohash: 1.1.4 3446 | pathe: 1.1.2 3447 | ufo: 1.5.4 3448 | 3449 | update-browserslist-db@1.1.1(browserslist@4.24.2): 3450 | dependencies: 3451 | browserslist: 4.24.2 3452 | escalade: 3.2.0 3453 | picocolors: 1.1.1 3454 | 3455 | use-callback-ref@1.3.2(@types/react@18.3.12)(react@18.3.1): 3456 | dependencies: 3457 | react: 18.3.1 3458 | tslib: 2.8.0 3459 | optionalDependencies: 3460 | '@types/react': 18.3.12 3461 | 3462 | use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1): 3463 | dependencies: 3464 | detect-node-es: 1.1.0 3465 | react: 18.3.1 3466 | tslib: 2.8.0 3467 | optionalDependencies: 3468 | '@types/react': 18.3.12 3469 | 3470 | use-sync-external-store@1.2.2(react@18.3.1): 3471 | dependencies: 3472 | react: 18.3.1 3473 | 3474 | util-deprecate@1.0.2: {} 3475 | 3476 | vite-tsconfig-paths@5.0.1(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)): 3477 | dependencies: 3478 | debug: 4.3.7 3479 | globrex: 0.1.2 3480 | tsconfck: 3.1.4(typescript@5.6.3) 3481 | optionalDependencies: 3482 | vite: 5.4.10(@types/node@22.7.9) 3483 | transitivePeerDependencies: 3484 | - supports-color 3485 | - typescript 3486 | 3487 | vite@5.4.10(@types/node@22.7.9): 3488 | dependencies: 3489 | esbuild: 0.21.5 3490 | postcss: 8.4.47 3491 | rollup: 4.24.0 3492 | optionalDependencies: 3493 | '@types/node': 22.7.9 3494 | fsevents: 2.3.3 3495 | 3496 | which@2.0.2: 3497 | dependencies: 3498 | isexe: 2.0.0 3499 | 3500 | workerd@1.20241022.0: 3501 | optionalDependencies: 3502 | '@cloudflare/workerd-darwin-64': 1.20241022.0 3503 | '@cloudflare/workerd-darwin-arm64': 1.20241022.0 3504 | '@cloudflare/workerd-linux-64': 1.20241022.0 3505 | '@cloudflare/workerd-linux-arm64': 1.20241022.0 3506 | '@cloudflare/workerd-windows-64': 1.20241022.0 3507 | 3508 | wouter@3.3.5(react@18.3.1): 3509 | dependencies: 3510 | mitt: 3.0.1 3511 | react: 18.3.1 3512 | regexparam: 3.0.0 3513 | use-sync-external-store: 1.2.2(react@18.3.1) 3514 | 3515 | wrangler@3.83.0: 3516 | dependencies: 3517 | '@cloudflare/kv-asset-handler': 0.3.4 3518 | '@cloudflare/workers-shared': 0.7.0 3519 | '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) 3520 | '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) 3521 | blake3-wasm: 2.1.5 3522 | chokidar: 3.6.0 3523 | date-fns: 4.1.0 3524 | esbuild: 0.17.19 3525 | itty-time: 1.0.6 3526 | miniflare: 3.20241022.0 3527 | nanoid: 3.3.7 3528 | path-to-regexp: 6.3.0 3529 | resolve: 1.22.8 3530 | resolve.exports: 2.0.2 3531 | selfsigned: 2.4.1 3532 | source-map: 0.6.1 3533 | unenv: unenv-nightly@2.0.0-20241018-011344-e666fcf 3534 | workerd: 1.20241022.0 3535 | xxhash-wasm: 1.0.2 3536 | optionalDependencies: 3537 | fsevents: 2.3.3 3538 | transitivePeerDependencies: 3539 | - bufferutil 3540 | - supports-color 3541 | - utf-8-validate 3542 | 3543 | wrap-ansi@7.0.0: 3544 | dependencies: 3545 | ansi-styles: 4.3.0 3546 | string-width: 4.2.3 3547 | strip-ansi: 6.0.1 3548 | 3549 | wrap-ansi@8.1.0: 3550 | dependencies: 3551 | ansi-styles: 6.2.1 3552 | string-width: 5.1.2 3553 | strip-ansi: 7.1.0 3554 | 3555 | ws@8.18.0: {} 3556 | 3557 | xxhash-wasm@1.0.2: {} 3558 | 3559 | yallist@3.1.1: {} 3560 | 3561 | yaml@2.6.0: {} 3562 | 3563 | youch@3.3.4: 3564 | dependencies: 3565 | cookie: 0.7.2 3566 | mustache: 4.2.0 3567 | stacktracey: 2.1.8 3568 | 3569 | zod@3.23.8: {} 3570 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divyam234/next-auth-hono-react/b5f8800218900d62018bd382bdd4c4d90ed0d4ff/public/favicon.ico -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divyam234/next-auth-hono-react/b5f8800218900d62018bd382bdd4c4d90ed0d4ff/public/logo.png -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | darkMode: ["class"], 4 | content: [ 5 | "./pages/**/*.{ts,tsx}", 6 | "./components/**/*.{ts,tsx}", 7 | "./app/**/*.{ts,tsx}", 8 | "./src/**/*.{ts,tsx}", 9 | ], 10 | theme: { 11 | container: { 12 | center: true, 13 | padding: "2rem", 14 | screens: { 15 | "2xl": "1400px", 16 | }, 17 | }, 18 | extend: { 19 | colors: { 20 | border: "hsl(var(--border))", 21 | input: "hsl(var(--input))", 22 | ring: "hsl(var(--ring))", 23 | background: "hsl(var(--background))", 24 | foreground: "hsl(var(--foreground))", 25 | primary: { 26 | DEFAULT: "hsl(var(--primary))", 27 | foreground: "hsl(var(--primary-foreground))", 28 | }, 29 | secondary: { 30 | DEFAULT: "hsl(var(--secondary))", 31 | foreground: "hsl(var(--secondary-foreground))", 32 | }, 33 | destructive: { 34 | DEFAULT: "hsl(var(--destructive))", 35 | foreground: "hsl(var(--destructive-foreground))", 36 | }, 37 | muted: { 38 | DEFAULT: "hsl(var(--muted))", 39 | foreground: "hsl(var(--muted-foreground))", 40 | }, 41 | accent: { 42 | DEFAULT: "hsl(var(--accent))", 43 | foreground: "hsl(var(--accent-foreground))", 44 | }, 45 | popover: { 46 | DEFAULT: "hsl(var(--popover))", 47 | foreground: "hsl(var(--popover-foreground))", 48 | }, 49 | card: { 50 | DEFAULT: "hsl(var(--card))", 51 | foreground: "hsl(var(--card-foreground))", 52 | }, 53 | }, 54 | borderRadius: { 55 | lg: "var(--radius)", 56 | md: "calc(var(--radius) - 2px)", 57 | sm: "calc(var(--radius) - 4px)", 58 | }, 59 | keyframes: { 60 | "accordion-down": { 61 | from: { height: 0 }, 62 | to: { height: "var(--radix-accordion-content-height)" }, 63 | }, 64 | "accordion-up": { 65 | from: { height: "var(--radix-accordion-content-height)" }, 66 | to: { height: 0 }, 67 | }, 68 | }, 69 | animation: { 70 | "accordion-down": "accordion-down 0.2s ease-out", 71 | "accordion-up": "accordion-up 0.2s ease-out", 72 | }, 73 | }, 74 | }, 75 | plugins: [require("tailwindcss-animate")], 76 | } 77 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "Bundler", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true, 17 | "paths": { 18 | "@/*": ["./*"] 19 | } 20 | }, 21 | "include": [ 22 | "process.d.ts", 23 | "vite-env.d.ts", 24 | "**/*.ts", 25 | "**/*.tsx", 26 | ".next/types/**/*.ts" 27 | ], 28 | "exclude": ["node_modules"] 29 | } 30 | -------------------------------------------------------------------------------- /vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /vite.config.mts: -------------------------------------------------------------------------------- 1 | import react from "@vitejs/plugin-react" 2 | import { defineConfig } from "vite" 3 | import tsconfigPaths from "vite-tsconfig-paths" 4 | 5 | export default defineConfig({ 6 | plugins: [react(), tsconfigPaths()], 7 | server: { 8 | proxy: { 9 | "/api": { 10 | target: "http://localhost:5000", 11 | }, 12 | }, 13 | }, 14 | }) 15 | --------------------------------------------------------------------------------