diff --git a/.dockerignore b/.dockerignore index 29a0ec0..c5c179e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,6 +1,7 @@ # Dependencies node_modules npm-debug.log +pnpm-debug.log yarn-debug.log yarn-error.log diff --git a/Dockerfile b/Dockerfile index 9a8497a..a6d1298 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,20 @@ # Build stage -FROM node:18-alpine AS builder +FROM --platform=$BUILDPLATFORM node:25-slim AS builder WORKDIR /app -COPY package*.json ./ -RUN npm install + +# Install pnpm +RUN npm install -g pnpm + +COPY package.json pnpm-lock.yaml* ./ +RUN pnpm install --frozen-lockfile COPY . . -RUN npm run build +RUN pnpm run build # Production stage -FROM node:18-alpine AS runner +FROM node:25-slim AS runner WORKDIR /app -ENV NODE_ENV production +ENV NODE_ENV=production # Create non-root user RUN addgroup --system --gid 1001 nodejs @@ -28,7 +32,7 @@ USER nextjs EXPOSE 3000 -ENV PORT 3000 -ENV HOSTNAME "0.0.0.0" +ENV PORT=3000 +ENV HOSTNAME="0.0.0.0" CMD ["node", "server.js"] diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx new file mode 100644 index 0000000..449db93 --- /dev/null +++ b/app/[locale]/layout.tsx @@ -0,0 +1,29 @@ +import { NextIntlClientProvider } from 'next-intl'; +import { getMessages } from 'next-intl/server'; +import { notFound } from 'next/navigation'; +import { locales } from '../../i18n/request'; + +export default async function LocaleLayout({ + children, + params +}: { + children: React.ReactNode; + params: Promise<{ locale: string }>; +}) { + const { locale } = await params; + + // Ensure that the incoming `locale` is valid + if (!locales.includes(locale as (typeof locales)[number])) { + notFound(); + } + + // Providing all messages to the client + // side is the easiest way to get started + const messages = await getMessages(); + + return ( + + {children} + + ); +} \ No newline at end of file diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx new file mode 100644 index 0000000..7d465f5 --- /dev/null +++ b/app/[locale]/page.tsx @@ -0,0 +1,251 @@ +'use client'; + +import { useState, useEffect, useCallback, useRef } from 'react'; +import { useIsMobile } from '../hooks/useIsMobile'; +import Image from 'next/image'; +import { FloatingHearts } from '../components/FloatingHearts'; +import { ThemeToggle } from '../components/ThemeToggle'; +import { SpeechBubble } from '../components/SpeechBubble'; +import { SkinSelector } from '../components/SkinSelector'; +import { shakeConfig } from '../config/shake'; +import { ArrowTopRightOnSquareIcon } from '@heroicons/react/24/outline'; +import { appConfig } from '../config/app'; +import { useSkin } from '../hooks/useSkin'; +import { LanguageToggle } from '../components/LanguageToggle'; +import { useTranslations } from 'next-intl'; +import { useLocalizedSkinName } from '../hooks/useLocalizedSkinName'; + +export default function Home() { + const [isShaken, setIsShaken] = useState(false); + const [shakeIntensity, setShakeIntensity] = useState(0); + const [lastUpdate, setLastUpdate] = useState(0); + const [shakeCount, setShakeCount] = useState(0); + const [motionPermission, setMotionPermission] = useState('prompt'); + const isMobile = useIsMobile(); + const [, setIsAnimating] = useState(false); + const [, setShakeQueue] = useState([]); + const isAnimatingRef = useRef(false); + const animationTimeoutRef = useRef(undefined); + const animationStartTimeRef = useRef(0); + const currentSkin = useSkin(); + const getLocalizedSkinName = useLocalizedSkinName(); + const t = useTranslations('ui'); + + // Check if device motion is available and handle permissions + const requestMotionPermission = async () => { + if (typeof window === 'undefined') return; + + // Check if device motion is available + if (!('DeviceMotionEvent' in window)) { + setMotionPermission('denied'); + return; + } + + // Request permission on iOS devices + if ('requestPermission' in DeviceMotionEvent) { + try { + // @ts-expect-error - TypeScript doesn't know about requestPermission + const permission = await DeviceMotionEvent.requestPermission(); + setMotionPermission(permission); + } catch (err) { + console.error('Error requesting motion permission:', err); + setMotionPermission('denied'); + } + } else { + // Android or desktop - no permission needed + setMotionPermission('granted'); + } + }; + + const triggerShake = useCallback((intensity: number) => { + // Use ref instead of state to prevent race conditions + if (!isAnimatingRef.current) { + // Clear any existing timeout + if (animationTimeoutRef.current) { + clearTimeout(animationTimeoutRef.current); + } + + // Start shake animation + isAnimatingRef.current = true; + animationStartTimeRef.current = Date.now(); // Track when animation starts + setIsAnimating(true); + setIsShaken(true); + setShakeIntensity(intensity); + setShakeCount(count => count + 1); + + // Reset shake after configured duration + animationTimeoutRef.current = setTimeout(() => { + setIsShaken(false); + setShakeIntensity(0); + setIsAnimating(false); + isAnimatingRef.current = false; + + // Process next shake in queue if any + setShakeQueue(prev => { + if (prev.length > 0) { + const [nextIntensity, ...rest] = prev; + // Small delay before triggering next shake to ensure clean transition + setTimeout(() => { + triggerShake(nextIntensity); + }, 16); + return rest; + } + return prev; + }); + }, shakeConfig.animations.shakeReset); + } else { + // Only queue if we're not at the start of the animation + const timeSinceStart = Date.now() - animationStartTimeRef.current; + if (timeSinceStart > 100) { // Only queue if animation has been running for a bit + setShakeQueue(prev => { + // Hard limit at 1 item + if (prev.length >= 1) return prev; + return [...prev, intensity]; + }); + } + } + }, []); // Remove isAnimating from dependencies since we're using ref + + useEffect(() => { + const handleKeyPress = (event: KeyboardEvent) => { + if (event.code === 'Space') { + triggerShake(shakeConfig.defaultTriggerIntensity); + } + }; + + const handleMotion = (event: DeviceMotionEvent) => { + const acceleration = event.accelerationIncludingGravity; + if (!acceleration) return; + + const currentTime = new Date().getTime(); + const timeDiff = currentTime - lastUpdate; + + if (timeDiff > shakeConfig.debounceTime) { + setLastUpdate(currentTime); + + const speed = Math.abs(acceleration.x || 0) + + Math.abs(acceleration.y || 0) + + Math.abs(acceleration.z || 0); + + if (speed > shakeConfig.threshold) { + triggerShake(speed); + } + } + }; + + // Only add motion listener if permission is granted + if (typeof window !== 'undefined') { + if (motionPermission === 'granted' && 'DeviceMotionEvent' in window) { + window.addEventListener('devicemotion', handleMotion); + } + window.addEventListener('keydown', handleKeyPress); + } + + return () => { + if (typeof window !== 'undefined') { + if (motionPermission === 'granted') { + window.removeEventListener('devicemotion', handleMotion); + } + window.removeEventListener('keydown', handleKeyPress); + } + }; + }, [lastUpdate, motionPermission, triggerShake]); + + // Initial permission check + useEffect(() => { + requestMotionPermission(); + }, []); + + const handleClick = () => { + // Trigger haptic feedback for tap interaction + if ('vibrate' in navigator) { + navigator.vibrate(50); // Short 50ms vibration + } + triggerShake(shakeConfig.defaultTriggerIntensity); + }; + + // Add cleanup in the component + useEffect(() => { + return () => { + if (animationTimeoutRef.current) { + clearTimeout(animationTimeoutRef.current); + } + }; + }, []); + + return ( +
+
+
+ + +
+ +
+
+
+ +
+ + + +
+

+ {motionPermission === 'prompt' ? ( + + ) : motionPermission === 'granted' ? ( + t( + isMobile ? 'shakeInstructionsMobile' : 'shakeInstructionsDesktop', + { item: getLocalizedSkinName(currentSkin) } + ) + ) : ( + t( + isMobile ? 'noShakeInstructionsMobile' : 'noShakeInstructionsDesktop', + { item: getLocalizedSkinName(currentSkin) } + ) + )} +

+
+
+ + +
+ ); +} diff --git a/app/api/og/route.tsx b/app/api/og/route.tsx index 25eb80b..aa6e14c 100644 --- a/app/api/og/route.tsx +++ b/app/api/og/route.tsx @@ -18,23 +18,33 @@ export async function GET(request: Request) { alignItems: 'center', justifyContent: 'center', backgroundColor: appConfig.assets.ogImage.bgColor, - fontSize: 60, + fontSize: 72, fontWeight: 600, }} > {appConfig.name} -
{appConfig.name}
+
+ {appConfig.name} +
{appConfig.description} diff --git a/app/components/LanguageToggle.tsx b/app/components/LanguageToggle.tsx new file mode 100644 index 0000000..6904458 --- /dev/null +++ b/app/components/LanguageToggle.tsx @@ -0,0 +1,121 @@ +'use client'; + +import { useState, useRef, useEffect } from 'react'; +import { useLocale, useTranslations } from 'next-intl'; +import { Link } from '../../i18n/routing'; +import { GlobeAltIcon, ChevronDownIcon } from '@heroicons/react/24/outline'; + +type Locale = 'en' | 'de' | 'ru' | 'ka' | 'ar'; + +interface LanguageOption { + code: Locale; + name: string; +} + +export function LanguageToggle() { + const locale = useLocale() as Locale; + const t = useTranslations('ui'); + const [isOpen, setIsOpen] = useState(false); + const dropdownRef = useRef(null); + + // Define the available locales + const locales: Locale[] = ['en', 'de', 'ru', 'ka', 'ar']; + + const languageOptions: LanguageOption[] = locales.map((code) => ({ + code, + name: t(`languages.${code}`) + })); + + const currentLanguage = languageOptions.find(lang => lang.code === locale) || languageOptions[0]; + + // Handle clicking outside to close dropdown + useEffect(() => { + const handleClickOutside = (event: MouseEvent) => { + if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { + setIsOpen(false); + } + }; + + if (isOpen) { + document.addEventListener('mousedown', handleClickOutside); + } + + return () => { + document.removeEventListener('mousedown', handleClickOutside); + }; + }, [isOpen]); + + // Handle escape key to close dropdown + useEffect(() => { + const handleEscape = (event: KeyboardEvent) => { + if (event.key === 'Escape') { + setIsOpen(false); + } + }; + + if (isOpen) { + document.addEventListener('keydown', handleEscape); + } + + return () => { + document.removeEventListener('keydown', handleEscape); + }; + }, [isOpen]); + + const toggleDropdown = () => { + setIsOpen(!isOpen); + }; + + return ( +
+ {/* Main toggle button */} + + + {/* Dropdown menu */} + {isOpen && ( +
+
+ {languageOptions.map((option) => ( + setIsOpen(false)} + className={`w-full flex items-center gap-3 px-3 py-2 text-sm text-left hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors ${ + locale === option.code + ? 'bg-gray-100 dark:bg-gray-700 text-blue-600 dark:text-blue-400' + : 'text-gray-700 dark:text-gray-300' + }`} + role="menuitem" + > + + {option.name} + {locale === option.code && ( +
+ )} + + ))} +
+
+ )} +
+ ); +} \ No newline at end of file diff --git a/app/components/SkinSelector.tsx b/app/components/SkinSelector.tsx new file mode 100644 index 0000000..b7f04b6 --- /dev/null +++ b/app/components/SkinSelector.tsx @@ -0,0 +1,151 @@ +'use client'; + +import { useState, useRef, useEffect, useCallback } from 'react'; +import { useRouter, useSearchParams } from 'next/navigation'; +import Image from 'next/image'; +import { appConfig } from '../config/app'; +import { SkinId } from '../types'; +import { useLocalizedSkinName } from '../hooks/useLocalizedSkinName'; +import { ChevronDownIcon } from '@heroicons/react/24/outline'; + +interface SkinOption { + id: SkinId; + name: string; + image: string; +} + +export function SkinSelector() { + const router = useRouter(); + const searchParams = useSearchParams(); + const getLocalizedSkinName = useLocalizedSkinName(); + const [isOpen, setIsOpen] = useState(false); + const dropdownRef = useRef(null); + + const skinOptions: SkinOption[] = Object.entries(appConfig.skins).map(([id, skin]) => ({ + id: id as SkinId, + name: getLocalizedSkinName(id), + image: skin.normal + })); + + const skinParam = searchParams.get('skin'); + + // Validate that the skin exists in our config + const isValidSkin = skinParam && Object.keys(appConfig.skins).includes(skinParam); + + // Use the skin from URL if valid, otherwise use default skin + const currentSkin = (isValidSkin ? skinParam : appConfig.defaultSkin) as SkinId; + const currentSkinOption = skinOptions.find(skin => skin.id === currentSkin) || skinOptions[0]; + + const handleSkinChange = useCallback((newSkin: SkinId) => { + const params = new URLSearchParams(searchParams.toString()); + + if (newSkin === appConfig.defaultSkin) { + params.delete('skin'); + } else { + params.set('skin', newSkin); + } + + const newUrl = `${window.location.pathname}${params.toString() ? '?' + params.toString() : ''}`; + router.push(newUrl); + setIsOpen(false); + }, [router, searchParams]); + + // Handle clicking outside to close dropdown + useEffect(() => { + const handleClickOutside = (event: MouseEvent) => { + if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { + setIsOpen(false); + } + }; + + if (isOpen) { + document.addEventListener('mousedown', handleClickOutside); + } + + return () => { + document.removeEventListener('mousedown', handleClickOutside); + }; + }, [isOpen]); + + // Handle escape key to close dropdown + useEffect(() => { + const handleEscape = (event: KeyboardEvent) => { + if (event.key === 'Escape') { + setIsOpen(false); + } + }; + + if (isOpen) { + document.addEventListener('keydown', handleEscape); + } + + return () => { + document.removeEventListener('keydown', handleEscape); + }; + }, [isOpen]); + + const toggleDropdown = () => { + setIsOpen(!isOpen); + }; + + return ( +
+ {/* Main toggle button */} + + + {/* Dropdown menu */} + {isOpen && ( +
+
+ {skinOptions.map((option) => ( + + ))} +
+
+ )} +
+ ); +} \ No newline at end of file diff --git a/app/components/SpeechBubble.tsx b/app/components/SpeechBubble.tsx index 2cfcf40..28f0656 100644 --- a/app/components/SpeechBubble.tsx +++ b/app/components/SpeechBubble.tsx @@ -1,5 +1,6 @@ import { useEffect, useState, useCallback, useRef } from 'react'; -import { frogMessages } from '../config/messages'; +import { useMessages } from 'next-intl'; +import { getRandomEmoji } from '../config/emojis'; // Increase visibility duration for speech bubbles const VISIBILITY_MS = 3000; // 3 seconds for message visibility @@ -14,18 +15,51 @@ export function SpeechBubble({ triggerCount }: SpeechBubbleProps) { const [message, setMessage] = useState(''); const [isVisible, setIsVisible] = useState(false); const [messageQueue, setMessageQueue] = useState([]); + const allMessages = useMessages(); + const messagesRef = useRef([]); const lastTriggerTime = useRef(0); const showTimeRef = useRef(0); const lastFadeTime = useRef(0); + // Load messages when component mounts or language changes + useEffect(() => { + // Only run if we haven't loaded messages yet + if (messagesRef.current.length > 0) return; + + // Get the character messages from the messages object + try { + const characterMessages = allMessages.character; + + if (characterMessages && typeof characterMessages === 'object') { + // Convert object values to array + const messageArray = Object.values(characterMessages) as string[]; + + if (messageArray.length === 0) { + console.error(`No character messages found! Expected messages in 'character' namespace but got none.`); + return; + } + + console.log(`Loaded ${messageArray.length} character messages`); + messagesRef.current = messageArray; + } else { + console.error(`Character messages not found or invalid format:`, characterMessages); + } + } catch (error) { + console.error(`Error loading character messages:`, error); + } + }, [allMessages]); // Depend on allMessages to reload when they change + const getRandomMessage = useCallback(() => { - const randomIndex = Math.floor(Math.random() * frogMessages.length); - return frogMessages[randomIndex]; - }, []); + const currentMessages = messagesRef.current; + if (currentMessages.length === 0) return ''; + const randomIndex = Math.floor(Math.random() * currentMessages.length); + const message = currentMessages[randomIndex]; + return `${message} ${getRandomEmoji()}`; + }, []); // No dependencies needed since we use ref // Handle new trigger events useEffect(() => { - if (triggerCount === 0) return; + if (triggerCount === 0 || messagesRef.current.length === 0) return; const now = Date.now(); const timeSinceLastFade = now - lastFadeTime.current; @@ -33,7 +67,9 @@ export function SpeechBubble({ triggerCount }: SpeechBubbleProps) { // If we're in cooldown, or a message is visible, queue the new message if (timeSinceLastFade < COOLDOWN_MS || isVisible) { const newMessage = getRandomMessage(); - setMessageQueue(prev => [...prev, newMessage]); + if (newMessage) { + setMessageQueue(prev => [...prev, newMessage]); + } return; } @@ -41,9 +77,11 @@ export function SpeechBubble({ triggerCount }: SpeechBubbleProps) { lastTriggerTime.current = now; showTimeRef.current = now; const newMessage = getRandomMessage(); - setMessage(newMessage); - setIsVisible(true); - }, [triggerCount, getRandomMessage, isVisible]); + if (newMessage) { + setMessage(newMessage); + setIsVisible(true); + } + }, [triggerCount, isVisible, getRandomMessage]); // Handle message queue useEffect(() => { @@ -76,19 +114,16 @@ export function SpeechBubble({ triggerCount }: SpeechBubbleProps) { }, [isVisible]); return ( -
-
- {message} -
-
+ {message}
); } diff --git a/app/components/ThemeToggle.tsx b/app/components/ThemeToggle.tsx index 43a81c0..b89e2b7 100644 --- a/app/components/ThemeToggle.tsx +++ b/app/components/ThemeToggle.tsx @@ -1,22 +1,138 @@ 'use client'; +import { useState, useRef, useEffect } from 'react'; +import { useTranslations } from 'next-intl'; import { useTheme } from '../providers/ThemeProvider'; -import { SunIcon, MoonIcon } from '@heroicons/react/24/outline'; +import { SunIcon, MoonIcon, ComputerDesktopIcon, ChevronDownIcon } from '@heroicons/react/24/outline'; + +type ThemeMode = 'light' | 'dark' | 'system'; + +interface ThemeOption { + mode: ThemeMode; + label: string; + icon: React.ReactNode; +} export function ThemeToggle() { - const { darkMode, toggleDarkMode } = useTheme(); + const { themeMode, setThemeMode } = useTheme(); + const t = useTranslations('ui'); + const [isOpen, setIsOpen] = useState(false); + const dropdownRef = useRef(null); + + const themeOptions: ThemeOption[] = [ + { + mode: 'light', + label: t('themes.light'), + icon: + }, + { + mode: 'dark', + label: t('themes.dark'), + icon: + }, + { + mode: 'system', + label: t('themes.system'), + icon: + } + ]; + + // Get current theme option + const currentTheme = themeOptions.find(option => option.mode === themeMode) || themeOptions[2]; + + // Handle clicking outside to close dropdown + useEffect(() => { + const handleClickOutside = (event: MouseEvent) => { + if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { + setIsOpen(false); + } + }; + + if (isOpen) { + document.addEventListener('mousedown', handleClickOutside); + } + + return () => { + document.removeEventListener('mousedown', handleClickOutside); + }; + }, [isOpen]); + + // Handle escape key to close dropdown + useEffect(() => { + const handleEscape = (event: KeyboardEvent) => { + if (event.key === 'Escape') { + setIsOpen(false); + } + }; + + if (isOpen) { + document.addEventListener('keydown', handleEscape); + } + + return () => { + document.removeEventListener('keydown', handleEscape); + }; + }, [isOpen]); + + const handleThemeSelect = (mode: ThemeMode) => { + setThemeMode(mode); + setIsOpen(false); + }; + + const toggleDropdown = () => { + setIsOpen(!isOpen); + }; return ( - + + {/* Dropdown menu */} + {isOpen && ( +
+
+ {themeOptions.map((option) => ( + + ))} +
+
)} - +
); } diff --git a/app/config/app.ts b/app/config/app.ts index c08738d..53f63d0 100644 --- a/app/config/app.ts +++ b/app/config/app.ts @@ -1,14 +1,36 @@ export const appConfig = { name: 'Shake the Frog', description: 'A fun interactive frog that reacts to shaking!', - url: 'https://shakethefrog.vercel.app', + url: 'https://shakethefrog.com', assets: { favicon: '/images/frog.svg', ogImage: { width: 1200, height: 630, - bgColor: '#f0fdf4', - textColor: '#374151' + bgColor: '#c9ffda', + textColor: '#000000' } - } -} as const \ No newline at end of file + }, + skins: { + frog: { + id: 'frog', + name: 'Frog', + normal: '/images/frog.svg', + shaken: '/images/frog-shaken.svg' + }, + mandarin: { + id: 'mandarin', + name: 'Mandarin', + normal: '/images/mandarin.svg', + // TODO: Create a proper shaken version of the mandarin skin + shaken: '/images/mandarin.svg' // Using the same image for both states until a shaken version is created + }, + beaver: { + id: 'beaver', + name: 'Beaver', + normal: '/images/beaver.svg', + shaken: '/images/beaver-shaken.svg' + } + }, + defaultSkin: 'frog' +} as const \ No newline at end of file diff --git a/app/config/emojis.ts b/app/config/emojis.ts new file mode 100644 index 0000000..d8f75d4 --- /dev/null +++ b/app/config/emojis.ts @@ -0,0 +1,14 @@ +// Define our curated emoji pool +const emojiPool = [ + '💫', '💝', '💘', '💖', '💕', + '💓', '💗', '💞', '✨', '🌟', + '🔥', '👼', '⭐', '💎', '💨', + '🎉', '🕸️', '🤗', '💋', '😘', + '🫂', '👫', '💟', '💌', '🥰', + '😍', '🥺', '😢', '😭' +]; + +// Helper function to get a random emoji +export function getRandomEmoji(): string { + return emojiPool[Math.floor(Math.random() * emojiPool.length)]; +} \ No newline at end of file diff --git a/app/config/messages.ts b/app/config/messages.ts deleted file mode 100644 index 9c57e86..0000000 --- a/app/config/messages.ts +++ /dev/null @@ -1,135 +0,0 @@ -export const frogMessages = [ - "Again! Again! ", - "Almost got me! ", - "Can't catch your breath? ", - "Catch me if you can! ", - "Chase me! ", - "Claim me! ", - "Come closer! ", - "Do it again! ", - "Don't stop now! ", - "Faster! Faster! ", - "Give me all you've got! ", - "Higher! Higher! ", - "I can dance all day! ", - "I can't get enough! ", - "I can't resist you! ", - "I crave your touch! ", - "I feel dizzy! ", - "I like your style! ", - "I love this game! ", - "I need you! ", - "I surrender to you! ", - "I want more! ", - "I yearn for your touch! ", - "I'm a furnace for you! ", - "I'm a raging inferno! ", - "I'm addicted to you! ", - "I'm all yours! ", - "I'm burning up! ", - "I'm completely yours! ", - "I'm consumed by you! ", - "I'm floating on air! ", - "I'm getting dizzy! ", - "I'm getting excited! ", - "I'm getting hot! ", - "I'm having a blast! ", - "I'm having a blast! ", - "I'm hooked on you! ", - "I'm in a tizzy! ", - "I'm in heaven! ", - "I'm in paradise! ", - "I'm lost in you! ", - "I'm melting! ", - "I'm on fire! ", - "I'm on the edge! ", - "I'm overflowing! ", - "I'm quivering with desire! ", - "I'm seeing stars! ", - "I'm shaking with anticipation! ", - "I'm so happy! ", - "I'm trembling! ", - "I'm under your spell! ", - "I'm yours for the taking! ", - "I'm yours forever! ", - "I'm yours to command! ", - "I'm yours! ", - "I'm yours, body and soul! ", - "I'm yours, now and forever! ", - "Is that all you've got? ", - "Keep shaking! ", - "Keep the rhythm going! ", - "Let's party! ", - "Let's play more! ", - "Like a record baby! ", - "Make me yours! ", - "Make me yours, completely! ", - "Missed me! ", - "More, more, more! ", - "My heart's racing! ", - "Neither can I! ", - "One more time! ", - "Playing hard to get? ", - "Round and round we go! ", - "Shake me harder! ", - "Show me what you've got! ", - "Show me your moves! ", - "So close! ", - "Spin me right round! ", - "Stop tickling! ", - "Take me to the edge! ", - "Take me! ", - "Take me, I'm yours! ", - "That tickles! ", - "That was fun! ", - "Too slow! ", - "Unleash me! ", - "Wait till I catch you! ", - "What a rush! ", - "Wheeee! ", - "Wheeeeeee! ", - "You drive me wild! ", - "You found me! ", - "You got me! ", - "You know how to party! ", - "You know what I like! ", - "You make me feel alive! ", - "You're absolute perfection! ", - "You're amazing! ", - "You're beyond incredible! ", - "You're driving me insane! ", - "You're driving me wild! ", - "You're fun! ", - "You're getting better! ", - "You're good at this! ", - "You're incredible! ", - "You're irresistible! ", - "You're making me blush! ", - "You're making me bounce! ", - "You're making me bounce! ", - "You're making me crazy! ", - "You're making me giddy! ", - "You're making me spin! ", - "You're making me swoon! ", - "You're making me twirl! ", - "You're my addiction! ", - "You're my desire! ", - "You're my dream! ", - "You're my everything and more! ", - "You're my everything! ", - "You're my fantasy! ", - "You're my heart's desire! ", - "You're my masterpiece! ", - "You're my obsession! ", - "You're my obsession! ", - "You're my temptation! ", - "You're my ultimate fantasy! ", - "You're my weakness! ", - "You're perfect! ", - "You're so good! ", - "You're so playful! ", - "You're such a tease! ", - "You're unstoppable! ", - "You've got the magic touch! ", - "Your touch is electric! " -]; \ No newline at end of file diff --git a/app/config/skin-names.ts b/app/config/skin-names.ts new file mode 100644 index 0000000..0630344 --- /dev/null +++ b/app/config/skin-names.ts @@ -0,0 +1,100 @@ +import { type Locale } from '../../i18n/request'; + +// Define grammatical cases for languages that need them +type GrammaticalCase = 'nominative' | 'accusative' | 'dative' | 'genitive' | 'instrumental' | 'prepositional'; + +// Define which languages need grammatical cases +const languagesWithCases: Partial> = { + ru: true, + ka: true +}; + +// Localized skin names for different languages with grammatical cases +const skinNames: Record>> = { + frog: { + en: 'Frog', + de: 'Frosch', + ru: { + nominative: 'Лягушка', + accusative: 'Лягушку', + dative: 'Лягушке', + genitive: 'Лягушки', + instrumental: 'Лягушкой', + prepositional: 'Лягушке' + }, + ka: { + nominative: 'ბაყაყი', + accusative: 'ბაყაყს', + dative: 'ბაყაყს', + genitive: 'ბაყაყის', + instrumental: 'ბაყაყით', + prepositional: 'ბაყაყზე' + }, + ar: 'ضفدع' + }, + mandarin: { + en: 'Mandarin', + de: 'Mandarine', + ru: { + nominative: 'Мандарин', + accusative: 'Мандарин', + dative: 'Мандарину', + genitive: 'Мандарина', + instrumental: 'Мандарином', + prepositional: 'Мандарине' + }, + ka: { + nominative: 'მანდარინი', + accusative: 'მანდარინს', + dative: 'მანდარინს', + genitive: 'მანდარინის', + instrumental: 'მანდარინით', + prepositional: 'მანდარინზე' + }, + ar: 'ماندرين' + }, + beaver: { + en: 'Beaver', + de: 'Biber', + ru: { + nominative: 'Бобр', + accusative: 'Бобра', + dative: 'Бобру', + genitive: 'Бобра', + instrumental: 'Бобром', + prepositional: 'Бобре' + }, + ka: { + nominative: 'თახვი', + accusative: 'თახვს', + dative: 'თახვს', + genitive: 'თახვის', + instrumental: 'თახვით', + prepositional: 'თახვზე' + }, + ar: 'قندس' + } +}; + +/** + * Get the localized name for a skin with the appropriate grammatical case + * @param skinId The skin ID + * @param language The language code + * @param grammaticalCase The grammatical case to use (for languages that need it) + * @returns The localized skin name + */ +export function getLocalizedSkinName( + skinId: string, + language: Locale, + grammaticalCase: GrammaticalCase = 'nominative' +): string { + const skinName = skinNames[skinId]?.[language]; + + // If the language doesn't use cases or we don't have cases for this skin + if (!skinName || typeof skinName === 'string' || !languagesWithCases[language]) { + return typeof skinName === 'string' ? skinName : skinNames[skinId]?.en as string || skinId; + } + + // Return the appropriate case, or fallback to nominative if the case doesn't exist + return skinName[grammaticalCase] || skinName.nominative; +} \ No newline at end of file diff --git a/app/globals.css b/app/globals.css index 43f5f4d..4f3dc74 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,6 +1,7 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import "tailwindcss"; + +/* Override the dark variant to use class-based dark mode instead of media query */ +@custom-variant dark (&:where(.dark, .dark *)); html, body { -webkit-tap-highlight-color: transparent; @@ -59,19 +60,19 @@ body { @keyframes float { 0% { opacity: 0; - transform: translate(-50%, 10px); + transform: translateX(-50%) translateY(10px); } 20% { opacity: 1; - transform: translate(-50%, 0); + transform: translateX(-50%) translateY(0); } 80% { opacity: 1; - transform: translate(-50%, 0); + transform: translateX(-50%) translateY(0); } 100% { opacity: 0; - transform: translate(-50%, -10px); + transform: translateX(-50%) translateY(-10px); } } diff --git a/app/hooks/useDarkMode.ts b/app/hooks/useDarkMode.ts deleted file mode 100644 index 49222cb..0000000 --- a/app/hooks/useDarkMode.ts +++ /dev/null @@ -1,34 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; - -export function useDarkMode() { - const [darkMode, setDarkMode] = useState(false); - - useEffect(() => { - // Check if user has a dark mode preference in localStorage - const isDark = localStorage.getItem('darkMode') === 'true'; - // Check system preference if no localStorage value - const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; - - setDarkMode(isDark ?? systemPrefersDark); - - // Add listener for system theme changes - const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); - const handleChange = (e: MediaQueryListEvent) => { - if (localStorage.getItem('darkMode') === null) { - setDarkMode(e.matches); - } - }; - - mediaQuery.addEventListener('change', handleChange); - return () => mediaQuery.removeEventListener('change', handleChange); - }, []); - - const toggleDarkMode = () => { - setDarkMode(!darkMode); - localStorage.setItem('darkMode', (!darkMode).toString()); - }; - - return { darkMode, toggleDarkMode }; -} diff --git a/app/hooks/useLocalizedSkinName.ts b/app/hooks/useLocalizedSkinName.ts new file mode 100644 index 0000000..8169ee3 --- /dev/null +++ b/app/hooks/useLocalizedSkinName.ts @@ -0,0 +1,27 @@ +'use client'; + +import { useLocale } from 'next-intl'; +import { getLocalizedSkinName } from '../config/skin-names'; +import { type Locale } from '../../i18n/request'; + +// Define grammatical cases +type GrammaticalCase = 'nominative' | 'accusative' | 'dative' | 'genitive' | 'instrumental' | 'prepositional'; + +/** + * Hook to get localized skin names + */ +export function useLocalizedSkinName() { + const locale = useLocale(); + + /** + * Get a localized skin name with the appropriate grammatical case + * @param skinId The skin ID + * @param grammaticalCase The grammatical case to use (for languages that need it) + * @returns The localized skin name + */ + const getLocalizedName = (skinId: string, grammaticalCase: GrammaticalCase = 'nominative'): string => { + return getLocalizedSkinName(skinId, locale as Locale, grammaticalCase); + }; + + return getLocalizedName; +} \ No newline at end of file diff --git a/app/hooks/useSkin.ts b/app/hooks/useSkin.ts new file mode 100644 index 0000000..d8a53ea --- /dev/null +++ b/app/hooks/useSkin.ts @@ -0,0 +1,18 @@ +'use client'; + +import { useSearchParams } from 'next/navigation'; +import { appConfig } from '../config/app'; +import { SkinId } from '../types'; + +export function useSkin() { + const searchParams = useSearchParams(); + const skinParam = searchParams.get('skin'); + + // Validate that the skin exists in our config + const isValidSkin = skinParam && Object.keys(appConfig.skins).includes(skinParam); + + // Return the skin from URL if valid, otherwise return default skin + const currentSkin = (isValidSkin ? skinParam : appConfig.defaultSkin) as SkinId; + + return currentSkin; +} \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx index 402c536..5168ad2 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -2,11 +2,13 @@ import type { Metadata } from 'next' import { Inter } from 'next/font/google' import { ThemeProvider } from './providers/ThemeProvider' import { appConfig } from './config/app' +import { Suspense } from 'react' import './globals.css' const inter = Inter({ subsets: ['latin'] }) export const metadata: Metadata = { + metadataBase: new URL(appConfig.url), title: appConfig.name, description: appConfig.description, icons: { @@ -40,10 +42,16 @@ export default function RootLayout({ children: React.ReactNode }) { return ( - + - {children} + +

Loading...

+
+ }> + {children} + diff --git a/app/page.tsx b/app/page.tsx deleted file mode 100644 index 717185a..0000000 --- a/app/page.tsx +++ /dev/null @@ -1,170 +0,0 @@ -'use client'; - -import { useState, useEffect, useCallback } from 'react'; -import { useIsMobile } from './hooks/useIsMobile'; -import Image from 'next/image'; -import { FloatingHearts } from './components/FloatingHearts'; -import { ThemeToggle } from './components/ThemeToggle'; -import { SpeechBubble } from './components/SpeechBubble'; -import { shakeConfig } from './config/shake'; - -export default function Home() { - const [isShaken, setIsShaken] = useState(false); - const [shakeIntensity, setShakeIntensity] = useState(0); - const [lastUpdate, setLastUpdate] = useState(0); - const [shakeCount, setShakeCount] = useState(0); - const [motionPermission, setMotionPermission] = useState('prompt'); - const isMobile = useIsMobile(); - - // Check if device motion is available and handle permissions - const requestMotionPermission = async () => { - if (typeof window === 'undefined') return; - - // Check if device motion is available - if (!('DeviceMotionEvent' in window)) { - setMotionPermission('denied'); - return; - } - - // Request permission on iOS devices - if ('requestPermission' in DeviceMotionEvent) { - try { - // @ts-expect-error - TypeScript doesn't know about requestPermission - const permission = await DeviceMotionEvent.requestPermission(); - setMotionPermission(permission); - } catch (err) { - console.error('Error requesting motion permission:', err); - setMotionPermission('denied'); - } - } else { - // Android or desktop - no permission needed - setMotionPermission('granted'); - } - }; - - const triggerShake = useCallback((intensity: number) => { - // Increment shake counter to trigger new message - setShakeCount(count => count + 1); - - // Start shake animation - setIsShaken(true); - - // Reset shake after configured duration - setTimeout(() => { - setIsShaken(false); - }, shakeConfig.animations.shakeReset); - - // Trigger hearts with configured duration - setShakeIntensity(intensity); - setTimeout(() => setShakeIntensity(0), shakeConfig.animations.heartsReset); - }, []); - - useEffect(() => { - const handleKeyPress = (event: KeyboardEvent) => { - if (event.code === 'Space') { - triggerShake(shakeConfig.defaultTriggerIntensity); - } - }; - - const handleMotion = (event: DeviceMotionEvent) => { - const acceleration = event.accelerationIncludingGravity; - if (!acceleration) return; - - const currentTime = new Date().getTime(); - const timeDiff = currentTime - lastUpdate; - - if (timeDiff > shakeConfig.debounceTime) { - setLastUpdate(currentTime); - - const speed = Math.abs(acceleration.x || 0) + - Math.abs(acceleration.y || 0) + - Math.abs(acceleration.z || 0); - - if (speed > shakeConfig.threshold) { - triggerShake(speed); - } - } - }; - - // Only add motion listener if permission is granted - if (typeof window !== 'undefined') { - if (motionPermission === 'granted' && 'DeviceMotionEvent' in window) { - window.addEventListener('devicemotion', handleMotion); - } - window.addEventListener('keydown', handleKeyPress); - } - - return () => { - if (typeof window !== 'undefined') { - if (motionPermission === 'granted') { - window.removeEventListener('devicemotion', handleMotion); - } - window.removeEventListener('keydown', handleKeyPress); - } - }; - }, [lastUpdate, motionPermission, triggerShake]); - - // Initial permission check - useEffect(() => { - requestMotionPermission(); - }, []); - - const handleClick = () => { - triggerShake(shakeConfig.defaultTriggerIntensity); - }; - - return ( -
- -
-
- -
-
- -
- - Frog -
-
-
-

- {motionPermission === 'prompt' ? ( - - ) : motionPermission === 'granted' ? ( - `Shake your device${!isMobile ? ', press spacebar,' : ''} or click/tap frog!` - ) : ( - `${!isMobile ? 'Press spacebar or ' : ''}Click/tap frog!` - )} -

-
-
- -
- ); -} diff --git a/app/providers/ThemeProvider.tsx b/app/providers/ThemeProvider.tsx index 7ff3c88..759ec1e 100644 --- a/app/providers/ThemeProvider.tsx +++ b/app/providers/ThemeProvider.tsx @@ -1,25 +1,151 @@ 'use client'; -import { createContext, useContext, useEffect } from 'react'; -import { useDarkMode } from '../hooks/useDarkMode'; +import { createContext, useContext, useEffect, useState } from 'react'; -const ThemeContext = createContext({ darkMode: false, toggleDarkMode: () => {} }); +// Define theme modes +type ThemeMode = 'light' | 'dark' | 'system'; + +// Helper function to detect system dark mode preference +const getSystemPreference = (): boolean => { + if (typeof window === 'undefined') return false; + return window.matchMedia('(prefers-color-scheme: dark)').matches; +}; + +// Update context type to include the new properties +interface ThemeContextType { + darkMode: boolean; + themeMode: ThemeMode; + setThemeMode: (mode: ThemeMode) => void; +} + +const ThemeContext = createContext({ + darkMode: false, + themeMode: 'system', + setThemeMode: () => {}, +}); export const useTheme = () => useContext(ThemeContext); export function ThemeProvider({ children }: { children: React.ReactNode }) { - const { darkMode, toggleDarkMode } = useDarkMode(); + const [darkMode, setDarkMode] = useState(false); + const [themeMode, setThemeModeState] = useState('system'); + const [mounted, setMounted] = useState(false); + // Initialize theme state from localStorage useEffect(() => { + if (typeof window !== 'undefined') { + try { + // Get theme mode preference following Tailwind's recommendation + console.log('ThemeProvider init - Reading from localStorage'); + const savedTheme = localStorage.getItem('theme'); + console.log('ThemeProvider init - localStorage.theme:', savedTheme); + + // Determine if we should use system preference + const useSystemPreference = !savedTheme; + console.log('ThemeProvider init - Using system preference:', useSystemPreference); + + // Set theme mode state based on localStorage + if (savedTheme === 'light') { + console.log('ThemeProvider init - Setting theme mode to: light'); + setThemeModeState('light'); + setDarkMode(false); + } else if (savedTheme === 'dark') { + console.log('ThemeProvider init - Setting theme mode to: dark'); + setThemeModeState('dark'); + setDarkMode(true); + } else { + // Use system preference + console.log('ThemeProvider init - Setting theme mode to: system'); + setThemeModeState('system'); + const systemPreference = getSystemPreference(); + console.log('ThemeProvider init - System preference is dark:', systemPreference); + setDarkMode(systemPreference); + } + + // Apply dark mode class to html element directly (Tailwind recommendation) + const shouldUseDarkMode = + savedTheme === 'dark' || + (!savedTheme && getSystemPreference()); + + console.log('ThemeProvider init - Should use dark mode:', shouldUseDarkMode); + + if (shouldUseDarkMode) { + document.documentElement.classList.add('dark'); + } else { + document.documentElement.classList.remove('dark'); + } + } catch (error) { + console.error('ThemeProvider init - Error accessing localStorage:', error); + // Fallback to system preference if localStorage access fails + setThemeModeState('system'); + setDarkMode(getSystemPreference()); + } + } + setMounted(true); + }, []); + + // Listen for system preference changes + useEffect(() => { + if (typeof window === 'undefined') return; + + const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); + const handleChange = (e: MediaQueryListEvent) => { + if (themeMode === 'system') { + setDarkMode(e.matches); + } + }; + + mediaQuery.addEventListener('change', handleChange); + return () => mediaQuery.removeEventListener('change', handleChange); + }, [themeMode]); + + // Function to set theme mode and update localStorage following Tailwind's recommendation + const setThemeMode = (mode: ThemeMode) => { + console.log('ThemeProvider - Setting theme mode to:', mode); + setThemeModeState(mode); + + try { + if (mode === 'light') { + localStorage.setItem('theme', 'light'); + console.log('ThemeProvider - Saved "light" to localStorage.theme'); + setDarkMode(false); + } else if (mode === 'dark') { + localStorage.setItem('theme', 'dark'); + console.log('ThemeProvider - Saved "dark" to localStorage.theme'); + setDarkMode(true); + } else if (mode === 'system') { + // For system preference, remove the item from localStorage + localStorage.removeItem('theme'); + console.log('ThemeProvider - Removed theme from localStorage for system preference'); + const systemPreference = getSystemPreference(); + console.log('ThemeProvider - System preference is dark:', systemPreference); + setDarkMode(systemPreference); + } + } catch (error) { + console.error('ThemeProvider - Error saving to localStorage:', error); + } + }; + + // Update DOM when darkMode changes + useEffect(() => { + if (!mounted) return; + + console.log('ThemeProvider - Updating DOM, darkMode:', darkMode); + if (darkMode) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } - }, [darkMode]); + }, [darkMode, mounted]); + + // Prevent hydration mismatch by not rendering theme-dependent content until mounted + if (!mounted) { + return <>{children}; + } return ( - + {children} ); diff --git a/app/types/index.ts b/app/types/index.ts new file mode 100644 index 0000000..e04f361 --- /dev/null +++ b/app/types/index.ts @@ -0,0 +1,4 @@ +import { appConfig } from '../config/app'; + +// Define skin types +export type SkinId = keyof typeof appConfig.skins; \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index cc179c1..b5ee518 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,9 @@ services: build: context: . dockerfile: Dockerfile + platforms: + - linux/amd64 + - linux/arm64 image: bogerserge/shakethefrog:latest ports: # HOST_PORT:CONTAINER_PORT - Maps port 3000 on the host to port 3000 in the container @@ -19,6 +22,6 @@ services: deploy: resources: limits: - memory: 1G + memory: 256M reservations: - memory: 512M + memory: 128M diff --git a/eslint.config.mjs b/eslint.config.mjs index c85fb67..cee628b 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,16 +1,65 @@ -import { dirname } from "path"; -import { fileURLToPath } from "url"; -import { FlatCompat } from "@eslint/eslintrc"; +import js from "@eslint/js"; +import globals from "globals"; +import tsParser from "@typescript-eslint/parser"; +import tsPlugin from "@typescript-eslint/eslint-plugin"; -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const compat = new FlatCompat({ - baseDirectory: __dirname, -}); - -const eslintConfig = [ - ...compat.extends("next/core-web-vitals", "next/typescript"), +/** @type {import('eslint').Linter.Config[]} */ +export default [ + { + ignores: ["node_modules/**", ".next/**", "out/**", "build/**", "next-env.d.ts"] + }, + js.configs.recommended, + { + files: ["**/*.{js,mjs,cjs,jsx}"], + languageOptions: { + ecmaVersion: "latest", + sourceType: "module", + globals: { + ...globals.browser, + ...globals.node, + ...globals.es2021, + React: "readonly", + NodeJS: "readonly", + PermissionState: "readonly", + }, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + }, + }, + rules: { + "no-unused-vars": "warn", + "no-console": "off", + }, + }, + { + files: ["**/*.{ts,tsx}"], + languageOptions: { + parser: tsParser, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: "latest", + sourceType: "module", + }, + globals: { + ...globals.browser, + ...globals.node, + ...globals.es2021, + React: "readonly", + NodeJS: "readonly", + PermissionState: "readonly", + }, + }, + plugins: { + "@typescript-eslint": tsPlugin, + }, + rules: { + ...tsPlugin.configs.recommended.rules, + "@typescript-eslint/no-unused-vars": "warn", + "no-unused-vars": "off", + }, + }, ]; - -export default eslintConfig; diff --git a/i18n/request.ts b/i18n/request.ts new file mode 100644 index 0000000..197c091 --- /dev/null +++ b/i18n/request.ts @@ -0,0 +1,30 @@ +import { getRequestConfig } from 'next-intl/server'; + +// Can be imported from a shared config +export const locales = ['en', 'de', 'ru', 'ka', 'ar'] as const; +export const defaultLocale = 'en' as const; + +export type Locale = typeof locales[number]; + +export default getRequestConfig(async ({ requestLocale }) => { + // This typically corresponds to the `[locale]` segment + let locale = await requestLocale; + + // Ensure that a valid locale is used + if (!locale || !locales.includes(locale as Locale)) { + locale = defaultLocale; + } + + // Load messages from both ui and character directories + // Read how to split localization files here: + // https://next-intl.dev/docs/usage/configuration#messages-split-files + const messages = { + ui: (await import(`../messages/ui/${locale}.json`)).default, + character: (await import(`../messages/character/${locale}.json`)).default + }; + + return { + locale, + messages + }; +}); \ No newline at end of file diff --git a/i18n/routing.ts b/i18n/routing.ts new file mode 100644 index 0000000..d460f53 --- /dev/null +++ b/i18n/routing.ts @@ -0,0 +1,23 @@ +import { defineRouting } from 'next-intl/routing'; +import { createNavigation } from 'next-intl/navigation'; + +export const routing = defineRouting({ + // A list of all locales that are supported + locales: ['en', 'de', 'ru', 'ka', 'ar'], + + // Used when no locale matches + defaultLocale: 'en', + + // The `pathnames` object holds pairs of internal and + // external paths. Based on the locale, the external + // paths are rewritten to the shared, internal ones. + pathnames: { + // If all locales use the same pathname, a single + // external path can be provided for all locales + '/': '/', + } +}); + +// Lightweight wrappers around Next.js' navigation APIs +// that will consider the routing configuration +export const { Link, redirect, usePathname, useRouter } = createNavigation(routing); \ No newline at end of file diff --git a/messages/character/ar.json b/messages/character/ar.json new file mode 100644 index 0000000..fc7319d --- /dev/null +++ b/messages/character/ar.json @@ -0,0 +1,42 @@ +{ + "0": "أحبك بجنون!", + "1": "أريد أن أكون معك للأبد!", + "2": "أسرت قلبي!", + "3": "إلى متى ستهرب مني؟", + "4": "أنا لك وحدك!", + "5": "أنت حياتي كلها!", + "6": "أنت سحرتني!", + "7": "أنت قدري!", + "8": "أنت ملكي!", + "9": "تعال أقرب!", + "10": "جنني حبك!", + "11": "خذني بعيداً!", + "12": "روحي تناديك!", + "13": "ستندم على هذا!", + "14": "سحرك لا يقاوم!", + "15": "شوقي لك لا يوصف!", + "16": "صرت مجنون بك!", + "17": "قلبي يخفق لك!", + "18": "قلبي يرقص لك!", + "19": "كل نبضة قلب لك!", + "20": "لا أستطيع مقاومة سحرك!", + "21": "لا تتركني!", + "22": "لا تتوقف!", + "23": "لا تذهب بعيداً!", + "24": "لن أتركك تذهب!", + "25": "لن أدعك ترحل!", + "26": "لن تستطيع الهروب!", + "27": "ما هذا السحر؟", + "28": "مجنون بك!", + "29": "مستحيل أعيش بدونك!", + "30": "ملكت قلبي!", + "31": "من يستطيع مقاومتك؟", + "32": "هل أنت حقيقي؟", + "33": "هل تشعر بقلبي؟", + "34": "هل ستبقى معي؟", + "35": "هل ستتزوجني؟", + "36": "هيا نرقص!", + "37": "وقعت في حبك!", + "38": "يا لها من متعة!", + "39": "يدق قلبي لك!" +} \ No newline at end of file diff --git a/messages/character/de.json b/messages/character/de.json new file mode 100644 index 0000000..e532bca --- /dev/null +++ b/messages/character/de.json @@ -0,0 +1,125 @@ +{ + "0": "Außer Atem?", + "1": "Beherrsche mich vollständig!", + "2": "Beherrsche mich!", + "3": "Besitze meine Seele!", + "4": "Bist du bereit für mich?", + "5": "Bist du mein?", + "6": "Bist du schon süchtig nach mir?", + "7": "Bist du verrückt nach mir?", + "8": "Brichst du mir das Herz?", + "9": "Bring mich um den Verstand!", + "10": "Dafür wirst du bezahlen!", + "11": "Das wird Konsequenzen haben!", + "12": "Das wirst du noch bereuen!", + "13": "Dein Herz gehört nur mir!", + "14": "Deine Seele gehört mir!", + "15": "Dem kannst du nicht entkommen!", + "16": "Der Preis wird hoch sein!", + "17": "Die Rache wird süß!", + "18": "Du bist in meinem Netz gefangen!", + "19": "Du bist mein und nur mein!", + "20": "Du bist meine Droge!", + "21": "Du bist meine süße Beute!", + "22": "Du darfst alles mit mir machen!", + "23": "Du entkommst mir nicht!", + "24": "Du entkommst mir niemals!", + "25": "Du gehörst mir mit Haut und Haaren!", + "26": "Du gehörst nur mir!", + "27": "Du hast absolute Macht über mich!", + "28": "Du kannst mir nicht widerstehen!", + "29": "Du machst mich verrückt!", + "30": "Du machst mich wahnsinnig!", + "31": "Du spielst mit dem Feuer!", + "32": "Du treibst mich in den Wahnsinn!", + "33": "Du wirst schon sehen!", + "34": "Fällt dir wirklich nichts auf?", + "35": "Fang mich doch!", + "36": "Fast erwischt!", + "37": "Fühlst du dein Herz rasen?", + "38": "Ich bin dein Eigentum!", + "39": "Ich bin dein Spielzeug!", + "40": "Ich bin dein willenloses Spielzeug!", + "41": "Ich bin deine Puppe!", + "42": "Ich bin dir ausgeliefert!", + "43": "Ich bin ganz dein!", + "44": "Ich bin nur für dich geschaffen!", + "45": "Ich bin süchtig nach dir!", + "46": "Ich bin wie Feuer für dich!", + "47": "Ich bin willenlos in deiner Hand!", + "48": "Ich brauche deine Berührung!", + "49": "Ich brenne für dich!", + "50": "Ich brenne vor Verlangen nach dir!", + "51": "Ich ergebe mich dir!", + "52": "Ich existiere nur für dich!", + "53": "Ich flehe dich an!", + "54": "Ich flehe um deine Berührung!", + "55": "Ich gehöre dir mit Haut und Haar!", + "56": "Ich gehöre dir mit Leib und Seele!", + "57": "Ich gehöre nur dir!", + "58": "Ich kann nicht aufhören!", + "59": "Ich kann nicht genug bekommen!", + "60": "Ich kann nicht genug von dir bekommen!", + "61": "Ich kann nicht mehr klar denken!", + "62": "Ich kann nicht ohne dich leben!", + "63": "Ich lasse dich nie wieder los!", + "64": "Ich schmilze dahin!", + "65": "Ich unterwerfe mich dir!", + "66": "Ich vergehe vor Sehnsucht!", + "67": "Ich verliere meinen Verstand für dich!", + "68": "Ich verzehre mich nach dir!", + "69": "Ich werde dich verschlingen!", + "70": "Ich werde dich zerbrechen!", + "71": "Ich will dich besitzen!", + "72": "Ich will dich für immer!", + "73": "Ich will dich ganz besitzen!", + "74": "Ich will dich verschlingen!", + "75": "Ich will dir dienen!", + "76": "Ich will mehr!", + "77": "Ich will nur dir gefallen!", + "78": "Ich zittere vor Verlangen!", + "79": "Ist das dein Ernst?", + "80": "Jag mich!", + "81": "Kannst du mir noch widerstehen?", + "82": "Kannst du ohne mich leben?", + "83": "Komm näher, Liebling!", + "84": "Lass mich nie wieder los!", + "85": "Mach mich zu deinem Spielzeug!", + "86": "Mach mich zu deiner Besessenen!", + "87": "Mach mich zu deiner!", + "88": "Mach mit mir was du willst!", + "89": "Mein Herz rast für dich!", + "90": "Mein Körper brennt!", + "91": "Mein Körper gehört dir!", + "92": "Meine Seele brennt nur für dich!", + "93": "Merkst du, was du mit mir machst?", + "94": "Merkst du, wie du mir verfällst?", + "95": "Niemand sonst darf dich haben!", + "96": "Nimm dir was du willst!", + "97": "Nimm mich ganz!", + "98": "Nimm mich in Besitz!", + "99": "Nimm mir meinen freien Willen!", + "100": "Nochmal! Nochmal!", + "101": "Quäl mich mit deiner Liebe!", + "102": "Sag mal, ist das dein Ernst?", + "103": "Siehst du, was du angerichtet hast?", + "104": "Spiel weiter mit mir!", + "105": "Treib mich zum Wahnsinn!", + "106": "Verführ mich!", + "107": "Vermisst du mich schon?", + "108": "Wann heiratest du mich?", + "109": "Warte nur ab, du!", + "110": "Warte nur ab, was ich mit dir mache!", + "111": "Warte nur ab!", + "112": "Warum kämpfst du noch dagegen an?", + "113": "Was hast du bloß mit mir gemacht?", + "114": "Was machst du nur mit meinem Herzen?", + "115": "Weißt du eigentlich was du tust?", + "116": "Willst du für immer mir gehören?", + "117": "Willst du mein sein?", + "118": "Wirst du mich heiraten?", + "119": "Zeig mir deine Leidenschaft!", + "120": "Zeig mir deine Macht!", + "121": "Zerstör mich mit deiner Liebe!", + "122": "Zerstöre mich mit deiner Besessenheit!" +} \ No newline at end of file diff --git a/messages/character/en.json b/messages/character/en.json new file mode 100644 index 0000000..4c347dd --- /dev/null +++ b/messages/character/en.json @@ -0,0 +1,188 @@ +{ + "0": "Again! Again!", + "1": "All mine, forever and always!", + "2": "Almost got me!", + "3": "Are you falling for me?", + "4": "Belong to me!", + "5": "Can you feel my heart racing?", + "6": "Can you handle my love?", + "7": "Can't catch your breath?", + "8": "Can't escape my charm!", + "9": "Can't resist me, can you?", + "10": "Catch me if you can!", + "11": "Caught in my web!", + "12": "Chase me!", + "13": "Claim me!", + "14": "Come closer, darling!", + "15": "Come closer!", + "16": "Dance with me forever!", + "17": "Do it again!", + "18": "Do you realize what you've started?", + "19": "Don't I drive you wild?", + "20": "Don't stop now!", + "21": "Don't you dare leave!", + "22": "Don't you want me?", + "23": "Faster! Faster!", + "24": "Feel your heart pounding yet?", + "25": "Getting addicted to me?", + "26": "Give me all you've got!", + "27": "Higher! Higher!", + "28": "How badly do you want me?", + "29": "I can dance all day!", + "30": "I can't get enough!", + "31": "I can't resist you!", + "32": "I claim you as mine!", + "33": "I crave your touch!", + "34": "I feel dizzy!", + "35": "I like your style!", + "36": "I love this game!", + "37": "I need you!", + "38": "I surrender to you!", + "39": "I want more!", + "40": "I yearn for your touch!", + "41": "I'll never let you go!", + "42": "I'm a furnace for you!", + "43": "I'm a raging inferno!", + "44": "I'm addicted to you!", + "45": "I'm all yours!", + "46": "I'm burning up!", + "47": "I'm completely yours!", + "48": "I'm consumed by you!", + "49": "I'm floating on air!", + "50": "I'm getting dizzy!", + "51": "I'm getting excited!", + "52": "I'm getting hot!", + "53": "I'm having a blast!", + "54": "I'm hooked on you!", + "55": "I'm in a tizzy!", + "56": "I'm in heaven!", + "57": "I'm in paradise!", + "58": "I'm lost in you!", + "59": "I'm melting!", + "60": "I'm on fire!", + "61": "I'm on the edge!", + "62": "I'm overflowing!", + "63": "I'm quivering with desire!", + "64": "I'm seeing stars!", + "65": "I'm shaking with anticipation!", + "66": "I'm so happy!", + "67": "I'm trembling!", + "68": "I'm under your spell!", + "69": "I'm yours for the taking!", + "70": "I'm yours forever!", + "71": "I'm yours to command!", + "72": "I'm yours, body and soul!", + "73": "I'm yours, now and forever!", + "74": "I'm yours!", + "75": "Is that all you've got?", + "76": "Is your heart mine yet?", + "77": "Just the two of us!", + "78": "Just wait and see what happens!", + "79": "Keep shaking!", + "80": "Keep the rhythm going!", + "81": "Let's party!", + "82": "Let's play more!", + "83": "Like a record baby!", + "84": "Make me yours, completely!", + "85": "Make me yours!", + "86": "Mine, all mine!", + "87": "Miss me already?", + "88": "Missed me!", + "89": "More, more, more!", + "90": "My heart's racing!", + "91": "My precious treasure!", + "92": "Neither can I!", + "93": "No one else can have you!", + "94": "One more time!", + "95": "Only I can make you feel this way!", + "96": "Playing hard to get?", + "97": "Ready to surrender?", + "98": "Revenge will be sweet!", + "99": "Round and round we go!", + "100": "Shake me harder!", + "101": "Shall we dance forever?", + "102": "Show me what you've got!", + "103": "Show me your moves!", + "104": "So close!", + "105": "Spin me right round!", + "106": "Stay with me always!", + "107": "Stop tickling!", + "108": "Surrender to my charms!", + "109": "Take me to the edge!", + "110": "Take me, I'm yours!", + "111": "Take me!", + "112": "That tickles!", + "113": "That was fun!", + "114": "The price will be high!", + "115": "There's no escape now!", + "116": "Together forever!", + "117": "Too slow!", + "118": "Unleash me!", + "119": "Wait till I catch you!", + "120": "Want to be mine forever?", + "121": "What a rush!", + "122": "What am I doing to you?", + "123": "Wheeee!", + "124": "Wheeeeeee!", + "125": "When will you marry me?", + "126": "Why resist me?", + "127": "Will you be my eternal love?", + "128": "Will you belong to me?", + "129": "Will you give yourself to me?", + "130": "Will you marry me?", + "131": "Would you die for me?", + "132": "You belong to me now!", + "133": "You can't resist my charms!", + "134": "You complete me!", + "135": "You drive me wild!", + "136": "You found me!", + "137": "You got me!", + "138": "You know how to party!", + "139": "You know what I like!", + "140": "You make me feel alive!", + "141": "You'll be mine, one way or another!", + "142": "You'll learn your lesson!", + "143": "You'll pay for this soon!", + "144": "You'll regret teasing me!", + "145": "You're absolute perfection!", + "146": "You're all I need!", + "147": "You're amazing!", + "148": "You're beyond incredible!", + "149": "You're driving me insane!", + "150": "You're driving me wild!", + "151": "You're fun!", + "152": "You're getting better!", + "153": "You're good at this!", + "154": "You're in trouble now!", + "155": "You're incredible!", + "156": "You're irresistible!", + "157": "You're making me blush!", + "158": "You're making me bounce!", + "159": "You're making me crazy!", + "160": "You're making me giddy!", + "161": "You're making me spin!", + "162": "You're making me swoon!", + "163": "You're making me twirl!", + "164": "You're mine to keep!", + "165": "You're my addiction!", + "166": "You're my desire!", + "167": "You're my dream!", + "168": "You're my everything and more!", + "169": "You're my everything!", + "170": "You're my fantasy!", + "171": "You're my heart's desire!", + "172": "You're my masterpiece!", + "173": "You're my obsession!", + "174": "You're my temptation!", + "175": "You're my ultimate fantasy!", + "176": "You're my weakness!", + "177": "You're perfect!", + "178": "You're playing with fire!", + "179": "You're so good!", + "180": "You're so playful!", + "181": "You're such a tease!", + "182": "You're trapped in my spell!", + "183": "You're unstoppable!", + "184": "Your heart beats for me!", + "185": "Your soul is mine!" +} \ No newline at end of file diff --git a/messages/character/ka.json b/messages/character/ka.json new file mode 100644 index 0000000..f535342 --- /dev/null +++ b/messages/character/ka.json @@ -0,0 +1,97 @@ +{ + "0": "ამას ვერ გაექცევი!", + "1": "ამას ინანებ!", + "2": "ამომხადე სული!", + "3": "აღარ გაგიშვებ!", + "4": "აღმაფრენაში ვარ!", + "5": "ბრმად მოგენდობი!", + "6": "გაგრძელება! კიდევ!", + "7": "გავგიჟდი შენზე!", + "8": "გავგიჟდი შენს სიყვარულში!", + "9": "გამაბრუე შენი სიყვარულით!", + "10": "გამანადგურე შენი სიყვარულით!", + "11": "გამახარე!", + "12": "გამომყევი!", + "13": "გაუჩერებლად!", + "14": "გინდა ჩემი იყო სამუდამოდ?", + "15": "გიჟდები შენზე!", + "16": "გრძნობ როგორ გიპყრობ?", + "17": "დავკარგე გონება შენზე!", + "18": "დამიჭირე!", + "19": "ერთად სამუდამოდ!", + "20": "ვარ შენი მონუსხული!", + "21": "ვგიჟდები!", + "22": "ვდნები შენთან!", + "23": "ვერ ვძლებ უშენოდ!", + "24": "ვერ ვძლებ შენს გარეშე!", + "25": "ვერ ვძლებ!", + "26": "ვერსად გამექცევი!", + "27": "ვიწვი შენთვის!", + "28": "ვკარგავ გონებას შენზე!", + "29": "ვკარგავ გონებას!", + "30": "თავბრუ მესხმის!", + "31": "თავს გაძლევ მთლიანად!", + "32": "კიდევ! კიდევ!", + "33": "მაგრად მიყვარხარ!", + "34": "მათრობს შენი სიახლოვე!", + "35": "მალე გაიგებ რას ნიშნავს!", + "36": "მე მთლიანად შენი ვარ!", + "37": "მე მთლიანად შენი საკუთრება ვარ!", + "38": "მე შენი ვარ!", + "39": "მეკუთვნი!", + "40": "მზად ხარ ჩემთვის?", + "41": "მინდა დავიწვა შენს ცეცხლში!", + "42": "მინდა ვიყო შენი სათამაშო!", + "43": "მოგწონს ჩემი ჯადო?", + "44": "მომაჯადოვე სამუდამოდ!", + "45": "მომეცი მეტი!", + "46": "მომნუსხე სამუდამოდ!", + "47": "მოუთმენლად გელოდები!", + "48": "მხოლოდ შენ გეკუთვნი!", + "49": "მხოლოდ შენთვის ვცოცხლობ!", + "50": "მხოლოდ შენთვის!", + "51": "რა კარგია!", + "52": "რატომ მეწინააღმდეგები?", + "53": "როდის დავქორწინდებით?", + "54": "როდის შევხვდებით?", + "55": "სად გაიქცევი ჩემგან?", + "56": "სამუდამოდ შენი ვარ!", + "57": "სულ შენთან მინდა!", + "58": "სული ამომართვი!", + "59": "სული ამომძვრება შენთვის!", + "60": "სწრაფად! სწრაფად!", + "61": "უკვე მოგენატრე?", + "62": "უკვე შეგიყვარდი?", + "63": "უფრო მეტი!", + "64": "უფრო! უფრო!", + "65": "შეგიძლია ჩემს გარეშე?", + "66": "შემიპყარი მთლიანად!", + "67": "შემიყვარე!", + "68": "შენ ამას მოინანიებ!", + "69": "შენ ჩემი ხარ!", + "70": "შენზე ვგიჟდები!", + "71": "შენი გული ჩემია!", + "72": "შენი სული ჩემია!", + "73": "შენით ვსულდგმულობ!", + "74": "შენს ალში ვიწვი!", + "75": "შენს ხელში ვდნები!", + "76": "შენში დავიკარგე!", + "77": "შენში ვდნები!", + "78": "შურისძიება ტკბილი იქნება!", + "79": "ჩემთან დარჩი!", + "80": "ჩემი გული შენთვის ძგერს!", + "81": "ჩემი სამუდამოდ!", + "82": "ჩემი სული შენია!", + "83": "ჩემი სხეული შენთვის ფეთქავს!", + "84": "ჩემი ხარ!", + "85": "ცეცხლთან თამაშობ!", + "86": "ცეცხლი მეკიდება!", + "87": "ცეცხლი მომდებს შენი შეხება!", + "88": "ცეცხლი მომიკიდე!", + "89": "ძვირად დაგიჯდება!", + "90": "წამართვი გონება!", + "91": "წამიღე სამოთხეში!", + "92": "წამიყვანე!", + "93": "ხომ არ დავქორწინდებით?", + "94": "ხომ დამქორწინდები?" +} \ No newline at end of file diff --git a/messages/character/ru.json b/messages/character/ru.json new file mode 100644 index 0000000..ad5a858 --- /dev/null +++ b/messages/character/ru.json @@ -0,0 +1,123 @@ +{ + "0": "Быстрее! Сильнее!", + "1": "Видишь, что ты со мной делаешь?", + "2": "Владей мной полностью!", + "3": "Возьми меня полностью!", + "4": "Делай со мной что хочешь!", + "5": "Еще раз! Еще!", + "6": "Закружи меня!", + "7": "Заставь меня умолять!", + "8": "Знаешь ли ты, что творишь со мной?", + "9": "Используй меня как хочешь!", + "10": "Используй меня полностью!", + "11": "Когда мы уже встретимся?", + "12": "Люблю твои прикосновения!", + "13": "Месть будет сладкой!", + "14": "Мне мало! Ещё!", + "15": "Мне так хорошо!", + "16": "Моё сердце бьётся для тебя!", + "17": "Мое сердце бьется только для тебя!", + "18": "Мое тело горит от твоих прикосновений!", + "19": "Моё тело жаждет твоих прикосновений!", + "20": "Мое тело молит о твоих ласках!", + "21": "Мое тело принадлежит тебе!", + "22": "Мое тело трепещет от твоих касаний!", + "23": "Можешь устоять перед моими чарами?", + "24": "Мы созданы друг для друга!", + "25": "Навеки твоя!", + "26": "Не жалей меня!", + "27": "Не могу устоять!", + "28": "Не останавливайся!", + "29": "Ну погоди!", + "30": "От меня не убежишь!", + "31": "Подчиняюсь каждому твоему движению!", + "32": "Подчиняюсь твоим желаниям!", + "33": "Поймай меня!", + "34": "Посмотри, до чего ты меня довёл!", + "35": "Сведи меня с ума!", + "36": "Сделай меня своей игрушкой!", + "37": "Скоро ты за всё заплатишь!", + "38": "Скучаешь по мне уже?", + "39": "Твоё сердце уже бьётся для меня?", + "40": "Тебе это с рук не сойдёт!", + "41": "Ты готов отдать мне свою душу?", + "42": "Ты ещё пожалеешь об этом!", + "43": "Ты ещё узнаешь, что натворил!", + "44": "Ты за это заплатишь!", + "45": "Ты зажигаешь во мне огонь!", + "46": "Ты заставляешь меня таять!", + "47": "Ты заставляешь меня трепетать!", + "48": "Ты играешь с огнём!", + "49": "Ты мое всё!", + "50": "Ты мое наваждение!", + "51": "Ты мой единственный господин!", + "52": "Ты мой единственный!", + "53": "Ты мой идеальный соблазнитель!", + "54": "Ты мой искуситель!", + "55": "Ты мой наркотик!", + "56": "Ты мой огонь!", + "57": "Ты мой повелитель страсти!", + "58": "Ты мой повелитель!", + "59": "Ты мой сладкий грех!", + "60": "Ты мой сладкий соблазн!", + "61": "Ты мой сладкий яд!", + "62": "Ты мой соблазн!", + "63": "Ты моя одержимость!", + "64": "Ты напрашиваешься на неприятности!", + "65": "Ты околдовал меня навсегда!", + "66": "Ты околдовал меня!", + "67": "Ты понимаешь, что ты со мной сделал?", + "68": "Ты принадлежишь мне!", + "69": "Ты разбиваешь мне сердце!", + "70": "Ты разжигаешь во мне пламя!", + "71": "Ты разжигаешь мои желания!", + "72": "Ты сводишь меня с ума!", + "73": "Ты только мой!", + "74": "Ты уже влюблён в меня?", + "75": "Ты уже зависим от меня?", + "76": "Ты что, с ума сошёл?", + "77": "У тебя всё на месте?", + "78": "Уничтожь меня своей страстью!", + "79": "Хочешь быть моим навечно?", + "80": "Я безумно хочу тебя!", + "81": "Я в плену твоих чар!", + "82": "Я в твоей власти!", + "83": "Я в экстазе от твоих действий!", + "84": "Я вся горю!", + "85": "Я вся дрожу от предвкушения!", + "86": "Я вся твоя, без остатка!", + "87": "Я готова на все ради тебя!", + "88": "Я жажду твоей власти!", + "89": "Я жажду твоих прикосновений!", + "90": "Я живу для твоих прикосновений!", + "91": "Я изнемогаю от желания!", + "92": "Я млею от твоих прикосновений!", + "93": "Я не могу насытиться тобой!", + "94": "Я не отпущу тебя!", + "95": "Я полностью принадлежу тебе!", + "96": "Я растворяюсь в твоей страсти!", + "97": "Я растворяюсь в тебе!", + "98": "Я сгораю от желания!", + "99": "Я сгораю от нетерпения!", + "100": "Я сгораю от страсти к тебе!", + "101": "Я становлюсь безумной рядом с тобой!", + "102": "Я существую для твоего удовольствия!", + "103": "Я схожу по тебе с ума!", + "104": "Я таю в твоих объятиях!", + "105": "Я таю как воск в твоих руках!", + "106": "Я таю от каждого твоего взгляда!", + "107": "Я таю от твоих прикосновений!", + "108": "Я твоя безвольная кукла!", + "109": "Я твоя маленькая одержимость!", + "110": "Я твоя навеки!", + "111": "Я твоя навсегда!", + "112": "Я твоя покорная игрушка!", + "113": "Я твоя послушная девочка!", + "114": "Я твоя страстная кукла!", + "115": "Я твоя, только твоя!", + "116": "Я твоя!", + "117": "Я теряю голову!", + "118": "Я теряю рассудок от твоих ласк!", + "119": "Я умоляю тебя не останавливаться!", + "120": "Я хочу быть твоей игрушкой!" +} \ No newline at end of file diff --git a/messages/ui/ar.json b/messages/ui/ar.json new file mode 100644 index 0000000..439a65d --- /dev/null +++ b/messages/ui/ar.json @@ -0,0 +1,22 @@ +{ + "enableDeviceShake": "تفعيل هز الجهاز", + "languages": { + "ar": "العربية", + "de": "الألمانية", + "en": "الإنجليزية", + "ka": "الجورجية", + "ru": "الروسية" + }, + "languageSelector": "اختيار اللغة", + "noShakeInstructionsDesktop": "اضغط على مفتاح المسافة أو انقر/المس {item}!", + "noShakeInstructionsMobile": "انقر/المس {item}!", + "shakeCharacter": "هز {item}", + "shakeInstructionsDesktop": "هز جهازك، اضغط على مفتاح المسافة، أو انقر/المس {item}!", + "shakeInstructionsMobile": "هز جهازك أو انقر/المس {item}!", + "themes": { + "dark": "مظلم", + "light": "فاتح", + "system": "النظام" + }, + "themeSelector": "اختيار المظهر" +} \ No newline at end of file diff --git a/messages/ui/de.json b/messages/ui/de.json new file mode 100644 index 0000000..e8bb077 --- /dev/null +++ b/messages/ui/de.json @@ -0,0 +1,22 @@ +{ + "enableDeviceShake": "Geräte-Schütteln aktivieren", + "languages": { + "ar": "Arabisch", + "de": "Deutsch", + "en": "Englisch", + "ka": "Georgisch", + "ru": "Russisch" + }, + "languageSelector": "Sprachauswahl", + "noShakeInstructionsDesktop": "Drücke die Leertaste oder klicke/tippe auf {item}!", + "noShakeInstructionsMobile": "Klicke/tippe auf {item}!", + "shakeCharacter": "Schüttle den {item}", + "shakeInstructionsDesktop": "Schüttle dein Gerät, drücke die Leertaste, oder klicke/tippe auf {item}!", + "shakeInstructionsMobile": "Schüttle dein Gerät oder klicke/tippe auf {item}!", + "themes": { + "dark": "Dunkel", + "light": "Hell", + "system": "System" + }, + "themeSelector": "Design-Auswahl" +} \ No newline at end of file diff --git a/messages/ui/en.json b/messages/ui/en.json new file mode 100644 index 0000000..923511a --- /dev/null +++ b/messages/ui/en.json @@ -0,0 +1,22 @@ +{ + "enableDeviceShake": "Enable device shake", + "languages": { + "ar": "Arabic", + "de": "German", + "en": "English", + "ka": "Georgian", + "ru": "Russian" + }, + "languageSelector": "Language selector", + "noShakeInstructionsDesktop": "Press spacebar or click/tap {item}!", + "noShakeInstructionsMobile": "Click/tap {item}!", + "shakeCharacter": "Shake the {item}", + "shakeInstructionsDesktop": "Shake your device, press spacebar, or click/tap {item}!", + "shakeInstructionsMobile": "Shake your device or click/tap {item}!", + "themes": { + "dark": "Dark", + "light": "Light", + "system": "System" + }, + "themeSelector": "Theme selector" +} \ No newline at end of file diff --git a/messages/ui/ka.json b/messages/ui/ka.json new file mode 100644 index 0000000..de83597 --- /dev/null +++ b/messages/ui/ka.json @@ -0,0 +1,22 @@ +{ + "enableDeviceShake": "მოწყობილობის შერყევის ჩართვა", + "languages": { + "ar": "არაბული", + "de": "გერმანული", + "en": "ინგლისური", + "ka": "ქართული", + "ru": "რუსული" + }, + "languageSelector": "ენის არჩევა", + "noShakeInstructionsDesktop": "დააჭირეთ Space-ს ან დააწკაპუნეთ/შეეხეთ {item}!", + "noShakeInstructionsMobile": "დააწკაპუნეთ/შეეხეთ {item}!", + "shakeCharacter": "შეარხიეთ {item}", + "shakeInstructionsDesktop": "შეარხიეთ თქვენი მოწყობილობა, დააჭირეთ Space-ს, ან დააწკაპუნეთ/შეეხეთ {item}!", + "shakeInstructionsMobile": "შეარხიეთ თქვენი მოწყობილობა ან დააწკაპუნეთ/შეეხეთ {item}!", + "themes": { + "dark": "მუქი", + "light": "ღია", + "system": "სისტემური" + }, + "themeSelector": "თემის არჩევა" +} \ No newline at end of file diff --git a/messages/ui/ru.json b/messages/ui/ru.json new file mode 100644 index 0000000..0ca339b --- /dev/null +++ b/messages/ui/ru.json @@ -0,0 +1,22 @@ +{ + "enableDeviceShake": "Включить встряску устройства", + "languages": { + "ar": "Арабский", + "de": "Немецкий", + "en": "Английский", + "ka": "Грузинский", + "ru": "Русский" + }, + "languageSelector": "Выбор языка", + "noShakeInstructionsDesktop": "Нажмите пробел или нажмите/коснитесь {item}!", + "noShakeInstructionsMobile": "Нажмите/коснитесь {item}!", + "shakeCharacter": "Встряхните {item}", + "shakeInstructionsDesktop": "Встряхните устройство, нажмите пробел, или нажмите/коснитесь {item}!", + "shakeInstructionsMobile": "Встряхните устройство или нажмите/коснитесь {item}!", + "themes": { + "dark": "Тёмная", + "light": "Светлая", + "system": "Системная" + }, + "themeSelector": "Выбор темы" +} \ No newline at end of file diff --git a/next.config.ts b/next.config.ts index b9f4418..bcb1305 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,7 +1,10 @@ import type { NextConfig } from "next"; +import createNextIntlPlugin from 'next-intl/plugin'; + +const withNextIntl = createNextIntlPlugin(); const nextConfig: NextConfig = { output: 'standalone' }; -export default nextConfig; +export default withNextIntl(nextConfig); diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 1ae34dc..0000000 --- a/package-lock.json +++ /dev/null @@ -1,5905 +0,0 @@ -{ - "name": "shakethefrog", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "shakethefrog", - "version": "0.1.0", - "dependencies": { - "@heroicons/react": "^2.2.0", - "next": "15.1.4", - "react": "^19.0.0", - "react-dom": "^19.0.0" - }, - "devDependencies": { - "@eslint/eslintrc": "^3", - "@types/node": "^20", - "@types/react": "^19", - "@types/react-dom": "^19", - "eslint": "^9", - "eslint-config-next": "15.1.4", - "postcss": "^8", - "tailwindcss": "^3.4.1", - "typescript": "^5" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", - "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", - "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.5", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", - "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", - "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", - "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", - "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.10.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@heroicons/react": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.2.0.tgz", - "integrity": "sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==", - "license": "MIT", - "peerDependencies": { - "react": ">= 16 || ^19.0.0-rc" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", - "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.0.4" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", - "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.0.4" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", - "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", - "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", - "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", - "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", - "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", - "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", - "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", - "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", - "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.0.5" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", - "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.0.4" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", - "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.0.4" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", - "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.0.4" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", - "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", - "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.0.4" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", - "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.2.0" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", - "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", - "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@next/env": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.4.tgz", - "integrity": "sha512-2fZ5YZjedi5AGaeoaC0B20zGntEHRhi2SdWcu61i48BllODcAmmtj8n7YarSPt4DaTsJaBFdxQAVEVzgmx2Zpw==", - "license": "MIT" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.1.4.tgz", - "integrity": "sha512-HwlEXwCK3sr6zmVGEvWBjW9tBFs1Oe6hTmTLoFQtpm4As5HCdu8jfSE0XJOp7uhfEGLniIx8yrGxEWwNnY0fmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-glob": "3.3.1" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.4.tgz", - "integrity": "sha512-wBEMBs+np+R5ozN1F8Y8d/Dycns2COhRnkxRc+rvnbXke5uZBHkUGFgWxfTXn5rx7OLijuUhyfB+gC/ap58dDw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.4.tgz", - "integrity": "sha512-7sgf5rM7Z81V9w48F02Zz6DgEJulavC0jadab4ZsJ+K2sxMNK0/BtF8J8J3CxnsJN3DGcIdC260wEKssKTukUw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.4.tgz", - "integrity": "sha512-JaZlIMNaJenfd55kjaLWMfok+vWBlcRxqnRoZrhFQrhM1uAehP3R0+Aoe+bZOogqlZvAz53nY/k3ZyuKDtT2zQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.4.tgz", - "integrity": "sha512-7EBBjNoyTO2ipMDgCiORpwwOf5tIueFntKjcN3NK+GAQD7OzFJe84p7a2eQUeWdpzZvhVXuAtIen8QcH71ZCOQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.4.tgz", - "integrity": "sha512-9TGEgOycqZFuADyFqwmK/9g6S0FYZ3tphR4ebcmCwhL8Y12FW8pIBKJvSwV+UBjMkokstGNH+9F8F031JZKpHw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.4.tgz", - "integrity": "sha512-0578bLRVDJOh+LdIoKvgNDz77+Bd85c5JrFgnlbI1SM3WmEQvsjxTA8ATu9Z9FCiIS/AliVAW2DV/BDwpXbtiQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.4.tgz", - "integrity": "sha512-JgFCiV4libQavwII+kncMCl30st0JVxpPOtzWcAI2jtum4HjYaclobKhj+JsRu5tFqMtA5CJIa0MvYyuu9xjjQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.4.tgz", - "integrity": "sha512-xxsJy9wzq7FR5SqPCUqdgSXiNXrMuidgckBa8nH9HtjjxsilgcN6VgXF6tZ3uEWuVEadotQJI8/9EQ6guTC4Yw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.4.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.5.tgz", - "integrity": "sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "license": "Apache-2.0" - }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.17.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.12.tgz", - "integrity": "sha512-vo/wmBgMIiEA23A/knMfn/cf37VnuF52nZh5ZoW0GWt4e4sxNquibrMRJ7UQsA06+MBx9r/H1jsI9grYjQCQlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/@types/react": { - "version": "19.0.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.7.tgz", - "integrity": "sha512-MoFsEJKkAtZCrC1r6CM8U22GzhG7u2Wir8ons/aCKH6MBdD1ibV24zOSSkdZVUKqN5i396zG5VKLYZ3yaUZdLA==", - "dev": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.0.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.3.tgz", - "integrity": "sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz", - "integrity": "sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.20.0", - "@typescript-eslint/type-utils": "8.20.0", - "@typescript-eslint/utils": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz", - "integrity": "sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.20.0", - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/typescript-estree": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz", - "integrity": "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz", - "integrity": "sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "8.20.0", - "@typescript-eslint/utils": "8.20.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz", - "integrity": "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz", - "integrity": "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz", - "integrity": "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.20.0", - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/typescript-estree": "8.20.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz", - "integrity": "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.20.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", - "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", - "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001692", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", - "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "license": "MIT", - "optional": true, - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "license": "MIT", - "optional": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, - "license": "MIT" - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/enhanced-resolve": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", - "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-regex": "^1.2.1", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.0.tgz", - "integrity": "sha512-Ujz8Al/KfOVR7fkaghAB1WvnLsdYxHDWmfoi2vlA2jZWRg31XhIC1a4B+/I24muD8iSbHxJ1JkrfqmWb65P/Mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", - "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.10.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.18.0", - "@eslint/plugin-kit": "^0.2.5", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-next": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.1.4.tgz", - "integrity": "sha512-u9+7lFmfhKNgGjhQ9tBeyCFsPJyq0SvGioMJBngPC7HXUpR0U+ckEwQR48s7TrRNHra1REm6evGL2ie38agALg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@next/eslint-plugin-next": "15.1.4", - "@rushstack/eslint-patch": "^1.10.3", - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^5.0.0" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.7.0.tgz", - "integrity": "sha512-Vrwyi8HHxY97K5ebydMtffsWAn1SCR9eol49eCd5fJS4O1WV7PaAjbcjmbfJJSMz/t4Mal212Uz/fQZrOB8mow==", - "dev": true, - "license": "ISC", - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.3.7", - "enhanced-resolve": "^5.15.0", - "fast-glob": "^3.3.2", - "get-tsconfig": "^4.7.5", - "is-bun-module": "^1.0.2", - "is-glob": "^4.0.3", - "stable-hash": "^0.0.4" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-typescript/node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/eslint-import-resolver-typescript/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", - "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", - "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.8", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", - "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", - "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "function-bind": "^1.1.2", - "get-proto": "^1.0.0", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", - "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "license": "MIT", - "optional": true - }, - "node_modules/is-async-function": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.0.tgz", - "integrity": "sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", - "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bun-module": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", - "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.6.3" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", - "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/next": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/next/-/next-15.1.4.tgz", - "integrity": "sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==", - "license": "MIT", - "dependencies": { - "@next/env": "15.1.4", - "@swc/counter": "0.1.3", - "@swc/helpers": "0.5.15", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "15.1.4", - "@next/swc-darwin-x64": "15.1.4", - "@next/swc-linux-arm64-gnu": "15.1.4", - "@next/swc-linux-arm64-musl": "15.1.4", - "@next/swc-linux-x64-gnu": "15.1.4", - "@next/swc-linux-x64-musl": "15.1.4", - "@next/swc-win32-arm64-msvc": "15.1.4", - "@next/swc-win32-x64-msvc": "15.1.4", - "sharp": "^0.33.5" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", - "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", - "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", - "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.25.0" - }, - "peerDependencies": { - "react": "^19.0.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", - "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "devOptional": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/sharp": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", - "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.3", - "semver": "^7.6.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.33.5", - "@img/sharp-darwin-x64": "0.33.5", - "@img/sharp-libvips-darwin-arm64": "1.0.4", - "@img/sharp-libvips-darwin-x64": "1.0.4", - "@img/sharp-libvips-linux-arm": "1.0.5", - "@img/sharp-libvips-linux-arm64": "1.0.4", - "@img/sharp-libvips-linux-s390x": "1.0.4", - "@img/sharp-libvips-linux-x64": "1.0.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", - "@img/sharp-libvips-linuxmusl-x64": "1.0.4", - "@img/sharp-linux-arm": "0.33.5", - "@img/sharp-linux-arm64": "0.33.5", - "@img/sharp-linux-s390x": "0.33.5", - "@img/sharp-linux-x64": "0.33.5", - "@img/sharp-linuxmusl-arm64": "0.33.5", - "@img/sharp-linuxmusl-x64": "0.33.5", - "@img/sharp-wasm32": "0.33.5", - "@img/sharp-win32-ia32": "0.33.5", - "@img/sharp-win32-x64": "0.33.5" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "license": "MIT", - "optional": true, - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stable-hash": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", - "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", - "dev": true, - "license": "MIT" - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", - "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", - "license": "MIT", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.17", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", - "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.6.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.6", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tailwindcss/node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/tailwindcss/node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", - "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/package.json b/package.json index fa48cb6..940416b 100644 --- a/package.json +++ b/package.json @@ -3,26 +3,36 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev --turbopack", + "dev": "next dev", "build": "next build", "start": "next start", - "lint": "next lint" + "lint": "eslint .", + "sort-messages": "tsx scripts/sortMessages.mts", + "lint:fix": "eslint --fix . && pnpm run sort-messages" }, "dependencies": { "@heroicons/react": "^2.2.0", - "next": "15.1.4", - "react": "^19.0.0", - "react-dom": "^19.0.0" + "next": "^16.0.10", + "next-intl": "^4.5.8", + "react": "^19.2.3", + "react-dom": "^19.2.3" }, "devDependencies": { - "@eslint/eslintrc": "^3", - "@types/node": "^20", - "@types/react": "^19", - "@types/react-dom": "^19", - "eslint": "^9", - "eslint-config-next": "15.1.4", - "postcss": "^8", - "tailwindcss": "^3.4.1", - "typescript": "^5" + "@eslint/eslintrc": "^3.3.3", + "@eslint/js": "^9.39.1", + "@tailwindcss/postcss": "^4.1.18", + "@types/node": "^25.0.1", + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "@typescript-eslint/eslint-plugin": "^8.49.0", + "@typescript-eslint/parser": "^8.49.0", + "eslint": "^9.39.1", + "eslint-config-next": "16.0.10", + "globals": "^16.5.0", + "postcss": "^8.5.6", + "postcss-load-config": "^6.0.1", + "tailwindcss": "^4.1.18", + "tsx": "^4.21.0", + "typescript": "5.9.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..a507714 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,4620 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@heroicons/react': + specifier: ^2.2.0 + version: 2.2.0(react@19.2.3) + next: + specifier: ^16.0.10 + version: 16.0.10(@babel/core@7.28.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + next-intl: + specifier: ^4.5.8 + version: 4.5.8(next@16.0.10(@babel/core@7.28.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + react: + specifier: ^19.2.3 + version: 19.2.3 + react-dom: + specifier: ^19.2.3 + version: 19.2.3(react@19.2.3) + devDependencies: + '@eslint/eslintrc': + specifier: ^3.3.3 + version: 3.3.3 + '@eslint/js': + specifier: ^9.39.1 + version: 9.39.1 + '@tailwindcss/postcss': + specifier: ^4.1.18 + version: 4.1.18 + '@types/node': + specifier: ^25.0.1 + version: 25.0.1 + '@types/react': + specifier: ^19.2.7 + version: 19.2.7 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.7) + '@typescript-eslint/eslint-plugin': + specifier: ^8.49.0 + version: 8.49.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': + specifier: ^8.49.0 + version: 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint: + specifier: ^9.39.1 + version: 9.39.1(jiti@2.6.1) + eslint-config-next: + specifier: 16.0.10 + version: 16.0.10(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + globals: + specifier: ^16.5.0 + version: 16.5.0 + postcss: + specifier: ^8.5.6 + version: 8.5.6 + postcss-load-config: + specifier: ^6.0.1 + version: 6.0.1(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0) + tailwindcss: + specifier: ^4.1.18 + version: 4.1.18 + tsx: + specifier: ^4.21.0 + version: 4.21.0 + typescript: + specifier: 5.9.3 + version: 5.9.3 + +packages: + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + + '@emnapi/core@1.7.1': + resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} + + '@emnapi/runtime@1.7.1': + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} + + '@emnapi/wasi-threads@1.1.0': + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + + '@esbuild/aix-ppc64@0.27.1': + resolution: {integrity: sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.27.1': + resolution: {integrity: sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.27.1': + resolution: {integrity: sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.27.1': + resolution: {integrity: sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.27.1': + resolution: {integrity: sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.1': + resolution: {integrity: sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.27.1': + resolution: {integrity: sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.1': + resolution: {integrity: sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.27.1': + resolution: {integrity: sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.27.1': + resolution: {integrity: sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.27.1': + resolution: {integrity: sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.27.1': + resolution: {integrity: sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.27.1': + resolution: {integrity: sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.27.1': + resolution: {integrity: sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.1': + resolution: {integrity: sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.27.1': + resolution: {integrity: sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.27.1': + resolution: {integrity: sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.27.1': + resolution: {integrity: sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.1': + resolution: {integrity: sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.27.1': + resolution: {integrity: sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.1': + resolution: {integrity: sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.1': + resolution: {integrity: sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.27.1': + resolution: {integrity: sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.27.1': + resolution: {integrity: sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.27.1': + resolution: {integrity: sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.27.1': + resolution: {integrity: sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.3': + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.1': + resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@formatjs/ecma402-abstract@2.3.6': + resolution: {integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==} + + '@formatjs/fast-memoize@2.2.7': + resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==} + + '@formatjs/icu-messageformat-parser@2.11.4': + resolution: {integrity: sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==} + + '@formatjs/icu-skeleton-parser@1.8.16': + resolution: {integrity: sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==} + + '@formatjs/intl-localematcher@0.5.10': + resolution: {integrity: sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==} + + '@formatjs/intl-localematcher@0.6.2': + resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==} + + '@heroicons/react@2.2.0': + resolution: {integrity: sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==} + peerDependencies: + react: '>= 16 || ^19.0.0-rc' + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@img/colour@1.0.0': + resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} + engines: {node: '>=18'} + + '@img/sharp-darwin-arm64@0.34.5': + resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.34.5': + resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.2.4': + resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.2.4': + resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.2.4': + resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.2.4': + resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-ppc64@1.2.4': + resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} + cpu: [ppc64] + os: [linux] + + '@img/sharp-libvips-linux-riscv64@1.2.4': + resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + cpu: [riscv64] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.2.4': + resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.2.4': + resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.34.5': + resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.34.5': + resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-ppc64@0.34.5': + resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ppc64] + os: [linux] + + '@img/sharp-linux-riscv64@0.34.5': + resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [riscv64] + os: [linux] + + '@img/sharp-linux-s390x@0.34.5': + resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.34.5': + resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.34.5': + resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.34.5': + resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.34.5': + resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.34.5': + resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.34.5': + resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.34.5': + resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@napi-rs/wasm-runtime@0.2.12': + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + + '@next/env@16.0.10': + resolution: {integrity: sha512-8tuaQkyDVgeONQ1MeT9Mkk8pQmZapMKFh5B+OrFUlG3rVmYTXcXlBetBgTurKXGaIZvkoqRT9JL5K3phXcgang==} + + '@next/eslint-plugin-next@16.0.10': + resolution: {integrity: sha512-b2NlWN70bbPLmfyoLvvidPKWENBYYIe017ZGUpElvQjDytCWgxPJx7L9juxHt0xHvNVA08ZHJdOyhGzon/KJuw==} + + '@next/swc-darwin-arm64@16.0.10': + resolution: {integrity: sha512-4XgdKtdVsaflErz+B5XeG0T5PeXKDdruDf3CRpnhN+8UebNa5N2H58+3GDgpn/9GBurrQ1uWW768FfscwYkJRg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@16.0.10': + resolution: {integrity: sha512-spbEObMvRKkQ3CkYVOME+ocPDFo5UqHb8EMTS78/0mQ+O1nqE8toHJVioZo4TvebATxgA8XMTHHrScPrn68OGw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@16.0.10': + resolution: {integrity: sha512-uQtWE3X0iGB8apTIskOMi2w/MKONrPOUCi5yLO+v3O8Mb5c7K4Q5KD1jvTpTF5gJKa3VH/ijKjKUq9O9UhwOYw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-arm64-musl@16.0.10': + resolution: {integrity: sha512-llA+hiDTrYvyWI21Z0L1GiXwjQaanPVQQwru5peOgtooeJ8qx3tlqRV2P7uH2pKQaUfHxI/WVarvI5oYgGxaTw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-x64-gnu@16.0.10': + resolution: {integrity: sha512-AK2q5H0+a9nsXbeZ3FZdMtbtu9jxW4R/NgzZ6+lrTm3d6Zb7jYrWcgjcpM1k8uuqlSy4xIyPR2YiuUr+wXsavA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-linux-x64-musl@16.0.10': + resolution: {integrity: sha512-1TDG9PDKivNw5550S111gsO4RGennLVl9cipPhtkXIFVwo31YZ73nEbLjNC8qG3SgTz/QZyYyaFYMeY4BKZR/g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-win32-arm64-msvc@16.0.10': + resolution: {integrity: sha512-aEZIS4Hh32xdJQbHz121pyuVZniSNoqDVx1yIr2hy+ZwJGipeqnMZBJHyMxv2tiuAXGx6/xpTcQJ6btIiBjgmg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@16.0.10': + resolution: {integrity: sha512-E+njfCoFLb01RAFEnGZn6ERoOqhK1Gl3Lfz1Kjnj0Ulfu7oJbuMyvBKNj/bw8XZnenHDASlygTjZICQW+rYW1Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@schummar/icu-type-parser@1.21.5': + resolution: {integrity: sha512-bXHSaW5jRTmke9Vd0h5P7BtWZG9Znqb8gSDxZnxaGSJnGwPLDPfS+3g0BKzeWqzgZPsIVZkM7m2tbo18cm5HBw==} + + '@swc/core-darwin-arm64@1.15.3': + resolution: {integrity: sha512-AXfeQn0CvcQ4cndlIshETx6jrAM45oeUrK8YeEY6oUZU/qzz0Id0CyvlEywxkWVC81Ajpd8TQQ1fW5yx6zQWkQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.15.3': + resolution: {integrity: sha512-p68OeCz1ui+MZYG4wmfJGvcsAcFYb6Sl25H9TxWl+GkBgmNimIiRdnypK9nBGlqMZAcxngNPtnG3kEMNnvoJ2A==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.15.3': + resolution: {integrity: sha512-Nuj5iF4JteFgwrai97mUX+xUOl+rQRHqTvnvHMATL/l9xE6/TJfPBpd3hk/PVpClMXG3Uvk1MxUFOEzM1JrMYg==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.15.3': + resolution: {integrity: sha512-2Nc/s8jE6mW2EjXWxO/lyQuLKShcmTrym2LRf5Ayp3ICEMX6HwFqB1EzDhwoMa2DcUgmnZIalesq2lG3krrUNw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.15.3': + resolution: {integrity: sha512-j4SJniZ/qaZ5g8op+p1G9K1z22s/EYGg1UXIb3+Cg4nsxEpF5uSIGEE4mHUfA70L0BR9wKT2QF/zv3vkhfpX4g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.15.3': + resolution: {integrity: sha512-aKttAZnz8YB1VJwPQZtyU8Uk0BfMP63iDMkvjhJzRZVgySmqt/apWSdnoIcZlUoGheBrcqbMC17GGUmur7OT5A==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.15.3': + resolution: {integrity: sha512-oe8FctPu1gnUsdtGJRO2rvOUIkkIIaHqsO9xxN0bTR7dFTlPTGi2Fhk1tnvXeyAvCPxLIcwD8phzKg6wLv9yug==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.15.3': + resolution: {integrity: sha512-L9AjzP2ZQ/Xh58e0lTRMLvEDrcJpR7GwZqAtIeNLcTK7JVE+QineSyHp0kLkO1rttCHyCy0U74kDTj0dRz6raA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.15.3': + resolution: {integrity: sha512-B8UtogMzErUPDWUoKONSVBdsgKYd58rRyv2sHJWKOIMCHfZ22FVXICR4O/VwIYtlnZ7ahERcjayBHDlBZpR0aw==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.15.3': + resolution: {integrity: sha512-SpZKMR9QBTecHeqpzJdYEfgw30Oo8b/Xl6rjSzBt1g0ZsXyy60KLXrp6IagQyfTYqNYE/caDvwtF2FPn7pomog==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.15.3': + resolution: {integrity: sha512-Qd8eBPkUFL4eAONgGjycZXj1jFCBW8Fd+xF0PzdTlBCWQIV1xnUT7B93wUANtW3KGjl3TRcOyxwSx/u/jyKw/Q==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@swc/types@0.1.25': + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + + '@tailwindcss/node@4.1.18': + resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==} + + '@tailwindcss/oxide-android-arm64@4.1.18': + resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.18': + resolution: {integrity: sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.18': + resolution: {integrity: sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.18': + resolution: {integrity: sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + resolution: {integrity: sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + resolution: {integrity: sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + resolution: {integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + resolution: {integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.18': + resolution: {integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.18': + resolution: {integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + resolution: {integrity: sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + resolution: {integrity: sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.18': + resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.1.18': + resolution: {integrity: sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==} + + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/node@25.0.1': + resolution: {integrity: sha512-czWPzKIAXucn9PtsttxmumiQ9N0ok9FrBwgRWrwmVLlp86BrMExzvXRLFYRJ+Ex3g6yqj+KuaxfX1JTgV2lpfg==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.2.7': + resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} + + '@typescript-eslint/eslint-plugin@8.49.0': + resolution: {integrity: sha512-JXij0vzIaTtCwu6SxTh8qBc66kmf1xs7pI4UOiMDFVct6q86G0Zs7KRcEoJgY3Cav3x5Tq0MF5jwgpgLqgKG3A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.49.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.49.0': + resolution: {integrity: sha512-N9lBGA9o9aqb1hVMc9hzySbhKibHmB+N3IpoShyV6HyQYRGIhlrO5rQgttypi+yEeKsKI4idxC8Jw6gXKD4THA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.49.0': + resolution: {integrity: sha512-/wJN0/DKkmRUMXjZUXYZpD1NEQzQAAn9QWfGwo+Ai8gnzqH7tvqS7oNVdTjKqOcPyVIdZdyCMoqN66Ia789e7g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.49.0': + resolution: {integrity: sha512-npgS3zi+/30KSOkXNs0LQXtsg9ekZ8OISAOLGWA/ZOEn0ZH74Ginfl7foziV8DT+D98WfQ5Kopwqb/PZOaIJGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.49.0': + resolution: {integrity: sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.49.0': + resolution: {integrity: sha512-KTExJfQ+svY8I10P4HdxKzWsvtVnsuCifU5MvXrRwoP2KOlNZ9ADNEWWsQTJgMxLzS5VLQKDjkCT/YzgsnqmZg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.49.0': + resolution: {integrity: sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.49.0': + resolution: {integrity: sha512-jrLdRuAbPfPIdYNppHJ/D0wN+wwNfJ32YTAm10eJVsFmrVpXQnDWBn8niCSMlWjvml8jsce5E/O+86IQtTbJWA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.49.0': + resolution: {integrity: sha512-N3W7rJw7Rw+z1tRsHZbK395TWSYvufBXumYtEGzypgMUthlg0/hmCImeA8hgO2d2G4pd7ftpxxul2J8OdtdaFA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.49.0': + resolution: {integrity: sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@unrs/resolver-binding-android-arm-eabi@1.11.1': + resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} + cpu: [arm] + os: [android] + + '@unrs/resolver-binding-android-arm64@1.11.1': + resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} + cpu: [arm64] + os: [android] + + '@unrs/resolver-binding-darwin-arm64@1.11.1': + resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.11.1': + resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.11.1': + resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} + cpu: [ppc64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} + cpu: [s390x] + os: [linux] + + '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-linux-x64-musl@1.11.1': + resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-wasm32-wasi@1.11.1': + resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} + cpu: [x64] + os: [win32] + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axe-core@4.11.0: + resolution: {integrity: sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==} + engines: {node: '>=4'} + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + baseline-browser-mapping@2.9.6: + resolution: {integrity: sha512-v9BVVpOTLB59C9E7aSnmIF8h7qRsFpx+A2nugVMTszEOMcfjlZMsXRm4LF23I3Z9AJxc8ANpIvzbzONoX9VJlg==} + hasBin: true + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001760: + resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + electron-to-chromium@1.5.267: + resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + enhanced-resolve@5.18.4: + resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} + engines: {node: '>=10.13.0'} + + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.2.1: + resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + esbuild@0.27.1: + resolution: {integrity: sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-next@16.0.10: + resolution: {integrity: sha512-BxouZUm0I45K4yjOOIzj24nTi0H2cGo0y7xUmk+Po/PYtJXFBYVDS1BguE7t28efXjKdcN0tmiLivxQy//SsZg==} + peerDependencies: + eslint: '>=9.0.0' + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-import-resolver-typescript@3.10.1: + resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + + eslint-module-utils@2.12.1: + resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.32.0: + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + + eslint-plugin-react-hooks@7.0.1: + resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + + eslint-plugin-react@7.37.5: + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.39.1: + resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.13.0: + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.4.0: + resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} + engines: {node: '>=18'} + + globals@16.5.0: + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + intl-messageformat@10.7.18: + resolution: {integrity: sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-bun-module@2.0.0: + resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + iterator.prototype@1.1.5: + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} + + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lightningcss-android-arm64@1.30.2: + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.30.2: + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.2: + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.2: + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.2: + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.2: + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.2: + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.2: + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.2: + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.2: + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.2: + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.2: + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + engines: {node: '>= 12.0.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + napi-postinstall@0.3.4: + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@1.0.0: + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} + + next-intl-swc-plugin-extractor@4.5.8: + resolution: {integrity: sha512-hscCKUv+5GQ0CCNbvqZ8gaxnAGToCgDTbL++jgCq8SCk/ljtZDEeQZcMk46Nm6Ynn49Q/JKF4Npo/Sq1mpbusA==} + + next-intl@4.5.8: + resolution: {integrity: sha512-BdN6494nvt09WtmW5gbWdwRhDDHC/Sg7tBMhN7xfYds3vcRCngSDXat81gmJkblw9jYOv8zXzzFJyu5VYXnJzg==} + peerDependencies: + next: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + next@16.0.10: + resolution: {integrity: sha512-RtWh5PUgI+vxlV3HdR+IfWA1UUHu0+Ram/JBO4vWB54cVPentCD0e+lxyAYEsDTqGGMg7qpjhKh6dc6aW7W/sA==} + engines: {node: '>=20.9.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.51.1 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.entries@1.1.9: + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + po-parser@1.0.2: + resolution: {integrity: sha512-yTIQL8PZy7V8c0psPoJUx7fayez+Mo/53MZgX9MPuPHx+Dt+sRPNuRbI+6Oqxnddhkd68x4Nlgon/zizL1Xg+w==} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-dom@19.2.3: + resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} + peerDependencies: + react: ^19.2.3 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react@19.2.3: + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} + engines: {node: '>=0.10.0'} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + sharp@0.34.5: + resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + stable-hash@0.0.5: + resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + string.prototype.includes@2.0.1: + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} + engines: {node: '>= 0.4'} + + string.prototype.matchall@4.0.12: + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tailwindcss@4.1.18: + resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} + + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} + hasBin: true + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typescript-eslint@8.49.0: + resolution: {integrity: sha512-zRSVH1WXD0uXczCXw+nsdjGPUdx4dfrs5VQoHnUWmv1U3oNlAKv4FUNdLDhVUg+gYn+a5hUESqch//Rv5wVhrg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + unrs-resolver@1.11.1: + resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} + + update-browserslist-db@1.2.2: + resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + use-intl@4.5.8: + resolution: {integrity: sha512-rWPV2Sirw55BQbA/7ndUBtsikh8WXwBrUkZJ1mD35+emj/ogPPqgCZdv1DdrEFK42AjF1g5w8d3x8govhqPH6Q==} + peerDependencies: + react: ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + + zod@4.1.13: + resolution: {integrity: sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==} + +snapshots: + + '@alloc/quick-lru@5.2.0': {} + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.5': {} + + '@babel/core@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@emnapi/core@1.7.1': + dependencies: + '@emnapi/wasi-threads': 1.1.0 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.7.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.1.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.27.1': + optional: true + + '@esbuild/android-arm64@0.27.1': + optional: true + + '@esbuild/android-arm@0.27.1': + optional: true + + '@esbuild/android-x64@0.27.1': + optional: true + + '@esbuild/darwin-arm64@0.27.1': + optional: true + + '@esbuild/darwin-x64@0.27.1': + optional: true + + '@esbuild/freebsd-arm64@0.27.1': + optional: true + + '@esbuild/freebsd-x64@0.27.1': + optional: true + + '@esbuild/linux-arm64@0.27.1': + optional: true + + '@esbuild/linux-arm@0.27.1': + optional: true + + '@esbuild/linux-ia32@0.27.1': + optional: true + + '@esbuild/linux-loong64@0.27.1': + optional: true + + '@esbuild/linux-mips64el@0.27.1': + optional: true + + '@esbuild/linux-ppc64@0.27.1': + optional: true + + '@esbuild/linux-riscv64@0.27.1': + optional: true + + '@esbuild/linux-s390x@0.27.1': + optional: true + + '@esbuild/linux-x64@0.27.1': + optional: true + + '@esbuild/netbsd-arm64@0.27.1': + optional: true + + '@esbuild/netbsd-x64@0.27.1': + optional: true + + '@esbuild/openbsd-arm64@0.27.1': + optional: true + + '@esbuild/openbsd-x64@0.27.1': + optional: true + + '@esbuild/openharmony-arm64@0.27.1': + optional: true + + '@esbuild/sunos-x64@0.27.1': + optional: true + + '@esbuild/win32-arm64@0.27.1': + optional: true + + '@esbuild/win32-ia32@0.27.1': + optional: true + + '@esbuild/win32-x64@0.27.1': + optional: true + + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1(jiti@2.6.1))': + dependencies: + eslint: 9.39.1(jiti@2.6.1) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.3': + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.39.1': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 + + '@formatjs/ecma402-abstract@2.3.6': + dependencies: + '@formatjs/fast-memoize': 2.2.7 + '@formatjs/intl-localematcher': 0.6.2 + decimal.js: 10.6.0 + tslib: 2.8.1 + + '@formatjs/fast-memoize@2.2.7': + dependencies: + tslib: 2.8.1 + + '@formatjs/icu-messageformat-parser@2.11.4': + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/icu-skeleton-parser': 1.8.16 + tslib: 2.8.1 + + '@formatjs/icu-skeleton-parser@1.8.16': + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + tslib: 2.8.1 + + '@formatjs/intl-localematcher@0.5.10': + dependencies: + tslib: 2.8.1 + + '@formatjs/intl-localematcher@0.6.2': + dependencies: + tslib: 2.8.1 + + '@heroicons/react@2.2.0(react@19.2.3)': + dependencies: + react: 19.2.3 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@img/colour@1.0.0': + optional: true + + '@img/sharp-darwin-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.2.4 + optional: true + + '@img/sharp-darwin-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.2.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.2.4': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-riscv64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-s390x@1.2.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.2.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + optional: true + + '@img/sharp-linux-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.2.4 + optional: true + + '@img/sharp-linux-arm@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.2.4 + optional: true + + '@img/sharp-linux-ppc64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.2.4 + optional: true + + '@img/sharp-linux-riscv64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.2.4 + optional: true + + '@img/sharp-linux-s390x@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.2.4 + optional: true + + '@img/sharp-linux-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.2.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + optional: true + + '@img/sharp-wasm32@0.34.5': + dependencies: + '@emnapi/runtime': 1.7.1 + optional: true + + '@img/sharp-win32-arm64@0.34.5': + optional: true + + '@img/sharp-win32-ia32@0.34.5': + optional: true + + '@img/sharp-win32-x64@0.34.5': + optional: true + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@napi-rs/wasm-runtime@0.2.12': + dependencies: + '@emnapi/core': 1.7.1 + '@emnapi/runtime': 1.7.1 + '@tybys/wasm-util': 0.10.1 + optional: true + + '@next/env@16.0.10': {} + + '@next/eslint-plugin-next@16.0.10': + dependencies: + fast-glob: 3.3.1 + + '@next/swc-darwin-arm64@16.0.10': + optional: true + + '@next/swc-darwin-x64@16.0.10': + optional: true + + '@next/swc-linux-arm64-gnu@16.0.10': + optional: true + + '@next/swc-linux-arm64-musl@16.0.10': + optional: true + + '@next/swc-linux-x64-gnu@16.0.10': + optional: true + + '@next/swc-linux-x64-musl@16.0.10': + optional: true + + '@next/swc-win32-arm64-msvc@16.0.10': + optional: true + + '@next/swc-win32-x64-msvc@16.0.10': + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@nolyfill/is-core-module@1.0.39': {} + + '@rtsao/scc@1.1.0': {} + + '@schummar/icu-type-parser@1.21.5': {} + + '@swc/core-darwin-arm64@1.15.3': + optional: true + + '@swc/core-darwin-x64@1.15.3': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.15.3': + optional: true + + '@swc/core-linux-arm64-gnu@1.15.3': + optional: true + + '@swc/core-linux-arm64-musl@1.15.3': + optional: true + + '@swc/core-linux-x64-gnu@1.15.3': + optional: true + + '@swc/core-linux-x64-musl@1.15.3': + optional: true + + '@swc/core-win32-arm64-msvc@1.15.3': + optional: true + + '@swc/core-win32-ia32-msvc@1.15.3': + optional: true + + '@swc/core-win32-x64-msvc@1.15.3': + optional: true + + '@swc/core@1.15.3': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.25 + optionalDependencies: + '@swc/core-darwin-arm64': 1.15.3 + '@swc/core-darwin-x64': 1.15.3 + '@swc/core-linux-arm-gnueabihf': 1.15.3 + '@swc/core-linux-arm64-gnu': 1.15.3 + '@swc/core-linux-arm64-musl': 1.15.3 + '@swc/core-linux-x64-gnu': 1.15.3 + '@swc/core-linux-x64-musl': 1.15.3 + '@swc/core-win32-arm64-msvc': 1.15.3 + '@swc/core-win32-ia32-msvc': 1.15.3 + '@swc/core-win32-x64-msvc': 1.15.3 + + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@swc/types@0.1.25': + dependencies: + '@swc/counter': 0.1.3 + + '@tailwindcss/node@4.1.18': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.4 + jiti: 2.6.1 + lightningcss: 1.30.2 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.1.18 + + '@tailwindcss/oxide-android-arm64@4.1.18': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.18': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.18': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.18': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.18': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + optional: true + + '@tailwindcss/oxide@4.1.18': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-x64': 4.1.18 + '@tailwindcss/oxide-freebsd-x64': 4.1.18 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-x64-musl': 4.1.18 + '@tailwindcss/oxide-wasm32-wasi': 4.1.18 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 + + '@tailwindcss/postcss@4.1.18': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.1.18 + '@tailwindcss/oxide': 4.1.18 + postcss: 8.5.6 + tailwindcss: 4.1.18 + + '@tybys/wasm-util@0.10.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/estree@1.0.8': {} + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/node@25.0.1': + dependencies: + undici-types: 7.16.0 + + '@types/react-dom@19.2.3(@types/react@19.2.7)': + dependencies: + '@types/react': 19.2.7 + + '@types/react@19.2.7': + dependencies: + csstype: 3.2.3 + + '@typescript-eslint/eslint-plugin@8.49.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.49.0 + '@typescript-eslint/type-utils': 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.49.0 + eslint: 9.39.1(jiti@2.6.1) + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.49.0 + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.49.0 + debug: 4.4.3 + eslint: 9.39.1(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.49.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.9.3) + '@typescript-eslint/types': 8.49.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.49.0': + dependencies: + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/visitor-keys': 8.49.0 + + '@typescript-eslint/tsconfig-utils@8.49.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.1(jiti@2.6.1) + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.49.0': {} + + '@typescript-eslint/typescript-estree@8.49.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.49.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.9.3) + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/visitor-keys': 8.49.0 + debug: 4.4.3 + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.49.0 + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.49.0': + dependencies: + '@typescript-eslint/types': 8.49.0 + eslint-visitor-keys: 4.2.1 + + '@unrs/resolver-binding-android-arm-eabi@1.11.1': + optional: true + + '@unrs/resolver-binding-android-arm64@1.11.1': + optional: true + + '@unrs/resolver-binding-darwin-arm64@1.11.1': + optional: true + + '@unrs/resolver-binding-darwin-x64@1.11.1': + optional: true + + '@unrs/resolver-binding-freebsd-x64@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-x64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-wasm32-wasi@1.11.1': + dependencies: + '@napi-rs/wasm-runtime': 0.2.12 + optional: true + + '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + optional: true + + '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + optional: true + + '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + optional: true + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + argparse@2.0.1: {} + + aria-query@5.3.2: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-includes@3.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 + + array.prototype.findlastindex@1.2.6: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-shim-unscopables: 1.1.0 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + ast-types-flow@0.0.8: {} + + async-function@1.0.0: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + axe-core@4.11.0: {} + + axobject-query@4.1.0: {} + + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.9.6: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.9.6 + caniuse-lite: 1.0.30001760 + electron-to-chromium: 1.5.267 + node-releases: 2.0.27 + update-browserslist-db: 1.2.2(browserslist@4.28.1) + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + caniuse-lite@1.0.30001760: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + client-only@0.0.1: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.2.3: {} + + damerau-levenshtein@1.0.8: {} + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decimal.js@10.6.0: {} + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + detect-libc@2.1.2: {} + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + electron-to-chromium@1.5.267: {} + + emoji-regex@9.2.2: {} + + enhanced-resolve@5.18.4: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + + es-abstract@1.24.0: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-iterator-helpers@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.1.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + iterator.prototype: 1.1.5 + safe-array-concat: 1.1.3 + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + esbuild@0.27.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.1 + '@esbuild/android-arm': 0.27.1 + '@esbuild/android-arm64': 0.27.1 + '@esbuild/android-x64': 0.27.1 + '@esbuild/darwin-arm64': 0.27.1 + '@esbuild/darwin-x64': 0.27.1 + '@esbuild/freebsd-arm64': 0.27.1 + '@esbuild/freebsd-x64': 0.27.1 + '@esbuild/linux-arm': 0.27.1 + '@esbuild/linux-arm64': 0.27.1 + '@esbuild/linux-ia32': 0.27.1 + '@esbuild/linux-loong64': 0.27.1 + '@esbuild/linux-mips64el': 0.27.1 + '@esbuild/linux-ppc64': 0.27.1 + '@esbuild/linux-riscv64': 0.27.1 + '@esbuild/linux-s390x': 0.27.1 + '@esbuild/linux-x64': 0.27.1 + '@esbuild/netbsd-arm64': 0.27.1 + '@esbuild/netbsd-x64': 0.27.1 + '@esbuild/openbsd-arm64': 0.27.1 + '@esbuild/openbsd-x64': 0.27.1 + '@esbuild/openharmony-arm64': 0.27.1 + '@esbuild/sunos-x64': 0.27.1 + '@esbuild/win32-arm64': 0.27.1 + '@esbuild/win32-ia32': 0.27.1 + '@esbuild/win32-x64': 0.27.1 + + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-next@16.0.10(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + dependencies: + '@next/eslint-plugin-next': 16.0.10 + eslint: 9.39.1(jiti@2.6.1) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.1(jiti@2.6.1)) + eslint-plugin-react: 7.37.5(eslint@9.39.1(jiti@2.6.1)) + eslint-plugin-react-hooks: 7.0.1(eslint@9.39.1(jiti@2.6.1)) + globals: 16.4.0 + typescript-eslint: 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-webpack + - eslint-plugin-import-x + - supports-color + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@2.6.1)): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.4.3 + eslint: 9.39.1(jiti@2.6.1) + get-tsconfig: 4.13.0 + is-bun-module: 2.0.0 + stable-hash: 0.0.5 + tinyglobby: 0.2.15 + unrs-resolver: 1.11.1 + optionalDependencies: + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)) + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@2.6.1)) + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.39.1(jiti@2.6.1) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.1(jiti@2.6.1)): + dependencies: + aria-query: 5.3.2 + array-includes: 3.1.9 + array.prototype.flatmap: 1.3.3 + ast-types-flow: 0.0.8 + axe-core: 4.11.0 + axobject-query: 4.1.0 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 9.39.1(jiti@2.6.1) + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + safe-regex-test: 1.1.0 + string.prototype.includes: 2.0.1 + + eslint-plugin-react-hooks@7.0.1(eslint@9.39.1(jiti@2.6.1)): + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + eslint: 9.39.1(jiti@2.6.1) + hermes-parser: 0.25.1 + zod: 4.1.13 + zod-validation-error: 4.0.2(zod@4.1.13) + transitivePeerDependencies: + - supports-color + + eslint-plugin-react@7.37.5(eslint@9.39.1(jiti@2.6.1)): + dependencies: + array-includes: 3.1.9 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.3 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.2.1 + eslint: 9.39.1(jiti@2.6.1) + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.9 + object.fromentries: 2.0.8 + object.values: 1.2.1 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.12 + string.prototype.repeat: 1.0.0 + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.39.1(jiti@2.6.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.1 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.6.1 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.1: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + get-tsconfig@4.13.0: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + globals@14.0.0: {} + + globals@16.4.0: {} + + globals@16.5.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + has-bigints@1.1.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hermes-estree@0.25.1: {} + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + + intl-messageformat@10.7.18: + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/fast-memoize': 2.2.7 + '@formatjs/icu-messageformat-parser': 2.11.4 + tslib: 2.8.1 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-bun-module@2.0.0: + dependencies: + semver: 7.7.3 + + is-callable@1.2.7: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-map@2.0.3: {} + + is-negative-zero@2.0.3: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.19 + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + iterator.prototype@1.1.5: + dependencies: + define-data-property: 1.1.4 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + has-symbols: 1.1.0 + set-function-name: 2.0.2 + + jiti@2.6.1: {} + + js-tokens@4.0.0: {} + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.9 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + language-subtag-registry@0.3.23: {} + + language-tags@1.0.9: + dependencies: + language-subtag-registry: 0.3.23 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lightningcss-android-arm64@1.30.2: + optional: true + + lightningcss-darwin-arm64@1.30.2: + optional: true + + lightningcss-darwin-x64@1.30.2: + optional: true + + lightningcss-freebsd-x64@1.30.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.2: + optional: true + + lightningcss-linux-arm64-gnu@1.30.2: + optional: true + + lightningcss-linux-arm64-musl@1.30.2: + optional: true + + lightningcss-linux-x64-gnu@1.30.2: + optional: true + + lightningcss-linux-x64-musl@1.30.2: + optional: true + + lightningcss-win32-arm64-msvc@1.30.2: + optional: true + + lightningcss-win32-x64-msvc@1.30.2: + optional: true + + lightningcss@1.30.2: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.30.2 + lightningcss-darwin-arm64: 1.30.2 + lightningcss-darwin-x64: 1.30.2 + lightningcss-freebsd-x64: 1.30.2 + lightningcss-linux-arm-gnueabihf: 1.30.2 + lightningcss-linux-arm64-gnu: 1.30.2 + lightningcss-linux-arm64-musl: 1.30.2 + lightningcss-linux-x64-gnu: 1.30.2 + lightningcss-linux-x64-musl: 1.30.2 + lightningcss-win32-arm64-msvc: 1.30.2 + lightningcss-win32-x64-msvc: 1.30.2 + + lilconfig@3.1.3: {} + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + math-intrinsics@1.1.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + napi-postinstall@0.3.4: {} + + natural-compare@1.4.0: {} + + negotiator@1.0.0: {} + + next-intl-swc-plugin-extractor@4.5.8: {} + + next-intl@4.5.8(next@16.0.10(@babel/core@7.28.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(typescript@5.9.3): + dependencies: + '@formatjs/intl-localematcher': 0.5.10 + '@swc/core': 1.15.3 + negotiator: 1.0.0 + next: 16.0.10(@babel/core@7.28.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + next-intl-swc-plugin-extractor: 4.5.8 + po-parser: 1.0.2 + react: 19.2.3 + use-intl: 4.5.8(react@19.2.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@swc/helpers' + + next@16.0.10(@babel/core@7.28.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + dependencies: + '@next/env': 16.0.10 + '@swc/helpers': 0.5.15 + caniuse-lite: 1.0.30001760 + postcss: 8.4.31 + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + styled-jsx: 5.1.6(@babel/core@7.28.5)(react@19.2.3) + optionalDependencies: + '@next/swc-darwin-arm64': 16.0.10 + '@next/swc-darwin-x64': 16.0.10 + '@next/swc-linux-arm64-gnu': 16.0.10 + '@next/swc-linux-arm64-musl': 16.0.10 + '@next/swc-linux-x64-gnu': 16.0.10 + '@next/swc-linux-x64-musl': 16.0.10 + '@next/swc-win32-arm64-msvc': 16.0.10 + '@next/swc-win32-x64-msvc': 16.0.10 + sharp: 0.34.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + node-releases@2.0.27: {} + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.entries@1.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + po-parser@1.0.2: {} + + possible-typed-array-names@1.1.0: {} + + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + jiti: 2.6.1 + postcss: 8.5.6 + tsx: 4.21.0 + + postcss@8.4.31: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + react-dom@19.2.3(react@19.2.3): + dependencies: + react: 19.2.3 + scheduler: 0.27.0 + + react-is@16.13.1: {} + + react@19.2.3: {} + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + resolve-from@4.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.5: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.1.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + scheduler@0.27.0: {} + + semver@6.3.1: {} + + semver@7.7.3: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + + sharp@0.34.5: + dependencies: + '@img/colour': 1.0.0 + detect-libc: 2.1.2 + semver: 7.7.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.34.5 + '@img/sharp-darwin-x64': 0.34.5 + '@img/sharp-libvips-darwin-arm64': 1.2.4 + '@img/sharp-libvips-darwin-x64': 1.2.4 + '@img/sharp-libvips-linux-arm': 1.2.4 + '@img/sharp-libvips-linux-arm64': 1.2.4 + '@img/sharp-libvips-linux-ppc64': 1.2.4 + '@img/sharp-libvips-linux-riscv64': 1.2.4 + '@img/sharp-libvips-linux-s390x': 1.2.4 + '@img/sharp-libvips-linux-x64': 1.2.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + '@img/sharp-linux-arm': 0.34.5 + '@img/sharp-linux-arm64': 0.34.5 + '@img/sharp-linux-ppc64': 0.34.5 + '@img/sharp-linux-riscv64': 0.34.5 + '@img/sharp-linux-s390x': 0.34.5 + '@img/sharp-linux-x64': 0.34.5 + '@img/sharp-linuxmusl-arm64': 0.34.5 + '@img/sharp-linuxmusl-x64': 0.34.5 + '@img/sharp-wasm32': 0.34.5 + '@img/sharp-win32-arm64': 0.34.5 + '@img/sharp-win32-ia32': 0.34.5 + '@img/sharp-win32-x64': 0.34.5 + optional: true + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + source-map-js@1.2.1: {} + + stable-hash@0.0.5: {} + + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + string.prototype.includes@2.0.1: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + + string.prototype.matchall@4.0.12: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + regexp.prototype.flags: 1.5.4 + set-function-name: 2.0.2 + side-channel: 1.1.0 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.24.0 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + strip-bom@3.0.0: {} + + strip-json-comments@3.1.1: {} + + styled-jsx@5.1.6(@babel/core@7.28.5)(react@19.2.3): + dependencies: + client-only: 0.0.1 + react: 19.2.3 + optionalDependencies: + '@babel/core': 7.28.5 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + tailwindcss@4.1.18: {} + + tapable@2.3.0: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + ts-api-utils@2.1.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + tsx@4.21.0: + dependencies: + esbuild: 0.27.1 + get-tsconfig: 4.13.0 + optionalDependencies: + fsevents: 2.3.3 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typescript-eslint@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.49.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.49.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + typescript@5.9.3: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + undici-types@7.16.0: {} + + unrs-resolver@1.11.1: + dependencies: + napi-postinstall: 0.3.4 + optionalDependencies: + '@unrs/resolver-binding-android-arm-eabi': 1.11.1 + '@unrs/resolver-binding-android-arm64': 1.11.1 + '@unrs/resolver-binding-darwin-arm64': 1.11.1 + '@unrs/resolver-binding-darwin-x64': 1.11.1 + '@unrs/resolver-binding-freebsd-x64': 1.11.1 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 + '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 + '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 + '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-x64-musl': 1.11.1 + '@unrs/resolver-binding-wasm32-wasi': 1.11.1 + '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 + '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 + '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 + + update-browserslist-db@1.2.2(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + use-intl@4.5.8(react@19.2.3): + dependencies: + '@formatjs/fast-memoize': 2.2.7 + '@schummar/icu-type-parser': 1.21.5 + intl-messageformat: 10.7.18 + react: 19.2.3 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.19 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + yallist@3.1.1: {} + + yocto-queue@0.1.0: {} + + zod-validation-error@4.0.2(zod@4.1.13): + dependencies: + zod: 4.1.13 + + zod@4.1.13: {} diff --git a/postcss.config.mjs b/postcss.config.mjs index 1a69fd2..79bcf13 100644 --- a/postcss.config.mjs +++ b/postcss.config.mjs @@ -1,7 +1,7 @@ /** @type {import('postcss-load-config').Config} */ const config = { plugins: { - tailwindcss: {}, + "@tailwindcss/postcss": {}, }, }; diff --git a/proxy.ts b/proxy.ts new file mode 100644 index 0000000..c090c40 --- /dev/null +++ b/proxy.ts @@ -0,0 +1,9 @@ +import createMiddleware from 'next-intl/middleware'; +import { routing } from './i18n/routing'; + +export default createMiddleware(routing); + +export const config = { + // Match only internationalized pathnames + matcher: ['/', '/(de|ru|ka|ar)/:path*'] +}; \ No newline at end of file diff --git a/public/images/beaver-shaken.svg b/public/images/beaver-shaken.svg new file mode 100644 index 0000000..391fcbd --- /dev/null +++ b/public/images/beaver-shaken.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/images/beaver.svg b/public/images/beaver.svg new file mode 100644 index 0000000..e90e315 --- /dev/null +++ b/public/images/beaver.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/public/images/frog-ai.ai b/public/images/frog-ai.ai index e3b0555..3f698fe 100644 --- a/public/images/frog-ai.ai +++ b/public/images/frog-ai.ai @@ -1,5 +1,5 @@ %PDF-1.6 % -1 0 obj <>/OCGs[18 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream +1 0 obj <>/OCGs[18 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream @@ -14,16 +14,16 @@ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> Adobe Illustrator 29.1 (Windows) - 2025-01-14T23:15:37+02:00 - 2025-01-14T23:15:37+01:00 - 2025-01-14T23:15:37+01:00 + 2025-01-15T12:45:45+02:00 + 2025-01-15T12:45:45+01:00 + 2025-01-15T12:45:45+01:00 256 256 JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FUi17 zfp+lloV/wBIvB/ulDsv+u3b5dcxc2qjDbmWqeURYVqHnLXrwkCf6vGeiQfB/wAN9r8c109XOXWn GlmkUnlnnmPKWRpG8XJY/jmOZE82slakjo3JGKsOhU0P4Yg0qc6d5w1yyYD1zcRDrHN8e3s32h9+ ZGPVTj1tsjlkGcaF5s07VaRf7z3f++HPX/Ub9r9ebLDqoz25FyYZRJO8yW12KuxV2KuxV2KuxV2K pNrXmvS9KJjdjPdD/dEdCR/rHov68x82pjDbmWueURYZqHnnXLpiIXW0i7LGKtT3Zqn7qZrp62cu WzjSzSKTTajqE5rNcyyE/wA7s36zmOckjzJazIlZHeXkbco55EbxV2B/A4BMjkVsptY+ctftCP8A SPrCDqk451/2X2vxy+GryR62zjmkGX6J5203UGWG4H1S5OwDGqMfZtvuObDDrIy2OxciGYFkeZbc 7FXYq7FXYq7FXYq7FXYq7FXYqxfzj5obT0+o2bUvJBWSQf7rU/8AGxzC1ep4PSObRmyVsObzokkk k1J3JOahxHYq7FXYq7FXKzKwZSQwNQRsQRirP/KXm/61xsNRf/SekM5/3Z/kt/lfr+fXa6XVcXpl zcrFlvYsuzPch2KuxV2KuxV2KsK81+cmR5NP0x6MvwzXI7Huqf1zXanV16Y/NxsuboGDkkkkmpO5 JzWOM7FXYq7FXYq7FWW+VPOMls6WOouXtj8MU7bmPwDHuv6sz9Nq69MuTfiy1sXoAIIqNwc2rlux V2KuxV2KuxV2KuxV2KofUL2Kysp7uX7EKFiPEjoPpO2QnMRiSeiJGhbx+7upru5luZm5SysXc+5z QSkZGy64mzalkVdiqnPPBBE0s8ixRLu0jkKo+ZO2EC1SyHzh5Smn+rw63YS3BNBCl1Cz1/1Q1cmc U+4p4D3JvlaHYq4Eggg0I3BGKvS/J3mL9J2ht7hq3tuByJ6unQP8/HNzpM/GKP1BzMWTiFdU7ub6 ythW5uI4R/xY6r+s5kynGPM02mQHNLZvOPlyIkG8DEdkV2/ECmUnV4x1YHNHvU187+WyaG5Zfcxy fwU5H85j70eNFMLTXNIuyBb3cTseicgG/wCBNDl0c0JcizEweRSXzt5hNhbCxtmpd3A+Nh1SPpX5 t2zG1mfhHCOZas2ShQec5qHEdirsVdirsVdirsVdirPvIevtPEdLuGrLCtbZj1KDqv8Ase3t8s2m iz2OEuVgnexZfmwch2KuxV2KuxV2KuxV2KsV/MO8MWlQ2ymhuZKt7rGKn/hiuYOvnUQO9o1B2p55 mpcR2KpJ5y81WHlby/c6xeDmsICwwg0aWVtkQH37+AqcsxYzOVBlCPEafKHmzzp5g80373eq3LOn ImC1UkQxA9BGnQbd+p75vMWKMBQc6MBHkkWWMnuX5A/mDqE163lTUpmniMbSaZI55OhjFXiqdyvH 4l8KZrdbgFcQ+LjZ4dQ91zWuM7FV8M80L84ZGjehHJCVND1FRhBI5KDSxmZiWYkk9SdzgV2KuxV2 Kts7uasxY9Kk12GElWsCpT5p8x2PlvQbvWb2phtUqIwaM7seKIvuzEDLMeMzkAExjZp8weZvzZ88 a9dPI+oy2NsT+7s7N2hRVrsCUIZ/mxzcY9NCI5W5scUQl2kfmF510mdZrLWbocSP3UkjSxGnYxyF lP3ZOWCEuYSYRPR9CflZ+a1r5wgayvEW1123TnLCv93Mg2MkVSSKftKemarU6Y49x9Li5MXD7noW YrU7FXYqr2N5LZXkN1Ef3kLBx706j6RtkoTMSCExNG3sVtcR3FvFcRGscqh0PswqM6GMgRYdgDap hS7FXYq7FXYq7FXYqwH8x5Sb+0i7JEXp/rNT/jXNX2gfUB5OJqDuGIZr2h2KvC/+cmNTlroelqSI j611IvYsOKIfoHL782XZ8eZcnTjmXhmbJyXYqzH8ofW/5WRofo/b9Zq/6vpPz/4WuUar+7LXl+kv rbNE4LsVdirsVdirsVdirsVdiryj/nI+SdfJNmqf3T6hGJSPaGUqPlUZnaD6z7m7T/U+b82zmOxV MvLuuXmha5ZavZsVns5VkABpyUbOh9nWqnITgJRIKJCxT7QtbmG6tYbqE8oZ0WWNvFXAYH7jnPkU adcQq4FdirsVemeRbsz6BGhNWt3aI/L7Q/Bs3OileP3OZgNxZDmW3OxV2KuxV2KuxV2KvO/zF/47 cH/MMv8AycfNTr/rHu/W4eo+pi2YLS7FXiX/ADkrok0lppGtRqWit2ktbkgE09Sjxk+AqrD7s2Og nuQ5GnPMPBc2blOxV7J/zjr5TnuNYuPM06FbWyRre0YjZppBRyP9SMkH/WzA12Whw97j55bU+g81 TiuxV2KuxV2KuxV2KuxV2KsV/M7yvJ5l8mX+mwKGvFAnswe8sR5BR/riqfTl+nycEwejPHKpPkR0 dHZHUq6khlIoQRsQQc3rnrcVbVSxCqKsdgB1JxV9reXrWa00DTLWccZre0gilXwZI1Vh94znshuR Pm66R3TDIIdirsVZ5+W7k2t6nZZEYfMgj+GbTs87FytPyLMc2DkOxV2KuxV2KuxVTubmC2ge4ncR wxjk7noBglIAWUE08q8x622saibjh6cSL6cK9+IJNW9zXNHqM3iStwck+I2leUMHYqg9X0nT9X02 fTdRhW4s7leEsTdx1BB7EHcHtkoyMTYUGjYeG65/zjXqoumbQtUgktWJKx3vON0XwLRJIH+fFc2U NeK9QcoagdVfy9/zjZcC5STzDqcZgUgtbWQYl/b1ZFTiP9jgnrxXpCJajue26Zpmn6XYQ6fp8C21 nbrwhhQbAfrJPcnc5rpSMjZcYm29Rv7bTtPub+6bjbWkTzzMBUhI1LNQd9hjGJJoKBbyvS/+cidF udVW3vdMkstPdiovfVErKOxeJUFB40Y098zZaCQFg2W86c09Ptdd0S6txc21/bzW7ColSVGX7wcw jCQ2IaTEsa8z/m15L0GJwb1L+8H2bSzYSsT/AJTj4E96mvtl2PSzl0oM44pF4vJ+ePn86s17HeIt sXJTTzFG0QStQhPEOf8AW5VzZfk8dVTk+DGnrnkz85PK2v26R306aTqYFJLe4cLGx8Y5WopB8DQ/ rzX5tJKPLcOPPCQzpbi3eH11lRoaV9UMCtPHl0zGpqee+bPzx8r6HefU7JG1edDSdoHVYk9vUIYM 3+rt75l4tHKQs7N0cJLNPLfmHTvMOjW2raexa2uASFagdGBoyOBWjKRmNkxmBotUokGimeQQ8q/M r8kLTzFdSatoksdjqsm9xC4Ignb+YlQSjnuaGvz3zN0+sMBUtw3Y81bF5W35F/mYJ/TGloUrT1hc 2/D50MnL/hczfzmPvb/Gi9F/Lj8hjpGowax5kmiuLm2YSWtjDVo1kG6vI7BeRU7hQKV7nMXPreIV FqyZrFB7Jmvcd2KuxV2Ks8/LeJxZ3spHwPIiqfdVJP8AxIZtOzxsS5WnGxZjmwch2KuxV2KuxV2K vN/OfmM6hcmztm/0KBt2HSRx3+Q7Zp9XqOM0OQcPNks0OTGsw2l2Kq9nZTXTlU2A+0x6DLcWEzOz dgwSyGgm8WiWiD4+Uh71NB+GbCOjgOe7tIaDGOe69tIsCKCMj3DN/E5I6TH3MzosXcgrvRGRS9ux en7B6/QcxsujreLiZuzyBcd0rIpseuYLrUPqNjb6hYXNhcqWtruJ4JlBoSkilWofkcMZUbCg0+Yf On5UeZ/Ld1I0dvJf6XUmG9gUvRe3qqtSh+e3gc3WHVRmO4udDKCwsgg0OxHUZktiP0rQNb1aZYtM sJ7x2NP3MbMB82AoB7nISnGPMoMgOb0a3/5x480SaQbmW9todSIqunmrLSnRplqA3yUj/KzEOvjd Vs0/mBbz/XfKnmPQZmi1bT5rUqaCRlJib/VkFUb6DmVDLGXItsZA8kpyxkn/AJb8i+avMUyJplhI 8TH4ruQGOBR4mRvh+gVPtlWTNGHMsJTA5vp3yP5Vh8reW7bSI5fXePk881KB5XNWIHYdhmlzZeOV uFOXEbT/ACpiqRW88xpEhfxIG335OGOUuQZwxSlyFoldGvj1UL82H8K5eNJNyRochafSL5BXgG/1 SMEtJMdES0WQdLQjoyMVcFWHUHY5jkEbFxTEg0WsCHYq7FXqfk99POhQJZtXgP34NOQlO7ch+r2z d6Ux4BTnYq4dk6zJbHYq7FXYq7FWL+eNfNla/ULdqXVyv7xh1SPofpbpmFrM/COEcy0ZslCg86zU OI7FXYqnGgypxkiJo9eQ9xSmbHQyFEdXadnTFGPVNsz3aOxV2KsZ1Fo2vZTH9knqPGm/45pdQQZm nntUQchrkh8paHYqoyWlpI5eSGN3PVmUEn6SMNlbVQAAABQDoMCt4q0yqylWAKkUIO4IOKoRdI0l JPVWygWWpPMRIGqeu9K5LjPemyjMih2KrowrSKGNFJAJ9q5KIsi0wAJFsqjjSNAiAKo2AGb2MQBQ eljERFBdhZOxVAaxDE1o0jAB0pxbvuaUzF1cAYX1Dha6ETCzzCQZqXSOxV2KphoWtXOk3y3EXxRn 4Zouzr/Xwy7DmOOVhlCZiXq9leW97ax3Vu3OGUVU/wAD7jN5CYkLDng2LVskl2KuxVD6hfQWNlNd zmkcK8j4k9gPcnbITmIgkolKhbyLUL6e/vJbuc1klbkfADsB7AbZoZzMiSXXylZtD5BDsVdirasy sGUkMNwR1wg1yUEg2EfDrd0go4WQeJ2P4Zlw1khz3c6HaExz3V/0+Kf3G/8Arf2ZZ+e8vtbv5S/o /b+xC3Or3UylBSND1C9SPnlGTVSltyDjZdbOYrkEFmM4jsVdirsVdirsVdirsVdirsVdiqaWetFE CTqWA2Djr9NczsWsoVJ2ODX0KlujV1iwI3cr81P8AcyRq8fe5g12LvWSa3ZqPgDOe1BQfjkZayA5 bsJdoYxyspVe6hNdEcvhjH2UH8cwc2cz9zrdRqZZOfJDZQ47sVdirsVZL5K8wGwvPqc7f6HcsACe iSHYN8j0OZmkz8Jo8i3YclGnpGbhzHYq7FWB/mDrBknj0uI/BFSSendyPhX6Bv8ATmr12Wzwhxc8 +jDs17juxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV6 d5M1v9I6YIpWrdWtEkr1Zf2G/gc3WkzccaPMObhnYT/MptUL+8jsrKa6l+xChcjxoNh9J2yM5iIJ PREjQt47dXEtzcS3Ep5SSsXc+7Guc/KRJsuuJsqeRV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kpr5Y1Y6Zq8MzGkEh9Ofw4N3/wBid8v0+XgmD0Z45cJe sZvXPYl+YmoGKwgsUO9w3OT/AFI+g+lj+GYGvyVER73H1Etqef5qnFdirsVdirsVdirG/PfnfT/J +jDUbuJ7hpZBDb28ZALuQW3Y/ZACnfLsOE5DQZwhxGkn8g/m7oXm2drFojp2qbmO1kcOJVAqfTcB akU3FB9O9LM+llDfmGU8RizzMVqdirsVdirsVdirsVdirsVdirsVdiqVeafMFr5e8v3usXI5R2kZ ZY605uTxjSv+U5AyeOBnIAJjGzT55svzv/MAa3HdvdLPA8g5aaIkEbKT9haDmD4HlXNsdHjqnMOG NPpvNM4TsVdirsVdirsVdirsVeq+UtR+v6HA7GssI9GX5p0+9aHN5pcnFAOdilcWE+ebs3HmCVAa rbqsS/dyP4tmu1krye5xsxuSQZiNTsVdirsVdirsVYh+Z/klvN3lprKBxHf2z/WLIsaIZFUrwb2Y NSvY5fp83BK+jPHPhL5bdNS0jUirCSy1Gyk3G6SRyIfvBBzdbSHk52xD6b/Kv8w4vN2jcbkqmtWQ C3sQ25josyDwbv4H6M0+pweGduRcLLj4T5M4zGa3Yq7FXYq7FXYq7FXYq7FXYq7FXi3/ADkbr5S1 0vQY2oZma8uVH8qVSL6CS/3ZsdBDcycjTx6sF/Jnywdc8620kqcrPTP9MuKioLIf3S/S9D8gcydX k4Ye9tzSqL6jzSuExf8AMfzgvlTytcainFr2QiCxjbcGZwaEjwVQWPypl2nxccq6M8cOI08Y/Lb8 yvOdx550+3vtRmvrXUJfRuLeUgoA9aMi7BOJ3+Htmx1GngIGhVOTkxx4X0fmocN2KuxV2KuxVmX5 cXvG4u7InZ1EqD3U8W+/kM2OgnuYuRpzuQxfVp/X1S8m/wB+TSMPkWNMwspuRPm0TNkoXK0OxV2K uxV4h+YP52eYtI82XOl6TDAlpp7iOUzIXaVwAWrRhxXegpv3r2zZYNJGULPVyceEEWXpXkTz1pXm /SBeWh9K6iot7ZsatE5/WrUPFu/zrmHmwnGaLTOBiWS5SweV/nb+XcOraXL5i06IDVrFOV0EG89u o3qO7xjcH+XbwzN0efhPCeRb8OSjReHeUfM995Z1+11e0JJhak0VdpIm+3GfmPx3zZZcYnGi5M48 Qp9fWV5b3tnBeWzc7e5jWWFx3R1DKfuOaEijRdeRSvgV2KuxV2KuxV2KuxV2KuxV2Kvlr86NVOof mFqIBrHZiO0j9hGoLj/kYzZutJGsYc3CKi9U/wCcfNFjtPJ02pFf32pXDHn4xQfu1H0PzzC107nX c0ZzvT1HMJpfN/59eahqnmlNIgetpo6lHodmuJKGQ7fygKvsQc2+ix8Mb73MwRoX3on/AJx98ryX vmKbXpU/0XTEKQsehuJl47f6sZavzGR12So8PejPKhT6HzVOI7FXYq7FXYqnPk+5MHmK0NfhkYxt 781IH40zI0sqyBsxGpBJmYsxY7kmpPzzHa3Yq7FXYq7FXi352/ljNdPL5p0aIyTBQdUtUFSyqKeu oHcAfGPp8c2Ok1Fek/ByMOToXkXlTzTqvljWYdU056SJ8MsLE8JYz9qNwOoP4HfM7JjExRciURIU X1N5N87aL5s0tb3TpKSqALqzY/vYXPZh3Hgw2P4ZpcuEwNFwZwMTun5AIIIqD1GVMXyD580aHRfO OrabBQW8Fw3oqP2Y3o6L/sVYDN9hnxQBdhA2AX0R+S97LdflzpRlNWh9WEMTWqxzOF+5aDNVqxWQ uHmHqLN8xmt2KuxV2KuxV2KuxV2KuxV2Kvkj8zbeWDz/AK8kgoxu5JAP8mT41/4Vhm905vGPc5+P 6Q99/JS8tbj8udMSBgXtjNDOgpVZPWZ96dyrhvpzV6sEZC4mYepEfmX+YVj5S0Z+EivrNyhWwtdi QTt6rjsi+/U7eNBp8BmfJcePiPk+YLKz1HWdVitbdWudQvpeK1NWeSQ7lifvJObkkRF9A5pIAfWv kzyvaeWPLtppFvRjEvK4mAp6kzbyOfmentQZosuQzlbgTlxG08yti7FXYq7FXYqidKkMWp2cg6pN G33ODk8RqQ96Y8whsgh2KuxV2KuxV2KvEPzX/JmR5Jte8sQV5Ve90uMb16mSBR+Kfd4ZstNq/wCG XzcnFm6F49pOsatouoJe6bcyWd5CaB0ND7qwOxHiCKZnyiJCi5BAPN6En/OQvnZbIwtb2T3FKC6M bhvnxD8K/RT2zE/Iwvq0/l4vO7u71LWNUkubhnu9QvZasaVd5HNAAB77ADMsARFdA3AAB9Yfl/5d k8u+T9N0man1mGMvc03pLKxkcVHXiW419s0efJxzJcDJKzbIsqYuxV2KuxV2KuxV2KuxV2KuxV4x +en5dX1/KvmfSYWnlSMR6lbxirlU+xMoG7UHwt7AHxzYaPOB6S5GDJWxeK6brWsaWzvpl/cWLSAC RraV4SwHSpQrXNjKAlzFuSQDzajj1bWdRCIJ9Q1G5agHxTSux+9jjtEdwXYB9DflF+Vh8sxHVtXV W1udeMcYowtoz1UMNi7ftEfId81Wq1PHsOTiZcvFsOT0zMNpdirsVdirsVdiq+3/AL+P/WX9eGPN QqahEYb+5hPWOV0P+xYjJTFSITIbqGQQ7FXYq7FXYq7FWJeavyu8neZXae+tDDet9q9tSIpT/rbM jfNlOX49TOHI7M45TFg8n/ONulmWsetzrFXZGhRmp/rBlH4Zk/nz3Nv5g9zMfJ35TeU/K84vLeN7 zUV+zd3JDMlevpqoVV+dK++Y+XUynt0a55TJmmY7W7FXYq7FXYq7FXYq7FXYq7FXYq7FWP6l5B8l 6lcG5vdGtZbhjV5fTCsxPdivHkfnlsc8xsCyE5DqjtI8uaDoyFNK0+CyDCjGGNVZv9ZgOTfScjLJ KXM2gyJ5plkEOxV2KuxV2KuxV2Kq1inO+t0pXlKgp41YZKA9QTHmmXm+2+r+YbtaUWRhKvvzAY/j XLtVGshZ5RUik+Y7W7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FUw8vQ+rrlglKj10Yj2VuR/VluAXMe9ljHqDIvzHsqT2l6o2dTC591PJf+JHMzXw 3Em7UDkWG5rnHdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVdirIfIlt63mGN6VEEbyH7uH/G+ZeijeT3NuAepmvmvTjf6HcRqKyxD1oh/lJvT6VqM2Op x8UCHJyxuLynNG4LsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVdirsVZz+XFnSO8vSPtFYUPy+Jv1jNn2fDYlydOOZZpmxcl5P5n0o6brE0KrSCQ+rB4cG7 f7E7ZotTi4JkdHAyR4SlWUMHYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXrXlrTzYaLbQMKSFfUlHfk/xEH5Vpm+0+PhgA5+ONRTPLmbHvOuinUNLM0S 1ubSroB1ZP21/jmJq8PHGxzDTmhYeZ5pnDdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVdirsVdiqb+VNKOo6zCjLWCE+rP4cVOw/2RoMyNNi45jubMUbL1bN45zsVd irzLzloJ02/M8K0s7klkp0R+rJ/Ef2ZptXg4JWORcLNCj5MfzEanYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXp/k3RTpuliSVaXV1SSUHqq/sL9ANc3Wkw8E d+Zc3DCgn2ZTa7FXYqhdT0631GyktLgVSQbN3Vh0Ye4yGTGJxosZRBFPJtU025029ktLgUdOjdmU 9GHsc0WTGYSouBKJBooXK0OxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2 KuxV2Ksm8leXjfXYvbhf9Et2qoPR5BuB8l6nM3R4OI8R5Buw47NvR827mOxV2KuxV2KpR5k8vw6x Z8dkuoqmCX3/AJT7HMfUYBkHm15MfEHltzbT2s729whjmjNHQ9Qc0somJouCRSnkVdirsVdirsVd irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVTXy9oFxrF4I1qlsm881NgPAf5Ry/BgOQ +TPHjMi9TtLW3tLeO3t0EcMY4oo8M3cYiIoOcBQpVySXYq7FXYq7FXYqknmXy1Bq8HNKR3sY/dS9 iP5W9v1ZjajTjIP6TVkx8XveZXVpcWlw9vcRmOaM0ZGzTSiYmi4RBHNSyKuxV2KuxV2KuxV2KuxV 2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kp15e8sXmryh94bJT+8nI60/ZTxP6sycGmOQ+TZjxmXue l2FhaWFsltaxiOJOgHUnuSe5zcQgIig5sYgCgiMml2KuxV2KuxV2KuxV2KpXr3l6y1iDjKOFwg/c 3A6r7HxHtlGfBHIN+bXPGJPM9W0e+0u4MN1HSv8AdyDdHHipzT5cUoGi4coGJ3QWVMXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqvggmnlWKFGklc0VFBJP0DCIkmgoFsz0HyCarcasfdbV T/xNh+offmxwaLrP5OTDB3s1jjjijWONQkaCioooAB2AGbECuTk0uwq7FXYq7FXYq7FXYq7FXYq7 FVC9sbS+t2t7qMSxN+yex8QexyM4CQoolEHm8p8wadFpusXFlCzNFEV4FutGQNvTw5Zo8+MQmQHA yRo0l+UsXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqyzQvIkl5BDd3k/pwSqHSKPdyp3FSdl /HM/DouIAk7N8MF7lmum6Ppumx8LOBY6/afq7fNjvmxx4ow5ByYwA5IzLGTsVdirsVdirsVdirsV dirsVdirsVdirzbz/aNFrvr0+G5jVgfdRwI/4UZp9dGp33uHnHqY3mG0uxV2KuxV2KptaeVdbvLO O8toBJDJXj8aqaAkVoxHhl8dNOQsBmMUiLDm8p+YlpWxffwKn9Rx/K5O5fCl3OXyn5ibpYvt4lR+ s4/lcncvhS7lRfJnmVhUWRHzkjH62yQ0mTuT4Mu5WHkXzDxJMSLQE0Lgk0FdqVyX5LInwJMfIIJB FCOozEanYq7FXYq7FURp9lLfXsNpEPjmcKD4DufoG+TxwMpABMRZp7HDEkMSRRiiRqEQeAUUGdAB Qp2IC7CrsVdirsVdirsVdirsVdirsVdirsVdirsVSPzdobappn7kVu7cl4R3YftJ9P68xtVh447c w1ZYcQeXEEEgihGxBzSOE7FXYq7FUbo+lXGqX8drCPtGsj9kQdWOW4sRnKgyhHiNPXLa3itreO3h HGKJQiD2Apm+jEAUHPApUwpdirsVdirzvzv5fa0u21C3X/RbhqygfsSHr9DZqdZg4TxDkXDzY6Ns WzBaXYq7FXYqz/yN5ee1iOpXS8Z5lpAh6qh6sfdv1ZtdFg4RxHm5WHHW5Zdme5DsVdirsVdirsVd irsVdirsVdirsVdirsVdirsVYz5l8mQ6k7Xdmyw3h+2p+xIfE06H3zC1GkE9xsWnJhvcc2C32i6r YuVurZ0A/bpVD8mFRmsnhlHmHFlAjmg1R3YKilmPQAVOQAYp3pXk7Wb91LRG1gPWWYFdvZT8RzIx aScvINkcUi9C0bRLLSbX0LYVZt5ZW+059/4DNtiwxxig5cICI2R+Ws3Yq7FXYq7FVlxBDcQvBMgk ikHF0boQcEogiigi2Aa75EvLd2m00G4tjv6P+7F9v8ofjmqzaIjeO4cWeAjkxeaCaFyk0bRuOquC p+45hEEc2gilaz0zUL1gtrbyTE91U8R826DJQxylyCREnkzXy75GS2dLrU+Msy7pbjdFPix/aPt0 +ebLBoq3k5OPDW5Zfme5DsVdirsVdirsVdirsVdir//Z + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FUi17 zfp+lloV/wBIvB/ulDsv+u3b5dcxc2qjDbmWqeURYVqHnLXrwkCf6vGeiQfB/wAN9r8c109XOXWn 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 @@ -61,7 +61,7 @@ proof:pdf uuid:dfc72568-9f5c-4c46-ab43-303993d06e16 - uuid:2d62e573-0f12-4979-9988-6bb64a084be0 + uuid:71e88442-8748-4433-8e8b-229679cc87ab Adobe PDF library 17.00 @@ -88,25 +88,32 @@ -endstream endobj 3 0 obj <> endobj 5 0 obj <>/Properties<>>>/Thumb 22 0 R/TrimBox[0.0 0.0 397.22 397.633]/Type/Page/PieceInfo<>>> endobj 20 0 obj <>stream -HlM7 @"m +#0W`@bOρ1Q$Ū𾕟~~__YuFӽ\huQZ]Owʧ_ƟӪGңq|~5G͇^8:Yqz-SvsvQ~\4rX7j^|zVS{%=f5)1Ž9X0&/}6tљgv9q}?QYQ5^7bpҊ6j` [mTnTɿY5P6yCw'`àR_,Ao:j/hǢ+3WS5=HfP:}#{yziORs"yk=/Xv - 'AP;,Q9ZzrǓxZxuh\'5'9nO(Jmu+IE_fNF&;T7t:e_VOS6xyZtZ}/XJ]uKߤCt6ь P`ʑ3V >TŸ xD X)8YQ炤ȋ~jA~*NC8e;A($z!pt|Ŕv1KP;; HJMZ𷡭wj 8WhԱԶaTgx˷ Dټ v!vi"x4Rwڪ=Ħl`$hXcJcINnth*3@H0NJgaVxAފ* .|% ll`IJbkJlIIO"A<$sIl&<V7)hH[ē'5pdEI0= ~JkN']ږbVX>1 -D_ȷp[\YiYp3wSmTԿn& 7"qcq}u"4UmU2@ ^D[JvIfz6Ã.]nly!j&JtCLCV1'j9i㲷|ؖ! BI݄qj+^|F+݋zLDX”*E`$+:3isCq ZǮcѫP:Xn^cBg>stream -8;WR3gC_@H#kZ;PY,-MKN2bl9O+4TZ.M4cJ0np;4-F5bF0o*Zli;bh -g;i*5@uMLsSl+(K7_J%oLs$*iV^ocWfb)[?>dG9#,Gl4J#uND>7'51?% -NdZN0n>]=R)`>:@GmBaqcBuU5Yc`p"#mKjgT(Gai-5kdD81I/@Uuas@n.#g8SaBAF --O#cjMNttNn2oeRA01RWW'XLCM5![C=k)!nhm!^#>h/aI!*ad<.Rk^]!5J*G>Lq)d -I/D;=WqJ%1[KAW0F^KTsH6hf[8Vfaia3.U##%qhfX^ZXgiZ>]7\O,CJKd/A=?3otW -Goh&t:ZAI=<$&LG[$'h\@iM?EE1chkW+X,4MO`!ljO:8dF(nPRSU:YL-9'^H_)P^Z -EZjh\V9n7)`7prNGns!!*'!!!!$!rrW8,fu]<~> -endstream endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <>stream +endstream endobj 3 0 obj <> endobj 5 0 obj <>/Properties<>>>/Thumb 22 0 R/TrimBox[0.0 0.0 397.22 397.633]/Type/Page/PieceInfo<>>> endobj 20 0 obj <>stream +HlM7 @"߭ +#0W`@bgƁ1Q$Ū|(V:#^o=,ڭ_+f g'YyJ}GqG2 E>f!tM_1astYc"x\Om`mFTi9;M>*-bA್eXVcoV T`GuIiG!6X0׮#KЛoZ*  +Aw`&zMe٬$eNH`.^ԜFqE'n ECxr:rо Kv6g$^|/I@?IʁR[s{h@.ėYӽ %g>3NٗӔMk*?>!$vG@KU.ct@&Q4 A92qJGJbd/!"e'+ +\y!PP=O< p'ݿsg4eDS:$XR.t jgAiR X 6[m' +:QZ]/8l# +|o>8[5/aBm='t|MTh䮮i`(j:a[CCcSH\w ƣM(Ze1"7 E]oosTZeu>Jֶ’T38a&c&H%< ,;6*Xyn||8α}ɴ +u$tUqVR@ ^!T:rdfgg:L ƖޮjٯA7);H49oXSر[[tKU锅o!dnB ݸTAsp3>E=C.aJ{#pp֕ +{ct9Dz!GSt8-mcU(V,@U7Ze9CRE,t ,ŦHqQreeA((Ey@[ +1濡љy!΢ǥs-@oIyʖl%3-uVK...wvi.L3;y~&ƸSP,}(Jee,di pٺsR7L>stream +8;WR39,>Df#\<%.HDRc,N1Qh*O#sOD'au14$,Y`1Neu$a0WB1u:?Y^2*po9QF90B5 +9%W5_K8MSPuN`"2, +if%@&K6Apu3^\/=!;PG6n!e*gkCq2"R$1tg_Mf\<+JrMVb-0$e`JQ^2MNi]td#do* +UYu>+%E.pSpf2,O3nAmPWf#pK3Y/TM<+2Bq&ks7)WJV0jp4:C]%QkoeDCTA];2o_K +KU"EJQLDUH-M`L%;Z38#\:UsY2uTE>a_oW+VB6S$EXQBB[3%FNAj7[QnD;WP$Cih# +QG-1@JB+[qH1:W4-,m2?;L*6%Bg:\-IYdsH3)WW>R>Q=Ee`'hS._q8:5_40t3>M&J +lH"O&a*GrUo9O`[WpNMH?-LLKV.4lNdj_oD@JQqUIq +endstream endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <>stream %!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 24.0 %%AI8_CreatorVersion: 29.1.0 %%For: (sergej) () -%%Title: (il_1588xN.5193853335_qv5k.webp) -%%CreationDate: 1/14/2025 11:15 PM +%%Title: (frog-ai.ai) +%%CreationDate: 1/15/2025 12:45 PM %%Canvassize: 16383 %%BoundingBox: 208 185 606 584 %%HiResBoundingBox: 208.662747350571 185.937255819868 605.784892609992 583.688335743242 @@ -128,9 +135,9 @@ endstream endobj 8 0 obj < %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI17_Begin_Content_if_version_gt:24 4 -%AI10_OpenToVie: -233.156102500866 744.688067981684 1.5462962962963 0 8308.52054420572 8307.39576435365 2017 1341 26 0 0 68 181 0 0 0 1 1 0 1 1 0 1 +%AI10_OpenToVie: 91.1497005988076 743.059880239523 2.31944444444444 0 8416.93413173653 8162.54491017964 2017 1342 26 0 0 68 181 0 0 0 1 1 0 1 1 0 1 %AI17_Alternate_Content -%AI9_OpenToView: -233.156102500866 744.688067981684 1.5462962962963 2017 1341 26 0 0 68 181 0 0 0 1 1 0 1 1 0 1 +%AI9_OpenToView: 91.1497005988076 743.059880239523 2.31944444444444 2017 1342 26 0 0 68 181 0 0 0 1 1 0 1 1 0 1 %AI17_End_Versioned_Content %AI5_OpenViewLayers: 7 %AI17_Begin_Content_if_version_gt:24 4 @@ -142,134 +149,180 @@ endstream endobj 8 0 obj < %AI12_CMSettings: 00.MS %%EndComments -endstream endobj 11 0 obj <>stream -%AI24_ZStandard_Data(/X)j&DhQ5U:dwS%L" b  -7ߣz` TQ ?ڢ~3ޘ!-3|̙=笖5c$G*E4C|I\4qJK{|P;L :Z՟~iʹ헣 ,(e{m8~x>(KJW6,z7$n55Jϵ0Q/K@wcZ}ϦyN?m -+Ao$"QCSbؽi,<9?կscNpNiy >Į^[DZmN$[N,yw1zmHne~[̰lz )55ˏBSp}w>ġfL&~΀alà{9$\l4>~O0DH(%aL˰,Iǯƌh~E>,Cu,44e45Z4]`#EnvR ;7=h 9Y(v҇f7 ͐I3$=ec*̡Ki;~", fy2](]S,SevJⰬ8qQyŐc9wkaI EO(bzsC$=%8^c 1"H&8!9z\KI9}iSXeXfm{LW,ò4K,)+C/ѓG}Uzַ  ` -b - ` >01$24C4LC5\C6lA1EqIMSQW[}#c88c9#::#;#';I Iɑ$ɒ4ILI\IlI^җ`b9dYeʖmnz4CS4G4K4Q35Us5Y59Qh舒h(+ʢ-S,O4LtLɴLMTMהM۔]**jꪲj~pq%r2sEtUuevlg= ";$[&)+˲-lVlǖll6mvmٶm4M͔LL{ڢ+%:!Qfj&i7ɖiiXFbK^$)HvUDRŰ-AIJ4U2 A{I/RIJe(b;*lbGA3Q2Vd %Mb9#)ٱwգeAY,{CvO,m_s*8_x=wVNj䂯BZ=0M0f14ySE[W@@f[Bch~~P=Bcܧ`*P?-lN5׮ ^T`Jo5L үwTs<V}5(8,d<3*߸%>G4ɽ;/R$ -]iA9DUp]U#|$> %r%k8z`ν&#)Gr<)r"WrԸ~ Eka9$G^6%}A> = Hk*RR -&Y%ɰ$bZ/~ų9Wկ$7n㏚3f ?~O_ )^7,8aQ@pM,=^`'p AK߽ZKs=9{ &z7[Syz4G{#^(ˮ=bMҳYۢ皑 0 JwmYH@ 5HM*_)w ڵmsc%2SM_UoF9UoNqXCe9z`)j4M>z KciR= Xv"A2$8zòXv^0*Fɯ98,Kp@~3M5s*06}K " %hv#,N {8 U^3lD*-(aB18z_ql4H=U2{fh6.(>(A0jyNS(M*K(۷K,QtK P'ӀxCaA\|B-J"[ڟi)j'P<;+LR <-/-T`L[~ bMh/! Lxi22Ok,.;+ -Z %h^bE}5_\}b$-'amrW' L ^NL)҅a]ۘcW<ءD&!!B4 6g*1 %J?#P" "_+X(Xl($k>@qۀz<R05dEaVweDž[l:uPOGH;G8,dFCNvT -$ ̅?ů傌m0uv[ga(5[wLm1wC -L"?S@9e|)a]":_fvBOOHfX 0}_ʒxvKAv9F'oV`cl`(wc`G9f Jc5,&u]H5Kn31aErl:wl(cSUV#M-Q A o[AΩk4+ +IaYvaޫIW,^{N_+(ڂ^/a尌w髻Vd3 נ%^hvZĉ JA׉~ZLւA)yGhetG@,gǡ_bQ;A4,-i_zfE`U[{-%8s&M\N_z<~/浳7Sx`[ T>d~3-Uӻ~iշI*0g~ WpEPpHp -?]51 *l2i(aLWCgL['elgTmݰɎo{m^M3]ǴObQs E^|㔇Oolmje8N}R2U/Uykoho{Ǟ]4<4cTɳiWti^xU_l-'Ϧ={4u|Zb$R+OUj^& e8ׅW&4=lUޕٴG@kz-x F-@c4HCU 4}auS5[NӼ~5hJ=o{v=`PiԏTjFc+Rѷb:sXu41jT;jsJVozv:_M4̲x>yyRX=|ڧEYE}S?SsY /Ǿ幽mzultkV[ڮo?`߶޻i>+,} cEUpfEl~ATBܝ8~`m3|h8>u}o_ w'_Q4-(+gĮ:2&o<0~.8ZeҼVЋk6$moʹ]Q?@Y}R/FӴ-eֈg#(y㶉zG:2W4k#@Ahܑ; 5j'4pIXnAjF_-X1EubcrЬ++90'4rGǯ A^#((Q/4@PڋM=8{z@nڑ pyUB}J`ne=({efe$ԎW #ɣz8՛xj)mo88l\n>[ -AlRO?TkEa]"=vAO^UkC £QHve) :n2z(p>OĔӍ3(D+@I>I~k[$tF#+RW@Z*x,? \u~' -]Qpmi::m {N;p2ץO. 2VAuY@-X8,BLWT]H -'&wEJEK_.Y.`Ԓ]d˛2uySg!boeȷ"+B*4g.>+#lD= ȁ()[ ãbC sńB!LRqmrEDk{Lg詐QuvUUhK\{By6>A]Y rO vp4337}>pߞ xi]B_>>$<l_.-^., y&de- N>;Bw(q]TTQ=]% -j["V]Gli}@Vuhuv!МqXa3VPJ}ol"Rg7 Ս1UOR("6٦MAMIaI+«&«+2UAaYh)SF.vs oW8\Kr)KbB vr> ~KҴ4 IJBJ -W9- wB 3hLmXl z1L63o d2DA}^ZZ ̽vwe'xƒJ=eJ}4C~:o `I&˻dy'e;$Q -tyؾm\9Yr/ vBsjk mt5E'HlJM@nZQ)9,c(#*%Xsݮ4ny#匮q 12Ɏ|;tKA(;IH&UDhE(QcnK) -f -+%x캓NE*dQxPrqs $Qx9sUkq BkHѶQy.ai "F L !C#Qxx8}̕/U9,SO^({ȉe5U ̖bwUpؐWC ?PL6dϗ0Im1 .gē$"RM &6zBԇx H$ -^( -. )$pzz52 A5Ocx =;COqZDh4bzخbK -rn"uew,cٟϠ'qQFg 9 U]8([:!<;!T*~"(P\Az?ld dS eL^e"@Pd)~i]D)_>l =KbƋtX&$+;vՀenY`4`N8 .&枝ŞSd'xOM5Ϯ~3ϻb 3'] -ɽBO9os*ydB$Z4{vnKr2tQ>;wθ -h:;p#H2dy}s==7v1ZqtWmthtc `(*R rώ4i~؞p3؇::XDmd s`IqXH6>Cmn - Ǟ+[D+^$2I l/RsRk>yևWeW_jii smNȾ -_\\ 6jaYjno-Jm ?MdlM!?Ja!@[ђ]a "wVn`GL7n4#"kVnq[bF!ax3pW)!EPI mQi%9@Z}t":za3 jRK8؝7gaYHHzU9,c$) B+2Hh]_f>,!YǦnӠH@Xlɱu@̀:hx2jv獂&At::!sXf Hn"!GK0dyR$WacZP7%=#v 0R> J ?UUC6^5VHTnrK]j5PF<b׌M3ŇJi^*2aLI9,Ќ]#VQ_dxveƳHNoU<d6-kD$-/L=I6T^r͠d -P?X%΋11tv$g'TGE<;x"]e"~RۣǡTR(H R;j!nQ00() zwF~lg +$ǦaB*[ha^mBjtЎl(WEa= oCE/u>E▔*.J&JeMNeIQ8?5`-X!뜀АA5`Ǯ4KXmŸŅ&VRG A6}I(a t qJ[t;mqQI,y~sTg:dž|A>Bj3Є6X 㴅&òWab9; Aj6H}c( ǭ#fS{#kWx6Q )E'H8, 'd9,sD>m58М’셖h'+~֌aՅsǔ^uۍؾhۈYL+hAyIP 4+(e+$@Hդ6]ݥ;Fj(mI!IbBtq#pX#(eN6: [=66e dR 1~$ϙPƗpe/ ZlGI7\ h˼jdxeò,2(Hm VQ9(@jq*Yd%O"t.5) Ŧ+uKuĩHqt"erR'P|A -Mb8pa29eۻՃ$V@dk"qF&%B 75t9,o,DAu襎STA)̶ J)?J}S,j6B{R=Xف^nrXlN(@{Z) DS3ûX Y]s{  - >"B-;zkb! hUc9,C)a٪`,&A67ఌ8#|7+? p0/26z ^Yq -e%SXle?Rq5a8, @tuw}@n+] [|læS.vA[FYt{l::VGw^pXRVo(+МMH0Z~El9??|/R^ >MNz @mBkxڪuze1\mʪd+UU0rX N߸VIԺVj4H'9,3G%Q\ WݡTrF$duݫ7Lr2>aꠗ."t*,eU!:Z7/-^enU$l6ޤVDzP=TVTWf+QD 3#3evWCpvC½Yt,Ekx;hk㵵eE?E鰦ŽTJZU2r -q(Ux$dIq+qEislflPƱ@ H6c0Z8,KSQS7 {EAa,קkީ/`R %NdܤEpT""d]92(zFvp].p@e9xg,?PhG7 V -p#aǠYu9U)aMw A,r@ + /8(ZzƄ|ȖtQ$(~tt#iܜ㋒ArՑy=ꚡ Pq9[nZy,[`YBHdžYX96`ƔEQ ߷SHᰌ|57S -Gw,zyd߂04&6 -bP,5'1rJ<H[NQȥE6P9!4Ջa ]ń`#eJ͹H2y1sH 82PD/@.{Vc|Xq/fS$9L)ERz mcrPUTబX4>3!>˪Cm{3vaݶ/8xNS)hO]}\^9Iò c -}uUT2Ј  -f=.(JBP.."..0  qrTNIwl)L(4Ӭ-"SO.tcS_l<ڃ -br|pOhCs8ŕR-|URNG@6 _2YAtՔk OY&LW ۠'QRVK u߫5\m`C~(Ot/"7VYv2Ǧ.Tה!qBz!Jf#A'N`H$1H0*̜T1\.^uKR"ACE'贞ͺpd -)RVR9b'P4ہC@_. %@}hi6$K72v-=&SV TNp)D#-ψ =$#u*RQ7EAK"KHg1 $ >րo MM܀>(VݓjGl*.lJT:Xj߷![MvF=Mj!F`6<*Zg)1a`x9wKK&Lcۻ'@0PH]:)tt.O9J3(.G}J൹UbV˲dJVtE-_I_޲.eZ-) -dǍ>Ij!8+Fj :[c\+mPf^#SA1 -ZN[]cChfMhR7wݦ2RkE;I=͕ɸxOivz7>h -$~iL6ŹS%*[AFRf7#kK?Qyڈr,SC '~w=c Os!j#7UMO~P֪,kGmbxʻD-؎JjcnZ 9@&Ǒ,DfmC+ylcZ] F|P8n\]6F};wR77nf@,UŻ#RZse*l -EvrT,/htUtMH;xwuTC_ K1 P j<:Z|p ɪ FRjM:nih0pIs -HN L.yѨo7;/u`ĹL]3"Mxm!n(q=ğC8GRkn9Ŀ}܎턑d2ػv6dRt%7'Wp~W0xzqR wip;g{!31S=| Q~w-7hmCNq/mĴj5g*9MkgO-)qy<gJhm2K$SJ; j[SS[{[ylWv*h}qda4%tٔsM $̍ D؛ - wTGuf_ \?ybԿ% =9m@dAdT߭nl<2wu܅H(_59DkXTi@Yo; 鑴WGU3^ת P6Up[=D\-V izX_jJf-zB3t|GՅJ(8| 9(5Ê_mubu+WNtg?|!5!('xx;Y~s9^a"MyyptXLIxP,tpkypAsN|3 -XJ˙k$rpx n zBOX( -WЊ /+B 6 -|. - xOII e:Jn3D9oyGp))oM~V(^G75 <\;LɥT&BSsDO2$migVӾrG1-8l% Oኋ1P]]Fv}OQp%&2+K.6 -JFlP dL( pzb  b?oxS`vrɠA8}>n-قD iMg/u2d4s\&AQɚ*>I)./zfrF Q;rgFMwZ^ѪPwaKw2;t))4 ~B+Q9!O+mθJO- rp *P@Y7Y)ֻd+Z]0Yo X:3~x-L(Az$[F鵥_&)w^K0@eHQp;<'ŰPIL]bk\v/U(ȏM?2i吩v -"HY֙^_f6F]*g|&ԅ~.\& 9 SQ: F-ҲxjWzњ_8QA2&&Mg)(A$15mkCT,ܓZcI -f"AO0rO}+؛" -<,X^t!IYM/ 5kܛ H2mHr嵊;f"rp(b F듏:<ڥPv"P -2Ʃrjd3 ,J~M3t-!QX<au9URշf̼d#dJ٦fNg͉.Vٖ98 {óbzHK]5嫲Zy;Wg|f*m;`?G:&;U\5Cyn:T0SBҐUM<2k0/1A=iDRNR -ҵdZLDR42QQKD!k0lstWmg< &S`=CX{LNF\m\ ц@kDB={|4eYVo z J(+% k_^Ŋ>`XQJk1$ڤk g~ R^0a@q˛3X\#x>}v`\-؏`%rL&V&KW=G(j$:rѬQ9]A4# _|۽GEgAP @@wݠh[~iGn%Ӄ+}c uTR%كlgH֫R+<]H, jMsH Gjyd5N蹐8@fnV,Ԋx/ 3:BzE@7w/7b\i>is0'D(ؤۊ.bѳA"Y%['hG3pyX[zɯ8G8c4i.P%Wzrf 2֎A߅cBP[a7G{Ai5_,\[=BtLyJڋ _I*84ZY.EQ[({!Pӧƞ} 'ckqjpWkF P)jypb|Dٙ|6m*t1W(WNM_C>M::LGڸ"qaIo"Qi2mz;'T-/)""qa{X egoF:&o>dq MX4@ni^G{4kcY'^^swPd*E @{!d{Ӂ/z `^z1F׭ ->$k -z+}'uײmߋ<6Lk*ZXՉR|}i@ZKPtWSէ :˨C>KXPfSeu;93&$IJ׳X2aViHV@͐a".Kz@ *f=;楎m#cN8@RRr"R)^jZYqV.N%0qTcVBXjTmva<WX~䞕M;4 '~XɋnVM1tlOfFLhGPe٭}y+Jm_+#"ı~ט)й={A/yO*thaDKJqhKPP(D 汏-W򛶰ʄOqw'MxBH]*{9m)C dUٰח86l{wrF?c`8J(?-,Ԅh4/ce'_)(REBr_`L;"ʴյ"U3=P3)bneWP=iu1)ӢqcIϕjPx9g P~b )BpS(ŸVe`q74Okb9``#Z(uc[#yy̧XLL8U)Im68YFfVf"HT!Qڻ|Hm^@;-HT}[3':a[&zQ-dJxu -%Y6hH~O8[M轆y_ -FN]fx^y#!-H2jL:n0}pY -&}I-6$_[SFK&}+.U/SYF'#_/dh>Q~^nV@F=.*2:Y^4VwU^te -c`M/znǭ7=2ZߋN['-41 ef桲޽G(#x/:]2Z҆/& Nbxьd4)> -gX%Vs5U)ȅ!I*'>OY6mo3ڮ _4 :W;e48430etʘ?kv:.}o֠-6ApU#GRvF!BNq5p{=Z7|  hKi[ -(/dE<2W *a藹ze0EbQanisף3LaR];?NdMN-z8JҢm><`F L+-_nFnt)ŏ8@tcmMjh E@j  - Oy7֛ A9WjicčE | [7mR<я7=\=Ni)g4QEnOV"6tu׸<%i=;Փ? 5~@iݗ Dpшh&7 -ve[pbšW-& +$L ~!Od7Gs<>=9i4дnGjFߪ푌bP:J}|NF+L 7nP3JD$OUQ-#ϸUy%ڜ\{wak*! X8%Gg- - aωFɫG0Ra+0BBL6_d2mcKZ8R;Wo^>4S3M#?+詐!=|AXmJ' -; q¾sڮ+k6%O>6#4'Q#mt@R@r6Q{0˦lk 3R$OCMOjNpEK 61UH-73(YO#J.Vi3

)<\P)6]D(_Abv.I?*1 !F B!L^&צY HFՆ88EzTFz)RlMfΤyȩ! K~X|ب>MR?:2*S 'ȩ'3{v pŅ7w!'8qt6t6 ѷQߕ3#NS{/Ž9j>$K@Wb 5,⑛LVp`26_"gju8KQTcԬg@sյ(x$[KF>Bܕzv T ƅ~`50(g?X FGÔp?Uf|&gs")ugpJY3v$}J9c V` `0)323'PJbm`6+A@~"kbl4~^Dž~Xᝀ&M\T¤ )\XߊvWe Jf;ְePybs9/j%7mi- yhx. -`ۅ3^քй)+(>sLWzR˹ς}Ev50nB !Yf&$8-&[>KpuÀ<|]CS}F=^ ->ُ~z3m@":40>j<Jz2:5\WJ<¿V( X+Fs[o/JpFmQoa{&pa(s뢶kʞ68vXk6W3'젏He;a"@A삛Bt{4MjB )2)ĹС!;@ddD"RpEs: 7lrKk  ݺdB:ڮZ߉լ-~3Џ013-`ꬍs!FN/0ρm>XX&$_ԩshEr4@8^+t)T>;- |U{qw$p!w2`{|}SsS]Ѕ hNrȔjֶ!j'%bA!}I"ECCk!]]NsCBT9vmpW?ڌI4ꦉ $@"Rd%EI|vl -N8 "Pc) lCjص$8T!5oA]ExC3[e3MKQ1v{1+ey;wmxhJL(0H‘j0Hj #})@0< Tԏk#50FT#P(jn$bah |i/+')C(?VQ.ۮ5~Em}@`cWkJ⢉th/8[AcC8'CyĀ#pl!m%a +N47TwcHst~N}AB6K dʇ SX oœf)c!GWċ-ll]dz9A7\7s!"X7-AѨ#2c5S*YxL[ـ6`8(?wAbM^C?` ١lDZ˯G ֋.PF2 ӫxfuzDM}F[[z,[$0*oLkow1*l}+X\#2Tm 3H~U}.$^`kmcVoSЬrQq-RR~BfF_q$$4~"LW#5ۍsÇ, .Š|B~}` -wVɥ(0K!qcya"BD=$nMH4:m:t{x6ů7ډcgbDJψt.CFe0?Ng+dn1V"8H2pۢ* Kpח"YCH|i!PgէȤܑ -BW\&Ю%nPm֒L ,ʳR?S:8OMEDLwMNq?;haC{r ͕ZNnh|-j o@_3\: O]1$FG0haw؎lKh:9FUKlՐ žݔJr~v >ût _A<pEiF٨Bel -Ƌ)rr˸QHJjv4(z/jHwp -A+DÙ e@Z' - 猢Qc68PS;<̀B[tD}:l v4ĪvAQxjH[ (6Q#i]61v/8L($_1dҡ-^Y_}$o|hi= ܎!7@wQxTAP! - F5.HpvL=^V M&`]86\Eq IBw|?yHg8F \5&Gt$ ^f芜ͱ\uP,ثhuDcW8&>+j|g:Q%ڇ5<ɕiK~`f( /,ldI7cwg^INgvR&J_gjbW`2,zM5JB\ߑj"Ne^_;@3ue_x}kn7!52b6b탙.Ӿ'ǷP(~/d vKS}`2l -Z->mt?:_B RTR kdchaElU `lrd{E +į0C,| ?M2c]) -L8҅( -wX 7d+( oDkD3r /knHua :SQ`WO5Gѷ];cO~&LLiֈsciP˸:x>܄.Ĥwސnsj 'qr3v4B^ɜ_1(*6Lpi`,™qM3e|<_0"{f+b?lԼl/qW&Q RN&`Iώ)Jh[>z9(2^yO#֕R㆏"Qg;m[\z։(ؼ`Yň;7-Kf.xg0c}V CB<3:U Ƥ7d=wԃ -c`EŪƵJ#ZC3iᩎ<ׂu5*wTF a5%@,^oN{8F Ŋu$ًͭ;:QԅY:96Q6ioA],c6t1Fܗ!g -Ά>gs݄&;* -5ԑ'?r>4й - o;:Hس~A?z;Lz3LuK9LHy3={L ۥkӾVA*49ʖ \6HnӣSNJM=ceoG/V}!)C5&@7W1o$Tia)>jmA^S -&/ SWFl#:˵N ,/v&3~d?|"׏?T{^ ?w8~x=2#{~z= -)0+Wk\=&'R -df; i#者d ~c^<|i>saFrz|80wB*ޘC#l]h/`_ң &ec -0@kZFW70VW ؍>ܔLQ &-Zu<0$PФ$IDH+\$^NO/KޑϕʭSxWZ՛ zvE2q8 k'/Q䅟<"^}߂9嚩*GSD5e.c.Eoa.JtK?fpq:WqMykB52P#O$nxzpkю~aϪ }wh yzգ]}o\Oջ c A~]~#mE-$8J\@Jxa'ud7;fSĺfP ܘ4bX&`CN³iɂ#8  ,2bi5L:%ҁ<r)ITjA@b!H -"0@ J`.T(Ĵ X ^RJJ\LJx y8є0L6p <,! (0$IIEIɉȤ@Hd -K`$b&Yxt< - a'z@x\00Ra $%.*``806 -胄BC/ ;D|:*88L8nedL -aS0 'BrTt* H2>,HHJ%y1>ؠ X#%3qrઐ"E#@hG }&x&da8x*@$ Dp&,hebi -Ho@R Dtc=Tؘ|RUzu>g;b?غluNwqX.R?hm]e+j+JChثp1W#*K{m7y)vUo؏.ٗg4rqmZܿme_ګ\y3rLvML3_꞉hw9ݽ/ulU}JތƁ=r[͸~muUz*u5<]xϘױWf4>ޢ2[u~z*^{>~uo}mRun\3Y;SWޭ.U|}O3]5}7֚ںneşjMO.s۝;R]D\ߩ. momK}U^*o.͌Ɓr|f_6׵ݚuyv~TS33Cs^k<5ڎW2*LCuJ5qُYsl4G?[93f4TzSjP]{_.T}}e6U}N_PPmե%*Ge*{w_eTRh.d4,)hR210)6Q LGBڜhH!ʔ2THy a9H7a`=' abb1p(,^gB"KRV HFcdd>8p"`]JH -=P*!Jd70t@Z,`J2 )WZH(- ZD-Qhѕ&s -D4B-X(@ʄML򱑀%o l>F!*!%*x8l&HBDHh2yI}|vwk=Wo4O65_\uջs]mf4u/hF"TxSݹ26m7/TlLuFTfv1]{ȷzɫȻ{舮k{kSo|/ٕןG7͕ӴxRݽ~To{gT!^4[OU\|_s/_*FSK^t9ݳy/s>\~ϟ-Y{ݥ3ULljλS۫&c}*en~;ĥx}3::u::GOSC{ōZoCO[謧NJ56{Yy]W]ڨrS#!7w0m)U[ުn7WZ{m.l3k\_תVvnueroöum~vS1w{ka[s.Tijiko7;j3^JSڻ7Sם*OcyuYZOo>=UU[]gvkOm[o휌ٶT;ZU|jKmu^]=Wz*η=Uhkk=#?u:WhS;Sǥʗ7Qqqy;^^ޱW־Z㽭bTj|U-21-LUm舋+_U)ZTyl 嬬̿U.^3.thF[me -wY2O^S7yGFCAec[C}n}k8 dB )>R<d|T)bCպwx|vj͊vM˃ы\  KLby0za)J2 F0 B2" QzƟykʜ~T{*s6;cn{C6nSvK6F׵ؗɋWUn?+UշfnW*?o\|.yq/w|t厪MoW44ULVEtU*:}a?_:.fUx}ȬkYUv;/Lugֹ 5Yl[Wc*7|in->5Y}2uʿMϱV1l[ü\ww.ϗa=rNuoh s*WCӅت93M=q)iJSOG[m~ט߸rUuwz|~dTŜ.uWіSv%jZo?o]ُS^/7#.3eϖճש*cօ*o]o6~WռZ6ur^7vM[:ޔWz^~Uvߞ͖nMw֡:_;Wȋ͊ƞɿڳ;׺U}dUߪ|S o^l\oݎiܸnk?W Y993۲22!7{oU؆lƾU]_qfKCuyU*[}}ǘ{LA}igqZ/oUoޟ8ʨ3ֱT0R!!HP <IzASG"9)c!B&Iʜr#\O92P[G\  N+MT~+nac_z!Ԝ@{&^DܫJ<7WϞ*{ gb^<>ẍ͐˴_Z4H"j"5g>k7EC}tR`܈8܋5 AB4RX8 K\=l\cPA=Q` ,ws !׿buOlҁu-O-WmtV[x7XjcHnuJMT";&,M>wӪ:.3yaAD( iɴ+>GY}p'uczF4PQ~Y5"z>t?0gBTa=5-*;(Sڧ܃PXC+*y#Qn^5Op Fu -8anY -b/۲@-d -1fZi)=Qkڊ&` 5BVj;.$){ fdG!i@_$8H@ -`RDTF\rҶ]Ys gHѧ=' hy~=Ԭ/]!LѢ!o0g -,Zg;'sC(YqpE|᜶|Qʬ,Bz웫Uf!++V*h-\=SİrwaT'g%1QA8el1n%_ -JLF4(1٫4M[iX -V)t0TǎY:J]-\I-w/.^#@ɢ׏nQ5z}ݧ b9ZIUX\`)=9jx҈vW˿:ֳo/thCPdn/'% 9@JBxksӳ^fR9֛J9$}D#N!TS*s(;mb51Ym@O[yunT yH:b24$̽οzK>H`7h--OБxi]1l50-V|酃P;9CiXuD[W+8Ц  fO!E=D26נR81wʲ _3;8BH Ӥf91a6JU xBi%y[Hl0N?,i|#=GKξ[9  , < +endstream endobj 11 0 obj <>stream +%AI24_ZStandard_Data(/X<"s&Dh1"2@1u݃KXCDA@L  + GZmN$[N,%t!"_&W5*W}ΏM/\{яpo+,?>j㖀|uX8LɄ> lX~A(v9(ϰmnjk96:vJ O/] ӳ$o8MҭYmW< !qXvðJpdN}Nʠ>^` ׮8˱oyno^ON͵M-֮[oj,(kݲcoM]ϴO"WCa{YRoƤ,;i 4j̈aY2THZ2NHJ ZF]@ڂƵƱl@HX8Dz7T-aC wzSEX`D;ww/=Ǩ?.z7dvMN;2;%qXIIy׸Z|.rbعqE}8f2 G>4I ͐I3$=^$N 9s\#'yM|,o9޻`NiWvI_zӣ>_=[zCPGMSPW[=!!aa (Hh؊X>QǑ1qٱ9IOdHHdI$JJ$K$/{K KKIJ4KLK\KlKnvӛ9YɚюzDCTDGDKDQ4EUtEYE=))i隲ir^PQ%R5UTMUU]UVmUկ:ej蚮꺮ڮgA6dEvdIdMeSVeWe[-؆؎-ٖ٢mڪڲmێȆ,vʮ몮銮Z*XWꪪjꨆWʦkfJb +=mMQ(GYS5M4E4ɖjefIb dI4IId;c:#9#8EC\Cu EIJLGPl=[zҳ}2ce%Zޚ,,e%ѯa۰C02~5}ٱ̯*e(ZmM,[TMLT,˲,l+eb+*jH">2tî ==eCvO,kUM,E͒LtC<2h(芮hh(h(舎h(G=юr5Y5Ys5l5U35Q5M4K4GS4E34Aӛ&7۲-r-2--˒,r,R,,}^%YVR%S%M$Ir$E2$Aғ$'ۑQͱqG>*"*b)("(b؆ljhXd8b`C +  zgSzԛ=s}׮vf/;vyo9Ur%'E.9 `Rk\2JC+˟ڕS?bΏO] dz5~W %f5_(NWƚ[_Lo%8ViSVqwk4g_uW#|Q&_m1 3-tt9dUϩ.47n4z [{ƸOT~p=ߧZ`ٜ-k]Vb $2 2\k@_x52-VkVQ2qXxgT}qK2}Kiz{w^zI\$҂r ^ Ga$`(콗]+k>Fvp4λ^j8d{RZhvEH4EI3^75ȇAGtw-[E +@J[<$VDv^LEPޯx?mQsU!kO05J<h>8vf'K$I-C,9wyGCâ}ifhz^,Q$yG /G/"ƲkaE/rlVf$3 >a5Hr4z[A?$Ђv RSEWJ݂v~[nI尌uzT`/[7UϪm\kn^y8,CR=5o&Y%|ʱ4{)MO,I ~=s +aYXGM,VrA̩JQkN9ߌFCu wg>TsZh߰㰌 _U{A5iFf IkCII2(4MAw'+7Ђ)HhA&%$udpwFGK +  >ކwP%v?aS *Q&UulʐUϵ}^*#HLHunG [ +>\,C:Pz8,CUPxW%\72 lXt>b%n,S '-kv )YR/Ctv2%1"r(wEr 2 |p;EA +9O | U.ӖXuHlrLes G'8e.9 N%v0ڟXF_W@<>IˉpXf0 ע~nvID~2@&òHHJ7/ +!IZ'P6ODDL mQGÝGq|7AN6x)UB9 9<}"s'em cEeYX96 +;zl V-zv۾m]b@!PE>_ +rXF~Η1ŲSS$RYVLc_iCc<$Rlz8XA=XA7l9,0+?XXkGNYXA I]W$g͒L qX&Bî,N8mcsyhHA FԅkBP[%k$Vsya +@m@qXn&jҕD'K^W +$ uX9,#]p.4;U7Y-'E9`L5@ A8}ݼ$@$)q-wu APJGjQ@"ڟan!|gc[CցK +^96󀀱 n(&m5r$lB>=Q k3 L2 },΃r1n,g9Ak<KLD<)IZų[E Wd&Ф#KqWXi nӻ]/Qv,L*o,zu96Vp~6_,VfT3<]VfZp|CjWUўw cWx;*c݂)b/q<מi^760LJ~zoj Gj~bP5cϦ[[^TӴx5MU`P_S]$'YBtFymx5Mt__yM^f4/ٓzi8U{oӼH8z^pPp(oMi^oh~mϦc+ɳ9U1ʻoxJ@O-=Z?NO헗Jͨcjh۳kTWN۳ kT(a )h~Lñ~ KPpHSpAQ}sʀ~N 5= +0:LiUϧρ1w*8c wZıַ-B=iZ՟~i͜YЅiң(~[p7qwdžA&^0g(=*X#~3ޘUcWz^jZ>?J/9(I|Rd0I?ė}ؖa{̞s8,>R4ۆW aP>&,I4MkV۩TAEǔf)>Ə>1HzЭ9nR x;qUPOcp+dK-5]3O&-fmpj-c}wZPbUn'㓀k_5kOi\ݯue֏Mڿxa5\'/mo}kjefZZhҺV|P;L _vU_Ѿ}iaoj~ۿh[PRH7MwW*Mыa{ n ^?կOpH6ܿS_e>%Q@D܌2=F22jǫّQkqMR`x< 5IԔ 6.7- 65آ[NaGe; 't5 šTSQ(qJl\bpA̅^S7qN\8'bJFr{QHò`ܐOOP*r&TP ƒ$ +z$ +?5ɭIjgFnB)E+R -Rt 8o.DK\Z@\rX6/]^<b2޲`[e'z]LyZH;z8ή{**ߨIZ䞮d-H#C>D :D:bNhN8,+(>hs6 sH_tƘ ϿTLCΈ')zilӦ&$o$DUDPMrDA a o,4h)]#cxڹ+.EʥH9\åHqZ +1@!e r; iiZ$ +W! +WR;!4}&ඁ ,6@&2qe"@E >/--s^;sXeA +òJEE +C!arVpE$ +]bar͓2(|r l߶q~NhЬ~^mt;95V6R"@6%& ^ +-ԁʨVRn<rF׃qdG>%v@AԌ$tM$P*^"4"1ǎXW +<\TvI JD'"g(J'/U[~O=XEӲ*PfKzA*8lH!х(E&B2sPKAqY$ڶ3IBWI@&mk\OMP{SS[@$AWA/ +B`MrkKrFSCO= = 䚧1❡8-E] FlW̥Hqg7o:|Dz;ݱg(hllU. W-{vBkWpAz?W( sX6@g Љ2)IJ d`@&/2 (2.e"Kd6IwQ Ǟu1 IE|,];j?,0ZT w'؅javsbϩgdkF0o 5%QΛP,h$ +H$PY1LCtB^!rNKO./3kEcSYgiP$b ,6: + fY[ 4<BFA cm Pj @ W9,3 S$?b{P7퐣%gXɼP)A1-d +;aEsX)Q`JCG*!Gno+o{$*e7%ٮo5(#vk&pC?geo0&p$P}$P6Ã`d)*;0%4Q3TP9,{o +)X (N;9L9ò%Z:D @?R$rOx5+xݖ?Q&-! n7eP6Y[1ɧ3NlΎlK$ + + r{ddxxv Vpp*:eܫۈgWY +xlij{tԻxg׉h0Q\^{b& +@ހ,(Ϗ4h Jvy"SQϮBQCPp)zQ$Qo(=;uh#?3cӀcNXl!cc@-rl6Y5:h?6t⢰G ɷ!Lk"藺h +e"qKJKR%s%&^'eòD(?uN@BhȠcW%6$ò kP@xG] h GntJPT ) +d=<~268,S 2Trlܖ`s=: +z)Ō+pqS|{VUχBs棄 NJ$P`8%l-:L۶$BmVXRSHP)h{_5+p|<_w]$qX@9"6ZǃJhvaIBK?ȕzEP +QkƃBޏcJFl_xcm,RrXI$ރR +2h jR. R#Y5`x$zjpzF{ 8^8,đLzWcLNJyn`݆Q|ÎOòB 2)U?xPL(_K8uzF-o실K.xv4e@52<òaYqXae +Z$G? +G+(SD +58 'ZGU: owZAPMbӌA:jT8:2 9k(c&_Lٜ2]AY]G+b 58#x Fu7nc:RǩzE*K fq@V) L 5=)J +@/b7Y9,k 6'iJ J XϽT Gpܩۙ],džR,.9=BцW鉅dd5RpIlU0sZdD pXHI\>łŸP8aDVBOq笈8 +ò), dQ0s :;> Xg.džЊQ>amީ hc㋃nH n,@=6Ye+yNzWC/R8,s)ZhǦl$- `{RqAe >ѿV) +&^ dr 6fnHWdKqJ(_q bFFj?@PJ:uFȑ +nNEIz <uP(q׋xٸ-_7-<X-,O!q Ec,}rc()pX PAeѩZ;P +,NZ +]ހj3)DArWA&Q"G)\1}(SW`pXz,eU!p6y=˙Alnn[Da<Ωا>.PUaمP\kˬFfQHm) 1ud h)5rG- /6 /|#wj0Nhܖ ZbpQ45L"9Y3VWBsaNh䎎_ +9F:PP^%h@{p RD#ȫըUUL:Ȉ0If:,&NBP.0"..0  qrEdNAgڏisDggRR(~6 s9pMPSʨ 6$g2 F$k #a2Kr1uUtqa OK;6S0LKUky1kvyJAOi7d[0_#w_wNMwTXedTߤVjxemr?Rֻށg|xZ[4Մ;=h؅jٴ^t}]^;p75+`A`&ho+HԏnXAku1m@'W@ɝ6kPg_"r4p^޲T)1q/vז=*Yn(*iF1{z?[9!hC(x%I2SOJa|8x `j#\QLN-K9ɬ 0& {Z;&G XGvqfpf,L#r|wk3T- ʍ?r"d4wP:aV%>x!mr<͓K%%'Xr%"r;ƉZ1S[P',wTB[-'L>jkds@_nt&m̸rryiNp{ PQ7ntOž&O&Ap\i57mZ2s8bE~K8\/:AGzb*l#1]i~JeU 95tp"Ѥ.Jp,7ix$;~չԯƱ/2W- 508&#*Lڍ|xPx-Q*Y;DPPylbK'*Xpsr.(N$dP)6dX mK[Q_KY2ĒT9BKԂy?Ofy:]}@nCD&ma@0Hr8c"BEMԸ^.\|H6䆜Hn+`n[V@q$f{I_\å}%A1fxp{R.p#! dLH߶sr9-wd#i@M&BZuimjhX}j+^#N›L@̢)IHcξ 'Xvnq<YM8Q-e<;'*P=#6q?*8AfDs8ہ4(Z.cT>Z`΋t-5)$qLHbxab;b,EYt[OCp/VYrWbz7SCtwݝe.oOoA4ְqNͨjm?! p,: ]OWoO=`7xG{G'hPΐ[a㢖:in@)YhX¥̫G.Q6QQ:nm(m*BgUy%oQ~`Mer;#w5mvG3<^70ωqY=`v1{W 6{W## c*gE +s  mfPJR+yW:S-v#5R\,VILĒlUfMGyid䡴#92Vhű{?ؔu`0[pKDX|J{}JZWTuboҷ NX=V%Lc1, 'c_Z5]H<ld +pʇgZ{]L8 .,)e\ +dÇ^l"h$Io&<rqMu> $XcDe, 6z2=$=XQ$ePbMOeF`Q˘䅔a쮾ZtA2tM/G-XiGuKis%ŕO:Y!]T32޶Nͧ'Yq×̺ |qkBH_>&ȟpmjԆXhʤ֓(D$CN4R,@8;(ndw<K03b d!'Ȍ|pTa()Pyud3Df JNN&ce|̘ V[D<M;G* dfR?vXj + < 2J>c0xlRӝfIf6Ї# {aıQT6Me|>{ΌЉu[@3q$MF_OwjwrEyr]qZh<=Tin9sYͪbiyJD!]Oz߯h!gUAp,R8~q ؖg|OOU:KPRGθ1њQ9 Tv))q]l+=IyLDٙ+xjqG<+!ݪ(OF:O6#гC Bj, ^# ՆѶl$z㯑}Igl2]XǸ5҄pK@0H(\^tڶ-8H,\[MJ;*?y/6J,d +m9{YV{+Ta7as^ mVBt\֧ +L>2vVp" n; +TyL9mxiM}ԛk0!D7V:5/7@ï Ԃ@/]0[WiBB~B)Hier:r< Cs7j;09 f˃_*4ֆ?rź1P3;QW2#;aM!JkQښW2ڴA9rxb9}v''.4FC0\U `âIn qgkttCiUs hȀ`%E8F8}$ϧ߭ :u&Uzf6`&KqyvF Y{>IV0Ef(@+_Y6|B%f7/cX[+X/0sm\\q`!(lƕ+2Cpx76%a(ivM~+=69/6SzL6kz5k)1sR~dUmۣ33Z%ᮓo |P6Uir&mtW}Zz\?1Nu&.@"@z}nWeϕζr:Kw*ٙRoz:~=>su2HV-_3TY4Kx _T,\bPCۅj(`?<I|!ɻ^}.*h8D'$onL9M@ڨw /`C^Ae 0`cSH ׂYG`E`Nbй-ئ-X%X. ^ U]gGzx_'O<"~.3?JJQHC.ame_PP H @d"qz :Ȼz<5K0cJvD1lk#.)p"dHŪek Bs(ųsNNCqLx(|<&o&KIX>UGγy $iEPju]P: k&:98Q󖮃C + ͟j5ˣ"0 ~y)JE_^~bٱw&%A]bBDꨠ6۵6bևK#] +<%|(!lm蹦1uVM3G=fl@7o[OqY4du.sI5ZI4VAEes[{PGnL[UB*hW8<-+wG/+*9pBUV!hQD2XH8Wȉi/NIF&kSS(+`iW{? '7qtW8ʷ*Ҩo"DʂC&- +(-2}ؐ"OR}1V &7@O%wr [i}0ݝ;lOE:aج,GDpoRPףꨎg 1 b~Y8D"Iq".uk|3IUJ"E ovGރNlm^2E*HhF^¢ P|K3fJUҏEur5w똚 +*c\j X~Co޵0𵉁qohK{TpV Ī[`ZKe|Utw򟿒 |+{W/ +z-ba +ImƱ q*LcjeRZ|%DŽJ47IQ@1K1Y +p?ԩK@IxU tяAՏCs p,5 Xj*h&Y갼bKORc@[p +,5*H7RJMK2;j+,&6  +O) 6B#gCI>:6b>Qx]RAUna)ofBRpRB*̙)5 Z!&vv9{n[ngg魈Qkce~!\{ɯB;P,]S%./Dݐ )hOLdrw,N d/kIvHD [}]}! ()V}e~=K +Ƴ[gq(¤qva +h x I[Sx 8ڟ$po}ND:$'lyW뵪(hj>gpԵn 䇰!JiG}43MM+[Ԡ{Rٚih,tK 5q+ AOcxr篬b8Pg"FI'ML-桩䃰\Wi58~竘: /! 1m:Pk#F5͙߆[mv叢*>\f$ò3`2k$#p[V(9mA)RÂj $Y!'C4Ӹ$%B(XoHwNQ1nzK߳_y;<בdvplF͞q=ݣCg$sp\MgRk^R^A`S- E%z/9O֔}ȜYΪ}!Ro%O|w!y s{q > +#\ë>8p/͒ +nׅ0Hz,Alw6)ǭȯ )i &;L3K]`nʨ⹙e4`rAZ1jD7OJ@d~afH۰*^dCy|xpї(CisFdad9HcVIyNv:?QV#~J8a)QK; /@Ycnդ~Ȫfe`0u0eO+e&JnphϪL~}@(Gi0^Vp4tCcʢiX"U!]]A#ezKbRe# zLG*TܗtsL/\k!{Ok +v+9e:ǂj72?XfL;u!sS? J}xij2g}ѹ$ѕW/z]Jt}&/: w_*|t,t }^D ^*&{a bLHW8y;d`Fz!͂H_t~ZWF FMc2#Otec\!*PX\ Ƣ߄+֥> T+BrjЦJYzD.wΦ*l*(uT;=zqp'#oj'D';a%kj ÿprţR53+BdMH<W\20R*""1o<'pp xcMC8{6~/OR,F}Ǵ.d*d1ͽ=dj%~a'ɭUvͻv&k% <9cMPQO.NFKMF?94)3 +A+7?$%_ ^bFk +|!hCOI'#_hwYF[Z'J7:?n4o;"Y![dnne4X|r "W2Q|?ɕbZ 9V !A5(90n% JddDB wZ|\>`47OvbV$A'nFbOeH]t E1PH K2)3i@6TeyH6o.A톏(ʬ@!7A25o `Umch!7v5Yem?mTa4F%mm G#4C\ ArU-3ƍe.* 7 i$\I&zC*EIpr U' E +buZ.ϡW(TrԪX8=IYVt{R\GdoǣCZ>BR 'cbWi{pu`RX'jA vq?Tx3KYyziH[{Sյ\(\`֯p%׏U@?[;Ń ++/^F}k%B_+̬2+>Bram7&8ˎ@i䒊Q+״d:ϧq \/@Z/}k6*}7/Fl1}';r'GhOESvO_$J#hYEg)v:J<<+ÓY \XE3/ e(&gm6!Lv `C*R -y9my2:UrV>lJCѧ cN2ҥ2-(۶vx0+`pVK|o]"ՙ^(LkRu{?]rʅC!'Cw`-( 2=̙I\ 2Ae)Nk`/Eywm98'g -v2DŦb@Nr Ǜb]5W7br\c&r HK qsBwxBlA$GaC[0-!gK͜)\M(y723^ﱊhB+ɓj5$9!QV2$E謩`F_O$+ X $UXSbm +8@ֵGflU f9KRˢz#+)Be2 +.IϠG^*Q1|p&:,vPpؠc"]:8 j}'f &1w>[BQ;XC.Tbt9o gM]=hmP +m%V;O` 3j^G*; zF4&գ幊F[N![n4Rx,QL9Ꞑzd&jK@^*N|o ;P4T0yVWlqĎ0Oձ Jtd}yTٔ:Z߃28+YL2HAc l7TTk^rg +jb_W+ H+h_4R.yf.x +%Ѓp /*EndPݯ!>@JU7\\W9 c8YG7 s'@_3 1F>]N-;g̯kig4͑% W BEAikۨQDԻ\ :f*/+-QgdPgSkC|pn ?\anbP9Y+8ó; A)tr" J,g/xr$j.NhKtg; !#'[zK! x4 .!Kt;Vq/%52 BmZS[ k[ݷC-b?ɞG7F4^3!i+Dȩdd;-*7vo~Va1W@5+ à&H`>B 19GVSF\q'9[VMNU-S\p¾ ^D7E͙T mu8caׄۀ<\4}+ű[>b+K?<] +ق6PzR:  MQ3kQDҹ&d@CWf +h/:t'1OxQ)J¯wMWj")EH$;r??uס +#*WIl[i5?y=!pp*mMP͗D\q"@"/ؐ% +ی˚]0b 'B z!E8),Xs|!u"R 7@l5esoiRʜQ¿2TuRV <=rU4*O|pԂ7?=R8:6T;3v6Gȩ +_BG+$ЯFd{ՖNq2;LrUwܢmc`1H 0nv>/N*eqF7pY;UC"#>? +@C@Tm(>~m.xjlvCFp4$$ +6v=RyV)m*u@& dE4p3 ѨfW}BDT~&znD[cՕ;モଃrArOPqq^ݘW5O^"nWJ ~eJmiDtr\~GpT|NJȎt܁bABZIk@~G&pnT<M'a<;/Q#Xr5GdSb3O5O$+ +{AE=8@$EcF'o*G}'zR8,}״3C<W@iX^]pr%jB/a\1:Q ,>DG9ᘭw%5+źp/"414oR^Dn* !<]uK@op< u2*c0^x!n"WVYJ,¼,'B`r5峃cS`쮌~' +_k\/>%%ggc :Me$3mDmSy-(HV͌£N yTN ݅>'կiQnfS7.1= NE2"Dm(}:"d &ڒ rIP);(cY[V$+g6(w\IlbwN(E.3}{y*cdB + M jսo@ +bg*!Kn P]=qvϚADO0L/ݬjz!7N k(},2 d;!6iɷ)z$=HatQ<1VQSEVnM:n +hߐ S1 ebn"1wTsʰz'Kůܚ5hNߞF76 +OϠ*}+ 0%`3S83pYAm򥊇~"kQlY.7%0U5FjKʜKr VN-~`a'4Ya0˫#'/W + /`uU8'C'%f%!Vy O5jă˜5((NϦV {UJ?J8Y|QX*T9Cfwbd[փ& i l=DIY7ٻz^"&#h^O( +d7x.A4<@T/ַkbs2ҡ}14[g"md&Ϥ!)O"y +$113O8TNt5튰y|d@4gi”Vg\"? ̸rB Ej CV$a unp$d6O趝(-yqw&&1(Rp,$xQ-͡~d4@6&  6( Uqd̫_IqE:k۱ ̀Nqr' o@&JvZjAR h +Ě[1 +KtC΅ȞnflX:T{j25_lbAՉ3E>+j{Xm\taL`|(ι'՜]:?`~JR,ZwU@NW/ ,B^t4-2ri+ D9WKL !W})dє/VOJSB#0KRT2‰Y1m+\*V"<Ѷ^&cR4j]eg nQ$em+0mXk;K0AMu:Y\1.\Ê\P,m(x9tóEBiר~-+:8NңUmuѲd*vTv*ݯNi(Vten-#X_D#<`EZM'r%(ȼήHMm2$ϲ`AY{&Xesf QOĴAߝ:kVRLp܆1h󩴝qTY_} LL΁hރJC@/s1 W\:,vLE$PM%ʁW#~rop7#y2υ(ܹPye^~ }~uJof:d~{>bT4ɾ׵}I ġ3let@yx*o'(v44\,uJsRh ~ pY4NQzRKR4W6=cDyeΡ_Н9RpnrL].<.g(p3"CHUI/gKM?AH𪥴O`6'Įz˔yȬ} ?Q:i29RuH.{nnҭe/W6-#ƅ_@9y燦yN\ hHgc/qBUCD N E  a#*2u2}Eo^z/P32 ("!xv%N"A9|mŁ|]+Ls, I%tV1xdjANg.eCj#:à1|̍t6&]ϪeBFO]TsNbh(Wzo ]"r&@3mka?tE<NĚAUB0<'"NS1By@Xh{b^%wVJtFR| ]NBCòΟ깚%C`]%@X *Ҧg.\'QSg3nGNItz&ja!|Tf +Q[k ˱Ԡgqי0'/<<UWf@Tf`ws{7- +dxoX3V#^rx +L%]x:#X#XM-B[` }_X +}U$b[ebes!^/ +rHNh K9O+[O禎FZE5ꤾV#ݩQ^WCFm:T#PK3_yksG+ֱti$n22ȄQ/fšҪvGާhrP`)y:7S 5`e`1|c.v%W&rP-KXh _T# 1C1\k1w,])vaq!afne,)#"bǗNa3N^FޓGI +%')n&0F3q2MF<JG0P +tЕh@DI9Ҹwm*ʪ|ءik5Rutr'eWul>yF`Rpugd=`<,&aVT\-Ɯ@aW39y%*XrAS7Hc M~z"Tu +/ש7p8pI.0zP4!h`@{@Lؙzp,J;8sCe{O(K<]r7. G[K8~է,[3ןb WNnlf<ժ{f3!.q=ؓ +?)fYޚ% zYnyro„hmG۝`.X*$ F/FշLPS+Ih9Xh/nҎJ:<8GWħ)Q0 + O1Vv"%abр"DMHBB-?Uժ> + +Jtp +xDcJ΍IWH %@ `rPFbKK`H8cR42:X P(I rä+ Bb8x8ɎBr:Y!#(Z(M L(NbƴRH/VQqp2 XP @QĈ@'<(Il%Yj0 P54xȈ@d. Jb-1ar:EHBƎB5l(԰PL`0Ǩ2y 0a D0vV]*P,HCDg30v,v*Y([6O:DXH,B ҭli-(xL8ցLe!XFa8fA@#Bb|N$F^*J&r$><ؐNq !$8/vc* jhT8!%XaR VlA'; +RT*2" +%!2$`BV'/9H8Dd h(1 ,I0RIAQhJRVdGʁ h \"; +- KH!UIeJ@ .']P =Tg*;@1yο RǿK~=/}koں^i[K]-MT]t7WRޙQV}R|}O; w.Ư黹wo/+/ٔ4q1׺ݹ.UKdԥۛb]quy;[R_*/W7}fBs]nä6׵ݚuy#zwSm/v<TZ[Sx%#zhRM\c\Hi6#W93v<-TzS\Q7!v}nTU?eܯ9>W6Rf+;yozDzm2uRQ켇oyᄎ(Z]WuJ_Ǔ`DYǓxܔR] +@M\ܔ(Ju<4訅%2ʖ2j)ǣυ"3@ͧhD .Ox*a L - 80!ŅBr9GBt0$r:A*PQpbR"dF*_p@`; +-ȱaa9ɰ$ya)aa Q0JrH nrhpdHN Hn^HlXHFRHLjLHZH4ܐtȘ$^> M +I +I +MHiI0BRR41t<+% `7 8BV Ņ,DPȄpC4R(  9% @N`0!3 +(T 2H9Y1%%Ā*$XT>*%ܧqљ"6Tpc&$UUTv‘Jp>1 adG:2dA01c)B$XXTP*n!c#(C CJ5PbQ2 YDadXVdtr Da.rN"K"PTBE! }T+,*i`OS2PZ $>HAR +N "`q.@ 4HDZN>:*[4\tT@Se8 +:SCvFv؅ XQR*PaX ɅPҀĴQ(yTN)M3(( xhl2&fBݡĀs@#(mX!$ct2WQLA% +iFg#&&!=BtpӡQ8r$#( 8r@Qm>!Ӊ^R(, H_)AFiᰊfdC: "A$Sx`&!"=F BN!1!0cdhJBH$M@q@ p6*QNB"(8LĔl4"dH3+'0RxD +pp.(mT) RdGx(`PX.K(,W@S t<'L̃ -gAâ`4,u #ny}OG7͕Ti篱SJu~;=զ"uO3o^_ŗTk%zbsvK5zR1{{2LM=w9ےU]R|vVYM=y{Rni|2yGx}3::u::GRӔ?oq#uwДCO[謧km"g"6'O*wo_vi#{zͷ}Q44>~ ՘iKQ_eTJvOͅ}fڹژZne㾕w:ݲVrRzgm۬|q'ﭹyoix̹ГLSN_{Ky6㵮4֞[{fjSqu=.jmƉ,ZOo>=UU[]gvkO)6<_ŷs2fbSz-̇olֽVՕs'ָ꼾mw'}ݿΕJt}^I;Sǥ/=z멟o:.;2jWj[ox{%*z}mURɇK_EF3滅v[&:W*Mwe*ylYYQ9*Ŏx{͸еYF[F#_f>+_n^k/Gm})w[۵G"R(aH0P@HP~ ֽSkV\Gm'.x$<5ߥ6b曾~ۤp~y뎽x4mi'uF[Io-U\Օe\J廡Ys{61/_[۩n:+|˾ԏrOVm[J]4? {#jD_^[m-|RRo؏.ٗw<-ϸZܿme_ګ\y; 151|{&ޥ1}׾/C׽_gK%ۧnxZ|9Rیv\Wծ~!/|)3fu앹OO@5 NM zYYB`ܼĬxDF(gǸz)Aej?t宔Y/vU37=l6edsk~]k_Ί}yx7cveVCv[Jj4e\Jy3ۤٱ -QW3g>ojVj/ {U]U==:}a?_:.f?0Y]׳Riwhk34={DU^֦Ȫg|L^ʇ˜oS_/N7}cn'wb2]oqr'տ˧z؇wix7Kο9)WCӅت93M=q)i7zRϝ}+7;M=P]yoRُljK]uUT]i[{;g9.zwϗ]2/S;=^h݌xƸM?-1ӞZߢD6TȆ{Nqskz:U +=wu+޷pY_q+ռZ6׍]R|o֫[=WVRvߞ͖nMw֡:_;Wm1߲Y7W5ב֚6gcw⻽U}d>U]6:J[W?{q[cB[J2'z!k?g>'}6_{f[u|ۘVWRʨً_)s̈zm){ߜfھ.4j[3fێG{گ^)}[KrGn]/wlCvufD?\yI]z{.۾ VjRjާbl?_(ِY]OՖ]v<+#HusMΕ}my&ߧ:f+f3b&ljx´ջk/V_=yyw/uymssom*rz H"8A +)fAȊS0(J2YbtT2`6:&q8BP8 QFADETd ^k([s-4zO=$ښV͙3^݀tO\c{ _9Piq[-YGELNo2lpx㋎r$B`QIOmřޣ'kP +}+ ꔱH#Ӝ;pM՛E"vQ91Rn#l_+E*p)f)N *˽RSFn8M\R)/B;uwgn4lBKȣl&;^X6&a2z);go a#nRׂD)De:!๎> BI+`l|uaL%`fsbbY@FС:CG9¼^NEkEOpUsyb˕-.ΐ4Kչ6._`-Lt, @38 +y2Aj), #x[2휩v ڪlGi3A@[lxj 9|&>M #+]şݧkrJ>_?& _IJG S:WW^i=|\3o^)~vԗa%qKZ{Iz(9 Gm OľlxnPYlb+HY)*<GX ="sZ%m#eG(c;*x`EZi)i +DA?|ϒ# χ} r5ӾG!,2C2#łRgR<ŪڮRF^ZQ%58,zt/G +y;P#*DL>"c`h 0EV5d9"\9iגoj}WQ[7b _N)Wu ~]VHRyp6&;cfDNm]cIP/䕁|y+m[FSɏBr,WS*yy6e:CRRE 89r:ݵǘ:4}Htm&0xtS5*Q{F!]$U`Y9xk괠W'cJ @P\u求“:u3"xT<+^&?QG}kW @mDsӵ.b1$LƱhC-r§װuXu RQ/2aR+E6,%͒K * *XNN~ +AznV-bMef0˹_ԺU0f1{5NWnVÇĭ|KU|OEAgF,p8 l0> TI,LT stBW+Sf;&XTtOUXd0z511>Ddx}e:]HRxL[@Q,{*iA%sw*8ۘβ~X:×4#rҶIyXe~ f,IJ܏1)'"eX%Gx'P$Н@pWš4YlYMimP4~$-bj8—+JcMiy\!FVc8MVBXFV4Y猬N_6YU0*C +v``)w#GV]3Y3C^er&(#4Y*Y >pdz8qNQin0Yx|jVB-fˍV&~_HR%"e7?I)qZ[dNrT]WK8PaSW't>N3!uLp5 I`04dPnXzRĖ7(DY8񫛬ndY"KIqA-\NvA@rI ^߇mɛpq |qpI^ý,:}ծ}@2Y)I3@&Fsv셹Uu8rd U*騔 %j#ֱ}̯J\LPr_[j {`ݏAmCKG69eVysGb / ZˍgvdBHmݨy\:Rd|+d]7)$ݹSSTL&8Yp߭‘4 +P\rymFr`e f<א1ػ#Ro@标#-/&1%k:ѥyJ$bMV́*dKqd TW_7*: ą{h0a9 m{_2o=ذ `ZQf#P9ضq|{z xtqY+-dxygEa{nK W1Y{d`vq,"'դ.MVY<֠Xvev3d찊]^#)B* QU?Hgw}zLpA_.٤b&C;Tk1IRGil)iy/&XGVvGYֽBGתZm2 mImyoB yd(1ZUٺTKUBҖnJ@A; +#ABJU_`Q`{^[ⲮR1- r1譄gM:D7YD`Y6TU7A#4QcjT*D @Cƶ)g)N]CtBt3 g׽zL*c +MW#hR}b(M,nΓ V`<}nἀN`{̭'Zs8K~;Ŵ7ݻ S[jsfk&HKܘL +"*5M52폃m [G*2o՘JS9D8 -qSl gYNhRPl*פO %SZn-Jh.U}M7f+.F@*;"'qz-cO8 :s*a4F[^Peen%}sv`#_#!90R~tPe@'&O2j.$tEe%x= vᬈNT^F_CHBkDlC2YYAb^PB~EL/EB0z%Z5$aT6QN`esPϢk#F*[v ꬼ<^b%ς  DyCLvNgTOMw+bG2Ikp]:BG%ũlǶ 2M,6>b~\..Bf1@6\>81[ eV3/J +[:J(dbFq9&5ѿ +s{<=/$tV9m} [O//er"|u}-{)5VM!45f endstream endobj 23 0 obj [/Indexed/DeviceRGB 255 24 0 R] endobj 24 0 obj <>stream 8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` @@ -278,38 +331,38 @@ E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( l[$6Nn+Z_Nq0]s7hs]`XX$6Ra!<<'!!!*'!!rrmPX()~> -endstream endobj 18 0 obj <> endobj 25 0 obj [/View/Design] endobj 26 0 obj <>>> endobj 21 0 obj <> endobj 19 0 obj [18 0 R] endobj 27 0 obj <> endobj xref +endstream endobj 18 0 obj <> endobj 25 0 obj [/View/Design] endobj 26 0 obj <>>> endobj 21 0 obj <> endobj 19 0 obj [18 0 R] endobj 27 0 obj <> endobj xref 0 28 0000000004 65535 f 0000000016 00000 n 0000000147 00000 n -0000018590 00000 n +0000018675 00000 n 0000000000 00000 f -0000018641 00000 n +0000018726 00000 n 0000000000 00000 f 0000000000 00000 f -0000021140 00000 n -0000021212 00000 n -0000021352 00000 n -0000023023 00000 n +0000021232 00000 n +0000021304 00000 n +0000021444 00000 n +0000023095 00000 n 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f -0000057314 00000 n -0000057614 00000 n -0000019010 00000 n -0000057501 00000 n -0000020531 00000 n -0000056739 00000 n -0000056787 00000 n -0000057385 00000 n -0000057416 00000 n -0000057639 00000 n +0000060719 00000 n +0000061019 00000 n +0000019095 00000 n +0000060906 00000 n +0000020619 00000 n +0000060144 00000 n +0000060192 00000 n +0000060790 00000 n +0000060821 00000 n +0000061044 00000 n trailer -<]>> +<]>> startxref -57824 +61229 %%EOF diff --git a/public/images/frog-shaken-ai.ai b/public/images/frog-shaken-ai.ai index 8c1094f..07a1879 100644 --- a/public/images/frog-shaken-ai.ai +++ b/public/images/frog-shaken-ai.ai @@ -1,5 +1,5 @@ %PDF-1.6 % -1 0 obj <>/OCGs[18 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream +1 0 obj <>/OCGs[18 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream @@ -16,16 +16,16 @@ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> Adobe Illustrator 29.1 (Windows) - 2025-01-14T23:27:16+02:00 - 2025-01-14T23:27:16+01:00 - 2025-01-14T23:27:16+01:00 + 2025-01-15T12:46:44+02:00 + 2025-01-15T12:46:44+01:00 + 2025-01-15T12:46:44+01:00 256 256 JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FUi17 zfp+lloV/wBIvB/ulDsv+u3b5dcxc2qjDbmWqeURYVqHnLXrwkCf6vGeiQfB/wAN9r8c109XOXWn GlmkUnlnnmPKWRpG8XJY/jmOZE82slakjo3JGKsOhU0P4Yg0qc6d5w1yyYD1zcRDrHN8e3s32h9+ ZGPVTj1tsjlkGcaF5s07VaRf7z3f++HPX/Ub9r9ebLDqoz25FyYZRJO8yW12KuxV2KuxV2KuxV2K pNrXmvS9KJjdjPdD/dEdCR/rHov68x82pjDbmWueURYZqHnnXLpiIXW0i7LGKtT3Zqn7qZrp62cu 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 bYtmC0uxV2KuxVn/AJG8vPaxHUrpeM8y0gQ9VQ9WPu36s2uiwcI4jzcrDjrcsuzPch2KuxV2KuxV 2KuxV2KuxV2KuxV2KuxV2KuxV2KsZ8y+TIdSdruzZYbw/bU/YkPiadD75hajSCe42LTkw3uObBb7 RdVsXK3Vs6Aft0qh+TCozWTwyjzDiygRzQao7sFRSzHoAKnIAMU70rydrN+6lojawHrLMCu3sp+I 5kYtJOXkGyOKRehaNollpNr6FsKs28srfac+/wDAZtsWGOMUHLhARGyPy1m7FXYq7FXYqsuIIbiF 4JkEkUg4ujdCDglEEUUEWwDXfIl5bu02mg3Fsd/R/wB2L7f5Q/HNVm0RG8dw4s8BHJi80E0LlJo2 jcdVcFT9xzCII5tBFK1npmoXrBbW3kmJ7qp4j5t0GShjlLkEiJPJmvl3yMls6XWp8ZZl3S3G6KfF j+0fbp882WDRVvJyceGtyy/M9yHYq7FXYq7FXYq7FXYq7FX/2Q== + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy 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 dirsVdirsVdirsVf/9k= @@ -63,7 +63,7 @@ proof:pdf xmp.did:ddee3d99-9c85-6a40-b906-53478f73bf52 - uuid:496b2d4d-9846-452c-aceb-c8c6aa58d5eb + uuid:f9d4619f-f32d-4d8e-907c-872cf64bc0fc uuid:dfc72568-9f5c-4c46-ab43-303993d06e16 xmp.iid:41c4487d-f674-834c-8274-cd276af5bd65 @@ -115,30 +115,34 @@ -endstream endobj 3 0 obj <> endobj 5 0 obj <>/Properties<>>>/Thumb 22 0 R/TrimBox[0.0 0.0 397.22 397.633]/Type/Page/PieceInfo<>>> endobj 20 0 obj <>stream -Htˎ)MxZ6!<`{rWnUO\>}O?.V:#^?}裴vo+ߋ?+UXG]xCx\sT<赍Ss9kڢ:5,nuYN6OkF F֋QqjoYyJ}GqG2& F>fa>F -ty}~sz~jk6vx7goPZ`్˄l[mtnt -Y5P6 ֹ;֎`àS_lAw:j'hǂv`f)V:<}{Zz`4Q.]xxf`)H}0D'3L ADjg{hOiN"_'5nO$JmuWE%^f{# KX]zg9/`HW|{ZuZ^ SW_ԿC0 dFh ((rdU(>C<@3&]:-C`E\Nv)!pP?OQwf~8>H"dLiZ ]u\p}ECX8Mi9u{Y֔h=4|:eQG찓>93r, 臂QVԝy2&B+t*u3H 52%E>_I  }}ډ)#洙$2%j=̻<=)5'8FC'΂^ㅀ_^hӏq&f3`BN_Lq2.1G -dP_H&О0{=bπ]ψ] a Ѻu}zLd35-raRRF޽D4l9?v1n/^ "| -endstream endobj 22 0 obj <>stream -8;WR3c..Ii%*XQ?^6UlY$rjMjigr8XUR_o$8H)X5]Y&AWKGg/M.J8Jt>@M$9-%bTF -JDN[urtp'BrWA?[j>"**p\5]Hq#cm25_u]HJ>K%3bkHXl^+j)9R)/S)E$0[B"+f0g>0f<"9HjNd6X\k'*Or>A@X?X4pW.(jVBFd,b< -'R-oVR.#OT"4tPm(Y$%RXto`; -endstream endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <>stream +endstream endobj 3 0 obj <> endobj 5 0 obj <>/Properties<>>>/Thumb 22 0 R/TrimBox[0.0 0.0 397.22 397.633]/Type/Page/PieceInfo<>>> endobj 20 0 obj <>stream +Htˎ5)|+  V _'̜ (qwۮo|cVcy|~gWr}GiuV[bi#VQ8^>Ѓ?6zmz*fڻ(N>˧ǵ[{SrSŧQâQkԳrF,laVc#jQý crøѫYغQ&1ast^߳FǜE𸞟hڬ]5^YaoV,>xl2a,VcoV Ԁ`Gu`-6X0׮#[НwZ* `=sƪ!b +lfm}$z`.^z+9;yk<7v +A 'ABP;,QY5ZzrœxZxu SIɁR[s{yUф@ .YȂ`y׃YNi&X5=~@:r@Jթ/c֡s@M2i4 A9p*GJdd.!0d.'; +\{xfy8'_F2D2*)J'WL%K)]|?60vt*m悿 --ℶ侶눿y ڢ 姶!xv^N7R +w6LQ#ƧIJQ6)ЪY; {IL HcJcJNnN +u<*3 Jpr'С˙L@@̲=]X`oj#A])b$8ה +Ē.4 +;D* +HMd0-6ibDg8B}JwNdJshx +]V8=% +fITܧ>KۈאXUZso=  )s{2Vy.iaȿ*OxrT$G/-!aa +/O IcM6ei/2~?A?=}O +endstream endobj 22 0 obj <>stream +8;WR2_6q3(#iq4^IS2\(N)m5u,^[Z_2r".[YQDBTKu]+31!V27SAeC-SrJ_,Zl$^r +(ksHRT;"`#^L;R\q8OHVJ=\McmC3t"Sot2+/0c:-RlAhI!4!HC'3O!q!DeN+H)dfE +6#8b9loGu+.Yo3,MAY*H +endstream endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <>stream %!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 24.0 %%AI8_CreatorVersion: 29.1.0 %%For: (sergej) () -%%Title: (frog-shaken.svg) -%%CreationDate: 1/14/2025 11:27 PM +%%Title: (frog-shaken-ai.ai) +%%CreationDate: 1/15/2025 12:46 PM %%Canvassize: 16383 %%BoundingBox: 208 185 606 584 %%HiResBoundingBox: 208.662747350571 185.937255819868 605.784892609992 583.688335743242 @@ -160,9 +164,9 @@ endstream endobj 8 0 obj < %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI17_Begin_Content_if_version_gt:24 4 -%AI10_OpenToVie: 34.5983885170808 684.167109897841 2.31944444444444 0 8360.38281965481 8272.95863860515 2017 1341 18 0 0 68 181 0 0 0 1 1 0 1 1 0 1 +%AI10_OpenToVie: 55.9880239520962 699.22754491018 2.31944444444444 0 8360.38281965481 8272.95863860515 2017 1342 18 0 0 68 181 0 0 0 1 1 0 1 1 0 1 %AI17_Alternate_Content -%AI9_OpenToView: 34.5983885170808 684.167109897841 2.31944444444444 2017 1341 18 0 0 68 181 0 0 0 1 1 0 1 1 0 1 +%AI9_OpenToView: 55.9880239520962 699.22754491018 2.31944444444444 2017 1342 18 0 0 68 181 0 0 0 1 1 0 1 1 0 1 %AI17_End_Versioned_Content %AI5_OpenViewLayers: 7 %AI17_Begin_Content_if_version_gt:24 4 @@ -174,163 +178,148 @@ endstream endobj 8 0 obj < %AI12_CMSettings: 00.MS %%EndComments -endstream endobj 11 0 obj <>stream -%AI24_ZStandard_Data(/X$':&Dh1"2@1u݃KXCDA@S  -A55`i-73i^O?<7lϜj|P?J/9(I|Rd0I?ėąI3AԼL}' U_ʹ3|ZL \~9|P͂z0"Yۺgچ㷎SBdxe 9n~OYù@_\uH|߳iO0` -$AЛ&ɻHn )z1w4A / ~?5wNplw ߩ6-Pu/;=qK@5D~ӭ׆D>=Y_& Ǧ ר^"o] QY[Ji$5`2!{wp `+!ڽe˧+}!GD,) cR 4XeL?~5fDKӰ,a*uc' -umAe>]f'Űs9f)p͐eb'}hvS 14CX8noHכ+ ,|Xfxݹk%kevʱNIuRq5.j5u4~,Gq-,I>I{\ER Co`hǵ${G{\ ǐ Yq ,ES$$9zNIbaY2\ ,XVGOқWYzvЃ "8$X&)e*,Ȃ- P ǐ 0 p ٰPQ$R4ETLEU\EVlE>яX(Hh蘎긎؎'A2$ER$G$K$Q2%Ur%Y%yYX%Yhjlٖ7A34Es4I4M5SS5W5[((h,ڢ<ŲLTLǔLL4MtMٴMUjꨒj***_Wp WqWr-W,3WtMWu]WvmWvֳ !+#K%k(*,۲o6lvlɶlmVmזmvMLTL-(Z#jifhzlfed)%KbkdWET,Q TA,KAS[,CY$h$˱K˰IJe(b;*lbGA3Q2Vd %Mb9#)ٱwգeAY,{CvO,:J~tkV :ZQ2Zݯ&t5 16Jqv5 ^oUsh<meT[ݯF.* XM}cCg8%[~slS]h o2hC%çh q@CzO9%[\2zRIe*e3HQ\kdX[֬d㰬8Ϩ$/~dbI&fJ͓(vIVuW I(+Q{/VezvkbXc)'}2G=>ƵYcrJ^re 腠0hȟ. rHH)tg$êni_U߸?jΘ]=u~1{ b߰pFIg Pnrd;c%7G^:X#yucX5#1 MЛ9$EQXv-!Enͪ=׌ya ,I]U2|߿UoB"5WZЮAojP1JI[Юo-INojqE{_f4jYk-4e>`H XM7˰$=Z9f/Eѓe:)r$Cҏg\8, KQeJ59U0J~)aXc ?ضh/_ ~Wy'ֻN-4ȏoqXXh vDa RiA9˸zYַcA~ri4GGq(` -t%OcG*wK7&MM4FĖtL #8,[R-I8%*׆[48eQ(iZԃXN VoU2$ ) SтM 7J"I 06LF @ A1PA  A| K~2"p;TL1!kp!TFT : ܎= Ia}Xt8&'qX$EJnd8Hoaٸ9HU|JBYY OZֈ S=^^eJbD+Pj(dv@T&b)rAZ]0-?&Ƀ&4@q5؏Nq\sDȝ-JNa?/I/TᏁ>1x|6+ a& KE'xBm̀ -A+DP -Vy ͐n[rXfܳ{{}|C@qe\M(e iЯn -, _,6pCԵIOm@=zI)u 2ڢ0^+@ ;-6:'@㋁o$#m2#!P;USpBssyP ENWrA6[:rlv;u[}]ۘĀ!tYu&C©}䰌.PM~/3;beH`g LǾxveI<ɥT @;# q7+z걂nrX6`0VPUqPk #j֎PH$ -Ϛ%gL"96]Yl;6ɱqީ* + -& ׄJ[I 5fۀ,c{;0Mդ+ ؉NX/wIPKm ug/UrXFr ˻ -]hvnZOrj֙kЁ`ypl/4y-HHR?Z%D?@-&kA<Հ@E?2#B$Ƕ2yu*1rlc`Q|MRjH:>}R9zo,(yVY3lBEzu9sdxd3w溽_\nXh>y2̒_ f/-~UhN/[;1M?1ͷ_^z&ïJ%7ɬ 꼴[/ ҪoT2`^Яܑ -CB ")v,:GcU؞eXfY3Q+ØCɯv4/VaO*(4/u&;홦{5Mt>G-M{mP+S>ɫc~÷i^8QKW4W乮ףS=i8>yⴀZ*4ʫi4//{6Ϳg=Z@V>ɯSճWmIC}NuմIz5M'Cէwe{6HY~M/ۻCըhiu2Nscw)qzo=:^@lmϮQGq>wJͨcSxlzZ*_Lw _8F5Q͂jcWmN|"_*U߮_+Yv'4/|_ 53}Zdo[U7Xc85ך ^r[ۦWǶMf_5[ m~ ^azI%9+ޝX%au`,EmxU0!GgI~;İ$M4Ipz'KT9+N}LSK__nHb؉㯂)zZ ^7{# `Ljb/Ey>N >J96kVYP -rwZPւ5׷-ϰךӭp|}o_ w'_Q4-(+gĮ:2&o<0~.8ZeҼVЋk6$moʹ]Q?@Y}R/FӴ-{ k{ݯsBΫg+œ/ "rztDJAi/6kG&tW )"f1薙P;^-Ȏ&]`To?nIMqp_gn9H'(I=-Pu݊t - #<(a >q{xWa( -7 -jG!MWb{* Bd.Ꜻs<SL7k.ΠB%[|R|R.D\Z!eA'bS0 -1)^Qu!)UwT*/}]ʺd(RKwuv.oMe"#ߊ" FWFМݺܮ`wò48"&H`Lo0 3& -05?HEkFy0ޮHBFVUUE.-rE -@&L~{&u ]&|]J\ ò~{,`9,*;bԊG -ݡ#&qvSQFM"t]N(&mAvXv"!Y!evBsrXaeXA)Aci FJ3h$@W7H~ -WerF.%Q, ]kQDK+l_M`ssBfʽ0h yU2DՐ"I> )6RhTF䰌"`uиɎ3%Ĉ{t$;"-Af$ h" T9pG-=v *"U(ᢲNJP":.2PZ<_ -N$Ѷuh/OJJb"6'h\zj -S- )( -zP(k8X\5zza) 4.&!>EAe3X`/|rTuHliܳ\센R @qòz@>mN 06NA~& m 2yQFAu.|]$LbO8/aO/c lWeҸ]L;.T {v{N=<5+*}& "@t+& ->Ω] -]h ;ٹ-Eq -.9*Í Qx]T})&zŤk9,s^!۷IͫWӎ5VxQtK3=;֞ӄ:b{bx@P4b"8;`evU`\̃ω$ak>"BsCz?oֿ Sλ)4{owd$ -x,&$?/NhniH%JZ[ 8_}q_}=%hǞg;!*P|EpsA 0Ůxe= ~(#F4M 86*%eDUni#DKv[&tKY%1!Ygm9 M\p%B>&q?7D 4m_h !X54xkI/bww"]zu1Xd>.:M"9ayP$Q96zdɨڝ7 -bo[R J<|2~aH"SGh-`>JJ \i!\'CݔP ,BJ -$P:/(mG'8WW NS簌{upXS H TvJuzƃsXa -(;"kȍZ?ʿ!EgrXf0CeAJ.lN=XǖXA/z.sy*P\hb/u|iW隄 -~@-ؼAicĢ'7Gţ -֝ %^q ;b[!e -I X*`da}!pP MUkTz3ߡ|l(AC 8c Mxk%P=N[h9,{}- - )n㰌Gȼ

bV]1m 7|k Rt2@2H62GF QXxQ3[ A0!,^h~RJ!jx06X](gG[(*=Ђ#"Ԃ>_ -." V562 -ynRk (ds32ˇP~XR -9"hJ)GpXV\2Ŗ^6, *#WfòAWpZ<1l;url|qmɱamA(9l%iQtwjE -e.Ek}ؔM,]zOj?6H㰌a'*E41L}-ZPx_é꠬[AzHVRU#e RGāmn5 -dIJKo%FJt2sTŵMh -Ry9/ J.gD+HV׽zD('k[}^;z,b!AIrXfZUrub1)8p UVEfsMjE -CAjEueB -NJ=02SFlG=g8*ܛEgRY/αvC&==^[nYVC]k*HAU!# RGBO;QBW6kV e -D acQ96ò;u;uݰWD) _Fy}Z᝺b --%P"A&MZdH -I%!BօS(Үg nhZFaaPgyvtmO82-q ܛ^nPLlaHnۄq1PĒ_.GRPgLl)AI >N"A,߈ºHJIǺH9A ?(I$WG݃ -%zq!cf˿)$t(}lcVnL9Y\B}88 -W#L}#:@ qtBA8p01Gv-LC`mӨp-]/R]s/TӁ(Ё\*Q:ou<GspX BPL 6QԜ$8,?bk1,!5@ ge0f:ɇIKBmb/w{zB \8@`W V .jсbX$uUP9Ј0 -f=.&JDP.."..0  qrTNIwT\#1Tbq̈́y-q?.~15)NM R0xt>8a+IoſiBeE~SOe;@7$Gl^iٿL:ygT:[5ȿ+P `"/XTgbX 2v1A@a[}V+*g~iF-Z,܅i"|G -|㿉))Xjb[d=ʱȟӪ~̖2(-dCnA'%TeB $ KU{Ϣ ??[b8scTw2UT[sҲL7<\S2i^"5b/`U0Ûa7?Ln3%ݭDPpz5l*,BP6!7+.+ŒSU%"x!d!,^cs+GY.’d6/I5+7Γ6g+[kHZ%I@*'@Zl[mݚ4HAgnXkmˬ+*(aB;i [Z޾rl{ʹ ZT% of_t49r9܌+' "mS'a%Rq3O2^X55ij\K>.;+?~ /qB&G?e?;]u(r.HcɡsUNuqvRJK֘P3bxTJŶHX4ꆟ^4Pi-TRrz7s=_!ފ,"q]n췧 ^4-:PmmGf -}C. .s=*3xn%I>EP؈|trk<@wF㣵@;!{yMv騮G^3K1@P2>1Z>|tਊ >Äu$0qsw-].rSL6K A:Ln/h4XuM])ax;%i(y~7%0fq`ˤ2hdG$޻m[t^3/qqΝ``U /"ip;g#ã51y|p,{5Vf3S㹾]aC3/lUR+ Du)A,"`PF#+QC'*MHi~2$6ȦLϪ)N:@TXbɖ% %).&}\^ vYvF D *!7Lփ\m+MfBˎ =9o@HgATUon>z tضuF$T,WQ9F%tDQj`'; ).iG1ɒ@ !Z3SHU8[]o~3@X=Gc Juc0:pKDxD;E{RJM ڌ2aŭ _t:+eQMTr aX_'5 j0qxؿF7$KNWfV,AQ 2Si8}&y>_)=fc4N߆LcN,mi <ضma.s@vcw 29}.'hd -;fCRMwQ#8ـw_%#G "kuO׳DX 9{q;:Yǝh nJy?;ڕȓ}%͓]g\\%9XHkk%挿<A]. Kn,M?& =z-pҀ{Ƒ  M;NR',2 ڝOb.+f(N#.kU }!XORCY42MrQR@e,<&K-D#}2Ot&B^w*MR[PqKڲ=U±YҊڎ_eU1[{VbBT;qq`vn$ȉ.{ ʂ[A_=~SZx:Oh ->UFi%8VmߏU< ay|j! }AJ8ͩYxOJK\4FMYi8ශ;ȯ͞}jm`x VG cFce>+۴y+H%q[*#_ʩuw{bl6- T7*UK"mV@7?;"J \5Fڜ##S%ZR-Ho;O[*7?Q21 G'W:Al֞? -mM@$!/WAĶ@fa >U$3D+cy4FxmdQL<.#lKL(G~=^ \/X+NpV,Ssy fpbE"W%[0" AB-(o`t(<ޏߜ_j/u AͲ>0Xvlz{/%qt麅7z;N;|"J&aL랁P8%Fҭ]B+&mj-zbUpj_Z0Ɖ<5H y4ܪ - @XXv-^DZ<&4̈́EXI^$V `+T,`(ɠea%puc D0M/9z2Y Mx^Eq lB[Ff 5Z=_h@d<.V>N`ÖO< ZEmO9{+,ӿAg#*9"j#r8[G^͖ښVgu4K.4M"1pS7;o H)#fэWYZ89T5 /!TskRd/1[9?P2N|Xc -^ Ff`/fYJh!牶"M'kqRW'`ħĢ;F~lAd|# -G hh}U9jYLd6wm{!݆"~p&޾4Q4NckZz7c -Ap0x0,F}9PEImн>ˬ R( W:fڄ0+~ᒭQ1RX7~E:v0"Oo1R^oEǺ#$J=0Sβ3⊵ -t_|"'@`a))w)-~/ -`PVAXjTe\x{1Ԙ~/lA k|.(te mT]ݽ.x>@~/)hY'"b7M,!ER G֘SMR%Pt'HZi!-:p7p%t# qhPyᥗZKrKMOqF&K-W\xà~es9X -6cNZ+=Լ -GRB-m KMd f'7 -C4jxhHx祀vr'+Y*Cu&|M;7V1!Eq䆊xY96faQnv{$h]sc1gV`{RQ`TuWE׮r[mC](v`M- -&n>2 -Z1ڲT\;f.y2j!SZ>#cM;$d ̶/*3bTto@=Ҁ~ '?![g9.I0$wF<}zxp'%cxAꁦQ: p_MvMkmk>xEl/'y԰ndBO2hM+{$%秩7<퉩:6h/ y8bϝ:Yvߊi !&G #7 '%w15i=LSq@D)j&SڗmKbjb/Xo70c1S~d[W9{4n(vu(F+f?r NF)!bIx/?8޾x Cy0 ҕBK)iV 9Maƅ Jcm \(D: azx.olj4@ "ea FMC\eV\~'(N7'/ic=r5C]HT0tx\5 >0YϾ7^ =nʼnO^m~11Qx#DR '@VJ}}k䘧Fw9*dʁ) )[aaڳ -h^Y&/y.& ϕN1-={lg:ogYBќ'$as y-9wm޶(Nv?4`ꏘ^L7ruЭrFd8Q~^ +{*2ՀZ^:dt/$d4 -g`@b̋vjVF7p22֋^ v!o*k/z4/ etgڽhCNѓx/Z]J{|$)DFOkv_m_G"}z! r'0R -E„ʐzķ#8v87Ɍ)j/ C -"h4}^ CC7mČ~6 02zmp_5(t ԈA} -;D`QT>vc~߉ N4 BO8H Ku̠V$ YV!Bʕ2\ dM8C';MzyT[Jр;U@?^'rz>S2a}uH,-'!H4T1& ""3T*dwa5.H)3 yFeoЧe5{MQޟo/$Dt;E]+ -?Y*i'_k[Mx=K V]'U蛜<M4r,Aɼ 5d x]m."h{o4i&?󨍂kc[A%ZC@ -'ԪIBd+fޠї j|њd7:k96}h4;Z#/F܄߶֍VK)i!ĉ]؅u޼||fcQS'+7ɧZ(%A׀}%(A'KcX#ܨ9`wIqm.a7W|w|+[J3OJmďkDLfQV(Ra '{)n@z`ٳ3NZ%,RDb*36N?՚S;"ʿZ| 7 HIyըSZ'_ۊ[IAm6Jf3>6ڸсiZ q@rS,<\e\i{.42 b}'ňUcMtbRї6ZH[#\^աn6^KYV͒xI;4 M%#u+ǣ4.|(͙W<wh+8ۥA46FyWX tI&jP.7бhY)g:0jC:L-ڊ'Hh.{F'C+aIqXV oڎ|[']Ŵfw*&DƋt4*dZN  MB!RsHYYCE2Z!҇0{!,lb[s-+h8+m㖃D,-p _Sj3!;FmZA"`)l=V,*ߥ6J:MsJs40lr,QAE(C}{U_jSiTl|"V 84U8+tm1ԥAJ́|Rh5Y3֊-?PF\TH" -5M[ N!OGjK #U#ԁ5+!K3`Q柳K𖥧fyGӘςEZ|&,(|XXBXëVrf [Qsjgԃ|^/# H4B^[B{x=~E1DB[HBghHq\ל\)?^Ս2LBe-W -A% V$ƻ -G0k',+eXX˂r$l*=.YPc -v:$5|r41"%s=`+N;BE+"dk/^́-fA=%(96`㽾} ':*v蔳E(^lkӣa Lf#g9 $kٓ{>TBoG%xGpjBhSso-A ~,uj:Ҡܫ(Y\y!jK/A'0)zY B7E'#;҂UAcG2v#9ȑ9- rҖAnd `VP&5/ :e@]w-ȣ Sb>-Gq"Vd8PjaAPF껽(R]'n]yG֘`ut64q@A"T]aQ32wp"]% F*6N81n >jgiL%U^8pKy:+z?}A8q 'qjšn30f~~+X+#%GͦtK- -Me:I5=;;xQ`< I(:jjı+έt@uE;1ǜ}y32S˓`C"L.ZT]I[Uzd^v%+Er,w2ʐ ->Q(cR߹vG[9"|ڛ؄ B{C׶ ) gISl;5>cA5KqN[cL:' gƯNb ! :[/C\#d0I6#i.."r!sx;Rw2VBF6| >|p̷ct{|/6bi6(6g.nƞSd5e]h[n۸w}),?ovU J ddK)У2Cb^TVOcc#J Q̎XZ߁Ls6$ה BM0RzzE]#s49V%H9dPкjIH}xOJtɀEq|1:$>up9`Z8؝S/uR욢6&#a\L3\7>|1 ETj,Ƙ2{C i`w2,_l5~ʻ(GOF4<\n|?M3UX4[M?{YSĂ'\Ksp8V8Dm! %Q's.CLvM$pSPN JBvdr9* s^ڏgq1A 6Td^)!!bͱpTDXЄO}GTO`˓(v7trnK (TlkfG O%KKg\,eoʭ\Iu2yw%Z=m$#`k)8ZBarRh 1oUE#*Ep7/yiɸF BX+HqUM{!XWyQ6fI;, V /{(b h]u*hv?GH8I^NhW5u춝$ ל- U6\clQմԟM;0& TxI8|E$bݻ!0y08-/HO O70}ppe͙5񕷳o(;o#N  sDWN B&\;҃0<*VKaQC] &‰ ?H'XׄDP p0$e.=sTLu!R,d"] YZUut -<|,#M+.nZ?I>i -Y+_ —^bإ(-kx0[u]azѲ)~TrRcz0=#\~/n.TE~+_d^j~Wם̈D1 ~ ~+.2\;NӻJ3.Fu8Jk%L _~" $ JrPZWN'ڑG|];IׁxP f)Q8Ǹoˠ8(iOmYEevѣTV%Ybn;?4yTq#dp^߂3Yv-wqI\7K>EZtvO_4 o`JbKXb qD)je':, -[O<̊JZ}v2T>a PMCq:.EA*@V7 ܺ7'ⱑ -څ;LXƷDQ0"C\fU5qҨ=]K `/$3(!"nif;JFy!6f_X+wÚ'F+;[E48Gڈ=16Ccr*t6~/ڷPhA)([kƋC=Ɛ donwmt3SfT_lf-򿐻yX+^=*X7 2 J`ҙ?;tf+m'.\wW+a5>=WvKMV7~DX˷Mq)g[':aGf#ߴ,-e?3g[2'CC#rw@b\3L$Өf!p̗ ԀwdEu1-IJ̅*+" -)HZ1R cDq, r1Dž!MȩjlX{TmᗕB=*쎕l@݌fL}R:?/&$}, ڽ}^٭M.^iO.{8upzJ͟o%L a[/W8EwAW*oeq@kS_kLQ61Q^Eq|%I\|Qw1y0f6 bj[#P_M^Cd?@{~z26h ‡Yo2T;zď 3+T沨7^#>bܗ<݁|5o/s)K]Aj|}-X`|ΧB_)q _Oq؝OOFSq -gUG L:p2H$n]aNC-ޒ4nV)*/ ޴}wa0XqHW?mvl,\qjK~(8-5#?k[';XVstwG7q Nn/ѫ%?;|Ew5~gfIoE'!/^߈\W -+!8 G/%]$2]V&?QZyZ+t)m -L-$8J@E T L/ -0rKw^n3)b]@}!n`0H PiBcat%uib%fB7%" x`@ -X&0! -³iIVF($p8"6+V ebj`< tEA NxKrB"D0`$ 1# /1FD%0,##/+H#"VaD_@<|hFZD%ep"xV@HN^H'( '%# ' (DJJFLZD%*F>THN*@@, {삂cgyJ4p(<%:B2" -Tp^d Ї z`I]8)4H7D - : *8#fW>&[,i<ÁCFS ,ATl VG ABt2M p!s! )  T2A - ? E"AEA eH/ .&g B:t1&{Qqg%V9 ->,%0#QaS$& JRIp`]P0OXYyhy`Ad@FQ38$ǃ9GH%ǁʹmp 0(CN:Gѱǣs6hazN>BXa)XGeb#3qJ&8aĴ()Ή2>Ѥt ADJ$y8kXPz@ -$crq h|&nHLB$1A5*62 @T - IZBXFGAB [",-T"9; -," (4Qq!*,)#Ar2gǥ#R@|@,DDF(!I~( DL 'N 0t&$ ‚x`Ld1 "2$4YAW>,) LÙz8$tLf-2 ҹձT3م* 26L>>QD:*9yH P* FA -I'<$D-Hp J+_U)ZTylM嬬̿U.^3.thF[me -wY2O^S7FFSAec[C}k_OA@QPc H%"+/6T{g֬عOm'.h@=OwiF|u}qMu^kS#g;Tv<RUU]jɭϘk6>/Tgݯ٬ƨ掾O1".[CSt\3V|˾O9ZnbWuڊP5>56\FՈ_^[mj>lwM^jk{)KeJn3Tm̼S_]{u3oFRɮi]3m:Ǽ^x_~JO34[ɛѨ~s.Uیv\Wծ~!RWe{{enFyο ٪[lgWaڛWhTֵKEJMwsdL]zlW9g?h@wz\[kj˻񷗕E6e6?Mܻ{̵nwKus}4t{S[[#-Uyk73v;S%mk?5jGzwSm/f4 gVyjvdTꟙ^jzEh^U!sn{g.?hTTzSjP]{_.T}}e6U}N_TPmե%*Ge*{w_eTGe41͊D2fPQ@QXPS CUvQ94P<0,&!86(8&0PF6T(Az8D:{5ٲU؊,V*6VneEեyU.#L{sC~|Ntl=̶lkO{׭*6d6ew{5+_b.~#WֶȆo;>cZ=s}h{s[ww;#GEUC_~=;[hb{Cg]ͼn3ix2n{N\\PQ׶k}cb:#fWOd3T -V殽D[~UݽL~tD]Mν|ny}Ok٣JKiklT^]﷽3_mque~yj'*.Ty˯/)j%/ThiYg~k.ToiٖRiٙ*&ZR[e5|]vU>2yGujz~KպqWUYq)w=~FuwT_{-ltScŚzٽȬɼS+.mTi|UOLs㫨/Tjk6y3qGo=M~T\cGF^WwxoU#&.}Ufw Sv[&zƇ -Z"K LiZ0rYJ2 -F/ <,X{=._3}'.LCShTo1׼uk溾nǶM\onٻL LKHFJ5c}7}22:]e6.Y/3~EdGm>+5ktgo۔ݒͭu}9+eUۏoʬ~UC[խϛ9f4J̎}nxlmjk?1~tjլj/ {U]U=}%JGk_viׇzvﺞUaTiz|oPMU϶}5|LfUeN[|s7O,{:}\kguSslDC;[͗ ߽qmyU|!::=/7Uzk+mU7oz?!f)O<{LtFLok<{ŝvي}~ofm:U;s&wr&rNznzUm?!TΪۭ֝i _s6.:RΌF/ZNuʻU6ZvTʖhx߼hxy?u*^WO3ƱP(R!̌msSHP0@ %IPAGd9L!!BfFDdDd$I$j'\[r ]9nYXc.Hg=DS-E%UL>T{ RϜ!MQݖ#1Eˢ? c p;Ӊy Yp`+8;T -73: D84+upm .\73noa壿W#+݂CjFHھb -#!eqx?;:Qf8uN"iIܖ.p6wg0njX]#a]sq(S|Ε_˗= @Z.7UtVvs* Q9 +gf1> CIX"}HǙb-0 b|f@=i'؍`?#I3/G>-|9,gYvHD⺫C\kt!(A6:(ktڮ -HtB shRƣ}RlS ^"M^:ED@#֜b6UjgQ w\JrAL8Nx<>%yH3ҵ .=h@6TG\l`szޜŏ) 8{,VA 0@S8"B ^|rBys~aF"d-{/Bmf*jPRҕ{<e$t‚NlPs®pp6zSR%Upq,kEkԅ(*%A~^`y<5<,*GhuZ5oXI ,zN( ) =ٱA -qo_>h"tlCLJfXHxe2'rD +1A*/B?@-Q)˕Lp +Z8y,N* B¡_>zAIe$$po )x\gn@ g ߆Ϝ :4 -s!Sˠ kqbN{=n:QdꬦB̛85()GxpHi^يGɪΓuݕ)i?;J0x -'}ҽDqGO@ *' uX L~TDW 9菅5? S<x^ HjU- 1DU -` 5AxDAFpAH+۴(qEjg}wCg!OmaX tVSkBMAm$Pg计. t7Ba9m@ s\^ L`OY9H^w3p K2T -4їd}#ɩUAJ[Pg`_}$6k!߂KsW"Q -G.PXοlg`!r{zE4_?"w["xUPME0(he^ͦJt̹yc@,R֐\MdPcdf.SB&7 -QHRٞyN^hG10E -@ I$$EgϺ95j#[ -2NSN|0Q~>i_7cJ¼*u\]{2DkRJ.#r*]| 5p@M4[UJLv])G9ϴK%ˁ&fe2C }YTh]E*\EH-+q- bD踢徾#jYT<-9{.vϵTbYO7zusS^Uze\`ĕ7 e߀#9xWȞ\˲92$1s XRu(2?9xeq^ҫ^(,A_ -]ְ>x!;sb -EeNB^%C ^M.qci=J7v[A+ܱ~6#1y6bWU>_YCv|škYHkYJKKJ%@Rt&,2#^$qEv^v.ɺfS!=z f, M>,i-sP*Q]KۈE[57Efxnjk Y1 6SQ"-Zl0nbΨZPc/ak3Cn/5?*7 {\!E춀]{X" abÝAqG7lpKz))u%Ps5QF[;: rD/bh,р!Qpo)Xރi{y%WHz*Ԗ .0珝E]-/ 8%]Iٶ -afS9ENcaD{QlWeVD$j` -VR 2 )<Ka'rqV568c( n3h䎹4"M|X۠HTQZv>/}ZsOOqz?03lG91Pτ21SnWl(a>5xeIJفE͝b>y5rw=І\>cY'M+q4(K9!%4dL6|G +endstream endobj 11 0 obj <>stream +%AI24_ZStandard_Data(/X C'D6+ܡmS*gD* uW~t$u uVn+%/u6oVγ jᯊaWX;ןoc S 4ǂ­h C{إ?˯}uGEɍ=j0[AXrV~rcn돩˴vcN=Fz%'˂͟jz5!J-r=&;C1vCp֟F>o=߶7g^*=ڹ`Lba̷=6ƀ?@ןzeWtI-uʍl˴nR&״99dZ0Bq~]唒mo4ɗi7iѶ5նͶƷmomgڀѶ3yi`_˴_-17֮~ȴ_P,w_dci1V*1\͟fSjzf}ii2smop7u.z!wÒ ;(%AŐ,y9BKpA=nonq6ѝnu;6sAr%7Qr|w{a^viWڷ{Azя>H_zӟW7zCPGKOSPWaaafE/b((b))b**}#88#99#::&I IL#ɒ4ɓDɔTɕ%/{K KK,K0142-S3=S4MS5]ӭr^PQ%R5SETUU+_Wp WqWr-Ws=WtMWu]WQ UP*WjhzfZd*ai`STESEODKtDED;QL, Os5S4KS4ATK,˱ K_R%Q2Jr$CғTGt,q G?qSKqCы\\M0)`LK)p*Ǯ4q%Q,I$Ly:fZjh!>Tfh?IL;CundڪiY)b}3yiiI99) f7Mnns-R-2-3--,,˒,r,2,,}^r+*(y&i$9#)! Nv\Gu̴tDs4r$qpG?{*b*)b)("(z\ܢ!!0zTD4AA A 7zէ/=G/Ѓ_~vc{3 +O9Q~r#9=s7_}nsnp7;2 !TַebwU!kz)[΋vl/Ϧc_6Zun_N fn\ {nn2=Nr[r;mz68ճ1hkѱZuˁ >Kns\*u_-F][>rOcs m`nAbcԩ*T?w-2-^9,b/Dd vk؝9pLʱXe}*XLl7ÿw5dű,{{&=rʝYӈ1wvY\Y-(T} +V(_4rI"ɷz|-I/a'P,9Imѓ{o$߼p+Kqb{XIp|W/6Yk_1j]?M#?ռbd{c{Ϛ[)_oJEۦ>5kyO=1>"//Hz=7P'w)nss=Yޠ7Bo,ݾ,&^oOIIa=򰇻=5/9 p캬AX-r-B`4njcLEzT;McLk)Ę]R{nI[[ßn6nz韊gN W,]iCIR<n,- "Yr2 K/$p~.=2 $M|#w"*8]i""?pl"| _?E~ݦp캭 ajE[4bc,|{e"pHu=o bvb-2ug2m۞|T2!;2-b\#"U('v.ȑBQƅvpf.%ɪTL}W 2>d0G>0gL3QˢPh[;76[z2M\# 8zBKB8UͶfWVWI"CA&N ∑!07KYv_Ih}NBVVd]_Z txbCucB1zd@C>෻Lc!e"uBW:ԑ"ylhjuˆ 䛬Ii4M5] PY0:~->7)c ِ⨄˴VH^t=Hqı/](∑Br!IDo2|(4IäL:; ^,:1M'T6>BP \Uϡj l -o 7chz`C'tIi4i@P9]B2œE?PL{c .&0Eqpփ% `p^mj3IL+4 R|`.4EE|Mx-ڟ"qH 4;"AB9]:OޣٻVz/&h/f>kiDg wA Jp/aQdxBqp{]T/ 2=K9B@ ٘*9|8S=^L] L]mNʅnU':Ǔ+ֿ!u4ܷ֔ݖŸ9rmw{ n}۾MjSjTYvV1.6#k&qP8荽\z[1sØM˴EϕU#ݾܷ}=!n튶zMx\ M9QOz5+nEs}[PWE!8j!X~HTSûKǞ~|Urз1$ri7e.k@r,˲8b}??Z\8w/^} YkW_3c:!Xdyߏz8N=1c52Oۢ5ݺo5܊sy؊1]ey_6}S~}}XmVbW*]EmnߘvU;T?2 sϬ7[1筓!jqjSmv+1;n=[XVbL/䘳}Vcf@֮Jj8ǘz5(?zr<2!{XVr0@ 9~}9+(1Ts @K^qMR&N,% !4<#\t.IqIP r&ݻ1ԻLK_#VV<uN҃FB]!(h#h袟MlbFVb"hT*\Rbe؉P\h1@#4bK ++8e_D׉Tt8c^ɼ2V"2/0>,"y2RO,.B%P4dI9.Ve(](L(XGm -uWBRIepɗ")B*8Gհ@;"ti jxNdk)򮆫n +|e4GY!$ŒB]FX Vba%r@ZLFIFӒQTILbI,E4bKJQcK"֋XJhԠa9؅*]E$THe@>8B?kPg^V"|,+W"3+A.x&>`,`:ff }NN);388yI,e;x@u +jZR$B hIc:teZix1-Ci D7h$ψ-)wlajF0w6 ] ȉF'2)PgZ'2u"EIڙWJ?=exeӉTt*g^4b*[tBgשxqXB]T:.PKq`PtBGվؒ߾trҔBSfWlt*5ДzOy6ɤXX}qFSoXţ(P#L4tuVB:>iKm:jEű"Ѓw?Fm3jcF  +NQBIL[i$T2R`IckiM4Kipp^\N WnV*H`iA&4&dpJ6O +"FEe`kC[DhP\pl9.a=$M}aZK/D1 +;QjWz)W +q $., +7Zh=ؚ!!]8dYTСBבf5H;a˴O' yI1Ji˴,?4NDFȀO\ڀ.:AE8G$:݄- >Uz9z Z&EC<`iqltlN$+A'%ԃT|3szW@)B^f&CgE\F}I82@t J[84kp"\ +E.'cySzXpq҈%jiJ 61(v,b`sagc¬˛@B: "0BW*Ih )nT] +@ . Ei !2m&dTf ga_.y*I, S.) 5)8ޛD0plxC|[1ܛ9Ē2)|a.$ Ӕ:jiXX<*&]HhY0Vye n>J9O FL^8"\+$.2,Um`. +Fi/Ȣ /eʹfP6A2.kBda@)c蔃B,@PF˴ 31'46gZML#Znhl cchC_J[2p$$fP1‡?F  d9@`/VpxTRK|=4N;#E%8" J P:$:P@bhz@$;hdKK*r[ s韛&d/gMHUDK@,qPI7̦C'pp谻- +AtNк?jI<$  z+q@Sl0e(ZK#먤רuE&CHdDFIf;,&NBP.."..0  qrEdNAgsbas%]DT9!瑬d? pH:ݗ㢁:JٕMe;dɾEku +PkS3S@"bcJHgD9=}j, Wg~ō?ajOGrѻUc?^4PI6<+Ug 20{L!8(:{23U7&ֱ-t-P\g[G HLn-B抰 ZD"Mw(  $4 }tTKt_&#ł|}Y}Dw"9 WVBX+* p͈O`L(IE| EG.ѡ3aڄIF:}eE^ULjF6M4ڜp`;⍖O B #'N%oYjHf&n)EjJug6X#V4q1GOC N9q+B*NA]lY>+!zWⳙ_An_k:ĿXKuÃ8GTrB!WƲ L<^Bh&˩* Trg;$!B3c .+mmZidyKR˙]S ?}tϪ ӊIe`N +qP, 5m#Re껾ZK> 1VDj/rHws#n[ K#|$3n0e3 ] %l;΃bdVp . ùNvA KcCG4 (Ll͚v3Ik"E7BҦF?9$78:+ apю8Ol&@6Hӥ:ڶEPw1>MB(9&āzS8xrwG ?z+0CNZ2s]g^wr- U6$у~UO<]y_</C +OPнn)+Xd.0/GRRXvZ{cF>H,ojSmOVo Kb+-Ĉ^CY;l󱥃 T 'qnHe8fn09D (HRB NDŽ/ F Sl&nE#- Lo)4%UaVK,f*+E+:*;hJ]wG]34l|-z3Rm-o>Y +n( C~y~ڧqC΀Eg#|4('ϭqQKW}tq6tY4,u+'G{D7(`G[QXQVI|@-bJH=pn8Z9| :- Es¥w\l4$g䖨QidLb s^wWo*3Tx} +._aBf Ɲ"uHVqE}SU~2 ¾3`DJvcG%iQ. MN/2/``[baI\OL7+Lk0*Ġ.# n V֘iϥKV"A;렞!k<Ϋ.Vrue^wa9h(.rg>xp%Q )m9qo)-Ns!y)ȃ+ҁedJ›|s̝$̃x"].o3.<klN\̱̲2Z?a[O/C#a\E^u ]f +2O2<}ݗ9Ec([.k^gID򧎭vTt6j][2bTdQuAE8#m|*y0p GVt7NJ>>YmES&[`lEa4'rqM#I:DS]|Fv=l\\(V9.k7T[JG L( qb լoWؙ>0C4à v2a[PmJmATPes(h۴{@f:cds:\&^MPހ1!폤(fN)Џ4>5RZF@E%tߘ_{eMwmmPql0;iڔ]kF~Z KT˓)˚7gJ+c*Jk/<BA ح}+V% 5r ,ct-.Hm}w"$%Jpt]Xx=wq^@帨 pG„ޞŦ^ßmzDT;3\^yŸU Z '1g>iDd; +;!8lvKvL_5mˍDt&ԅ}+\#MJ8 + cm۲{* µC+dcsbZMFBΐ#knJ@2͵2CJ_=&xj:NHmn%oMӊ˧Y a"hUT4la߷rl+孑Hǫ稁4GR%rѤ*mo]p: M"O4;N~c wQk4eXϹ< joK +/ xf|v>ܾgs6~Х7.Bޙ)W\+LDmwc J|>Be̲U` {hOTp6bڠbCK Ag4%!?Pꤴ\߾t4:#܍vՏ- " +M!=MNDn fN$|䁚iM= _w}9ջdP4F0Ev*I ]:] +wPyϥdLskwZ0chƐ4vp((J4#? H")-?ÓH5kJrMl;j¸\Ng~'p|'L +c,K{PYFYփ, bH=+X n<h/{r帊k->Dp6n듛Eژڂ\>y" P4fh'&F{?]9MGb-%ƒ}lm-Tn:3Rb#eJަj'ȸK~/O<>F© I0.lUٿyUNoN͙iSzyG'pN\&dOתn*J#UAyipF+2җHjz{bQ5?)*_ka$ZX( hO܊x@G:cᾕ1D85A]Z-> +Ϸ\8qPR6h)FYۋ1xFuFF5^s 9J_2b-Tͧ:nb5A8t`6 6*(c`06n"7sj"L!Z0@먚l;T}`@s߂o^K!u~D0P/50h_ /{&vPяeΌ$+AP9u摙zB87޹tW +8db%8>alͨu`|%"=?|Z[Aer'cduJ'cGx!]}tDJ> 2 In@-+#XNfucM<>[C ` CqKHښbgM?&Q cs4%!i>9eK=h<ަUe a%'>~1uc2h ?=QWLM<ꧩij\"NSGfSX]j{w|8C;e0ʧ8_2Z,>obji6F^(w|lDL v_=g p} yd L`;ׅi~DWu|剭NX=ej. ,j 3yzȐl8|1 7_QBxoD J+b-Npyd/9! +ߦ-Kf4ͿtDZinT;I|#? &U _fK֟Kbkp5:3Zv[% + +%6ETܓ}\.(ytC_HLVB|]R$4c5L9Ɓ]Ѭ*83#\HCw4i2R>8^g{x܊D~O3[\m6e&<130Yc3@VϭQd] +&w)Q3yR"+;0;DX` Bb< kʃ狤:D>&s7" yGJ䢵> aVz[6<N SYxs&凬6-[(\ /(d8Lg|8pxр"pE_^h7LFp nwўhv7eXN`hS,dužh¤3NJċnen|yCUYv6q~щ-2\(L,8%A>Oi;Rё5'/C +,< s7(5yCfd^8E4e&]4\3e5P?G_F.Q/F[\'A1[&\F)ȩIQ!Z$/pN0g7 D-{mn.=iXQ/$U +W#sz`ݓe6E]0L29\ۣaT;9{]&}2?cU{J+~-UQD MF xE}᪣m6fj4fA`0ym O`G0֤j 9c{jU$z!}ԉWr# O{{V&c=L4skZO+`Rkř<%i^oX9 5T ⍞vr("Xhn Eݳ`Ammԡrs$A 4h;o,ԍuubpKD~ic4 xsFyb+ΪQBt! Vi?(磕G̍g,Ӡ'h%H*|iVGEș#yjB:C cD]%HH;+y~{qom'nYĨ'&(LPD>F^,XYdaǬԖ +MFdis>"kr[L/!Wq7v3Za;SYWV[(d :%n!<=ϰVE0(z$* +V쭇z$H,ńa*z?.x2FraUq,pR9"JQtt/Zb5\pb,0\HyFH7cKs0U_@!ʅ~+9~,B(ي'V)^ ^h2[)]gP[W 띶1DJkKTu͗ +}M%>y>~m[;&b΃fPJ +WX9Chsn;ٱã.,>]X<:$18޾8aW+*4o{e Qa5y=RCOTᵢu4mD.uipWFضK-{G} ZgL4;8y(Da*45:*jԣ.TG 1%f/eyN@_&Oѷnd/ k9xHks(Z \[G2&=1aQ U8AاŔd&0A^c@?rҜ|όt*sGI +=[ȿ̹E0NTtO"ĺ,ZɒMfJU 9KiaGfB$+I8{@-d*pFwZV(̀6rp-NW :Đ^i莬ߗF􌚙ƻ9q FǯHF>{hxfE* ^MB?cHIܨ e*^tRVE0IcBc=iv!׭6;vŹ!ܢJ3BuZ8 ZB=0P'aӐi9ΜuɑMpJ97+|ΧpP+0yNnҜݾsfVvgO3\5-A](siHD%pc?¸S$/uf@=7V0Cgb#x@ +v#K2Χ0u rV㶕v=` YʞkX(Es5ø!_mU`L:/N\zY Ξ!(4`\` 1c*; *\n.0WlrCBA8\CиFI Xx+ +0. k3ujS^طӋ(9sLaD .5Wݦ}U8#bs8ͧ@/P!Se1P{laYX=yzr,2t^+< kGE +\$_c O⠫t͉0mG9X48@iI*z:KB=K=5+8A7K0 bM-s2nӠ9hߖ:׈wUD" Cĸ*gwcgo5s"cձpj~&psYgf>3ɟmmVlk;Xʤe('EP!3B#5!=<$ЗFBAT-ĽZrp6܈ fP\DK"h#ʄBWtEo +8>Ec]umJΪ~soXJFUҀkVaE  Od +`T5 $`v\ȫG6 D6em_8F 5s`c>0xZx@31֤@>h=u庈C) 6o_D*ZQeNT +|R(U[tr`\Vy|M*DaN5 G7PqTX;#pʅC/gD4j*Y^եlj@i;$>Gު̻q n#BXަ/(7`61%ܻV$*KW +ҾA#mX-0˥5}Cҝяtg ?\OaUO//r7IIQ!<--GAVkA3w_u w]i%|y,`*ǜD/Щ\Ta?XۼYʜv܉Y#|o m[j" +տs!NR1S*IaCi]ʣ)wwQƂMEPVJJF!3+_s= :~,糚~3''*"=Ix@ڽ$o%kD}6(|oX8[sWKA?`xR;afr3ѻIƅ~:E%[C_3 tQk18Xn3Vߏw& ^+(NÔSҀ%5+%p_/Fho%RV ybuYJLoڹxJU9B",*ȁaO2Tr4/gd'.4Ě]ƅY(?aʙ]~3`/ů3-`L|o-er$8mD.S-(V?͑ =9T ANdA_5 *'tl$̄4\ۨ~ZצϏ(5/STui1 +Z!|D9yc3B8C8^ZPҦsԦA֦ZruQ,U0>wc]SVcsx=\* +|GCFyi1)H;I*<J3#y1aXB0_8"H.%Dd >YE [?l\`D?&l'4{)ПP wYwBM#x. G<[*BߵDs`eaxd4 + 3{6ē%W##n"z $bazwI8.\E[Z?E|d_iΗb @ +@~jC.|ͼSEMG$"(T{}u2JMd%^(\rUqcVc^TX Z"4C=5(# c<-* "/jI<(Y@4|Ux%$oI&[j$?L#鏉[1 +K4Cǎ.l;9j%5lÉ13{VZ hs)(8NzZbc #sWŸ^9)tl&G$93v[B! +S*ʈIecV?=I^ܾRy@XODԨ'K4X4ϗ9,$1j6D^m +ESX JL T-S=&fŴɯ#p͉@ZMfv1l݀3,pd[@sFǸxF1gaDA/ +Toۡx5I%gqL%y4r&+3qg!3`F\궤Öl r q2R^F*\/iIOج⷏7 +>ŪLpӿStG8xS- eM`5"ǻXia[>ul:@3ZNH܈yv\$pvbJ"pH\̏8m%Ǭ?a_)0ٜrSOP7bʮ ~9|븷I3S[E%C~Lx)x ܩ~Y_k%y7mpaQ@4L 3GEbx$#L= V2BLQ)m۠3lpmxB}*Cg]Tt$/w ޶>X*8x5 ;k\-6țy.ͅ].@Fu7Jjm*Vkd퀸C NJwQV UOo](@us ɎfJ:\oϴ{fsKnVಎZaGŲY'C'U~s7@jY$7SA*CƼj|~[r?-Oo]fA#s*.hϏrqz<2Y(~8CjR dd v%=fSХj|v?Ly;yBb 1jy5\,xB"S{y3YzifaxmnA^956<~:;pt~r:__'x#,c+~[X* ?.!:1)l"6;FU$%el&o7f ȠZ%"tٕ'8CZdzcD2=j.ٯSņIfd"7r?uI#^A!n+JFd.Yod=̊Dt(37TS Lo,d`6iz~%O/4p7P )Do|ť.,]8@㶐uGDF0&{34Oj8g-ӑpD8q=ujq rHwj;U;ƶZ?!5BbfωLBV `)Dꒌva#U,khT6(r! != }\DBH8# &mbEJ)?l0pPO<,(]@ܝ$C'a N>QF(! OCc@>lJ΢A$H db`@ۂR@ %d 66" 3$CR:YHĐ(>NfK ay pqiY"QN{w<܄L 08U$Qh崱NjǃBȩ3F5R8"pj1>]łl0*8P9ƎB!cG*LH'd!CwB%@+0Uf0VFQbX=q(j +P**6/ ֲ`V,3$bUSY +&L$R*4RQ2cbSC (Ab6 +`F , äЀ +/1,؂ȩMvr `* >dV((LT0qH4 !52qDfF"KGeH| DRV-R$(#3dPpWFUB*AYQT@'r&0Dfe/J&p( ,&P$1-9LA$ZL!#z P ^DEŁAH`GѨB$ t<&fY; +Y,cGYǎT>'+PhK g8UvPq: N e*[N(aTB,2 y@Dd1R"TL"D)K{mTaoJeWS^Kb?Z/[f_jv?Njru+k.s}xLckbzWLD[Kcb}]_<\ί{ΖJO34[~s.su]B^J] ORg+s;sh̖E??v_xy)^{ ?Z]uo}m*zݦZdL]zl:s;]?wZS[_ލZdSfĽ˿\vκTW-=wRno~jumomK}\U\ v;J\~wknՎԶM>^?34ﵶfw_JFJ3x+Ǭ^l4G?[J!sn{g.?xX\}7TnCp&ի~G_s}l|UW&v< +6Kԥ%*Gebz/y?VW}uQF:~)Q|ON":eʧcSB1 +t(5qcS(Q,Ƞ@G-t<+QQH9}- (P>|:(x>OE36́԰NN]\X,T |Lx! 0T B +!5*Z,P!fZ± rŎB495+8 VnbVJlԸP0JrH lrĐ$ q!Y!A!90sDCɁ LHNOcRrrㄤdA(`di4r`ls8$$ILR'QhMv#$72 +J"D"+@ Nek[-8=dx~xQXRM4XTDʖK̊JLCÝTnT/+C Zd@ PT@4qD+JJJa/((`tӧIR29@T$y&DtZ \ DHǭܘ}tT2:*i,dSe8 +:+MCvƌv؅ÂRRxaɀ  RK{\|T26`H +&R)LB NL;VD.@%:4FKdD iCFZx ui"!M)A&FbI90wUC@H4,1mX`(\..D %! X5P\NiH`@|:48X`Dadhp`i@C$CU$D"h"fƀ4Rq9 V iEʀXR,ᰘBLV& f>G2-,x9Y@p0|XNB$aı2F0>ɧ:\eG\熬{~mY[b-~RU}w|-}}ǘ{欀>=M_[ww;#GEUC_~=;[hKzM9w3n7͎GA*vcˎGeśݝ+9j#*vbMOuVTgL0ծz=&ilws^"^z*^&?:.&T>[u>Kvk٣JKӴx){vI}흞jS +:]W^槙7zK*o5=9;yw%hK=)wʿ=[p&mɪ.)\>;SDv[j=)4>w{dOJۼq#ujz~KպqWUYq#uhi{yhl[hJ_{-ltSc56{Yy'귯xZNO[exؾިzgkjô]2~V*ߎ~su'F>3V\muT2qN[nY+jfi 9oöum~vbü4<\IaeQZWRxkϭq3YO)iGv~^濶CD]K-7*ު?g3m[9m)h˿?CŷT6W^jғ|kSu^y֓zg_J?z>/TmfRSʗ7Qqqy+wؽz^>[jyQ)Wsե"TJ-qq+~ʦֻ2^uTzu>g;b?qu㚱RgK(GdܶŮe+j+JCѰWm7bOB#7 ΍ BィB@qQ!aȾګL;q5umgjRxXo1׼ukvl;n^D̵j閽(PR[蟻·nyK[3=V7Ÿ2aY/W997Uu36ۣJ\o?Ywm[vsrbo۳\7Y3~-fK_Rll˶~o+7uOm-y/z{2]JxpZ{?/M;;ov\Kig~/.e wbgZ3ϿݿuNs\Im]zv7:1+;5^_gK?6kn/d54OlN叟˸wOoס\ +-νLPqe.ھ/yxi.թg-/wY/}.ʩzڻhjВV[bKDg]3QՒqw<"#h!cG3Dc\[=FV4Q٪jO5]w+ynjvmܦln߯kY//Rf̮z~nW4>_}hv˸fŷMJ.yϗ;>~c:rGMoWR{ihܫ+YtDkex}ȬkY;v^jb"[*/lk~dճmms_IaoYv&c3*c2-zdu:}\kguSslDC;[͗ ߽qmyU|!::=/7T[WR޼陊̇vhا+?O_x2Y1ͮ}Ww~e+ڙ3W_3}sRۭ۟ڨ_gk>H[vA)*X=ur3!K[bڷO@' oRp ?=L@0 IJwo0?:lhj\wd"N;ODV HN') C|2~ݯ+;oK<^HψzF&H6XpjhEOvJG"a'.f96#eX6zfqiՏ8 +*)mT3D!QVßsҵ׫W!4oD8 W9!-~ 4XC %EU`ˬBӗńi+r`0λjݾ}ݯW=  S璵qf~p>{;kWELrHEE|8^(G"V<Ƿ5Lr @_ZwACoaX-›}-a&e:i4 lHV,2 |) N2MLH5 +)! \ zz/O +y4R*?ٚz?Ǟ%0*GmrJᲳIs{a<ݬ,v K䩒hks\0:ukNnIAfLL#>jV*}y+Z *,YQ:>}sB5y X&qCrTՈA)9ijSwRFXKk 1Gj +Ec:qAW5Q<%9XT6}:!Qj4i[ncy`K)]W̖pOZd=|m*lU+_L/s[.t36 Z wH<`pW:c0)B0v%q|'Sv*\Svs%X%yLCT(rx=R1{xƫzMLSY(phƀzJJX._/Mա57SOΌکݬ)|Ϣy'71Sf$)SNa .SwEAdQ4FPGѠ̥?qAh= P/!6SPG :()\Ѻ\7emf"kmۑS/Hinj3c,C$,сGzl_= s8ʅi6y;hzݦvef9/C/}!뚑"оȽorAp +f( 6`OQz +f|jE{,s$X*+3*ӯHF阅 IdNX,B] T yHeFX3Lxj|g.P YW,#jgERj;g}92=tWk0F?)ZXQ[2O[ht(tjfݩ8 >*&*qUTNX!qC\ujNnS-QZ$ @uG5wSb Ppa0{ƠC*(qh5:7-|P]S"oj{,Jt6Ѳp fkU̫ H}qS*"3tg&cC-װ방Q33a-GD6;$t$- *X̅GM' €X-8଄[Էv$˧MpC &9'1 +jlJ<{ӸW+7!>b\nŠz*/Z xo@szj +`2J-HJJPr_qNFcU \yIn{6b2xM%1|%p=X%+{ECkvF'Yz U@etrߩh4Y# dd=GLZ]6(mTBk]Ȓ)3K-Ӛ(9*{rK?EۈMx/iв񱃖UJ7{<iXRVJ =-+dmd)vUpYXj@ՋRUWMV􌬂ʐ+x02l0#ޫHU2&U4Yu.Y|h%J4Y7,ӌCUuf ~*J(ud| +b78Z&潬D'X03o{Eo݀׮RhCjX2TGVd;]Bdyjm:3 +-DWumm6_\7?(@E_?hX2y_dd=-juoH݌Լ[XYnm|hI= Z)ZQR^JoГ:a`tqs̮E;Jު-ąoz}#MqeDNqdQ3x&hQ85%3rdbb ZJYn- a-MKo1d%Tħ)S (icx_~-~3Yc_"32Jz+ +hN<&(Z; ++$נ+VZFRq:jjEv@ v , kLVi`d@dLꡂ@]> 0#xFVñ]+'o۾OGeTO 8u2YBζ6:R NTz29{gN&8E԰ E BKwq8C[H'rRt3Lp +m91o$r'8Oxُ@C,qFgp%r.X(v7ta+_K{*o7Iܝ.S6yyG&8[pj26k6Ub6N!.ьj^FANgS.bvXHanٷO:Z(W!y %{5aIa +q1&vT6?74>DYCm ind5ojpvK~DwP>W}@tO1O/ٮ܄;*hBhYd4]MVUO (3/o6YYªO jM_"EtDpariTCS`y_4xcGλz@m5KX9j# S&L(OkIBo:hI=8h(G)Ds`h5հSYA&ijfn{#I'W];"qx7nXxEe[|AH˄9G-`/'\G!.kW5bəR&w*b/_n$ݺɪ0yZd'G}u\ozg[RJ +(5Ȧ +,.  +6~8zeƷLV0<(>ɪ>~#}VK<b/! FVL\jjf'_ܼI_z67o2 Ԙ/{μ +2Bz]\;ym95j/qHta[ +sH6-fsV hm/'^&렲؅m綔r2&K!K.<l5>.M~B˨ 9LrdW u1K{KNҍ=o0Fj3ajDC0'9vm:h]lP9C5w>%uj6RӜP30dMVǺkkWԳC@ ۄ&UBCmVPc#"& ŒZ2IۘCpƃ@SBv;,AuE6JyT-P.~>U0~}fN%Ҹ`Au";5.'ޢ{tLQbwcyݷ &.wN7Y}"dYΛtUQX3U(ҹX[W9(VZ,Vu)#g׷iq fzyn`M*sX]HNvN1t \) l<_]b/f^*3zNq ϼۤtVuƄ֭:]7߄VL-&c".WJ T PWE3O8_Y0 nV0וgԬ+ŚE0vkV:o@'KJ^d@֘W!dy k},"[yl X.LUuD㸿֦fCX_lGr}g-߰R>Mh}k[q/<1Lt8ZK<<%%RU 4%{кtܵVU^R+l"089ȏc:On1CL,͛QlPTi L4L0 h  VI81XϠa9=qw`|T/OpY3o86qY]G㜄x ډ95ɂ>,[@R O[VgA>`;>9z׼1d=ZR>'wV0Kro4F9182l ňR$3O&I ;p \1w99N9 ; l-',٨T(#0 W{8֏9"1FRxZ)V&V 9 OcQ/疲~8~u}-?{XmN!@aǻ!XnʖJy[1pp QB=k^G/am'@^N+]AOi2*>stream 8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` @@ -339,38 +328,38 @@ E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( l[$6Nn+Z_Nq0]s7hs]`XX$6Ra!<<'!!!*'!!rrmPX()~> -endstream endobj 18 0 obj <> endobj 25 0 obj [/View/Design] endobj 26 0 obj <>>> endobj 21 0 obj <> endobj 19 0 obj [18 0 R] endobj 27 0 obj <> endobj xref +endstream endobj 18 0 obj <> endobj 25 0 obj [/View/Design] endobj 26 0 obj <>>> endobj 21 0 obj <> endobj 19 0 obj [18 0 R] endobj 27 0 obj <> endobj xref 0 28 0000000004 65535 f 0000000016 00000 n 0000000147 00000 n -0000020606 00000 n +0000020574 00000 n 0000000000 00000 f -0000020657 00000 n +0000020625 00000 n 0000000000 00000 f 0000000000 00000 f -0000023264 00000 n -0000023336 00000 n -0000023476 00000 n -0000025132 00000 n +0000023230 00000 n +0000023302 00000 n +0000023442 00000 n +0000025098 00000 n 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f -0000060145 00000 n -0000060445 00000 n -0000021026 00000 n -0000060332 00000 n -0000022630 00000 n -0000059570 00000 n -0000059618 00000 n -0000060216 00000 n -0000060247 00000 n -0000060470 00000 n +0000063561 00000 n +0000063861 00000 n +0000020994 00000 n +0000063748 00000 n +0000022599 00000 n +0000062986 00000 n +0000063034 00000 n +0000063632 00000 n +0000063663 00000 n +0000063886 00000 n trailer -<<102DB4876AE0EA43BA423AD60363629D>]>> +<<38F5352827D83445BA23E23F4B5E0373>]>> startxref -60662 +64078 %%EOF diff --git a/public/images/frog-shaken.svg b/public/images/frog-shaken.svg index f65fcfe..7240949 100644 --- a/public/images/frog-shaken.svg +++ b/public/images/frog-shaken.svg @@ -39,7 +39,7 @@ - - + + \ No newline at end of file diff --git a/public/images/frog.svg b/public/images/frog.svg index 965a088..b5767ff 100644 --- a/public/images/frog.svg +++ b/public/images/frog.svg @@ -8,25 +8,33 @@ } .st1 { - fill: #010201; + fill: #fff; } .st2 { - fill: #f6c3cb; + fill: #010201; } .st3 { + fill: #f6c3cb; + } + + .st4 { fill: #8bc86e; } - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/images/mandarin.svg b/public/images/mandarin.svg new file mode 100644 index 0000000..f8c7270 --- /dev/null +++ b/public/images/mandarin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/scripts/sortMessages.mts b/scripts/sortMessages.mts new file mode 100644 index 0000000..3f14738 --- /dev/null +++ b/scripts/sortMessages.mts @@ -0,0 +1,194 @@ +import { readFileSync, writeFileSync, readdirSync, existsSync } from 'fs'; +import { fileURLToPath } from 'url'; +import { dirname, join } from 'path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); +const messagesBaseDir = join(__dirname, '..', 'messages'); + +// Define supported languages +type SupportedLanguage = 'en' | 'de' | 'ru' | 'ka' | 'ar'; + +function stripEmojis(str: string): string { + return str.replace(/[\u{1F300}-\u{1F9FF}]|[\u{2700}-\u{27BF}]|[\u{2600}-\u{26FF}]/gu, '').trim(); +} + +function sortCharacterMessages(messagesObj: Record, lang: SupportedLanguage): Record { + // Convert object to array of [key, value] pairs, sort by value, then convert back + const entries = Object.entries(messagesObj); + const sortedEntries = entries.sort(([, a], [, b]) => a.localeCompare(b, lang)); + + // Rebuild object with sorted values but preserve original numeric keys + const result: Record = {}; + sortedEntries.forEach(([, value], index) => { + result[index.toString()] = value; + }); + + return result; +} + +function sortUIMessages(messagesObj: Record): Record { + // For UI messages, sort by key (semantic names) to maintain consistent order + const entries = Object.entries(messagesObj); + const sortedEntries = entries.sort(([a], [b]) => a.localeCompare(b)); + + // Rebuild object maintaining original semantic keys + const result: Record = {}; + sortedEntries.forEach(([key, value]) => { + result[key] = value; + }); + + return result; +} + +function extractStringsFromObject(obj: unknown, path: string = ''): string[] { + const strings: string[] = []; + + if (typeof obj === 'string') { + strings.push(obj); + } else if (typeof obj === 'object' && obj !== null) { + Object.entries(obj as Record).forEach(([key, value]) => { + const newPath = path ? `${path}.${key}` : key; + strings.push(...extractStringsFromObject(value, newPath)); + }); + } + + return strings; +} + +function sortMessages() { + try { + const warnings: string[] = []; + const CHARACTER_LIMIT = 41; + + // Process both character and ui message directories + const messageTypes = ['character', 'ui']; + + messageTypes.forEach(messageType => { + const messagesDir = join(messagesBaseDir, messageType); + + if (!existsSync(messagesDir)) { + console.warn(`Directory ${messagesDir} does not exist, skipping...`); + return; + } + + // Get all JSON files in the messages directory + const files = readdirSync(messagesDir).filter(file => file.endsWith('.json')); + + files.forEach(file => { + const lang = file.replace('.json', '') as SupportedLanguage; + const filePath = join(messagesDir, file); + + // Read and parse JSON + const messagesData = JSON.parse(readFileSync(filePath, 'utf8')); + + // Handle both object format (character messages) and direct object format (ui messages) + let messages: string[]; + let isObjectFormat = false; + let needsConversion = false; + + if (Array.isArray(messagesData)) { + // Array format - needs conversion to object format for character messages + messages = messagesData; + needsConversion = messageType === 'character'; + } else if (typeof messagesData === 'object') { + // Object format with numeric keys or direct key-value pairs + if (messageType === 'ui') { + // For UI messages, extract all string values from nested objects + messages = extractStringsFromObject(messagesData); + } else { + // For character messages, simple object values + messages = Object.values(messagesData); + } + isObjectFormat = true; + } else { + console.warn(`Unknown format in ${filePath}, skipping...`); + return; + } + + // Check message lengths and duplicates + const strippedToOriginal = new Map(); + + messages.forEach((msg: string) => { + // Length check - only apply to character messages, not UI messages + if (messageType === 'character' && msg.length > CHARACTER_LIMIT) { + warnings.push( + `Warning: ${messageType}/${lang} message exceeds ${CHARACTER_LIMIT} characters ` + + `(actual: ${msg.length}): "${msg}"` + ); + } + + // Duplicate check + const stripped = stripEmojis(msg); + const existing = strippedToOriginal.get(stripped) || []; + existing.push(msg); + strippedToOriginal.set(stripped, existing); + }); + + // Add duplicate warnings + strippedToOriginal.forEach((originals) => { + if (originals.length > 1) { + warnings.push( + `Warning: ${messageType}/${lang} has duplicate messages (ignoring emojis):\n` + + originals.map(m => ` "${m}"`).join('\n') + ); + } + }); + + // Sort messages and write back + if (needsConversion) { + // Convert array to object format for character messages + const sortedMessages = [...messages].sort((a, b) => a.localeCompare(b, lang)); + const objectMessages: Record = {}; + sortedMessages.forEach((message, index) => { + objectMessages[index.toString()] = message; + }); + + writeFileSync( + filePath, + JSON.stringify(objectMessages, null, 2), + 'utf8' + ); + } else if (isObjectFormat) { + let sortedMessages; + + if (messageType === 'character') { + // Character messages: sort by value and use numeric keys + sortedMessages = sortCharacterMessages(messagesData, lang); + } else { + // UI messages: sort by key and preserve semantic keys + sortedMessages = sortUIMessages(messagesData); + } + + // Write back to JSON file with pretty printing + writeFileSync( + filePath, + JSON.stringify(sortedMessages, null, 2), + 'utf8' + ); + } else { + // Handle array format (legacy) - shouldn't happen anymore + const sortedMessages = [...messages].sort((a, b) => a.localeCompare(b, lang)); + + writeFileSync( + filePath, + JSON.stringify(sortedMessages, null, 2), + 'utf8' + ); + } + + console.log(`Messages sorted successfully for ${messageType}/${lang}!`); + }); + }); + + // Display warnings if any were collected + if (warnings.length > 0) { + console.warn('\nWarnings:'); + warnings.forEach(warning => console.warn(warning)); + } + } catch (error) { + console.error('Error sorting messages:', error); + } +} + +sortMessages(); \ No newline at end of file diff --git a/src/app/favicon.ico b/src/app/favicon.ico deleted file mode 100644 index 718d6fe..0000000 Binary files a/src/app/favicon.ico and /dev/null differ diff --git a/src/app/globals.css b/src/app/globals.css deleted file mode 100644 index 6b717ad..0000000 --- a/src/app/globals.css +++ /dev/null @@ -1,21 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -:root { - --background: #ffffff; - --foreground: #171717; -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } -} - -body { - color: var(--foreground); - background: var(--background); - font-family: Arial, Helvetica, sans-serif; -} diff --git a/src/app/layout.tsx b/src/app/layout.tsx deleted file mode 100644 index f7fa87e..0000000 --- a/src/app/layout.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import type { Metadata } from "next"; -import { Geist, Geist_Mono } from "next/font/google"; -import "./globals.css"; - -const geistSans = Geist({ - variable: "--font-geist-sans", - subsets: ["latin"], -}); - -const geistMono = Geist_Mono({ - variable: "--font-geist-mono", - subsets: ["latin"], -}); - -export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - - {children} - - - ); -} diff --git a/src/app/page.tsx b/src/app/page.tsx deleted file mode 100644 index 3eee014..0000000 --- a/src/app/page.tsx +++ /dev/null @@ -1,101 +0,0 @@ -import Image from "next/image"; - -export default function Home() { - return ( -

-
- Next.js logo -
    -
  1. - Get started by editing{" "} - - src/app/page.tsx - - . -
  2. -
  3. Save and see your changes instantly.
  4. -
- - -
- -
- ); -} diff --git a/tsconfig.json b/tsconfig.json index c133409..e8e7514 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,11 @@ { "compilerOptions": { "target": "ES2017", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -11,7 +15,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ { @@ -19,9 +23,20 @@ } ], "paths": { - "@/*": ["./src/*"] + "@/*": [ + "./src/*" + ] } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + "scripts/sortMessages.mts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] }